From ba22eb468d27ff8562be941d05037cd9e9d7fced Mon Sep 17 00:00:00 2001 From: Luligu Date: Sat, 30 Nov 2024 09:32:04 +0100 Subject: [PATCH 1/6] Dev 1.6.5-dev.1 --- CHANGELOG.md | 11 + package-lock.json | 137 +++++----- package.json | 15 +- src/matterbridgeBehaviors.ts | 15 +- src/matterbridgeDevice.ts | 36 +++ src/matterbridgeDeviceTypes.ts | 2 +- src/matterbridgeEndpoint.matterjs.test.ts | 310 ++++++++++++++++++++++ src/matterbridgeEndpoint.test.ts | 204 +++++++++++++- src/matterbridgeEndpoint.ts | 80 ++++-- 9 files changed, 712 insertions(+), 98 deletions(-) create mode 100644 src/matterbridgeEndpoint.matterjs.test.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 1cf6d11b..696d541e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,17 @@ If you want to run Matterbridge in Home Assistant please use the official add-on Tamer (https://github.com/tammeryousef1006) has created the Matterbridge Discord group: https://discord.gg/QX58CDe6hd. +## [1.6.5] - 2024-12-01 + +### Changed + +- [matter.js]: Update to matter.js 0.11.8. +- [package]: Update dependencies. + + + Buy me a coffee + + ## [1.6.4] - 2024-11-29 ### Changed diff --git a/package-lock.json b/package-lock.json index c137f067..3b61aee7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,17 +1,17 @@ { "name": "matterbridge", - "version": "1.6.4", + "version": "1.6.5-dev.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "matterbridge", - "version": "1.6.4", + "version": "1.6.5-dev.1", "license": "Apache-2.0", "dependencies": { - "@matter/main": "^0.11.7", - "@matter/nodejs": "^0.11.7", - "@project-chip/matter.js": "^0.11.7", + "@matter/main": "^0.11.8", + "@matter/nodejs": "^0.11.8", + "@project-chip/matter.js": "^0.11.8", "archiver": "7.0.1", "express": "4.21.1", "glob": "11.0.0", @@ -24,14 +24,14 @@ "matterbridge": "dist/cli.js" }, "devDependencies": { - "@eslint/js": "9.15.0", + "@eslint/js": "9.16.0", "@types/archiver": "6.0.3", "@types/eslint__js": "8.42.3", "@types/express": "5.0.0", "@types/jest": "29.5.14", "@types/node": "22.10.1", "@types/ws": "8.5.13", - "eslint": "9.15.0", + "eslint": "9.16.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-jest": "28.9.0", "eslint-plugin-prettier": "5.2.1", @@ -671,9 +671,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.15.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.15.0.tgz", - "integrity": "sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==", + "version": "9.16.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.16.0.tgz", + "integrity": "sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==", "dev": true, "license": "MIT", "engines": { @@ -1317,64 +1317,64 @@ } }, "node_modules/@matter/general": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@matter/general/-/general-0.11.7.tgz", - "integrity": "sha512-vUDEQS3L2ykqsysWhtttr1kFaywqjuTR5WQdvEYyu29Ysbz89CkEp872NFFEQbTFDKJH2uAw0bqCRVb5BOqOZg==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@matter/general/-/general-0.11.8.tgz", + "integrity": "sha512-DBfa8A//DNVIpPWJzxQuE81svMTwxwKKNlODEhbJSXohXG8FaYwal2tcUQJCJwVb8eyWybOgKA30oX8qhpbHZw==", "license": "Apache-2.0", "dependencies": { "@noble/curves": "^1.7.0" } }, "node_modules/@matter/main": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@matter/main/-/main-0.11.7.tgz", - "integrity": "sha512-3ZqWlEA97AJKL/wOFM2ziPbRGUE+IzWhVy5QUNVzZklMczk5rh4hP00WdXK82AVucrjyLw7ziJBfjZ2fdeZxhg==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@matter/main/-/main-0.11.8.tgz", + "integrity": "sha512-6se6hK21KzpltK0BgV3wtsKVeGaT0H9VEkQZQ51InVx7O0EQjib0PoqNorFgdubGTISJnkcR/s/0vYw4PdiDxg==", "license": "Apache-2.0", "dependencies": { - "@matter/general": "0.11.7", - "@matter/model": "0.11.7", - "@matter/node": "0.11.7", - "@matter/protocol": "0.11.7", - "@matter/types": "0.11.7", + "@matter/general": "0.11.8", + "@matter/model": "0.11.8", + "@matter/node": "0.11.8", + "@matter/protocol": "0.11.8", + "@matter/types": "0.11.8", "@noble/curves": "^1.7.0" }, "optionalDependencies": { - "@matter/nodejs": "0.11.7" + "@matter/nodejs": "0.11.8" } }, "node_modules/@matter/model": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@matter/model/-/model-0.11.7.tgz", - "integrity": "sha512-KPVuEw4PTCEYe1tam6fsyN8K0JdxfZ6dBn3eWlMbUqbfb212ILy326gYLAHXJDcc6xCtBtBFWWNozKlL4wJciQ==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@matter/model/-/model-0.11.8.tgz", + "integrity": "sha512-EPZ8DEiVXYN4VJ3ylHj1hJVwlBJQk2QuePOfXxA2KaM1GSXUKiHW4TeyI+Jez7BzCfuWdyymCufA5grQn6pmEA==", "license": "Apache-2.0", "dependencies": { - "@matter/general": "0.11.7", + "@matter/general": "0.11.8", "@noble/curves": "^1.7.0" } }, "node_modules/@matter/node": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@matter/node/-/node-0.11.7.tgz", - "integrity": "sha512-wUcP1Q4h6BhRLSh5VxTATG0V5RnjELuCri0CeVUd4N+OeA8hIGrTwRsEwOub25nT0aZ/BK5vV6uqPU9Un6Uasg==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@matter/node/-/node-0.11.8.tgz", + "integrity": "sha512-TqcsQGlclFcXw5MpnhF4xFSp6B90IDpDDafYRlO+/Zoe4HojdLnRWHyA3OJfoQy7+HXSDVy2aqVi591KotZHng==", "license": "Apache-2.0", "dependencies": { - "@matter/general": "0.11.7", - "@matter/model": "0.11.7", - "@matter/protocol": "0.11.7", - "@matter/types": "0.11.7", + "@matter/general": "0.11.8", + "@matter/model": "0.11.8", + "@matter/protocol": "0.11.8", + "@matter/types": "0.11.8", "@noble/curves": "^1.7.0" } }, "node_modules/@matter/nodejs": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@matter/nodejs/-/nodejs-0.11.7.tgz", - "integrity": "sha512-OpZENRoD5PSdh+mORQ8/2t1DBryNjQDxWyRYWS4wj6m8yWBEJXjuwzUChYubsqs2ZKm8dSekO1yxVmwZka2PSw==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@matter/nodejs/-/nodejs-0.11.8.tgz", + "integrity": "sha512-4DuO+qnnGCrh0ppt+FkY4HN351ehuFmnrWcD7GNVvog+aNJozjbZm2KrugJczUnd8VEISDFJtUmbQWmx5vVXeA==", "license": "Apache-2.0", "dependencies": { - "@matter/general": "0.11.7", - "@matter/node": "0.11.7", - "@matter/protocol": "0.11.7", - "@matter/types": "0.11.7", + "@matter/general": "0.11.8", + "@matter/node": "0.11.8", + "@matter/protocol": "0.11.8", + "@matter/types": "0.11.8", "node-localstorage": "^3.0.5" }, "engines": { @@ -1382,25 +1382,25 @@ } }, "node_modules/@matter/protocol": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@matter/protocol/-/protocol-0.11.7.tgz", - "integrity": "sha512-vwVTZtHs1b0ubdV1g0lGaRx2/JjtP2RFjcBMM2B6o4sECTTUA/vTw15WgY+llQLM9cCUXcyHLqW6wM1QBEwV+g==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@matter/protocol/-/protocol-0.11.8.tgz", + "integrity": "sha512-/Sc/m2X4uEvMoO4g9gX17ZedPhYG2EYEmNvsX9zRMBnL+YAfX4/MrsOl+6Xr6Qe05n02doOpxaNodcQGJE5C/g==", "license": "Apache-2.0", "dependencies": { - "@matter/general": "0.11.7", - "@matter/model": "0.11.7", - "@matter/types": "0.11.7", + "@matter/general": "0.11.8", + "@matter/model": "0.11.8", + "@matter/types": "0.11.8", "@noble/curves": "^1.7.0" } }, "node_modules/@matter/types": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@matter/types/-/types-0.11.7.tgz", - "integrity": "sha512-l2l3xzJ3WQBsiZZHQ6q7z5p/xqDyZ4KAWcA7ooRH6jPGIf3jQZnhCpE0gNLiPCsuPPIy/zMWoA8cBnBClPc7YQ==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@matter/types/-/types-0.11.8.tgz", + "integrity": "sha512-APva+1an3NSNIP3KyYsHxQKEzSwmPn+6nWFIOCiRX3VC5+vTRRBYSAOg/0KMPApHhTrwjbB8R9AhBmPbTIVvdw==", "license": "Apache-2.0", "dependencies": { - "@matter/general": "0.11.7", - "@matter/model": "0.11.7", + "@matter/general": "0.11.8", + "@matter/model": "0.11.8", "@noble/curves": "^1.7.0" } }, @@ -1493,16 +1493,16 @@ } }, "node_modules/@project-chip/matter.js": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@project-chip/matter.js/-/matter.js-0.11.7.tgz", - "integrity": "sha512-kYMNS/G/Ktq+dchkiwmoAqdJrnmKgc8T0ea/CkKiExMuH0E5D1SscHqqEo8EBnAslMGqMwl9S6MTuHhVyshZJg==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@project-chip/matter.js/-/matter.js-0.11.8.tgz", + "integrity": "sha512-6wF2k7W0RNN0aknB9Vn7Yv3vOQzwcJ7XL3qXSMES62OIe5ZIjNteN3Co/vgyz6r4j2deAif4+4xcMMIy/RqPjA==", "license": "Apache-2.0", "dependencies": { - "@matter/general": "0.11.7", - "@matter/model": "0.11.7", - "@matter/node": "0.11.7", - "@matter/protocol": "0.11.7", - "@matter/types": "0.11.7", + "@matter/general": "0.11.8", + "@matter/model": "0.11.8", + "@matter/node": "0.11.8", + "@matter/protocol": "0.11.8", + "@matter/types": "0.11.8", "@noble/curves": "^1.7.0" } }, @@ -3225,9 +3225,9 @@ } }, "node_modules/eslint": { - "version": "9.15.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.15.0.tgz", - "integrity": "sha512-7CrWySmIibCgT1Os28lUU6upBshZ+GxybLOrmRzi08kS8MBuO8QA7pXEgYgY5W8vK3e74xv0lpjo9DbaGU9Rkw==", + "version": "9.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.16.0.tgz", + "integrity": "sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==", "dev": true, "license": "MIT", "dependencies": { @@ -3236,7 +3236,7 @@ "@eslint/config-array": "^0.19.0", "@eslint/core": "^0.9.0", "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.15.0", + "@eslint/js": "9.16.0", "@eslint/plugin-kit": "^0.2.3", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -4018,12 +4018,15 @@ } }, "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.1.0.tgz", + "integrity": "sha512-FQoVQnqcdk4hVM4JN1eromaun4iuS34oStkdlLENLdpULsuQcTyXj8w7ayhuUfPwEYZ1ZOooOTT6fdA9Vmx/RA==", "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.3" + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" diff --git a/package.json b/package.json index e8ca552e..597e339b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "matterbridge", - "version": "1.6.4", + "version": "1.6.5-dev.1", "description": "Matterbridge plugin manager for Matter", "author": "https://github.com/Luligu", "license": "Apache-2.0", @@ -93,6 +93,7 @@ "test:childbridgemode": "node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --verbose matterbridge.childbridge.test.ts", "test:device": "node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --verbose --coverage matterbridgeDevice.test.ts", "test:enpoint": "node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --verbose --coverage --detectOpenHandles matterbridgeEndpoint.test.ts", + "test:matterjsenpoint": "node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --verbose --coverage --detectOpenHandles matterbridgeEndpoint.matterjs.test.ts", "test:platform": "node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --verbose --coverage matterbridgePlatform.test.ts matterbridgeAccessoryPlatform.test.ts matterbridgeDynamicPlatform.test.ts", "test:pluginManager": "node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --verbose --coverage pluginManager.test.ts", "test:deviceManager": "node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --verbose --coverage deviceManager.test.ts", @@ -121,9 +122,9 @@ "install:jest": "npm install --save-dev jest ts-jest @types/jest eslint-plugin-jest" }, "dependencies": { - "@matter/main": "^0.11.7", - "@matter/nodejs": "^0.11.7", - "@project-chip/matter.js": "^0.11.7", + "@matter/main": "^0.11.8", + "@matter/nodejs": "^0.11.8", + "@project-chip/matter.js": "^0.11.8", "archiver": "7.0.1", "express": "4.21.1", "glob": "11.0.0", @@ -133,14 +134,14 @@ "ws": "8.18.0" }, "devDependencies": { - "@eslint/js": "9.15.0", + "@eslint/js": "9.16.0", "@types/archiver": "6.0.3", "@types/eslint__js": "8.42.3", "@types/express": "5.0.0", "@types/jest": "29.5.14", "@types/node": "22.10.1", "@types/ws": "8.5.13", - "eslint": "9.15.0", + "eslint": "9.16.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-jest": "28.9.0", "eslint-plugin-prettier": "5.2.1", @@ -150,4 +151,4 @@ "typescript": "5.7.2", "typescript-eslint": "8.16.0" } -} \ No newline at end of file +} diff --git a/src/matterbridgeBehaviors.ts b/src/matterbridgeBehaviors.ts index 26c466b0..76bd933e 100644 --- a/src/matterbridgeBehaviors.ts +++ b/src/matterbridgeBehaviors.ts @@ -38,6 +38,8 @@ import { BooleanStateConfigurationBehavior, BooleanStateConfigurationServer, WindowCoveringBehavior, + MovementType, + MovementDirection, } from '@matter/main/behaviors'; import { BooleanStateConfiguration, ColorControl, FanControl, Identify, LevelControl, Thermostat, WindowCovering } from '@matter/main/clusters'; import { TypeFromPartialBitSchema } from '@matter/main/types'; @@ -249,26 +251,29 @@ export class MatterbridgeColorControlServer extends ColorControlServer.with(Colo } } -export class MatterbridgeWindowCoveringServer extends WindowCoveringBehavior.with(WindowCovering.Feature.Lift, WindowCovering.Feature.PositionAwareLift) { +export class MatterbridgeWindowCoveringServer extends WindowCoveringServer.with(WindowCovering.Feature.Lift, WindowCovering.Feature.PositionAwareLift) { override async upOrOpen() { const device = this.agent.get(MatterbridgeBehavior).state.deviceCommand; device.upOrOpen(); - // super.upOrOpen(); + super.upOrOpen(); } override async downOrClose() { const device = this.agent.get(MatterbridgeBehavior).state.deviceCommand; device.downOrClose(); - // super.downOrClose(); + super.downOrClose(); } override stopMotion() { const device = this.agent.get(MatterbridgeBehavior).state.deviceCommand; device.stopMotion(); - // super.stopMotion(); + super.stopMotion(); } override goToLiftPercentage({ liftPercent100thsValue }: WindowCovering.GoToLiftPercentageRequest) { const device = this.agent.get(MatterbridgeBehavior).state.deviceCommand; device.goToLiftPercentage({ liftPercent100thsValue }); - // super.goToLiftPercentage({ liftPercent100thsValue }); + super.goToLiftPercentage({ liftPercent100thsValue }); + } + override async handleMovement(type: MovementType, reversed: boolean, direction: MovementDirection, targetPercent100ths?: number) { + // Do nothing here, as the device will handle the movement } } diff --git a/src/matterbridgeDevice.ts b/src/matterbridgeDevice.ts index 1243c573..58ea068e 100644 --- a/src/matterbridgeDevice.ts +++ b/src/matterbridgeDevice.ts @@ -285,6 +285,42 @@ export class MatterbridgeDevice extends extendPublicHandlerMethods} deviceTypes - The device types to add. + * @param {MatterbridgeEndpointOptions} [options={}] - The options for the endpoint. + * @param {boolean} [debug=false] - Whether to enable debug logging. + * @returns {Endpoint} - The child endpoint that was found or added. + */ + // eslint-disable-next-line @typescript-eslint/no-unused-vars + addChildDeviceType(endpointName: string, deviceTypes: AtLeastOne, options: MatterbridgeEndpointOptions = {}, debug = false): Endpoint { + this.log.debug(`addChildDeviceType: ${CYAN}${endpointName}${db}`); + let child = this.getChildEndpoints().find((endpoint) => endpoint.uniqueStorageKey === endpointName); + if (!child) { + child = new Endpoint(deviceTypes, { uniqueStorageKey: endpointName }); + if ('tagList' in options) { + for (const tag of options.tagList as Semtag[]) { + this.log.debug(`- with tagList: mfgCode ${CYAN}${tag.mfgCode}${db} namespaceId ${CYAN}${tag.namespaceId}${db} tag ${CYAN}${tag.tag}${db} label ${CYAN}${tag.label}${db}`); + this.addTagList(child, tag.mfgCode, tag.namespaceId, tag.tag, tag.label); + } + } + this.addChildEndpoint(child); + } + deviceTypes.forEach((deviceType) => { + this.log.debug(`- with deviceType: ${zb}${deviceType.code}${db}-${zb}${deviceType.name}${db}`); + }); + const childDeviceTypes = child.getDeviceTypes(); + deviceTypes.forEach((deviceType) => { + if (!childDeviceTypes.includes(deviceType)) childDeviceTypes.push(deviceType); + }); + child.setDeviceTypes(childDeviceTypes); + return child; + } + /** * Adds a child endpoint with one or more device types with the required cluster servers and the specified cluster servers. * If the child endpoint is not already present in the childEndpoints, it will be added. diff --git a/src/matterbridgeDeviceTypes.ts b/src/matterbridgeDeviceTypes.ts index 5526ccce..5726da13 100644 --- a/src/matterbridgeDeviceTypes.ts +++ b/src/matterbridgeDeviceTypes.ts @@ -220,7 +220,7 @@ export const lightSensor = DeviceTypeDefinition({ optionalClientClusters: [Groups.Cluster.id], }); -export const occupanceySensor = DeviceTypeDefinition({ +export const occupancySensor = DeviceTypeDefinition({ name: 'MA-occupancysensor', code: 0x0107, deviceClass: DeviceClasses.Simple, diff --git a/src/matterbridgeEndpoint.matterjs.test.ts b/src/matterbridgeEndpoint.matterjs.test.ts new file mode 100644 index 00000000..80119da8 --- /dev/null +++ b/src/matterbridgeEndpoint.matterjs.test.ts @@ -0,0 +1,310 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +import { jest } from '@jest/globals'; +import { AnsiLogger, LogLevel, TimestampFormat } from 'node-ansi-logger'; + +import { MatterbridgeEdge } from './matterbridgeEdge.js'; +import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js'; +import { bridge, coverDevice, dimmableLight, doorLockDevice, electricalSensor, genericSwitch, lightSensor, occupancySensor, onOffLight, onOffOutlet, onOffSwitch, powerSource } from './matterbridgeDeviceTypes.js'; +import { getMacAddress } from './utils/utils.js'; + +import { DeviceTypeId, VendorId, Environment, ServerNode, Endpoint, EndpointServer, StorageContext } from '@matter/main'; +import { LogFormat as Format, LogLevel as Level } from '@matter/main'; +import { + BasicInformationCluster, + BooleanStateCluster, + BridgedDeviceBasicInformationCluster, + Descriptor, + DescriptorCluster, + ElectricalEnergyMeasurement, + ElectricalPowerMeasurement, + FlowMeasurementCluster, + GroupsCluster, + Identify, + IdentifyCluster, + IlluminanceMeasurementCluster, + OccupancySensing, + OccupancySensingCluster, + OnOffCluster, + PowerTopology, + PressureMeasurement, + PressureMeasurementCluster, + RelativeHumidityMeasurement, + RelativeHumidityMeasurementCluster, + ScenesManagementCluster, + TemperatureMeasurementCluster, + WindowCovering, + WindowCoveringCluster, +} from '@matter/main/clusters'; +import { AggregatorEndpoint, AggregatorEndpointDefinition } from '@matter/main/endpoints'; + +import { DeviceTypeDefinition, DeviceTypes, logEndpoint } from '@project-chip/matter.js/device'; +import { MdnsService } from '@matter/main/protocol'; +import { log } from 'console'; +import { DescriptorServer, IlluminanceMeasurementServer, OccupancySensingServer } from '@matter/main/behaviors'; +import { OccupancySensorDevice, OnOffPlugInUnitDevice } from '@matter/main/devices'; +import { MatterbridgeBehavior, MatterbridgeIdentifyServer } from './matterbridgeBehaviors.js'; + +describe('MatterbridgeEndpoint class', () => { + let edge: MatterbridgeEdge; + let context: StorageContext; + let server: ServerNode; + let aggregator: Endpoint; + let device: MatterbridgeEndpoint; + let count = 1; + + let consoleLogSpy: jest.SpiedFunction; + let consoleDebugSpy: jest.SpiedFunction; + let consoleInfoSpy: jest.SpiedFunction; + let consoleErrorSpy: jest.SpiedFunction; + + beforeAll(async () => { + // Mock the AnsiLogger.log method + jest.spyOn(AnsiLogger.prototype, 'log').mockImplementation((level: string, message: string, ...parameters: any[]) => { + // console.log(`Mocked log: ${level} - ${message}`, ...parameters); + }); + // Spy on and mock console.log + consoleLogSpy = jest.spyOn(console, 'log').mockImplementation((...args: any[]) => { + // console.error(args); + }); + // Spy on and mock console.log + consoleDebugSpy = jest.spyOn(console, 'debug').mockImplementation((...args: any[]) => { + // console.error(args); + }); + // Spy on and mock console.log + consoleInfoSpy = jest.spyOn(console, 'info').mockImplementation((...args: any[]) => { + // console.error(args); + }); + // Spy on and mock console.log + consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation((...args: any[]) => { + // console.error(args); + }); + + // Create a MatterbridgeEdge instance + edge = await MatterbridgeEdge.loadInstance(false); + edge.log = new AnsiLogger({ logName: 'Matterbridge', logTimestampFormat: TimestampFormat.TIME_MILLIS, logLevel: LogLevel.DEBUG }); + // Setup matter environment + edge.environment.vars.set('log.level', Level.DEBUG); + edge.environment.vars.set('log.format', Format.ANSI); + edge.environment.vars.set('path.root', 'matterstorage'); + edge.environment.vars.set('runtime.signals', false); + edge.environment.vars.set('runtime.exitcode', false); + // Setup Matter mdnsInterface + if ((edge as any).mdnsInterface) edge.environment.vars.set('mdns.networkInterface', (edge as any).mdnsInterface); + await edge.startMatterStorage('test', 'Matterbridge'); + }); + + afterEach(async () => { + // Keep the id unique + count++; + }); + + afterAll(async () => { + // Restore the mocked AnsiLogger.log method + if ((AnsiLogger.prototype.log as jest.Mock).mockRestore) (AnsiLogger.prototype.log as jest.Mock).mockRestore(); + consoleLogSpy?.mockRestore(); + consoleDebugSpy?.mockRestore(); + consoleInfoSpy?.mockRestore(); + consoleErrorSpy?.mockRestore(); + + await edge.environment.get(MdnsService)[Symbol.asyncDispose](); + }); + + describe('MatterbridgeBehavior', () => { + const deviceType = onOffLight; + + test('create a context for server node', async () => { + /* + (AnsiLogger.prototype.log as jest.Mock).mockRestore(); + consoleLogSpy.mockRestore(); + consoleDebugSpy.mockRestore(); + consoleInfoSpy.mockRestore(); + consoleErrorSpy.mockRestore(); + */ + context = await edge.createServerNodeContext('Jest', deviceType.name, DeviceTypeId(deviceType.code), VendorId(0xfff1), 'Matterbridge', 0x8000, 'Matterbridge ' + deviceType.name.replace('MA-', '')); + expect(context).toBeDefined(); + }); + + test('create the server node', async () => { + server = await edge.createServerNode(context); + expect(server).toBeDefined(); + }); + + test('create a onOffLight device', async () => { + server = await edge.createServerNode(context); + device = new MatterbridgeEndpoint(deviceType, { uniqueStorageKey: 'OnOffLight', tagList: [{ mfgCode: null, namespaceId: 0x07, tag: 1, label: 'Switch1' }] }); + expect(device).toBeDefined(); + expect(device.id).toBe('OnOffLight'); + expect(device.type.name).toBe(deviceType.name.replace('-', '_')); + expect(device.type.deviceType).toBe(deviceType.code); + expect(device.type.deviceClass).toBe(deviceType.deviceClass.toLowerCase()); + expect(device.type.deviceRevision).toBe(deviceType.revision); + }); + + test('add BasicInformationCluster to onOffLight', async () => { + expect(device).toBeDefined(); + device.createDefaultBasicInformationClusterServer('Light', '123456789', 0xfff1, 'Matterbridge', 0x8000, 'Light'); + expect(device.deviceName).toBe('Light'); + expect(device.serialNumber).toBe('123456789'); + expect(device.uniqueId).toBeDefined(); + expect(device.vendorId).toBe(0xfff1); + expect(device.vendorName).toBe('Matterbridge'); + expect(device.productId).toBe(0x8000); + expect(device.productName).toBe('Light'); + }); + + test('add BridgedDeviceBasicInformationCluster to onOffLight', async () => { + expect(device).toBeDefined(); + device.createDefaultBridgedDeviceBasicInformationClusterServer('Light', '123456789', 0xfff1, 'Matterbridge', 'Light'); + expect(device.deviceName).toBe('Light'); + expect(device.serialNumber).toBe('123456789'); + expect(device.uniqueId).toBeDefined(); + expect(device.vendorId).toBe(0xfff1); + expect(device.vendorName).toBe('Matterbridge'); + expect(device.productId).toBe(undefined); + expect(device.productName).toBe('Light'); + delete device.behaviors.supported.bridgedDeviceBasicInformation; + }); + + test('add required clusters to onOffLight', async () => { + expect(device).toBeDefined(); + device.addRequiredClusterServers(device); + }); + + test('add onOffLight device to serverNode', async () => { + expect(await server.add(device)).toBeDefined(); + }); + + test('add deviceType to onOffPlugin without tagList', async () => { + const endpoint = new Endpoint(OnOffPlugInUnitDevice.with(DescriptorServer, OccupancySensingServer), { + id: 'OnOffPlugin1', + identify: { + identifyTime: 0, + identifyType: Identify.IdentifyType.None, + }, + onOff: { + onOff: false, + }, + occupancySensing: { + occupancy: { occupied: false }, + occupancySensorType: OccupancySensing.OccupancySensorType.Pir, + occupancySensorTypeBitmap: { pir: true, ultrasonic: false, physicalContact: false }, + }, + descriptor: { + deviceTypeList: [ + { deviceType: 0x10a, revision: 3 }, + { deviceType: occupancySensor.code, revision: occupancySensor.revision }, + ], + }, + }); + expect(endpoint).toBeDefined(); + endpoint.behaviors.require(DescriptorServer, { + deviceTypeList: [ + { deviceType: 0x10a, revision: 3 }, + { deviceType: occupancySensor.code, revision: occupancySensor.revision }, + ], + }); + expect(await server.add(endpoint)).toBeDefined(); + logEndpoint(EndpointServer.forEndpoint(endpoint)); + }); + + test('add deviceType to onOffPlugin with tagList', async () => { + const endpoint = new Endpoint(OnOffPlugInUnitDevice.with(DescriptorServer.with(Descriptor.Feature.TagList), OccupancySensingServer), { + id: 'OnOffPlugin2', + identify: { + identifyTime: 0, + identifyType: Identify.IdentifyType.None, + }, + onOff: { + onOff: false, + }, + occupancySensing: { + occupancy: { occupied: false }, + occupancySensorType: OccupancySensing.OccupancySensorType.Pir, + occupancySensorTypeBitmap: { pir: true, ultrasonic: false, physicalContact: false }, + }, + descriptor: { + tagList: [{ mfgCode: null, namespaceId: 0x07, tag: 1, label: 'Switch1' }], + deviceTypeList: [ + { deviceType: 0x10a, revision: 3 }, + { deviceType: occupancySensor.code, revision: occupancySensor.revision }, + ], + }, + }); + expect(endpoint).toBeDefined(); + expect(() => + endpoint.behaviors.require(DescriptorServer.with(Descriptor.Feature.TagList), { + tagList: [{ mfgCode: null, namespaceId: 0x07, tag: 1, label: 'Switch1' }], + deviceTypeList: [ + { deviceType: 0x10a, revision: 3 }, + { deviceType: occupancySensor.code, revision: occupancySensor.revision }, + ], + }), + ).toThrow(); + await expect(server.add(endpoint)).resolves.toBeDefined(); + logEndpoint(EndpointServer.forEndpoint(endpoint)); + }); + + test('add deviceType to onOffPlugin in the costructor', async () => { + const endpoint = new Endpoint(OnOffPlugInUnitDevice.with(DescriptorServer.with(Descriptor.Feature.TagList), OccupancySensingServer, IlluminanceMeasurementServer), { + id: 'OnOffPlugin3', + identify: { + identifyTime: 0, + identifyType: Identify.IdentifyType.None, + }, + onOff: { + onOff: false, + }, + occupancySensing: { + occupancy: { occupied: false }, + occupancySensorType: OccupancySensing.OccupancySensorType.Pir, + occupancySensorTypeBitmap: { pir: true, ultrasonic: false, physicalContact: false }, + }, + descriptor: { + tagList: [{ mfgCode: null, namespaceId: 0x07, tag: 1, label: 'Switch1' }], + deviceTypeList: [ + { deviceType: onOffOutlet.code, revision: onOffOutlet.revision }, + { deviceType: occupancySensor.code, revision: occupancySensor.revision }, + { deviceType: lightSensor.code, revision: lightSensor.revision }, + ], + }, + }); + expect(endpoint).toBeDefined(); + await expect(server.add(endpoint)).resolves.toBeDefined(); + logEndpoint(EndpointServer.forEndpoint(endpoint)); + const deviceTypeList = endpoint.state.descriptor.deviceTypeList; + expect(deviceTypeList).toHaveLength(3); + expect(deviceTypeList[0].deviceType).toBe(onOffOutlet.code); + expect(deviceTypeList[0].revision).toBe(onOffOutlet.revision); + expect(deviceTypeList[1].deviceType).toBe(occupancySensor.code); + expect(deviceTypeList[1].revision).toBe(occupancySensor.revision); + expect(deviceTypeList[2].deviceType).toBe(lightSensor.code); + expect(deviceTypeList[2].revision).toBe(lightSensor.revision); + }); + + test('start server node', async () => { + expect(server).toBeDefined(); + await edge.startServerNode(server); + expect(server.lifecycle.isOnline).toBe(true); + expect(server.lifecycle.isCommissioned).toBe(false); + }); + + test('log onOffLight', async () => { + expect(device).toBeDefined(); + logEndpoint(EndpointServer.forEndpoint(device)); + expect(EndpointServer.forEndpoint(device).hasClusterServer(DescriptorCluster)).toBe(true); + expect(EndpointServer.forEndpoint(device).hasClusterServer(BasicInformationCluster)).toBe(false); + expect(EndpointServer.forEndpoint(device).hasClusterServer(BridgedDeviceBasicInformationCluster)).toBe(false); + expect(EndpointServer.forEndpoint(device).hasClusterServer(IdentifyCluster)).toBe(true); + expect(EndpointServer.forEndpoint(device).hasClusterServer(OnOffCluster)).toBe(true); + expect(EndpointServer.forEndpoint(device).hasClusterServer(GroupsCluster)).toBe(true); + expect(EndpointServer.forEndpoint(device).hasClusterServer(ScenesManagementCluster)).toBe(false); + }); + + test('close server node', async () => { + expect(server).toBeDefined(); + await edge.stopServerNode(server); + await server.env.get(MdnsService)[Symbol.asyncDispose](); + }); + }); +}); diff --git a/src/matterbridgeEndpoint.test.ts b/src/matterbridgeEndpoint.test.ts index 7a078857..207e8add 100644 --- a/src/matterbridgeEndpoint.test.ts +++ b/src/matterbridgeEndpoint.test.ts @@ -5,13 +5,14 @@ import { AnsiLogger, LogLevel, TimestampFormat } from 'node-ansi-logger'; import { MatterbridgeEdge } from './matterbridgeEdge.js'; import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js'; -import { bridge, coverDevice, dimmableLight, doorLockDevice, electricalSensor, genericSwitch, onOffLight, onOffOutlet, onOffSwitch, powerSource } from './matterbridgeDeviceTypes.js'; +import { bridge, coverDevice, dimmableLight, doorLockDevice, electricalSensor, genericSwitch, occupancySensor, onOffLight, onOffOutlet, onOffSwitch, powerSource, thermostatDevice } from './matterbridgeDeviceTypes.js'; import { getMacAddress } from './utils/utils.js'; import { DeviceTypeId, VendorId, Environment, ServerNode, Endpoint, EndpointServer, StorageContext } from '@matter/main'; import { LogFormat as Format, LogLevel as Level } from '@matter/main'; import { BooleanStateCluster, + DescriptorCluster, ElectricalEnergyMeasurement, ElectricalPowerMeasurement, FlowMeasurementCluster, @@ -34,6 +35,9 @@ import { AggregatorEndpoint, AggregatorEndpointDefinition } from '@matter/main/e import { DeviceTypes, logEndpoint } from '@project-chip/matter.js/device'; import { MdnsService } from '@matter/main/protocol'; import { log } from 'console'; +import e from 'express'; +import exp from 'constants'; +import { DescriptorBehavior, GroupsBehavior, IdentifyBehavior, OccupancySensingBehavior, OnOffBehavior } from '@matter/main/behaviors'; describe('MatterbridgeEndpoint class', () => { let edge: MatterbridgeEdge; @@ -312,6 +316,135 @@ describe('MatterbridgeEndpoint class', () => { }); }); + describe('Constructor with tagList', () => { + test('create a context for server node', async () => { + const deviceType = onOffLight; + context = await edge.createServerNodeContext('Jest', deviceType.name, DeviceTypeId(deviceType.code), VendorId(0xfff1), 'Matterbridge', 0x8000, 'Matterbridge ' + deviceType.name.replace('MA-', '')); + expect(context).toBeDefined(); + }); + + test('create a onOffOutlet device', async () => { + const deviceType = onOffOutlet; + server = await edge.createServerNode(context); + device = new MatterbridgeEndpoint(deviceType, { uniqueStorageKey: 'OnOffOutLet', tagList: [{ mfgCode: null, namespaceId: 0x07, tag: 1, label: 'Outlet1' }] }); + expect(device).toBeDefined(); + expect(device.id).toBe('OnOffOutLet'); + expect(device.type.name).toBe(deviceType.name.replace('-', '_')); + expect(device.type.deviceType).toBe(deviceType.code); + expect(device.type.deviceClass).toBe(deviceType.deviceClass.toLowerCase()); + expect(device.type.deviceRevision).toBe(deviceType.revision); + }); + + test('add required clusters to onOffOutlet', async () => { + expect(device).toBeDefined(); + device.addRequiredClusterServers(device); + }); + + test('add onOffOutlet device to serverNode and start', async () => { + await server.add(device); + await edge.startServerNode(server); + expect(server.lifecycle.isOnline).toBe(true); + expect(server.lifecycle.isCommissioned).toBe(false); + }); + + test('check onOffOutlet device deviceTypeList and tagList', async () => { + const deviceTypeList = device.getAttribute(DescriptorCluster.id, 'deviceTypeList'); + expect(deviceTypeList).toBeDefined(); + expect(deviceTypeList).toHaveLength(1); + const tagList = device.getAttribute(DescriptorCluster.id, 'tagList'); + expect(tagList).toBeDefined(); + expect(tagList).toHaveLength(1); + expect(deviceTypeList[0].deviceType).toBe(onOffOutlet.code); + expect(deviceTypeList[0].revision).toBe(onOffOutlet.revision); + }); + + test('close serverNode', async () => { + await edge.stopServerNode(server); + await server.env.get(MdnsService)[Symbol.asyncDispose](); + expect(server.lifecycle.isOnline).toBe(false); + }); + }); + + describe('Constructor with tagList and 2 deviceTypes', () => { + test('create a context for server node', async () => { + const deviceType = onOffLight; + context = await edge.createServerNodeContext('Jest', deviceType.name, DeviceTypeId(deviceType.code), VendorId(0xfff1), 'Matterbridge', 0x8000, 'Matterbridge ' + deviceType.name.replace('MA-', '')); + expect(context).toBeDefined(); + }); + + test('create a onOffOutlet device', async () => { + const deviceType = onOffOutlet; + server = await edge.createServerNode(context); + device = new MatterbridgeEndpoint([deviceType, occupancySensor], { uniqueStorageKey: 'OnOffOutLet', tagList: [{ mfgCode: null, namespaceId: 0x07, tag: 1, label: 'Outlet1' }] }); + expect(device).toBeDefined(); + expect(device.id).toBe('OnOffOutLet'); + expect(device.type.name).toBe(deviceType.name.replace('-', '_')); + expect(device.type.deviceType).toBe(deviceType.code); + expect(device.type.deviceClass).toBe(deviceType.deviceClass.toLowerCase()); + expect(device.type.deviceRevision).toBe(deviceType.revision); + }); + + test('add required clusters to onOffOutlet', async () => { + expect(device).toBeDefined(); + device.addRequiredClusterServers(device); + }); + + test('add onOffOutlet device to serverNode and start', async () => { + await server.add(device); + await edge.startServerNode(server); + expect(server.lifecycle.isOnline).toBe(true); + expect(server.lifecycle.isCommissioned).toBe(false); + }); + + test('tagList and deviceTypeList', async () => { + const deviceTypeList = device.getAttribute(DescriptorCluster.id, 'deviceTypeList'); + expect(deviceTypeList).toBeDefined(); + expect(deviceTypeList).toHaveLength(2); + expect(deviceTypeList[0].deviceType).toBe(onOffOutlet.code); + expect(deviceTypeList[0].revision).toBe(onOffOutlet.revision); + expect(deviceTypeList[1].deviceType).toBe(occupancySensor.code); + expect(deviceTypeList[1].revision).toBe(occupancySensor.revision); + const tagList = device.getAttribute(DescriptorCluster.id, 'tagList'); + expect(tagList).toBeDefined(); + expect(tagList).toHaveLength(1); + expect(tagList[0].mfgCode).toBe(null); + expect(tagList[0].namespaceId).toBe(0x07); + expect(tagList[0].tag).toBe(1); + expect(tagList[0].label).toBe('Outlet1'); + }); + + test('clusters', async () => { + expect(device).toBeDefined(); + + expect(device.getAllClusterServers().length).toBe(4); + expect(device.hasClusterServer(OnOffCluster)).toBe(true); + expect(device.hasClusterServer(IdentifyCluster)).toBe(true); + expect(device.hasClusterServer(GroupsCluster)).toBe(true); + expect(device.hasClusterServer(OccupancySensingCluster)).toBe(true); + + expect(device.behaviors.has(DescriptorBehavior)).toBe(true); + expect(device.behaviors.has(IdentifyBehavior)).toBe(true); + expect(device.behaviors.has(OnOffBehavior)).toBe(true); + expect(device.behaviors.has(GroupsBehavior)).toBe(true); + expect(device.behaviors.has(OccupancySensingBehavior)).toBe(true); + + const endpointServer = EndpointServer.forEndpoint(device); + expect(endpointServer).toBeDefined(); + expect(endpointServer.getAllClusterServers().length).toBe(5); + expect(endpointServer.hasClusterServer(DescriptorCluster)).toBe(true); + expect(endpointServer.hasClusterServer(OnOffCluster)).toBe(true); + expect(endpointServer.hasClusterServer(IdentifyCluster)).toBe(true); + expect(endpointServer.hasClusterServer(GroupsCluster)).toBe(true); + expect(endpointServer.hasClusterServer(OccupancySensingCluster)).toBe(true); + }); + + test('close serverNode', async () => { + await edge.stopServerNode(server); + await server.env.get(MdnsService)[Symbol.asyncDispose](); + expect(server.lifecycle.isOnline).toBe(false); + }); + }); + describe('Getter, setter and subscribe', () => { test('create a context for server node', async () => { const deviceType = onOffLight; @@ -729,6 +862,75 @@ describe('MatterbridgeEndpoint class', () => { expect(server.lifecycle.isOnline).toBe(false); }); + test('create a thermostat auto device', async () => { + const deviceType = thermostatDevice; + const context = await edge.createServerNodeContext('Jest', deviceType.name, DeviceTypeId(deviceType.code), VendorId(0xfff1), 'Matterbridge', 0x8000, 'Matterbridge ' + deviceType.name.replace('MA-', '')); + const server = await edge.createServerNode(context); + const device = new MatterbridgeEndpoint(deviceType, { uniqueStorageKey: deviceType.name.replace('MA-', '') + '-' + count }); + expect(device).toBeDefined(); + expect(device.id).toBe(deviceType.name.replace('MA-', '') + '-' + count); + expect(device.type.name).toBe(deviceType.name.replace('-', '_')); + expect(device.type.deviceType).toBe(deviceType.code); + expect(device.type.deviceClass).toBe(deviceType.deviceClass.toLowerCase()); + expect(device.type.deviceRevision).toBe(deviceType.revision); + device.createDefaultThermostatClusterServer(); + device.addRequiredClusterServers(device); + await server.add(device); + + await edge.startServerNode(server); + expect(server.lifecycle.isOnline).toBe(true); + expect(server.lifecycle.isCommissioned).toBe(false); + await edge.stopServerNode(server); + await server.env.get(MdnsService)[Symbol.asyncDispose](); + expect(server.lifecycle.isOnline).toBe(false); + }); + + test('create a thermostat heating device', async () => { + const deviceType = thermostatDevice; + const context = await edge.createServerNodeContext('Jest', deviceType.name, DeviceTypeId(deviceType.code), VendorId(0xfff1), 'Matterbridge', 0x8000, 'Matterbridge ' + deviceType.name.replace('MA-', '')); + const server = await edge.createServerNode(context); + const device = new MatterbridgeEndpoint(deviceType, { uniqueStorageKey: deviceType.name.replace('MA-', '') + '-' + count }); + expect(device).toBeDefined(); + expect(device.id).toBe(deviceType.name.replace('MA-', '') + '-' + count); + expect(device.type.name).toBe(deviceType.name.replace('-', '_')); + expect(device.type.deviceType).toBe(deviceType.code); + expect(device.type.deviceClass).toBe(deviceType.deviceClass.toLowerCase()); + expect(device.type.deviceRevision).toBe(deviceType.revision); + device.createDefaultHeatingThermostatClusterServer(); + device.addRequiredClusterServers(device); + await server.add(device); + + await edge.startServerNode(server); + expect(server.lifecycle.isOnline).toBe(true); + expect(server.lifecycle.isCommissioned).toBe(false); + await edge.stopServerNode(server); + await server.env.get(MdnsService)[Symbol.asyncDispose](); + expect(server.lifecycle.isOnline).toBe(false); + }); + + test('create a thermostat cooling device', async () => { + const deviceType = thermostatDevice; + const context = await edge.createServerNodeContext('Jest', deviceType.name, DeviceTypeId(deviceType.code), VendorId(0xfff1), 'Matterbridge', 0x8000, 'Matterbridge ' + deviceType.name.replace('MA-', '')); + const server = await edge.createServerNode(context); + const device = new MatterbridgeEndpoint(deviceType, { uniqueStorageKey: deviceType.name.replace('MA-', '') + '-' + count }); + expect(device).toBeDefined(); + expect(device.id).toBe(deviceType.name.replace('MA-', '') + '-' + count); + expect(device.type.name).toBe(deviceType.name.replace('-', '_')); + expect(device.type.deviceType).toBe(deviceType.code); + expect(device.type.deviceClass).toBe(deviceType.deviceClass.toLowerCase()); + expect(device.type.deviceRevision).toBe(deviceType.revision); + device.createDefaultCoolingThermostatClusterServer(); + device.addRequiredClusterServers(device); + await server.add(device); + + await edge.startServerNode(server); + expect(server.lifecycle.isOnline).toBe(true); + expect(server.lifecycle.isCommissioned).toBe(false); + await edge.stopServerNode(server); + await server.env.get(MdnsService)[Symbol.asyncDispose](); + expect(server.lifecycle.isOnline).toBe(false); + }); + test('create a generic switch momentary device', async () => { const deviceType = genericSwitch; const context = await edge.createServerNodeContext('Jest', deviceType.name, DeviceTypeId(deviceType.code), VendorId(0xfff1), 'Matterbridge', 0x8000, 'Matterbridge ' + deviceType.name.replace('MA-', '')); diff --git a/src/matterbridgeEndpoint.ts b/src/matterbridgeEndpoint.ts index 60b2cc11..f1a5ecf6 100644 --- a/src/matterbridgeEndpoint.ts +++ b/src/matterbridgeEndpoint.ts @@ -139,7 +139,7 @@ import { WindowCoveringCluster, } from '@matter/main/clusters'; import { ClusterType, MeasurementType, getClusterNameById, Semtag, BitSchema, TypeFromPartialBitSchema, Attributes, Commands, Events, Cluster } from '@matter/main/types'; -import { Specification, DeviceClassification } from '@matter/main/model'; +import { Specification, DeviceClassification, tag } from '@matter/main/model'; import { DescriptorServer } from '@matter/node/behaviors/descriptor'; import { IdentifyBehavior, IdentifyServer } from '@matter/node/behaviors/identify'; import { GroupsServer } from '@matter/node/behaviors/groups'; @@ -271,10 +271,20 @@ export class MatterbridgeEndpoint extends Endpoint { * @param {MatterbridgeEndpointOptions} [options={}] - The options for the device. */ constructor(definition: DeviceTypeDefinition | AtLeastOne, options: MatterbridgeEndpointOptions = {}, debug = false) { + let deviceTypeList: { deviceType: number; revision: number }[] = []; + // Get the first DeviceTypeDefinition let firstDefinition: DeviceTypeDefinition; - if (Array.isArray(definition)) firstDefinition = definition[0]; - else firstDefinition = definition; + if (Array.isArray(definition)) { + firstDefinition = definition[0]; + deviceTypeList = Array.from(definition.values()).map((dt) => ({ + deviceType: dt.code, + revision: dt.revision, + })); + } else { + firstDefinition = definition; + deviceTypeList = [{ deviceType: firstDefinition.code, revision: firstDefinition.revision }]; + } // Convert the first DeviceTypeDefinition to an EndpointType.Options const deviceTypeDefinitionV8: EndpointType.Options = { @@ -297,37 +307,33 @@ export class MatterbridgeEndpoint extends Endpoint { const endpointV8 = MutableEndpoint(deviceTypeDefinitionV8); // Convert the options to an Endpoint.Options - // [{ mfgCode: null, namespaceId: 0x07, tag: 1, label: 'Switch1' }] - // endpoint = endpoint.enable({features: { tagList: true }}); const optionsV8 = { id: options.uniqueStorageKey?.replace(/[ .]/g, ''), number: options.endpointId, - descriptor: options.tagList ? { tagList: options.tagList } : undefined, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - } as { id?: string; number?: EndpointNumber; descriptor?: Record }; + descriptor: options.tagList ? { tagList: options.tagList, deviceTypeList } : { deviceTypeList }, + } as { id?: string; number?: EndpointNumber; descriptor?: Record }; super(endpointV8, optionsV8); + this.uniqueStorageKey = options.uniqueStorageKey; this.name = firstDefinition.name; this.deviceType = firstDefinition.code; this.tagList = options.tagList; + if (Array.isArray(definition)) { + definition.forEach((deviceType) => { + this.deviceTypes.set(deviceType.code, deviceType); + }); + } else this.deviceTypes.set(firstDefinition.code, firstDefinition); + // console.log('MatterbridgeEndpoint.option', options); // console.log('MatterbridgeEndpoint.endpointV8', endpointV8); // console.log('MatterbridgeEndpoint.optionsV8', optionsV8); - // Update the endpoint + // Create the logger this.log = new AnsiLogger({ logName: 'MatterbridgeEndpoint', logTimestampFormat: TimestampFormat.TIME_MILLIS, logLevel: debug === true ? LogLevel.DEBUG : MatterbridgeEndpoint.logLevel }); this.log.debug( `${YELLOW}new${db} MatterbridgeEndpoint: ${zb}${'0x' + firstDefinition.code.toString(16).padStart(4, '0')}${db}-${zb}${firstDefinition.name}${db} ` + `id: ${CYAN}${options.uniqueStorageKey}${db} number: ${CYAN}${options.endpointId}${db} taglist: ${CYAN}${options.tagList ? debugStringify(options.tagList) : 'undefined'}${db}`, ); - this.deviceTypes.set(firstDefinition.code, firstDefinition); - - // Add the other device types to the descriptor server - if (Array.isArray(definition)) { - definition.forEach((deviceType) => { - this.addDeviceType(deviceType); - }); - } // Add MatterbridgeBehavior with MatterbridgeBehaviorDevice this.behaviors.require(MatterbridgeBehavior, { deviceCommand: new MatterbridgeBehaviorDevice(this.log, this.commandHandler, undefined) }); @@ -522,6 +528,46 @@ export class MatterbridgeEndpoint extends Endpoint { return endpoint; } + /** + * Adds a child endpoint with the specified device types and options. + * If the child endpoint is not already present, it will be created and added. + * If the child endpoint is already present, the device types will be added to the existing child endpoint. + * + * @param {string} endpointName - The name of the new endpoint to add. + * @param {AtLeastOne} deviceTypes - The device types to add. + * @param {MatterbridgeEndpointOptions} [options={}] - The options for the endpoint. + * @param {boolean} [debug=false] - Whether to enable debug logging. + * @returns {MatterbridgeEndpoint} - The child endpoint that was found or added. + */ + addChildDeviceType(endpointName: string, deviceTypes: AtLeastOne, options: MatterbridgeEndpointOptions = {}, debug = false) { + this.log.debug(`addChildDeviceType: ${CYAN}${endpointName}${db}`); + let child = this.getChildEndpointByName(endpointName); + if (!child) { + if ('tagList' in options) { + for (const tag of options.tagList as Semtag[]) { + this.log.debug(`- with tagList: mfgCode ${CYAN}${tag.mfgCode}${db} namespaceId ${CYAN}${tag.namespaceId}${db} tag ${CYAN}${tag.tag}${db} label ${CYAN}${tag.label}${db}`); + } + child = new MatterbridgeEndpoint(deviceTypes[0], { uniqueStorageKey: endpointName, tagList: options.tagList }, debug); + } else { + child = new MatterbridgeEndpoint(deviceTypes[0], { uniqueStorageKey: endpointName }, debug); + } + } + deviceTypes.forEach((deviceType) => { + this.log.debug(`- with deviceType: ${zb}${'0x' + deviceType.code.toString(16).padStart(4, '0')}${db}-${zb}${deviceType.name}${db}`); + }); + deviceTypes.forEach((deviceType) => { + child.addDeviceType(deviceType); + }); + if (this.lifecycle.isInstalled) { + this.log.debug(`- with lifecycle installed`); + this.add(child); + } else { + this.log.debug(`- with lifecycle NOT installed`); + this.parts.add(child); + } + return child; + } + /** * Adds a child endpoint with one or more device types with the required cluster servers and the specified cluster servers. * If the child endpoint is not already present in the childEndpoints, it will be added. From a7ba72021d3ca262f2abd0003e4df9c61a6fd150 Mon Sep 17 00:00:00 2001 From: Luligu Date: Sat, 30 Nov 2024 12:22:07 +0100 Subject: [PATCH 2/6] Dev 1.6.5-dev.2 --- package-lock.json | 4 ++-- package.json | 4 ++-- src/matterbridgeEdge.ts | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3b61aee7..dea23853 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "matterbridge", - "version": "1.6.5-dev.1", + "version": "1.6.5-dev.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "matterbridge", - "version": "1.6.5-dev.1", + "version": "1.6.5-dev.2", "license": "Apache-2.0", "dependencies": { "@matter/main": "^0.11.8", diff --git a/package.json b/package.json index 597e339b..804c9c61 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "matterbridge", - "version": "1.6.5-dev.1", + "version": "1.6.5-dev.2", "description": "Matterbridge plugin manager for Matter", "author": "https://github.com/Luligu", "license": "Apache-2.0", @@ -151,4 +151,4 @@ "typescript": "5.7.2", "typescript-eslint": "8.16.0" } -} +} \ No newline at end of file diff --git a/src/matterbridgeEdge.ts b/src/matterbridgeEdge.ts index 41beedd1..f9cd850a 100644 --- a/src/matterbridgeEdge.ts +++ b/src/matterbridgeEdge.ts @@ -512,7 +512,7 @@ export class MatterbridgeEdge extends Matterbridge { await serverNode.add(aggregatorNode); if (!this.test) { this.test = true; - await this.testEndpoints(); + // await this.testEndpoints(); } } }, From d09c484025f47758400b94e2a30d8baad5f7561a Mon Sep 17 00:00:00 2001 From: Luligu Date: Sat, 30 Nov 2024 20:44:03 +0100 Subject: [PATCH 3/6] Added matterbridge-hass to the plugin list --- CHANGELOG.md | 1 + frontend/build/asset-manifest.json | 6 +++--- frontend/build/index.html | 2 +- .../build/static/js/{main.a14c87e7.js => main.0ab89802.js} | 6 +++--- ...a14c87e7.js.LICENSE.txt => main.0ab89802.js.LICENSE.txt} | 0 .../js/{main.a14c87e7.js.map => main.0ab89802.js.map} | 2 +- frontend/src/components/Home.js | 1 + package.json | 2 ++ 8 files changed, 12 insertions(+), 8 deletions(-) rename frontend/build/static/js/{main.a14c87e7.js => main.0ab89802.js} (96%) rename frontend/build/static/js/{main.a14c87e7.js.LICENSE.txt => main.0ab89802.js.LICENSE.txt} (100%) rename frontend/build/static/js/{main.a14c87e7.js.map => main.0ab89802.js.map} (50%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 696d541e..6d128b89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ Tamer (https://github.com/tammeryousef1006) has created the Matterbridge Discord ### Changed - [matter.js]: Update to matter.js 0.11.8. +- [frontend]: Added matterbridge-hass to the plugin list. - [package]: Update dependencies. diff --git a/frontend/build/asset-manifest.json b/frontend/build/asset-manifest.json index 78c6d3eb..136cd961 100644 --- a/frontend/build/asset-manifest.json +++ b/frontend/build/asset-manifest.json @@ -1,7 +1,7 @@ { "files": { "main.css": "./static/css/main.823e08b6.css", - "main.js": "./static/js/main.a14c87e7.js", + "main.js": "./static/js/main.0ab89802.js", "static/js/453.abd36b29.chunk.js": "./static/js/453.abd36b29.chunk.js", "static/media/roboto-latin-700-normal.woff2": "./static/media/roboto-latin-700-normal.4535474e1cf8598695ad.woff2", "static/media/roboto-latin-500-normal.woff2": "./static/media/roboto-latin-500-normal.7077203b1982951ecf76.woff2", @@ -61,11 +61,11 @@ "static/media/roboto-greek-ext-400-normal.woff": "./static/media/roboto-greek-ext-400-normal.16eb83b4a3b1ea994243.woff", "index.html": "./index.html", "main.823e08b6.css.map": "./static/css/main.823e08b6.css.map", - "main.a14c87e7.js.map": "./static/js/main.a14c87e7.js.map", + "main.0ab89802.js.map": "./static/js/main.0ab89802.js.map", "453.abd36b29.chunk.js.map": "./static/js/453.abd36b29.chunk.js.map" }, "entrypoints": [ "static/css/main.823e08b6.css", - "static/js/main.a14c87e7.js" + "static/js/main.0ab89802.js" ] } \ No newline at end of file diff --git a/frontend/build/index.html b/frontend/build/index.html index 7668c17c..46dbb20f 100644 --- a/frontend/build/index.html +++ b/frontend/build/index.html @@ -1 +1 @@ -Matterbridge
\ No newline at end of file +Matterbridge
\ No newline at end of file diff --git a/frontend/build/static/js/main.a14c87e7.js b/frontend/build/static/js/main.0ab89802.js similarity index 96% rename from frontend/build/static/js/main.a14c87e7.js rename to frontend/build/static/js/main.0ab89802.js index e711593d..13cdb814 100644 --- a/frontend/build/static/js/main.a14c87e7.js +++ b/frontend/build/static/js/main.0ab89802.js @@ -1,4 +1,4 @@ -/*! For license information please see main.a14c87e7.js.LICENSE.txt */ +/*! For license information please see main.0ab89802.js.LICENSE.txt */ (()=>{var e={93803:(e,t,r)=>{"use strict";r.d(t,{A:()=>oe});var n=function(){function e(e){var t=this;this._insertTag=function(e){var r;r=0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,r),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var r=function(e){if(e.sheet)return e.sheet;for(var t=0;t0?u(x,--y):0,g--,10===b&&(g=1,m--),b}function k(){return b=y2||j(b)>3?"":" "}function N(e,t){for(;--t&&k()&&!(b<48||b>102||b>57&&b<65||b>70&&b<97););return E(e,C()+(t<6&&32==$()&&32==k()))}function M(e){for(;k();)switch(b){case e:return y;case 34:case 39:34!==e&&39!==e&&M(b);break;case 40:41===e&&M(e);break;case 92:k()}return y}function T(e,t){for(;k()&&e+b!==57&&(e+b!==84||47!==$()););return"/*"+E(t,y-1)+"*"+a(47===e?e:k())}function I(e){for(;!j($());)k();return E(e,y)}var F="-ms-",D="-moz-",z="-webkit-",L="comm",B="rule",W="decl",V="@keyframes";function U(e,t){for(var r="",n=f(e),o=0;o0&&p(D)-v&&h(b>32?Q(D+";",n,r,v-1):Q(l(D," ","")+";",n,r,v-2),f);break;case 59:D+=";";default:if(h(F=K(D,t,r,m,g,o,d,_,P=[],M=[],v),i),123===j)if(0===g)G(D,t,F,F,P,i,v,d,M);else switch(99===y&&110===u(D,3)?100:y){case 100:case 108:case 109:case 115:G(e,F,F,n&&h(K(e,F,F,0,0,o,d,_,o,P=[],v),M),o,M,v,d,n?P:M);break;default:G(D,F,F,F,[""],M,0,d,M)}}m=g=b=0,w=E=1,_=D="",v=s;break;case 58:v=1+p(D),b=x;default:if(w<1)if(123==j)--w;else if(125==j&&0==w++&&125==A())continue;switch(D+=a(j),j*w){case 38:E=g>0?1:(D+="\f",-1);break;case 44:d[m++]=(p(D)-1)*E,E=1;break;case 64:45===$()&&(D+=R(k())),y=$(),g=v=p(_=D+=I(C())),j++;break;case 45:45===x&&2==p(D)&&(w=0)}}return i}function K(e,t,r,n,a,i,c,u,p,h,m){for(var g=a-1,v=0===a?i:[""],y=f(v),b=0,x=0,S=0;b0?v[A]+" "+k:l(k,/&\f/g,v[A])))&&(p[S++]=$);return w(e,t,r,0===a?B:u,p,h,m)}function X(e,t,r){return w(e,t,r,L,a(b),d(e,2,-2),0)}function Q(e,t,r,n){return w(e,t,r,W,d(e,0,n),d(e,n+1,-1),n)}var Y=function(e,t,r){for(var n=0,o=0;n=o,o=$(),38===n&&12===o&&(t[r]=1),!j(o);)k();return E(e,y)},J=function(e,t){return P(function(e,t){var r=-1,n=44;do{switch(j(n)){case 0:38===n&&12===$()&&(t[r]=1),e[r]+=Y(y-1,t,r);break;case 2:e[r]+=R(n);break;case 4:if(44===n){e[++r]=58===$()?"&\f":"",t[r]=e[r].length;break}default:e[r]+=a(n)}}while(n=k());return e}(_(e),t))},Z=new WeakMap,ee=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,r=e.parent,n=e.column===r.column&&e.line===r.line;"rule"!==r.type;)if(!(r=r.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||Z.get(r))&&!n){Z.set(e,!0);for(var o=[],a=J(t,o),i=r.props,s=0,l=0;s6)switch(u(e,t+1)){case 109:if(45!==u(e,t+4))break;case 102:return l(e,/(.+:)(.+)-([^]+)/,"$1"+z+"$2-$3$1"+D+(108==u(e,t+3)?"$3":"$2-$3"))+e;case 115:return~c(e,"stretch")?re(l(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==u(e,t+1))break;case 6444:switch(u(e,p(e)-3-(~c(e,"!important")&&10))){case 107:return l(e,":",":"+z)+e;case 101:return l(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+z+(45===u(e,14)?"inline-":"")+"box$3$1"+z+"$2$3$1"+F+"$2box$3")+e}break;case 5936:switch(u(e,t+11)){case 114:return z+e+F+l(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return z+e+F+l(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return z+e+F+l(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return z+e+F+e+e}return e}var ne=[function(e,t,r,n){if(e.length>-1&&!e.return)switch(e.type){case W:e.return=re(e.value,e.length);break;case V:return U([S(e,{value:l(e.value,"@","@"+z)})],n);case B:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=t.exec(e))?e[0]:e}(t,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return U([S(e,{props:[l(t,/:(read-\w+)/,":-moz-$1")]})],n);case"::placeholder":return U([S(e,{props:[l(t,/:(plac\w+)/,":"+z+"input-$1")]}),S(e,{props:[l(t,/:(plac\w+)/,":-moz-$1")]}),S(e,{props:[l(t,/:(plac\w+)/,F+"input-$1")]})],n)}return""}))}}],oe=function(e){var t=e.key;if("css"===t){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var o,a,i=e.stylisPlugins||ne,s={},l=[];o=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),r=1;r{"use strict";function n(e){var t=Object.create(null);return function(r){return void 0===t[r]&&(t[r]=e(r)),t[r]}}r.d(t,{A:()=>n})},84575:(e,t,r)=>{"use strict";r.d(t,{C:()=>i,T:()=>l,w:()=>s});var n=r(65043),o=r(93803),a=(r(66598),r(69436),n.createContext("undefined"!==typeof HTMLElement?(0,o.A)({key:"css"}):null)),i=a.Provider,s=function(e){return(0,n.forwardRef)((function(t,r){var o=(0,n.useContext)(a);return e(t,o,r)}))},l=n.createContext({})},83290:(e,t,r)=>{"use strict";r.d(t,{AH:()=>c,i7:()=>u,mL:()=>l});var n=r(84575),o=r(65043),a=r(81722),i=r(69436),s=r(66598),l=(r(93803),r(80219),(0,n.w)((function(e,t){var r=e.styles,l=(0,s.J)([r],void 0,o.useContext(n.T)),c=o.useRef();return(0,i.i)((function(){var e=t.key+"-global",r=new t.sheet.constructor({key:e,nonce:t.sheet.nonce,container:t.sheet.container,speedy:t.sheet.isSpeedy}),n=!1,o=document.querySelector('style[data-emotion="'+e+" "+l.name+'"]');return t.sheet.tags.length&&(r.before=t.sheet.tags[0]),null!==o&&(n=!0,o.setAttribute("data-emotion",e),r.hydrate([o])),c.current=[r,n],function(){r.flush()}}),[t]),(0,i.i)((function(){var e=c.current,r=e[0];if(e[1])e[1]=!1;else{if(void 0!==l.next&&(0,a.sk)(t,l.next,!0),r.tags.length){var n=r.tags[r.tags.length-1].nextElementSibling;r.before=n,r.flush()}t.insert("",l,r,!1)}}),[t,l.name]),null})));function c(){for(var e=arguments.length,t=new Array(e),r=0;r{"use strict";r.d(t,{J:()=>g});var n={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},o=r(30918),a=!1,i=/[A-Z]|^ms/g,s=/_EMO_([^_]+?)_([^]*?)_EMO_/g,l=function(e){return 45===e.charCodeAt(1)},c=function(e){return null!=e&&"boolean"!==typeof e},u=(0,o.A)((function(e){return l(e)?e:e.replace(i,"-$&").toLowerCase()})),d=function(e,t){switch(e){case"animation":case"animationName":if("string"===typeof t)return t.replace(s,(function(e,t,r){return h={name:t,styles:r,next:h},t}))}return 1===n[e]||l(e)||"number"!==typeof t||0===t?t:t+"px"},p="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";function f(e,t,r){if(null==r)return"";var n=r;if(void 0!==n.__emotion_styles)return n;switch(typeof r){case"boolean":return"";case"object":var o=r;if(1===o.anim)return h={name:o.name,styles:o.styles,next:h},o.name;var i=r;if(void 0!==i.styles){var s=i.next;if(void 0!==s)for(;void 0!==s;)h={name:s.name,styles:s.styles,next:h},s=s.next;return i.styles+";"}return function(e,t,r){var n="";if(Array.isArray(r))for(var o=0;o=4;++n,o-=4)t=1540483477*(65535&(t=255&e.charCodeAt(n)|(255&e.charCodeAt(++n))<<8|(255&e.charCodeAt(++n))<<16|(255&e.charCodeAt(++n))<<24))+(59797*(t>>>16)<<16),r=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&r)+(59797*(r>>>16)<<16);switch(o){case 3:r^=(255&e.charCodeAt(n+2))<<16;case 2:r^=(255&e.charCodeAt(n+1))<<8;case 1:r=1540483477*(65535&(r^=255&e.charCodeAt(n)))+(59797*(r>>>16)<<16)}return(((r=1540483477*(65535&(r^=r>>>13))+(59797*(r>>>16)<<16))^r>>>15)>>>0).toString(36)}(o)+l;return{name:c,styles:o,next:h}}},69436:(e,t,r)=>{"use strict";var n;r.d(t,{i:()=>s,s:()=>i});var o=r(65043),a=!!(n||(n=r.t(o,2))).useInsertionEffect&&(n||(n=r.t(o,2))).useInsertionEffect,i=a||function(e){return e()},s=a||o.useLayoutEffect},81722:(e,t,r)=>{"use strict";r.d(t,{Rk:()=>n,SF:()=>o,sk:()=>a});function n(e,t,r){var n="";return r.split(" ").forEach((function(r){void 0!==e[r]?t.push(e[r]+";"):r&&(n+=r+" ")})),n}var o=function(e,t,r){var n=e.key+"-"+t.name;!1===r&&void 0===e.registered[n]&&(e.registered[n]=t.styles)},a=function(e,t,r){o(e,t,r);var n=e.key+"-"+t.name;if(void 0===e.inserted[t.name]){var a=t;do{e.insert(t===a?"."+n:"",a,e.sheet,!0),a=a.next}while(void 0!==a)}}},22505:(e,t,r)=>{"use strict";var n=r(24994);t.A=void 0;var o=n(r(40039)),a=r(70579);t.A=(0,o.default)((0,a.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add")},60489:(e,t,r)=>{"use strict";var n=r(24994);t.A=void 0;var o=n(r(40039)),a=r(70579);t.A=(0,o.default)((0,a.jsx)("path",{d:"M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m0 14H5.17L4 17.17V4h16zM11 5h2v6h-2zm0 8h2v2h-2z"}),"AnnouncementOutlined")},10977:(e,t,r)=>{"use strict";var n=r(24994);t.A=void 0;var o=n(r(40039)),a=r(70579);t.A=(0,o.default)((0,a.jsx)("path",{d:"m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8z"}),"ArrowDownward")},43608:(e,t,r)=>{"use strict";var n=r(24994);t.A=void 0;var o=n(r(40039)),a=r(70579);t.A=(0,o.default)((0,a.jsx)("path",{d:"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8z"}),"ArrowUpward")},24914:(e,t,r)=>{"use strict";var n=r(24994);t.A=void 0;var o=n(r(40039)),a=r(70579);t.A=(0,o.default)((0,a.jsx)("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m0 16H8V7h11z"}),"ContentCopy")},41132:(e,t,r)=>{"use strict";var n=r(24994);t.A=void 0;var o=n(r(40039)),a=r(70579);t.A=(0,o.default)((0,a.jsx)("path",{d:"M5 20h14v-2H5zM19 9h-4V3H9v6H5l7 7z"}),"Download")},1528:(e,t,r)=>{"use strict";var n=r(24994);t.A=void 0;var o=n(r(40039)),a=r(70579);t.A=(0,o.default)((0,a.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error")},45465:(e,t,r)=>{"use strict";var n=r(24994);t.A=void 0;var o=n(r(40039)),a=r(70579);t.A=(0,o.default)((0,a.jsx)("path",{d:"M11 18h2v-2h-2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4"}),"HelpOutline")},79790:(e,t,r)=>{"use strict";var n=r(24994);t.A=void 0;var o=n(r(40039)),a=r(70579);t.A=(0,o.default)((0,a.jsx)("path",{d:"M13 3h-2v10h2zm4.83 2.17-1.42 1.42C17.99 7.86 19 9.81 19 12c0 3.87-3.13 7-7 7s-7-3.13-7-7c0-2.19 1.01-4.14 2.58-5.42L6.17 5.17C4.23 6.82 3 9.26 3 12c0 4.97 4.03 9 9 9s9-4.03 9-9c0-2.74-1.23-5.18-3.17-6.83"}),"PowerSettingsNew")},76164:(e,t,r)=>{"use strict";var n=r(24994);t.A=void 0;var o=n(r(40039)),a=r(70579);t.A=(0,o.default)((0,a.jsx)("path",{d:"M19 13H5v-2h14z"}),"Remove")},62171:(e,t,r)=>{"use strict";var n=r(24994);t.A=void 0;var o=n(r(40039)),a=r(70579);t.A=(0,o.default)((0,a.jsx)("path",{d:"M1 21h22L12 2zm12-3h-2v-2h2zm0-4h-2v-4h2z"}),"ReportProblem")},56170:(e,t,r)=>{"use strict";var n=r(24994);t.A=void 0;var o=n(r(40039)),a=r(70579);t.A=(0,o.default)((0,a.jsx)("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8m-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91"}),"RestartAlt")},94329:(e,t,r)=>{"use strict";var n=r(24994);t.A=void 0;var o=n(r(40039)),a=r(70579);t.A=(0,o.default)((0,a.jsx)("path",{d:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z"}),"Save")},27193:(e,t,r)=>{"use strict";var n=r(24994);t.A=void 0;var o=n(r(40039)),a=r(70579);t.A=(0,o.default)((0,a.jsx)("path",{d:"m12 16.5 4-4h-3v-9h-2v9H8zm9-13h-6v1.99h6v14.03H3V5.49h6V3.5H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2v-14c0-1.1-.9-2-2-2"}),"SystemUpdateAlt")},40039:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n.createSvgIcon}});var n=r(4391)},98206:(e,t,r)=>{"use strict";r.d(t,{b:()=>o});r(65043);var n=r(13654);r(70579);function o(e){return(0,n.b)(e)}},25881:(e,t)=>{"use strict";var r,n=Symbol.for("react.element"),o=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),c=Symbol.for("react.context"),u=Symbol.for("react.server_context"),d=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),f=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),g=Symbol.for("react.offscreen");function v(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case a:case s:case i:case p:case f:return e;default:switch(e=e&&e.$$typeof){case u:case c:case d:case m:case h:case l:return e;default:return t}}case o:return t}}}r=Symbol.for("react.module.reference")},30805:(e,t,r)=>{"use strict";r(25881)},88279:(e,t,r)=>{"use strict";r.d(t,{A:()=>z});var n=r(58168),o=r(98587),a=r(17868),i=r(19172),s=r(37758),l=r(58812),c=r(18280);var u=r(67266);const d={black:"#000",white:"#fff"},p={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},f={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},h={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},m={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},g={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},v={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},y={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},b=["mode","contrastThreshold","tonalOffset"],x={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:d.white,default:d.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},w={text:{primary:d.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:d.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function S(e,t,r,n){const o=n.light||n,a=n.dark||1.5*n;e[t]||(e.hasOwnProperty(r)?e[t]=e[r]:"light"===t?e.light=(0,u.a)(e.main,o):"dark"===t&&(e.dark=(0,u.e$)(e.main,a)))}function A(e){const{mode:t="light",contrastThreshold:r=3,tonalOffset:s=.2}=e,l=(0,o.A)(e,b),c=e.primary||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:g[200],light:g[50],dark:g[400]}:{main:g[700],light:g[400],dark:g[800]}}(t),A=e.secondary||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:f[200],light:f[50],dark:f[400]}:{main:f[500],light:f[300],dark:f[700]}}(t),k=e.error||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:h[500],light:h[300],dark:h[700]}:{main:h[700],light:h[400],dark:h[800]}}(t),$=e.info||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:v[400],light:v[300],dark:v[700]}:{main:v[700],light:v[500],dark:v[900]}}(t),C=e.success||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:y[400],light:y[300],dark:y[700]}:{main:y[800],light:y[500],dark:y[900]}}(t),E=e.warning||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:m[400],light:m[300],dark:m[700]}:{main:"#ed6c02",light:m[500],dark:m[900]}}(t);function j(e){return(0,u.eM)(e,w.text.primary)>=r?w.text.primary:x.text.primary}const _=e=>{let{color:t,name:r,mainShade:o=500,lightShade:i=300,darkShade:l=700}=e;if(t=(0,n.A)({},t),!t.main&&t[o]&&(t.main=t[o]),!t.hasOwnProperty("main"))throw new Error((0,a.A)(11,r?` (${r})`:"",o));if("string"!==typeof t.main)throw new Error((0,a.A)(12,r?` (${r})`:"",JSON.stringify(t.main)));return S(t,"light",i,s),S(t,"dark",l,s),t.contrastText||(t.contrastText=j(t.main)),t},P={dark:w,light:x};return(0,i.A)((0,n.A)({common:(0,n.A)({},d),mode:t,primary:_({color:c,name:"primary"}),secondary:_({color:A,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:_({color:k,name:"error"}),warning:_({color:E,name:"warning"}),info:_({color:$,name:"info"}),success:_({color:C,name:"success"}),grey:p,contrastThreshold:r,getContrastText:j,augmentColor:_,tonalOffset:s},P[t]),l)}const k=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];const $={textTransform:"uppercase"},C='"Roboto", "Helvetica", "Arial", sans-serif';function E(e,t){const r="function"===typeof t?t(e):t,{fontFamily:a=C,fontSize:s=14,fontWeightLight:l=300,fontWeightRegular:c=400,fontWeightMedium:u=500,fontWeightBold:d=700,htmlFontSize:p=16,allVariants:f,pxToRem:h}=r,m=(0,o.A)(r,k);const g=s/14,v=h||(e=>e/p*g+"rem"),y=(e,t,r,o,i)=>{return(0,n.A)({fontFamily:a,fontWeight:e,fontSize:v(t),lineHeight:r},a===C?{letterSpacing:(s=o/t,Math.round(1e5*s)/1e5)+"em"}:{},i,f);var s},b={h1:y(l,96,1.167,-1.5),h2:y(l,60,1.2,-.5),h3:y(c,48,1.167,0),h4:y(c,34,1.235,.25),h5:y(c,24,1.334,0),h6:y(u,20,1.6,.15),subtitle1:y(c,16,1.75,.15),subtitle2:y(u,14,1.57,.1),body1:y(c,16,1.5,.15),body2:y(c,14,1.43,.15),button:y(u,14,1.75,.4,$),caption:y(c,12,1.66,.4),overline:y(c,12,2.66,1,$),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return(0,i.A)((0,n.A)({htmlFontSize:p,pxToRem:v,fontFamily:a,fontSize:s,fontWeightLight:l,fontWeightRegular:c,fontWeightMedium:u,fontWeightBold:d},b),m,{clone:!1})}function j(){return[`${arguments.length<=0?void 0:arguments[0]}px ${arguments.length<=1?void 0:arguments[1]}px ${arguments.length<=2?void 0:arguments[2]}px ${arguments.length<=3?void 0:arguments[3]}px rgba(0,0,0,0.2)`,`${arguments.length<=4?void 0:arguments[4]}px ${arguments.length<=5?void 0:arguments[5]}px ${arguments.length<=6?void 0:arguments[6]}px ${arguments.length<=7?void 0:arguments[7]}px rgba(0,0,0,0.14)`,`${arguments.length<=8?void 0:arguments[8]}px ${arguments.length<=9?void 0:arguments[9]}px ${arguments.length<=10?void 0:arguments[10]}px ${arguments.length<=11?void 0:arguments[11]}px rgba(0,0,0,0.12)`].join(",")}const _=["none",j(0,2,1,-1,0,1,1,0,0,1,3,0),j(0,3,1,-2,0,2,2,0,0,1,5,0),j(0,3,3,-2,0,3,4,0,0,1,8,0),j(0,2,4,-1,0,4,5,0,0,1,10,0),j(0,3,5,-1,0,5,8,0,0,1,14,0),j(0,3,5,-1,0,6,10,0,0,1,18,0),j(0,4,5,-2,0,7,10,1,0,2,16,1),j(0,5,5,-3,0,8,10,1,0,3,14,2),j(0,5,6,-3,0,9,12,1,0,3,16,2),j(0,6,6,-3,0,10,14,1,0,4,18,3),j(0,6,7,-4,0,11,15,1,0,4,20,3),j(0,7,8,-4,0,12,17,2,0,5,22,4),j(0,7,8,-4,0,13,19,2,0,5,24,4),j(0,7,9,-4,0,14,21,2,0,5,26,4),j(0,8,9,-5,0,15,22,2,0,6,28,5),j(0,8,10,-5,0,16,24,2,0,6,30,5),j(0,8,11,-5,0,17,26,2,0,6,32,5),j(0,9,11,-5,0,18,28,2,0,7,34,6),j(0,9,12,-6,0,19,29,2,0,7,36,6),j(0,10,13,-6,0,20,31,3,0,8,38,7),j(0,10,13,-6,0,21,33,3,0,8,40,7),j(0,10,14,-6,0,22,35,3,0,8,42,7),j(0,11,14,-7,0,23,36,3,0,9,44,8),j(0,11,15,-7,0,24,38,3,0,9,46,8)],P=["duration","easing","delay"],R={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},O={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function N(e){return`${Math.round(e)}ms`}function M(e){if(!e)return 0;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}function T(e){const t=(0,n.A)({},R,e.easing),r=(0,n.A)({},O,e.duration);return(0,n.A)({getAutoHeightDuration:M,create:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["all"],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{duration:a=r.standard,easing:i=t.easeInOut,delay:s=0}=n;(0,o.A)(n,P);return(Array.isArray(e)?e:[e]).map((e=>`${e} ${"string"===typeof a?a:N(a)} ${i} ${"string"===typeof s?s:N(s)}`)).join(",")}},e,{easing:t,duration:r})}const I={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},F=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function D(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{mixins:t={},palette:r={},transitions:u={},typography:d={}}=e,p=(0,o.A)(e,F);if(e.vars)throw new Error((0,a.A)(18));const f=A(r),h=(0,c.A)(e);let m=(0,i.A)(h,{mixins:(g=h.breakpoints,v=t,(0,n.A)({toolbar:{minHeight:56,[g.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[g.up("sm")]:{minHeight:64}}},v)),palette:f,shadows:_.slice(),typography:E(f,d),transitions:T(u),zIndex:(0,n.A)({},I)});var g,v;m=(0,i.A)(m,p);for(var y=arguments.length,b=new Array(y>1?y-1:0),x=1;x(0,i.A)(e,t)),m),m.unstable_sxConfig=(0,n.A)({},s.A,null==p?void 0:p.unstable_sxConfig),m.unstable_sx=function(e){return(0,l.A)({sx:e,theme:this})},m}const z=D},15170:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=(0,r(88279).A)()},13375:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n="$$material"},61475:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(47123);const o=e=>(0,n.A)(e)&&"classes"!==e},47123:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e}},34535:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>s});var n=r(38052),o=r(15170),a=r(13375),i=r(61475);const s=(0,n.Ay)({themeId:a.A,defaultTheme:o.A,rootShouldForwardProp:i.A})},6803:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=r(67598).A},6593:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=r(42456).A},59662:(e,t,r)=>{"use strict";r.d(t,{A:()=>b});var n=r(58168),o=r(65043),a=r(98587),i=r(58387),s=r(98610),l=r(6803),c=r(98206),u=r(34535),d=r(92532),p=r(72372);function f(e){return(0,p.Ay)("MuiSvgIcon",e)}(0,d.A)("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);var h=r(70579);const m=["children","className","color","component","fontSize","htmlColor","inheritViewBox","titleAccess","viewBox"],g=(0,u.Ay)("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,"inherit"!==r.color&&t[`color${(0,l.A)(r.color)}`],t[`fontSize${(0,l.A)(r.fontSize)}`]]}})((e=>{let{theme:t,ownerState:r}=e;var n,o,a,i,s,l,c,u,d,p,f,h,m;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:r.hasSvgAsChild?void 0:"currentColor",flexShrink:0,transition:null==(n=t.transitions)||null==(o=n.create)?void 0:o.call(n,"fill",{duration:null==(a=t.transitions)||null==(a=a.duration)?void 0:a.shorter}),fontSize:{inherit:"inherit",small:(null==(i=t.typography)||null==(s=i.pxToRem)?void 0:s.call(i,20))||"1.25rem",medium:(null==(l=t.typography)||null==(c=l.pxToRem)?void 0:c.call(l,24))||"1.5rem",large:(null==(u=t.typography)||null==(d=u.pxToRem)?void 0:d.call(u,35))||"2.1875rem"}[r.fontSize],color:null!=(p=null==(f=(t.vars||t).palette)||null==(f=f[r.color])?void 0:f.main)?p:{action:null==(h=(t.vars||t).palette)||null==(h=h.action)?void 0:h.active,disabled:null==(m=(t.vars||t).palette)||null==(m=m.action)?void 0:m.disabled,inherit:void 0}[r.color]}})),v=o.forwardRef((function(e,t){const r=(0,c.b)({props:e,name:"MuiSvgIcon"}),{children:u,className:d,color:p="inherit",component:v="svg",fontSize:y="medium",htmlColor:b,inheritViewBox:x=!1,titleAccess:w,viewBox:S="0 0 24 24"}=r,A=(0,a.A)(r,m),k=o.isValidElement(u)&&"svg"===u.type,$=(0,n.A)({},r,{color:p,component:v,fontSize:y,instanceFontSize:e.fontSize,inheritViewBox:x,viewBox:S,hasSvgAsChild:k}),C={};x||(C.viewBox=S);const E=(e=>{const{color:t,fontSize:r,classes:n}=e,o={root:["root","inherit"!==t&&`color${(0,l.A)(t)}`,`fontSize${(0,l.A)(r)}`]};return(0,s.A)(o,f,n)})($);return(0,h.jsxs)(g,(0,n.A)({as:v,className:(0,i.A)(E.root,d),focusable:"false",color:b,"aria-hidden":!w||void 0,role:w?"img":void 0,ref:t},C,A,k&&u.props,{ownerState:$,children:[k?u.props.children:u,w?(0,h.jsx)("title",{children:w}):null]}))}));v.muiName="SvgIcon";const y=v;function b(e,t){function r(r,o){return(0,h.jsx)(y,(0,n.A)({"data-testid":`${t}Icon`,ref:o},r,{children:e}))}return r.muiName=y.muiName,o.memo(o.forwardRef(r))}},80950:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=r(83468).A},4391:(e,t,r)=>{"use strict";r.r(t),r.d(t,{capitalize:()=>o.A,createChainedFunction:()=>a.A,createSvgIcon:()=>i.A,debounce:()=>s.A,deprecatedPropType:()=>l,isMuiElement:()=>c.A,ownerDocument:()=>u.A,ownerWindow:()=>d.A,requirePropFactory:()=>p,setRef:()=>f,unstable_ClassNameGenerator:()=>w,unstable_useEnhancedEffect:()=>h.A,unstable_useId:()=>m.A,unsupportedProp:()=>g,useControlled:()=>v.A,useEventCallback:()=>y.A,useForkRef:()=>b.A,useIsFocusVisible:()=>x.A});var n=r(79386),o=r(6803),a=r(6593),i=r(59662),s=r(80950);const l=function(e,t){return()=>null};var c=r(27328),u=r(22427),d=r(36078);r(58168);const p=function(e,t){return()=>null};const f=r(26564).A;var h=r(55013),m=r(45879);const g=function(e,t,r,n,o){return null};var v=r(54516),y=r(93319),b=r(95849),x=r(87844);const w={configure:e=>{n.A.configure(e)}}},27328:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(65043);const o=function(e,t){var r,o;return n.isValidElement(e)&&-1!==t.indexOf(null!=(r=e.type.muiName)?r:null==(o=e.type)||null==(o=o._payload)||null==(o=o.value)?void 0:o.muiName)}},22427:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=r(31668).A},36078:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=r(63940).A},54516:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=r(51052).A},55013:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=r(84440).A},93319:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=r(31782).A},95849:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=r(63462).A},45879:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=r(5844).A},87844:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=r(49640).A},70869:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});r(65043);var n=r(83290),o=r(70579);function a(e){const{styles:t,defaultTheme:r={}}=e,a="function"===typeof t?e=>{return t(void 0===(n=e)||null===n||0===Object.keys(n).length?r:e);var n}:t;return(0,o.jsx)(n.mL,{styles:a})}},13174:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalStyles:()=>A.A,StyledEngineProvider:()=>S,ThemeContext:()=>l.T,css:()=>y.AH,default:()=>k,internal_processStyles:()=>$,keyframes:()=>y.i7});var n=r(58168),o=r(65043),a=r(30918),i=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,s=(0,a.A)((function(e){return i.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),l=r(84575),c=r(81722),u=r(66598),d=r(69436),p=s,f=function(e){return"theme"!==e},h=function(e){return"string"===typeof e&&e.charCodeAt(0)>96?p:f},m=function(e,t,r){var n;if(t){var o=t.shouldForwardProp;n=e.__emotion_forwardProp&&o?function(t){return e.__emotion_forwardProp(t)&&o(t)}:o}return"function"!==typeof n&&r&&(n=e.__emotion_forwardProp),n},g=function(e){var t=e.cache,r=e.serialized,n=e.isStringTag;return(0,c.SF)(t,r,n),(0,d.s)((function(){return(0,c.sk)(t,r,n)})),null},v=function e(t,r){var a,i,s=t.__emotion_real===t,d=s&&t.__emotion_base||t;void 0!==r&&(a=r.label,i=r.target);var p=m(t,r,s),f=p||h(d),v=!f("as");return function(){var y=arguments,b=s&&void 0!==t.__emotion_styles?t.__emotion_styles.slice(0):[];if(void 0!==a&&b.push("label:"+a+";"),null==y[0]||void 0===y[0].raw)b.push.apply(b,y);else{b.push(y[0][0]);for(var x=y.length,w=1;w{Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=t(e.__emotion_styles))}},67266:(e,t,r)=>{"use strict";var n=r(24994);t.X4=f,t.e$=h,t.tL=g,t.eM=function(e,t){const r=p(e),n=p(t);return(Math.max(r,n)+.05)/(Math.min(r,n)+.05)},t.a=m;var o=n(r(10457)),a=n(r(6531));function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return(0,a.default)(e,t,r)}function s(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let r=e.match(t);return r&&1===r[0].length&&(r=r.map((e=>e+e))),r?`rgb${4===r.length?"a":""}(${r.map(((e,t)=>t<3?parseInt(e,16):Math.round(parseInt(e,16)/255*1e3)/1e3)).join(", ")})`:""}function l(e){if(e.type)return e;if("#"===e.charAt(0))return l(s(e));const t=e.indexOf("("),r=e.substring(0,t);if(-1===["rgb","rgba","hsl","hsla","color"].indexOf(r))throw new Error((0,o.default)(9,e));let n,a=e.substring(t+1,e.length-1);if("color"===r){if(a=a.split(" "),n=a.shift(),4===a.length&&"/"===a[3].charAt(0)&&(a[3]=a[3].slice(1)),-1===["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(n))throw new Error((0,o.default)(10,n))}else a=a.split(",");return a=a.map((e=>parseFloat(e))),{type:r,values:a,colorSpace:n}}const c=e=>{const t=l(e);return t.values.slice(0,3).map(((e,r)=>-1!==t.type.indexOf("hsl")&&0!==r?`${e}%`:e)).join(" ")};function u(e){const{type:t,colorSpace:r}=e;let{values:n}=e;return-1!==t.indexOf("rgb")?n=n.map(((e,t)=>t<3?parseInt(e,10):e)):-1!==t.indexOf("hsl")&&(n[1]=`${n[1]}%`,n[2]=`${n[2]}%`),n=-1!==t.indexOf("color")?`${r} ${n.join(" ")}`:`${n.join(", ")}`,`${t}(${n})`}function d(e){e=l(e);const{values:t}=e,r=t[0],n=t[1]/100,o=t[2]/100,a=n*Math.min(o,1-o),i=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(e+r/30)%12;return o-a*Math.max(Math.min(t-3,9-t,1),-1)};let s="rgb";const c=[Math.round(255*i(0)),Math.round(255*i(8)),Math.round(255*i(4))];return"hsla"===e.type&&(s+="a",c.push(t[3])),u({type:s,values:c})}function p(e){let t="hsl"===(e=l(e)).type||"hsla"===e.type?l(d(e)).values:e.values;return t=t.map((t=>("color"!==e.type&&(t/=255),t<=.03928?t/12.92:((t+.055)/1.055)**2.4))),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function f(e,t){return e=l(e),t=i(t),"rgb"!==e.type&&"hsl"!==e.type||(e.type+="a"),"color"===e.type?e.values[3]=`/${t}`:e.values[3]=t,u(e)}function h(e,t){if(e=l(e),t=i(t),-1!==e.type.indexOf("hsl"))e.values[2]*=1-t;else if(-1!==e.type.indexOf("rgb")||-1!==e.type.indexOf("color"))for(let r=0;r<3;r+=1)e.values[r]*=1-t;return u(e)}function m(e,t){if(e=l(e),t=i(t),-1!==e.type.indexOf("hsl"))e.values[2]+=(100-e.values[2])*t;else if(-1!==e.type.indexOf("rgb"))for(let r=0;r<3;r+=1)e.values[r]+=(255-e.values[r])*t;else if(-1!==e.type.indexOf("color"))for(let r=0;r<3;r+=1)e.values[r]+=(1-e.values[r])*t;return u(e)}function g(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.15;return p(e)>.5?h(e,t):m(e,t)}},38052:(e,t,r)=>{"use strict";var n=r(24994);t.Ay=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{themeId:t,defaultTheme:r=m,rootShouldForwardProp:n=h,slotShouldForwardProp:l=h}=e,u=e=>(0,c.default)((0,o.default)({},e,{theme:v((0,o.default)({},e,{defaultTheme:r,themeId:t}))}));return u.__mui_systemSx=!0,function(e){let c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,i.internal_processStyles)(e,(e=>e.filter((e=>!(null!=e&&e.__mui_systemSx)))));const{name:d,slot:f,skipVariantsResolver:m,skipSx:x,overridesResolver:w=y(g(f))}=c,S=(0,a.default)(c,p),A=void 0!==m?m:f&&"Root"!==f&&"root"!==f||!1,k=x||!1;let $=h;"Root"===f||"root"===f?$=n:f?$=l:function(e){return"string"===typeof e&&e.charCodeAt(0)>96}(e)&&($=void 0);const C=(0,i.default)(e,(0,o.default)({shouldForwardProp:$,label:undefined},S)),E=e=>"function"===typeof e&&e.__emotion_real!==e||(0,s.isPlainObject)(e)?n=>b(e,(0,o.default)({},n,{theme:v({theme:n.theme,defaultTheme:r,themeId:t})})):e,j=function(n){let a=E(n);for(var i=arguments.length,s=new Array(i>1?i-1:0),l=1;l{const n=v((0,o.default)({},e,{defaultTheme:r,themeId:t}));if(!n.components||!n.components[d]||!n.components[d].styleOverrides)return null;const a=n.components[d].styleOverrides,i={};return Object.entries(a).forEach((t=>{let[r,a]=t;i[r]=b(a,(0,o.default)({},e,{theme:n}))})),w(e,i)})),d&&!A&&c.push((e=>{var n;const a=v((0,o.default)({},e,{defaultTheme:r,themeId:t}));return b({variants:null==a||null==(n=a.components)||null==(n=n[d])?void 0:n.variants},(0,o.default)({},e,{theme:a}))})),k||c.push(u);const p=c.length-s.length;if(Array.isArray(n)&&p>0){const e=new Array(p).fill("");a=[...n,...e],a.raw=[...n.raw,...e]}const f=C(a,...c);return e.muiName&&(f.muiName=e.muiName),f};return C.withConfig&&(j.withConfig=C.withConfig),j}};var o=n(r(94634)),a=n(r(54893)),i=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=f(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}return n.default=e,r&&r.set(e,n),n}(r(13174)),s=r(19482),l=(n(r(87918)),n(r(83382)),n(r(24989))),c=n(r(73234));const u=["ownerState"],d=["variants"],p=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function f(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(f=function(e){return e?r:t})(e)}function h(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e}const m=(0,l.default)(),g=e=>e?e.charAt(0).toLowerCase()+e.slice(1):e;function v(e){let{defaultTheme:t,theme:r,themeId:n}=e;return o=r,0===Object.keys(o).length?t:r[n]||r;var o}function y(e){return e?(t,r)=>r[e]:null}function b(e,t){let{ownerState:r}=t,n=(0,a.default)(t,u);const i="function"===typeof e?e((0,o.default)({ownerState:r},n)):e;if(Array.isArray(i))return i.flatMap((e=>b(e,(0,o.default)({ownerState:r},n))));if(i&&"object"===typeof i&&Array.isArray(i.variants)){const{variants:e=[]}=i;let t=(0,a.default)(i,d);return e.forEach((e=>{let a=!0;"function"===typeof e.props?a=e.props((0,o.default)({ownerState:r},n,r)):Object.keys(e.props).forEach((t=>{(null==r?void 0:r[t])!==e.props[t]&&n[t]!==e.props[t]&&(a=!1)})),a&&(Array.isArray(t)||(t=[t]),t.push("function"===typeof e.style?e.style((0,o.default)({ownerState:r},n,r)):e.style))})),t}return i}},13654:(e,t,r)=>{"use strict";r.d(t,{A:()=>l,b:()=>s});var n=r(65043),o=r(13030),a=r(70579);const i=n.createContext(void 0);function s(e){let{props:t,name:r}=e;return function(e){const{theme:t,name:r,props:n}=e;if(!t||!t.components||!t.components[r])return n;const a=t.components[r];return a.defaultProps?(0,o.A)(a.defaultProps,n):a.styleOverrides||a.variants?n:(0,o.A)(a,n)}({props:t,name:r,theme:{components:n.useContext(i)}})}const l=function(e){let{value:t,children:r}=e;return(0,a.jsx)(i.Provider,{value:t,children:r})}},89751:(e,t,r)=>{"use strict";r.d(t,{EU:()=>s,NI:()=>i,iZ:()=>c,kW:()=>u,vf:()=>l,zu:()=>o});var n=r(19172);const o={xs:0,sm:600,md:900,lg:1200,xl:1536},a={keys:["xs","sm","md","lg","xl"],up:e=>`@media (min-width:${o[e]}px)`};function i(e,t,r){const n=e.theme||{};if(Array.isArray(t)){const e=n.breakpoints||a;return t.reduce(((n,o,a)=>(n[e.up(e.keys[a])]=r(t[a]),n)),{})}if("object"===typeof t){const e=n.breakpoints||a;return Object.keys(t).reduce(((n,a)=>{if(-1!==Object.keys(e.values||o).indexOf(a)){n[e.up(a)]=r(t[a],a)}else{const e=a;n[e]=t[e]}return n}),{})}return r(t)}function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t;return(null==(t=e.keys)?void 0:t.reduce(((t,r)=>(t[e.up(r)]={},t)),{}))||{}}function l(e,t){return e.reduce(((e,t)=>{const r=e[t];return(!r||0===Object.keys(r).length)&&delete e[t],e}),t)}function c(e){const t=s(e);for(var r=arguments.length,o=new Array(r>1?r-1:0),a=1;a(0,n.A)(e,t)),{});return l(Object.keys(t),i)}function u(e){let{values:t,breakpoints:r,base:n}=e;const o=n||function(e,t){if("object"!==typeof e)return{};const r={},n=Object.keys(t);return Array.isArray(e)?n.forEach(((t,n)=>{n{null!=e[t]&&(r[t]=!0)})),r}(t,r),a=Object.keys(o);if(0===a.length)return t;let i;return a.reduce(((e,r,n)=>(Array.isArray(t)?(e[r]=null!=t[n]?t[n]:t[i],i=n):"object"===typeof t?(e[r]=null!=t[r]?t[r]:t[i],i=r):e[r]=t,e)),{})}},89703:(e,t,r)=>{"use strict";function n(e,t){const r=this;if(r.vars&&"function"===typeof r.getColorSchemeSelector){return{[r.getColorSchemeSelector(e).replace(/(\[[^\]]+\])/,"*:where($1)")]:t}}return r.palette.mode===e?t:{}}r.d(t,{A:()=>n})},34853:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(98587),o=r(58168);const a=["values","unit","step"],i=e=>{const t=Object.keys(e).map((t=>({key:t,val:e[t]})))||[];return t.sort(((e,t)=>e.val-t.val)),t.reduce(((e,t)=>(0,o.A)({},e,{[t.key]:t.val})),{})};function s(e){const{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:r="px",step:s=5}=e,l=(0,n.A)(e,a),c=i(t),u=Object.keys(c);function d(e){return`@media (min-width:${"number"===typeof t[e]?t[e]:e}${r})`}function p(e){return`@media (max-width:${("number"===typeof t[e]?t[e]:e)-s/100}${r})`}function f(e,n){const o=u.indexOf(n);return`@media (min-width:${"number"===typeof t[e]?t[e]:e}${r}) and (max-width:${(-1!==o&&"number"===typeof t[u[o]]?t[u[o]]:n)-s/100}${r})`}return(0,o.A)({keys:u,values:c,up:d,down:p,between:f,only:function(e){return u.indexOf(e)+1{"use strict";r.d(t,{A:()=>f});var n=r(58168),o=r(98587),a=r(19172),i=r(34853);const s={borderRadius:4};var l=r(28604);var c=r(58812),u=r(37758),d=r(89703);const p=["breakpoints","palette","spacing","shape"];const f=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{breakpoints:t={},palette:r={},spacing:f,shape:h={}}=e,m=(0,o.A)(e,p),g=(0,i.A)(t),v=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8;if(e.mui)return e;const t=(0,l.LX)({spacing:e}),r=function(){for(var e=arguments.length,r=new Array(e),n=0;n{const r=t(e);return"number"===typeof r?`${r}px`:r})).join(" ")};return r.mui=!0,r}(f);let y=(0,a.A)({breakpoints:g,direction:"ltr",components:{},palette:(0,n.A)({mode:"light"},r),spacing:v,shape:(0,n.A)({},s,h)},m);y.applyStyles=d.A;for(var b=arguments.length,x=new Array(b>1?b-1:0),w=1;w(0,a.A)(e,t)),y),y.unstable_sxConfig=(0,n.A)({},u.A,null==m?void 0:m.unstable_sxConfig),y.unstable_sx=function(e){return(0,c.A)({sx:e,theme:this})},y}},24989:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n.A,private_createBreakpoints:()=>o.A,unstable_applyStyles:()=>a.A});var n=r(18280),o=r(34853),a=r(89703)},13815:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(19172);const o=function(e,t){return t?(0,n.A)(e,t,{clone:!1}):e}},28604:(e,t,r)=>{"use strict";r.d(t,{LX:()=>h,MA:()=>f,_W:()=>m,Lc:()=>y,Ms:()=>b});var n=r(89751),o=r(17162),a=r(13815);const i={m:"margin",p:"padding"},s={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},l={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},c=function(e){const t={};return r=>(void 0===t[r]&&(t[r]=e(r)),t[r])}((e=>{if(e.length>2){if(!l[e])return[e];e=l[e]}const[t,r]=e.split(""),n=i[t],o=s[r]||"";return Array.isArray(o)?o.map((e=>n+e)):[n+o]})),u=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],d=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"],p=[...u,...d];function f(e,t,r,n){var a;const i=null!=(a=(0,o.Yn)(e,t,!1))?a:r;return"number"===typeof i?e=>"string"===typeof e?e:i*e:Array.isArray(i)?e=>"string"===typeof e?e:i[e]:"function"===typeof i?i:()=>{}}function h(e){return f(e,"spacing",8)}function m(e,t){if("string"===typeof t||null==t)return t;const r=e(Math.abs(t));return t>=0?r:"number"===typeof r?-r:`-${r}`}function g(e,t,r,o){if(-1===t.indexOf(r))return null;const a=function(e,t){return r=>e.reduce(((e,n)=>(e[n]=m(t,r),e)),{})}(c(r),o),i=e[r];return(0,n.NI)(e,i,a)}function v(e,t){const r=h(e.theme);return Object.keys(e).map((n=>g(e,t,n,r))).reduce(a.A,{})}function y(e){return v(e,u)}function b(e){return v(e,d)}function x(e){return v(e,p)}y.propTypes={},y.filterProps=u,b.propTypes={},b.filterProps=d,x.propTypes={},x.filterProps=p},17162:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>s,BO:()=>i,Yn:()=>a});var n=r(67598),o=r(89751);function a(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!t||"string"!==typeof t)return null;if(e&&e.vars&&r){const r=`vars.${t}`.split(".").reduce(((e,t)=>e&&e[t]?e[t]:null),e);if(null!=r)return r}return t.split(".").reduce(((e,t)=>e&&null!=e[t]?e[t]:null),e)}function i(e,t,r){let n,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:r;return n="function"===typeof e?e(r):Array.isArray(e)?e[r]||o:a(e,r)||o,t&&(n=t(n,o,e)),n}const s=function(e){const{prop:t,cssProperty:r=e.prop,themeKey:s,transform:l}=e,c=e=>{if(null==e[t])return null;const c=e[t],u=a(e.theme,s)||{};return(0,o.NI)(e,c,(e=>{let o=i(u,l,e);return e===o&&"string"===typeof e&&(o=i(u,l,`${t}${"default"===e?"":(0,n.A)(e)}`,e)),!1===r?o:{[r]:o}}))};return c.propTypes={},c.filterProps=[t],c}},37758:(e,t,r)=>{"use strict";r.d(t,{A:()=>M});var n=r(28604),o=r(17162),a=r(13815);const i=function(){for(var e=arguments.length,t=new Array(e),r=0;r(t.filterProps.forEach((r=>{e[r]=t})),e)),{}),o=e=>Object.keys(e).reduce(((t,r)=>n[r]?(0,a.A)(t,n[r](e)):t),{});return o.propTypes={},o.filterProps=t.reduce(((e,t)=>e.concat(t.filterProps)),[]),o};var s=r(89751);function l(e){return"number"!==typeof e?e:`${e}px solid`}function c(e,t){return(0,o.Ay)({prop:e,themeKey:"borders",transform:t})}const u=c("border",l),d=c("borderTop",l),p=c("borderRight",l),f=c("borderBottom",l),h=c("borderLeft",l),m=c("borderColor"),g=c("borderTopColor"),v=c("borderRightColor"),y=c("borderBottomColor"),b=c("borderLeftColor"),x=c("outline",l),w=c("outlineColor"),S=e=>{if(void 0!==e.borderRadius&&null!==e.borderRadius){const t=(0,n.MA)(e.theme,"shape.borderRadius",4,"borderRadius"),r=e=>({borderRadius:(0,n._W)(t,e)});return(0,s.NI)(e,e.borderRadius,r)}return null};S.propTypes={},S.filterProps=["borderRadius"];i(u,d,p,f,h,m,g,v,y,b,S,x,w);const A=e=>{if(void 0!==e.gap&&null!==e.gap){const t=(0,n.MA)(e.theme,"spacing",8,"gap"),r=e=>({gap:(0,n._W)(t,e)});return(0,s.NI)(e,e.gap,r)}return null};A.propTypes={},A.filterProps=["gap"];const k=e=>{if(void 0!==e.columnGap&&null!==e.columnGap){const t=(0,n.MA)(e.theme,"spacing",8,"columnGap"),r=e=>({columnGap:(0,n._W)(t,e)});return(0,s.NI)(e,e.columnGap,r)}return null};k.propTypes={},k.filterProps=["columnGap"];const $=e=>{if(void 0!==e.rowGap&&null!==e.rowGap){const t=(0,n.MA)(e.theme,"spacing",8,"rowGap"),r=e=>({rowGap:(0,n._W)(t,e)});return(0,s.NI)(e,e.rowGap,r)}return null};$.propTypes={},$.filterProps=["rowGap"];i(A,k,$,(0,o.Ay)({prop:"gridColumn"}),(0,o.Ay)({prop:"gridRow"}),(0,o.Ay)({prop:"gridAutoFlow"}),(0,o.Ay)({prop:"gridAutoColumns"}),(0,o.Ay)({prop:"gridAutoRows"}),(0,o.Ay)({prop:"gridTemplateColumns"}),(0,o.Ay)({prop:"gridTemplateRows"}),(0,o.Ay)({prop:"gridTemplateAreas"}),(0,o.Ay)({prop:"gridArea"}));function C(e,t){return"grey"===t?t:e}i((0,o.Ay)({prop:"color",themeKey:"palette",transform:C}),(0,o.Ay)({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:C}),(0,o.Ay)({prop:"backgroundColor",themeKey:"palette",transform:C}));function E(e){return e<=1&&0!==e?100*e+"%":e}const j=(0,o.Ay)({prop:"width",transform:E}),_=e=>{if(void 0!==e.maxWidth&&null!==e.maxWidth){const t=t=>{var r,n;const o=(null==(r=e.theme)||null==(r=r.breakpoints)||null==(r=r.values)?void 0:r[t])||s.zu[t];return o?"px"!==(null==(n=e.theme)||null==(n=n.breakpoints)?void 0:n.unit)?{maxWidth:`${o}${e.theme.breakpoints.unit}`}:{maxWidth:o}:{maxWidth:E(t)}};return(0,s.NI)(e,e.maxWidth,t)}return null};_.filterProps=["maxWidth"];const P=(0,o.Ay)({prop:"minWidth",transform:E}),R=(0,o.Ay)({prop:"height",transform:E}),O=(0,o.Ay)({prop:"maxHeight",transform:E}),N=(0,o.Ay)({prop:"minHeight",transform:E}),M=((0,o.Ay)({prop:"size",cssProperty:"width",transform:E}),(0,o.Ay)({prop:"size",cssProperty:"height",transform:E}),i(j,_,P,R,O,N,(0,o.Ay)({prop:"boxSizing"})),{border:{themeKey:"borders",transform:l},borderTop:{themeKey:"borders",transform:l},borderRight:{themeKey:"borders",transform:l},borderBottom:{themeKey:"borders",transform:l},borderLeft:{themeKey:"borders",transform:l},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:l},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:S},color:{themeKey:"palette",transform:C},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:C},backgroundColor:{themeKey:"palette",transform:C},p:{style:n.Ms},pt:{style:n.Ms},pr:{style:n.Ms},pb:{style:n.Ms},pl:{style:n.Ms},px:{style:n.Ms},py:{style:n.Ms},padding:{style:n.Ms},paddingTop:{style:n.Ms},paddingRight:{style:n.Ms},paddingBottom:{style:n.Ms},paddingLeft:{style:n.Ms},paddingX:{style:n.Ms},paddingY:{style:n.Ms},paddingInline:{style:n.Ms},paddingInlineStart:{style:n.Ms},paddingInlineEnd:{style:n.Ms},paddingBlock:{style:n.Ms},paddingBlockStart:{style:n.Ms},paddingBlockEnd:{style:n.Ms},m:{style:n.Lc},mt:{style:n.Lc},mr:{style:n.Lc},mb:{style:n.Lc},ml:{style:n.Lc},mx:{style:n.Lc},my:{style:n.Lc},margin:{style:n.Lc},marginTop:{style:n.Lc},marginRight:{style:n.Lc},marginBottom:{style:n.Lc},marginLeft:{style:n.Lc},marginX:{style:n.Lc},marginY:{style:n.Lc},marginInline:{style:n.Lc},marginInlineStart:{style:n.Lc},marginInlineEnd:{style:n.Lc},marginBlock:{style:n.Lc},marginBlockStart:{style:n.Lc},marginBlockEnd:{style:n.Lc},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:A},rowGap:{style:$},columnGap:{style:k},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:E},maxWidth:{style:_},minWidth:{transform:E},height:{transform:E},maxHeight:{transform:E},minHeight:{transform:E},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}})},18698:(e,t,r)=>{"use strict";r.d(t,{A:()=>c});var n=r(58168),o=r(98587),a=r(19172),i=r(37758);const s=["sx"],l=e=>{var t,r;const n={systemProps:{},otherProps:{}},o=null!=(t=null==e||null==(r=e.theme)?void 0:r.unstable_sxConfig)?t:i.A;return Object.keys(e).forEach((t=>{o[t]?n.systemProps[t]=e[t]:n.otherProps[t]=e[t]})),n};function c(e){const{sx:t}=e,r=(0,o.A)(e,s),{systemProps:i,otherProps:c}=l(r);let u;return u=Array.isArray(t)?[i,...t]:"function"===typeof t?function(){const e=t(...arguments);return(0,a.Q)(e)?(0,n.A)({},i,e):i}:(0,n.A)({},i,t),(0,n.A)({},c,{sx:u})}},73234:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n.A,extendSxProp:()=>o.A,unstable_createStyleFunctionSx:()=>n.k,unstable_defaultSxConfig:()=>a.A});var n=r(58812),o=r(18698),a=r(37758)},58812:(e,t,r)=>{"use strict";r.d(t,{A:()=>u,k:()=>l});var n=r(67598),o=r(13815),a=r(17162),i=r(89751),s=r(37758);function l(){function e(e,t,r,o){const s={[e]:t,theme:r},l=o[e];if(!l)return{[e]:t};const{cssProperty:c=e,themeKey:u,transform:d,style:p}=l;if(null==t)return null;if("typography"===u&&"inherit"===t)return{[e]:t};const f=(0,a.Yn)(r,u)||{};if(p)return p(s);return(0,i.NI)(s,t,(t=>{let r=(0,a.BO)(f,d,t);return t===r&&"string"===typeof t&&(r=(0,a.BO)(f,d,`${e}${"default"===t?"":(0,n.A)(t)}`,t)),!1===c?r:{[c]:r}}))}return function t(r){var n;const{sx:a,theme:l={}}=r||{};if(!a)return null;const c=null!=(n=l.unstable_sxConfig)?n:s.A;function u(r){let n=r;if("function"===typeof r)n=r(l);else if("object"!==typeof r)return r;if(!n)return null;const a=(0,i.EU)(l.breakpoints),s=Object.keys(a);let u=a;return Object.keys(n).forEach((r=>{const a=(s=n[r],d=l,"function"===typeof s?s(d):s);var s,d;if(null!==a&&void 0!==a)if("object"===typeof a)if(c[r])u=(0,o.A)(u,e(r,a,l,c));else{const e=(0,i.NI)({theme:l},a,(e=>({[r]:e})));!function(){for(var e=arguments.length,t=new Array(e),r=0;re.concat(Object.keys(t))),[]),o=new Set(n);return t.every((e=>o.size===Object.keys(e).length))}(e,a)?u=(0,o.A)(u,e):u[r]=t({sx:a,theme:l})}else u=(0,o.A)(u,e(r,a,l,c))})),(0,i.vf)(s,u)}return Array.isArray(a)?a.map(u):u(a)}}const c=l();c.filterProps=["sx"];const u=c},92374:(e,t,r)=>{"use strict";t.A=void 0;var n=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=a(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(n,i,s):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(65043)),o=r(13174);function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(a=function(e){return e?r:t})(e)}t.A=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const t=n.useContext(o.ThemeContext);return t&&(r=t,0!==Object.keys(r).length)?t:e;var r}},79386:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});const n=e=>e,o=(()=>{let e=n;return{configure(t){e=t},generate:t=>e(t),reset(){e=n}}})()},67598:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(17868);function o(e){if("string"!==typeof e)throw new Error((0,n.A)(7));return e.charAt(0).toUpperCase()+e.slice(1)}},87918:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n.A});var n=r(67598)},11188:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MIN_SAFE_INTEGER,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Number.MAX_SAFE_INTEGER;return Math.max(t,Math.min(e,r))}},6531:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n.A});var n=r(11188)},98610:(e,t,r)=>{"use strict";function n(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;const n={};return Object.keys(e).forEach((o=>{n[o]=e[o].reduce(((e,n)=>{if(n){const o=t(n);""!==o&&e.push(o),r&&r[n]&&e.push(r[n])}return e}),[]).join(" ")})),n}r.d(t,{A:()=>n})},42456:(e,t,r)=>{"use strict";function n(){for(var e=arguments.length,t=new Array(e),r=0;rnull==t?e:function(){for(var r=arguments.length,n=new Array(r),o=0;o{}))}r.d(t,{A:()=>n})},83468:(e,t,r)=>{"use strict";function n(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:166;function n(){for(var n=arguments.length,o=new Array(n),a=0;a{e.apply(this,o)}),r)}return n.clear=()=>{clearTimeout(t)},n}r.d(t,{A:()=>n})},19172:(e,t,r)=>{"use strict";r.d(t,{A:()=>i,Q:()=>o});var n=r(58168);function o(e){if("object"!==typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function a(e){if(!o(e))return e;const t={};return Object.keys(e).forEach((r=>{t[r]=a(e[r])})),t}function i(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{clone:!0};const s=r.clone?(0,n.A)({},e):e;return o(e)&&o(t)&&Object.keys(t).forEach((n=>{o(t[n])&&Object.prototype.hasOwnProperty.call(e,n)&&o(e[n])?s[n]=i(e[n],t[n],r):r.clone?s[n]=o(t[n])?a(t[n]):t[n]:s[n]=t[n]})),s}},19482:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n.A,isPlainObject:()=>n.Q});var n=r(19172)},17868:(e,t,r)=>{"use strict";function n(e){let t="https://mui.com/production-error/?code="+e;for(let r=1;rn})},10457:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n.A});var n=r(17868)},72372:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>a});var n=r(79386);const o={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function a(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Mui";const a=o[t];return a?`${r}-${a}`:`${n.A.generate(e)}-${t}`}},92532:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(72372);function o(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Mui";const o={};return t.forEach((t=>{o[t]=(0,n.Ay)(e,t,r)})),o}},83382:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>l,getFunctionName:()=>a});var n=r(19565);const o=/^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;function a(e){const t=`${e}`.match(o);return t&&t[1]||""}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e.displayName||e.name||a(e)||t}function s(e,t,r){const n=i(t);return e.displayName||(""!==n?`${r}(${n})`:r)}function l(e){if(null!=e){if("string"===typeof e)return e;if("function"===typeof e)return i(e,"Component");if("object"===typeof e)switch(e.$$typeof){case n.ForwardRef:return s(e,e.render,"ForwardRef");case n.Memo:return s(e,e.type,"memo");default:return}}}},31668:(e,t,r)=>{"use strict";function n(e){return e&&e.ownerDocument||document}r.d(t,{A:()=>n})},63940:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(31668);function o(e){return(0,n.A)(e).defaultView||window}},13030:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(58168);function o(e,t){const r=(0,n.A)({},t);return Object.keys(e).forEach((a=>{if(a.toString().match(/^(components|slots)$/))r[a]=(0,n.A)({},e[a],r[a]);else if(a.toString().match(/^(componentsProps|slotProps)$/)){const i=e[a]||{},s=t[a];r[a]={},s&&Object.keys(s)?i&&Object.keys(i)?(r[a]=(0,n.A)({},s),Object.keys(i).forEach((e=>{r[a][e]=o(i[e],s[e])}))):r[a]=s:r[a]=i}else void 0===r[a]&&(r[a]=e[a])})),r}},26564:(e,t,r)=>{"use strict";function n(e,t){"function"===typeof e?e(t):e&&(e.current=t)}r.d(t,{A:()=>n})},51052:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(65043);function o(e){let{controlled:t,default:r,name:o,state:a="value"}=e;const{current:i}=n.useRef(void 0!==t),[s,l]=n.useState(r);return[i?t:s,n.useCallback((e=>{i||l(e)}),[])]}},84440:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(65043);const o="undefined"!==typeof window?n.useLayoutEffect:n.useEffect},31782:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var n=r(65043),o=r(84440);const a=function(e){const t=n.useRef(e);return(0,o.A)((()=>{t.current=e})),n.useRef((function(){return(0,t.current)(...arguments)})).current}},63462:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var n=r(65043),o=r(26564);function a(){for(var e=arguments.length,t=new Array(e),r=0;rt.every((e=>null==e))?null:e=>{t.forEach((t=>{(0,o.A)(t,e)}))}),t)}},5844:(e,t,r)=>{"use strict";var n;r.d(t,{A:()=>s});var o=r(65043);let a=0;const i=(n||(n=r.t(o,2)))["useId".toString()];function s(e){if(void 0!==i){const t=i();return null!=e?e:t}return function(e){const[t,r]=o.useState(e),n=e||t;return o.useEffect((()=>{null==t&&(a+=1,r(`mui-${a}`))}),[t]),n}(e)}},49640:(e,t,r)=>{"use strict";r.d(t,{A:()=>f});var n=r(65043),o=r(99303);let a=!0,i=!1;const s=new o.E,l={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function c(e){e.metaKey||e.altKey||e.ctrlKey||(a=!0)}function u(){a=!1}function d(){"hidden"===this.visibilityState&&i&&(a=!0)}function p(e){const{target:t}=e;try{return t.matches(":focus-visible")}catch(r){}return a||function(e){const{type:t,tagName:r}=e;return!("INPUT"!==r||!l[t]||e.readOnly)||"TEXTAREA"===r&&!e.readOnly||!!e.isContentEditable}(t)}function f(){const e=n.useCallback((e=>{var t;null!=e&&((t=e.ownerDocument).addEventListener("keydown",c,!0),t.addEventListener("mousedown",u,!0),t.addEventListener("pointerdown",u,!0),t.addEventListener("touchstart",u,!0),t.addEventListener("visibilitychange",d,!0))}),[]),t=n.useRef(!1);return{isFocusVisibleRef:t,onFocus:function(e){return!!p(e)&&(t.current=!0,!0)},onBlur:function(){return!!t.current&&(i=!0,s.start(100,(()=>{i=!1})),t.current=!1,!0)},ref:e}}},99303:(e,t,r)=>{"use strict";r.d(t,{E:()=>i,A:()=>s});var n=r(65043);const o={};const a=[];class i{constructor(){this.currentId=null,this.clear=()=>{null!==this.currentId&&(clearTimeout(this.currentId),this.currentId=null)},this.disposeEffect=()=>this.clear}static create(){return new i}start(e,t){this.clear(),this.currentId=setTimeout((()=>{this.currentId=null,t()}),e)}}function s(){const e=function(e,t){const r=n.useRef(o);return r.current===o&&(r.current=e(t)),r}(i.create).current;var t;return t=e.disposeEffect,n.useEffect(t,a),e}},58609:(e,t)=>{"use strict";var r,n=Symbol.for("react.element"),o=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),c=Symbol.for("react.context"),u=Symbol.for("react.server_context"),d=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),f=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),g=Symbol.for("react.offscreen");function v(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case a:case s:case i:case p:case f:return e;default:switch(e=e&&e.$$typeof){case u:case c:case d:case m:case h:case l:return e;default:return t}}case o:return t}}}r=Symbol.for("react.module.reference"),t.ForwardRef=d,t.Memo=h},19565:(e,t,r)=>{"use strict";e.exports=r(58609)},53853:(e,t)=>{"use strict";var r,n=Symbol.for("react.element"),o=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),c=Symbol.for("react.context"),u=Symbol.for("react.server_context"),d=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),f=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),g=Symbol.for("react.offscreen");function v(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case a:case s:case i:case p:case f:return e;default:switch(e=e&&e.$$typeof){case u:case c:case d:case m:case h:case l:return e;default:return t}}case o:return t}}}r=Symbol.for("react.module.reference"),t.ContextConsumer=c,t.ContextProvider=l,t.Element=n,t.ForwardRef=d,t.Fragment=a,t.Lazy=m,t.Memo=h,t.Portal=o,t.Profiler=s,t.StrictMode=i,t.Suspense=p,t.SuspenseList=f,t.isAsyncMode=function(){return!1},t.isConcurrentMode=function(){return!1},t.isContextConsumer=function(e){return v(e)===c},t.isContextProvider=function(e){return v(e)===l},t.isElement=function(e){return"object"===typeof e&&null!==e&&e.$$typeof===n},t.isForwardRef=function(e){return v(e)===d},t.isFragment=function(e){return v(e)===a},t.isLazy=function(e){return v(e)===m},t.isMemo=function(e){return v(e)===h},t.isPortal=function(e){return v(e)===o},t.isProfiler=function(e){return v(e)===s},t.isStrictMode=function(e){return v(e)===i},t.isSuspense=function(e){return v(e)===p},t.isSuspenseList=function(e){return v(e)===f},t.isValidElementType=function(e){return"string"===typeof e||"function"===typeof e||e===a||e===s||e===i||e===p||e===f||e===g||"object"===typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===h||e.$$typeof===l||e.$$typeof===c||e.$$typeof===d||e.$$typeof===r||void 0!==e.getModuleId)},t.typeOf=v},31697:(e,t,r)=>{"use strict";e.exports=r(53853)},13081:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;const n=r(1631),o=r(26423),a=r(88e3),i=r(37805),s=["/properties"],l="http://json-schema.org/draft-07/schema";class c extends n.default{_addVocabularies(){super._addVocabularies(),o.default.forEach((e=>this.addVocabulary(e))),this.opts.discriminator&&this.addKeyword(a.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const e=this.opts.$data?this.$dataMetaSchema(i,s):i;this.addMetaSchema(e,l,!1),this.refs["http://json-schema.org/schema"]=l}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(l)?l:void 0)}}e.exports=t=c,Object.defineProperty(t,"__esModule",{value:!0}),t.default=c;var u=r(38647);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return u.KeywordCxt}});var d=r(81170);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return d._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return d.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return d.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return d.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return d.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return d.CodeGen}});var p=r(94639);Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return p.default}});var f=r(81180);Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return f.default}})},92037:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.regexpCode=t.getEsmExportName=t.getProperty=t.safeStringify=t.stringify=t.strConcat=t.addCodeArg=t.str=t._=t.nil=t._Code=t.Name=t.IDENTIFIER=t._CodeOrName=void 0;class r{}t._CodeOrName=r,t.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class n extends r{constructor(e){if(super(),!t.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}t.Name=n;class o extends r{constructor(e){super(),this._items="string"===typeof e?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const e=this._items[0];return""===e||'""'===e}get str(){var e;return null!==(e=this._str)&&void 0!==e?e:this._str=this._items.reduce(((e,t)=>`${e}${t}`),"")}get names(){var e;return null!==(e=this._names)&&void 0!==e?e:this._names=this._items.reduce(((e,t)=>(t instanceof n&&(e[t.str]=(e[t.str]||0)+1),e)),{})}}function a(e){const t=[e[0]];let r=0;for(var n=arguments.length,a=new Array(n>1?n-1:0),i=1;i1?n-1:0),s=1;s{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.or=t.and=t.not=t.CodeGen=t.operators=t.varKinds=t.ValueScopeName=t.ValueScope=t.Scope=t.Name=t.regexpCode=t.stringify=t.getProperty=t.nil=t.strConcat=t.str=t._=void 0;const n=r(92037),o=r(66602);var a=r(92037);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return a._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return a.str}}),Object.defineProperty(t,"strConcat",{enumerable:!0,get:function(){return a.strConcat}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return a.nil}}),Object.defineProperty(t,"getProperty",{enumerable:!0,get:function(){return a.getProperty}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return a.stringify}}),Object.defineProperty(t,"regexpCode",{enumerable:!0,get:function(){return a.regexpCode}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return a.Name}});var i=r(66602);Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return i.Scope}}),Object.defineProperty(t,"ValueScope",{enumerable:!0,get:function(){return i.ValueScope}}),Object.defineProperty(t,"ValueScopeName",{enumerable:!0,get:function(){return i.ValueScopeName}}),Object.defineProperty(t,"varKinds",{enumerable:!0,get:function(){return i.varKinds}}),t.operators={GT:new n._Code(">"),GTE:new n._Code(">="),LT:new n._Code("<"),LTE:new n._Code("<="),EQ:new n._Code("==="),NEQ:new n._Code("!=="),NOT:new n._Code("!"),OR:new n._Code("||"),AND:new n._Code("&&"),ADD:new n._Code("+")};class s{optimizeNodes(){return this}optimizeNames(e,t){return this}}class l extends s{constructor(e,t,r){super(),this.varKind=e,this.name=t,this.rhs=r}render(e){let{es5:t,_n:r}=e;const n=t?o.varKinds.var:this.varKind,a=void 0===this.rhs?"":` = ${this.rhs}`;return`${n} ${this.name}${a};`+r}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&(this.rhs=R(this.rhs,e,t)),this}get names(){return this.rhs instanceof n._CodeOrName?this.rhs.names:{}}}class c extends s{constructor(e,t,r){super(),this.lhs=e,this.rhs=t,this.sideEffects=r}render(e){let{_n:t}=e;return`${this.lhs} = ${this.rhs};`+t}optimizeNames(e,t){if(!(this.lhs instanceof n.Name)||e[this.lhs.str]||this.sideEffects)return this.rhs=R(this.rhs,e,t),this}get names(){return P(this.lhs instanceof n.Name?{}:{...this.lhs.names},this.rhs)}}class u extends c{constructor(e,t,r,n){super(e,r,n),this.op=t}render(e){let{_n:t}=e;return`${this.lhs} ${this.op}= ${this.rhs};`+t}}class d extends s{constructor(e){super(),this.label=e,this.names={}}render(e){let{_n:t}=e;return`${this.label}:`+t}}class p extends s{constructor(e){super(),this.label=e,this.names={}}render(e){let{_n:t}=e;return`break${this.label?` ${this.label}`:""};`+t}}class f extends s{constructor(e){super(),this.error=e}render(e){let{_n:t}=e;return`throw ${this.error};`+t}get names(){return this.error.names}}class h extends s{constructor(e){super(),this.code=e}render(e){let{_n:t}=e;return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=R(this.code,e,t),this}get names(){return this.code instanceof n._CodeOrName?this.code.names:{}}}class m extends s{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(),this.nodes=e}render(e){return this.nodes.reduce(((t,r)=>t+r.render(e)),"")}optimizeNodes(){const{nodes:e}=this;let t=e.length;for(;t--;){const r=e[t].optimizeNodes();Array.isArray(r)?e.splice(t,1,...r):r?e[t]=r:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){const{nodes:r}=this;let n=r.length;for(;n--;){const o=r[n];o.optimizeNames(e,t)||(O(e,o.names),r.splice(n,1))}return r.length>0?this:void 0}get names(){return this.nodes.reduce(((e,t)=>_(e,t.names)),{})}}class g extends m{render(e){return"{"+e._n+super.render(e)+"}"+e._n}}class v extends m{}class y extends g{}y.kind="else";class b extends g{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+="else "+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();const e=this.condition;if(!0===e)return this.nodes;let t=this.else;if(t){const e=t.optimizeNodes();t=this.else=Array.isArray(e)?new y(e):e}return t?!1===e?t instanceof b?t:t.nodes:this.nodes.length?this:new b(N(e),t instanceof b?[t]:t.nodes):!1!==e&&this.nodes.length?this:void 0}optimizeNames(e,t){var r;if(this.else=null===(r=this.else)||void 0===r?void 0:r.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=R(this.condition,e,t),this}get names(){const e=super.names;return P(e,this.condition),this.else&&_(e,this.else.names),e}}b.kind="if";class x extends g{}x.kind="for";class w extends x{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=R(this.iteration,e,t),this}get names(){return _(super.names,this.iteration.names)}}class S extends x{constructor(e,t,r,n){super(),this.varKind=e,this.name=t,this.from=r,this.to=n}render(e){const t=e.es5?o.varKinds.var:this.varKind,{name:r,from:n,to:a}=this;return`for(${t} ${r}=${n}; ${r}<${a}; ${r}++)`+super.render(e)}get names(){const e=P(super.names,this.from);return P(e,this.to)}}class A extends x{constructor(e,t,r,n){super(),this.loop=e,this.varKind=t,this.name=r,this.iterable=n}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=R(this.iterable,e,t),this}get names(){return _(super.names,this.iterable.names)}}class k extends g{constructor(e,t,r){super(),this.name=e,this.args=t,this.async=r}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}}k.kind="func";class $ extends m{render(e){return"return "+super.render(e)}}$.kind="return";class C extends g{render(e){let t="try"+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),null===(e=this.catch)||void 0===e||e.optimizeNodes(),null===(t=this.finally)||void 0===t||t.optimizeNodes(),this}optimizeNames(e,t){var r,n;return super.optimizeNames(e,t),null===(r=this.catch)||void 0===r||r.optimizeNames(e,t),null===(n=this.finally)||void 0===n||n.optimizeNames(e,t),this}get names(){const e=super.names;return this.catch&&_(e,this.catch.names),this.finally&&_(e,this.finally.names),e}}class E extends g{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}}E.kind="catch";class j extends g{render(e){return"finally"+super.render(e)}}j.kind="finally";function _(e,t){for(const r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function P(e,t){return t instanceof n._CodeOrName?_(e,t.names):e}function R(e,t,r){return e instanceof n.Name?a(e):(o=e)instanceof n._Code&&o._items.some((e=>e instanceof n.Name&&1===t[e.str]&&void 0!==r[e.str]))?new n._Code(e._items.reduce(((e,t)=>(t instanceof n.Name&&(t=a(t)),t instanceof n._Code?e.push(...t._items):e.push(t),e)),[])):e;var o;function a(e){const n=r[e.str];return void 0===n||1!==t[e.str]?e:(delete t[e.str],n)}}function O(e,t){for(const r in t)e[r]=(e[r]||0)-(t[r]||0)}function N(e){return"boolean"==typeof e||"number"==typeof e||null===e?!e:n._`!${F(e)}`}t.CodeGen=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?"\n":""},this._extScope=e,this._scope=new o.Scope({parent:e}),this._nodes=[new v]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){const r=this._extScope.value(e,t);return(this._values[r.prefix]||(this._values[r.prefix]=new Set)).add(r),r}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,r,n){const o=this._scope.toName(t);return void 0!==r&&n&&(this._constants[o.str]=r),this._leafNode(new l(e,o,r)),o}const(e,t,r){return this._def(o.varKinds.const,e,t,r)}let(e,t,r){return this._def(o.varKinds.let,e,t,r)}var(e,t,r){return this._def(o.varKinds.var,e,t,r)}assign(e,t,r){return this._leafNode(new c(e,t,r))}add(e,r){return this._leafNode(new u(e,t.operators.ADD,r))}code(e){return"function"==typeof e?e():e!==n.nil&&this._leafNode(new h(e)),this}object(){const e=["{"];for(var t=arguments.length,r=new Array(t),o=0;o1&&e.push(","),e.push(a),(a!==i||this.opts.es5)&&(e.push(":"),(0,n.addCodeArg)(e,i));return e.push("}"),new n._Code(e)}if(e,t,r){if(this._blockNode(new b(e)),t&&r)this.code(t).else().code(r).endIf();else if(t)this.code(t).endIf();else if(r)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new b(e))}else(){return this._elseNode(new y)}endIf(){return this._endBlockNode(b,y)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new w(e),t)}forRange(e,t,r,n){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.opts.es5?o.varKinds.var:o.varKinds.let;const i=this._scope.toName(e);return this._for(new S(a,i,t,r),(()=>n(i)))}forOf(e,t,r){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:o.varKinds.const;const i=this._scope.toName(e);if(this.opts.es5){const e=t instanceof n.Name?t:this.var("_arr",t);return this.forRange("_i",0,n._`${e}.length`,(t=>{this.var(i,n._`${e}[${t}]`),r(i)}))}return this._for(new A("of",a,i,t),(()=>r(i)))}forIn(e,t,r){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.opts.es5?o.varKinds.var:o.varKinds.const;if(this.opts.ownProperties)return this.forOf(e,n._`Object.keys(${t})`,r);const i=this._scope.toName(e);return this._for(new A("in",a,i,t),(()=>r(i)))}endFor(){return this._endBlockNode(x)}label(e){return this._leafNode(new d(e))}break(e){return this._leafNode(new p(e))}return(e){const t=new $;if(this._blockNode(t),this.code(e),1!==t.nodes.length)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode($)}try(e,t,r){if(!t&&!r)throw new Error('CodeGen: "try" without "catch" and "finally"');const n=new C;if(this._blockNode(n),this.code(e),t){const e=this.name("e");this._currNode=n.catch=new E(e),t(e)}return r&&(this._currNode=n.finally=new j,this.code(r)),this._endBlockNode(E,j)}throw(e){return this._leafNode(new f(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){const t=this._blockStarts.pop();if(void 0===t)throw new Error("CodeGen: not in self-balancing block");const r=this._nodes.length-t;if(r<0||void 0!==e&&r!==e)throw new Error(`CodeGen: wrong number of nodes: ${r} vs ${e} expected`);return this._nodes.length=t,this}func(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.nil,r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0;return this._blockNode(new k(e,t,r)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(k)}optimize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){const r=this._currNode;if(r instanceof e||t&&r instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){const t=this._currNode;if(!(t instanceof b))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){const e=this._nodes;return e[e.length-1]}set _currNode(e){const t=this._nodes;t[t.length-1]=e}},t.not=N;const M=I(t.operators.AND);t.and=function(){for(var e=arguments.length,t=new Array(e),r=0;rt===n.nil?r:r===n.nil?t:n._`${F(t)} ${e} ${F(r)}`}function F(e){return e instanceof n.Name?e:n._`(${e})`}t.or=function(){for(var e=arguments.length,t=new Array(e),r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ValueScope=t.ValueScopeName=t.Scope=t.varKinds=t.UsedValueState=void 0;const n=r(92037);class o extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}}var a;!function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"}(a=t.UsedValueState||(t.UsedValueState={})),t.varKinds={const:new n.Name("const"),let:new n.Name("let"),var:new n.Name("var")};class i{constructor(){let{prefixes:e,parent:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof n.Name?e:this.name(e)}name(e){return new n.Name(this._newName(e))}_newName(e){return`${e}${(this._names[e]||this._nameGroup(e)).index++}`}_nameGroup(e){var t,r;if((null===(r=null===(t=this._parent)||void 0===t?void 0:t._prefixes)||void 0===r?void 0:r.has(e))||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}}t.Scope=i;class s extends n.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,t){let{property:r,itemIndex:o}=t;this.value=e,this.scopePath=n._`.${new n.Name(r)}[${o}]`}}t.ValueScopeName=s;const l=n._`\n`;t.ValueScope=class extends i{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?l:n.nil}}get(){return this._scope}name(e){return new s(e,this._newName(e))}value(e,t){var r;if(void 0===t.ref)throw new Error("CodeGen: ref must be passed in value");const n=this.toName(e),{prefix:o}=n,a=null!==(r=t.key)&&void 0!==r?r:t.ref;let i=this._values[o];if(i){const e=i.get(a);if(e)return e}else i=this._values[o]=new Map;i.set(a,n);const s=this._scope[o]||(this._scope[o]=[]),l=s.length;return s[l]=t.ref,n.setValue(t,{property:o,itemIndex:l}),n}getValue(e,t){const r=this._values[e];if(r)return r.get(t)}scopeRefs(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._values;return this._reduceValues(t,(t=>{if(void 0===t.scopePath)throw new Error(`CodeGen: name "${t}" has no value`);return n._`${e}${t.scopePath}`}))}scopeCode(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._values,t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0;return this._reduceValues(e,(e=>{if(void 0===e.value)throw new Error(`CodeGen: name "${e}" has no value`);return e.value.code}),t,r)}_reduceValues(e,r){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3?arguments[3]:void 0,l=n.nil;for(const c in e){const u=e[c];if(!u)continue;const d=i[c]=i[c]||new Map;u.forEach((e=>{if(d.has(e))return;d.set(e,a.Started);let i=r(e);if(i){const r=this.opts.es5?t.varKinds.var:t.varKinds.const;l=n._`${l}${r} ${e} = ${i};${this.opts._n}`}else{if(!(i=null===s||void 0===s?void 0:s(e)))throw new o(e);l=n._`${l}${i}${this.opts._n}`}d.set(e,a.Completed)}))}return l}}},65705:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendErrors=t.resetErrorsCount=t.reportExtraError=t.reportError=t.keyword$DataError=t.keywordError=void 0;const n=r(81170),o=r(11410),a=r(29188);function i(e,t){const r=e.const("err",t);e.if(n._`${a.default.vErrors} === null`,(()=>e.assign(a.default.vErrors,n._`[${r}]`)),n._`${a.default.vErrors}.push(${r})`),e.code(n._`${a.default.errors}++`)}function s(e,t){const{gen:r,validateName:o,schemaEnv:a}=e;a.$async?r.throw(n._`new ${e.ValidationError}(${t})`):(r.assign(n._`${o}.errors`,t),r.return(!1))}t.keywordError={message:e=>{let{keyword:t}=e;return n.str`must pass "${t}" keyword validation`}},t.keyword$DataError={message:e=>{let{keyword:t,schemaType:r}=e;return r?n.str`"${t}" keyword must be ${r} ($data)`:n.str`"${t}" keyword is invalid ($data)`}},t.reportError=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.keywordError,o=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0;const{it:l}=e,{gen:u,compositeRule:d,allErrors:p}=l,f=c(e,r,o);(null!==a&&void 0!==a?a:d||p)?i(u,f):s(l,n._`[${f}]`)},t.reportExtraError=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.keywordError,n=arguments.length>2?arguments[2]:void 0;const{it:o}=e,{gen:l,compositeRule:u,allErrors:d}=o;i(l,c(e,r,n)),u||d||s(o,a.default.vErrors)},t.resetErrorsCount=function(e,t){e.assign(a.default.errors,t),e.if(n._`${a.default.vErrors} !== null`,(()=>e.if(t,(()=>e.assign(n._`${a.default.vErrors}.length`,t)),(()=>e.assign(a.default.vErrors,null)))))},t.extendErrors=function(e){let{gen:t,keyword:r,schemaValue:o,data:i,errsCount:s,it:l}=e;if(void 0===s)throw new Error("ajv implementation error");const c=t.name("err");t.forRange("i",s,a.default.errors,(e=>{t.const(c,n._`${a.default.vErrors}[${e}]`),t.if(n._`${c}.instancePath === undefined`,(()=>t.assign(n._`${c}.instancePath`,(0,n.strConcat)(a.default.instancePath,l.errorPath)))),t.assign(n._`${c}.schemaPath`,n.str`${l.errSchemaPath}/${r}`),l.opts.verbose&&(t.assign(n._`${c}.schema`,o),t.assign(n._`${c}.data`,i))}))};const l={keyword:new n.Name("keyword"),schemaPath:new n.Name("schemaPath"),params:new n.Name("params"),propertyName:new n.Name("propertyName"),message:new n.Name("message"),schema:new n.Name("schema"),parentSchema:new n.Name("parentSchema")};function c(e,t,r){const{createErrors:o}=e.it;return!1===o?n._`{}`:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{gen:o,it:i}=e,s=[u(i,r),d(e,r)];return function(e,t,r){let{params:o,message:i}=t;const{keyword:s,data:c,schemaValue:u,it:d}=e,{opts:p,propertyName:f,topSchemaRef:h,schemaPath:m}=d;r.push([l.keyword,s],[l.params,"function"==typeof o?o(e):o||n._`{}`]),p.messages&&r.push([l.message,"function"==typeof i?i(e):i]);p.verbose&&r.push([l.schema,u],[l.parentSchema,n._`${h}${m}`],[a.default.data,c]);f&&r.push([l.propertyName,f])}(e,t,s),o.object(...s)}(e,t,r)}function u(e,t){let{errorPath:r}=e,{instancePath:i}=t;const s=i?n.str`${r}${(0,o.getErrorPath)(i,o.Type.Str)}`:r;return[a.default.instancePath,(0,n.strConcat)(a.default.instancePath,s)]}function d(e,t){let{keyword:r,it:{errSchemaPath:a}}=e,{schemaPath:i,parentSchema:s}=t,c=s?a:n.str`${a}/${r}`;return i&&(c=n.str`${c}${(0,o.getErrorPath)(i,o.Type.Str)}`),[l.schemaPath,c]}},48168:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSchema=t.getCompilingSchema=t.resolveRef=t.compileSchema=t.SchemaEnv=void 0;const n=r(81170),o=r(94639),a=r(29188),i=r(29936),s=r(11410),l=r(38647);class c{constructor(e){var t;let r;this.refs={},this.dynamicAnchors={},"object"==typeof e.schema&&(r=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=null!==(t=e.baseId)&&void 0!==t?t:(0,i.normalizeId)(null===r||void 0===r?void 0:r[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=null===r||void 0===r?void 0:r.$async,this.refs={}}}function u(e){const t=p.call(this,e);if(t)return t;const r=(0,i.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:s,lines:c}=this.opts.code,{ownProperties:u}=this.opts,d=new n.CodeGen(this.scope,{es5:s,lines:c,ownProperties:u});let f;e.$async&&(f=d.scopeValue("Error",{ref:o.default,code:n._`require("ajv/dist/runtime/validation_error").default`}));const h=d.scopeName("validate");e.validateName=h;const m={gen:d,allErrors:this.opts.allErrors,data:a.default.data,parentData:a.default.parentData,parentDataProperty:a.default.parentDataProperty,dataNames:[a.default.data],dataPathArr:[n.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:d.scopeValue("schema",!0===this.opts.code.source?{ref:e.schema,code:(0,n.stringify)(e.schema)}:{ref:e.schema}),validateName:h,ValidationError:f,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:n.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:n._`""`,opts:this.opts,self:this};let g;try{this._compilations.add(e),(0,l.validateFunctionCode)(m),d.optimize(this.opts.code.optimize);const t=d.toString();g=`${d.scopeRefs(a.default.scope)}return ${t}`,this.opts.code.process&&(g=this.opts.code.process(g,e));const r=new Function(`${a.default.self}`,`${a.default.scope}`,g)(this,this.scope.get());if(this.scope.value(h,{ref:r}),r.errors=null,r.schema=e.schema,r.schemaEnv=e,e.$async&&(r.$async=!0),!0===this.opts.code.source&&(r.source={validateName:h,validateCode:t,scopeValues:d._values}),this.opts.unevaluated){const{props:e,items:t}=m;r.evaluated={props:e instanceof n.Name?void 0:e,items:t instanceof n.Name?void 0:t,dynamicProps:e instanceof n.Name,dynamicItems:t instanceof n.Name},r.source&&(r.source.evaluated=(0,n.stringify)(r.evaluated))}return e.validate=r,e}catch(v){throw delete e.validate,delete e.validateName,g&&this.logger.error("Error compiling schema, function code:",g),v}finally{this._compilations.delete(e)}}function d(e){return(0,i.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:u.call(this,e)}function p(e){for(const n of this._compilations)if(r=e,(t=n).schema===r.schema&&t.root===r.root&&t.baseId===r.baseId)return n;var t,r}function f(e,t){let r;for(;"string"==typeof(r=this.refs[t]);)t=r;return r||this.schemas[t]||h.call(this,e,t)}function h(e,t){const r=this.opts.uriResolver.parse(t),n=(0,i._getFullPath)(this.opts.uriResolver,r);let o=(0,i.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===o)return g.call(this,r,e);const a=(0,i.normalizeId)(n),s=this.refs[a]||this.schemas[a];if("string"==typeof s){const t=h.call(this,e,s);if("object"!==typeof(null===t||void 0===t?void 0:t.schema))return;return g.call(this,r,t)}if("object"===typeof(null===s||void 0===s?void 0:s.schema)){if(s.validate||u.call(this,s),a===(0,i.normalizeId)(t)){const{schema:t}=s,{schemaId:r}=this.opts,n=t[r];return n&&(o=(0,i.resolveUrl)(this.opts.uriResolver,o,n)),new c({schema:t,schemaId:r,root:e,baseId:o})}return g.call(this,r,s)}}t.SchemaEnv=c,t.compileSchema=u,t.resolveRef=function(e,t,r){var n;r=(0,i.resolveUrl)(this.opts.uriResolver,t,r);const o=e.refs[r];if(o)return o;let a=f.call(this,e,r);if(void 0===a){const o=null===(n=e.localRefs)||void 0===n?void 0:n[r],{schemaId:i}=this.opts;o&&(a=new c({schema:o,schemaId:i,root:e,baseId:t}))}return void 0!==a?e.refs[r]=d.call(this,a):void 0},t.getCompilingSchema=p,t.resolveSchema=h;const m=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function g(e,t){let{baseId:r,schema:n,root:o}=t;var a;if("/"!==(null===(a=e.fragment)||void 0===a?void 0:a[0]))return;for(const c of e.fragment.slice(1).split("/")){if("boolean"===typeof n)return;const e=n[(0,s.unescapeFragment)(c)];if(void 0===e)return;n=e;const t="object"===typeof n&&n[this.opts.schemaId];!m.has(c)&&t&&(r=(0,i.resolveUrl)(this.opts.uriResolver,r,t))}let l;if("boolean"!=typeof n&&n.$ref&&!(0,s.schemaHasRulesButRef)(n,this.RULES)){const e=(0,i.resolveUrl)(this.opts.uriResolver,r,n.$ref);l=h.call(this,o,e)}const{schemaId:u}=this.opts;return l=l||new c({schema:n,schemaId:u,root:o,baseId:r}),l.schema!==l.root.schema?l:void 0}},29188:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(81170),o={data:new n.Name("data"),valCxt:new n.Name("valCxt"),instancePath:new n.Name("instancePath"),parentData:new n.Name("parentData"),parentDataProperty:new n.Name("parentDataProperty"),rootData:new n.Name("rootData"),dynamicAnchors:new n.Name("dynamicAnchors"),vErrors:new n.Name("vErrors"),errors:new n.Name("errors"),this:new n.Name("this"),self:new n.Name("self"),scope:new n.Name("scope"),json:new n.Name("json"),jsonPos:new n.Name("jsonPos"),jsonLen:new n.Name("jsonLen"),jsonPart:new n.Name("jsonPart")};t.default=o},81180:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(29936);class o extends Error{constructor(e,t,r,o){super(o||`can't resolve reference ${r} from id ${t}`),this.missingRef=(0,n.resolveUrl)(e,t,r),this.missingSchema=(0,n.normalizeId)((0,n.getFullPath)(e,this.missingRef))}}t.default=o},29936:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemaRefs=t.resolveUrl=t.normalizeId=t._getFullPath=t.getFullPath=t.inlineRef=void 0;const n=r(11410),o=r(122),a=r(51125),i=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);t.inlineRef=function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return"boolean"==typeof e||(!0===t?!l(e):!!t&&c(e)<=t)};const s=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function l(e){for(const t in e){if(s.has(t))return!0;const r=e[t];if(Array.isArray(r)&&r.some(l))return!0;if("object"==typeof r&&l(r))return!0}return!1}function c(e){let t=0;for(const r in e){if("$ref"===r)return 1/0;if(t++,!i.has(r)&&("object"==typeof e[r]&&(0,n.eachItem)(e[r],(e=>t+=c(e))),t===1/0))return 1/0}return t}function u(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";!1!==(arguments.length>2?arguments[2]:void 0)&&(t=f(t));const r=e.parse(t);return d(e,r)}function d(e,t){return e.serialize(t).split("#")[0]+"#"}t.getFullPath=u,t._getFullPath=d;const p=/#\/?$/;function f(e){return e?e.replace(p,""):""}t.normalizeId=f,t.resolveUrl=function(e,t,r){return r=f(r),e.resolve(t,r)};const h=/^[a-z_][-a-z0-9._]*$/i;t.getSchemaRefs=function(e,t){if("boolean"==typeof e)return{};const{schemaId:r,uriResolver:n}=this.opts,i=f(e[r]||t),s={"":i},l=u(n,i,!1),c={},d=new Set;return a(e,{allKeys:!0},((e,t,n,o)=>{if(void 0===o)return;const a=l+t;let i=s[o];function u(t){const r=this.opts.uriResolver.resolve;if(t=f(i?r(i,t):t),d.has(t))throw m(t);d.add(t);let n=this.refs[t];return"string"==typeof n&&(n=this.refs[n]),"object"==typeof n?p(e,n.schema,t):t!==f(a)&&("#"===t[0]?(p(e,c[t],t),c[t]=e):this.refs[t]=a),t}function g(e){if("string"==typeof e){if(!h.test(e))throw new Error(`invalid anchor "${e}"`);u.call(this,`#${e}`)}}"string"==typeof e[r]&&(i=u.call(this,e[r])),g.call(this,e.$anchor),g.call(this,e.$dynamicAnchor),s[t]=i})),c;function p(e,t,r){if(void 0!==t&&!o(e,t))throw m(r)}function m(e){return new Error(`reference "${e}" resolves to more than one schema`)}}},89447:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getRules=t.isJSONType=void 0;const r=new Set(["string","number","integer","boolean","null","object","array"]);t.isJSONType=function(e){return"string"==typeof e&&r.has(e)},t.getRules=function(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}},11410:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkStrictMode=t.getErrorPath=t.Type=t.useFunc=t.setEvaluated=t.evaluatedPropsToName=t.mergeEvaluated=t.eachItem=t.unescapeJsonPointer=t.escapeJsonPointer=t.escapeFragment=t.unescapeFragment=t.schemaRefOrVal=t.schemaHasRulesButRef=t.schemaHasRules=t.checkUnknownRules=t.alwaysValidSchema=t.toHash=void 0;const n=r(81170),o=r(92037);function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.schema;const{opts:r,self:n}=e;if(!r.strictSchema)return;if("boolean"===typeof t)return;const o=n.RULES.keywords;for(const a in t)o[a]||h(e,`unknown keyword: "${a}"`)}function i(e,t){if("boolean"==typeof e)return!e;for(const r in e)if(t[r])return!0;return!1}function s(e){return"number"==typeof e?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}function l(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function c(e){let{mergeNames:t,mergeToName:r,mergeValues:o,resultToName:a}=e;return(e,i,s,l)=>{const c=void 0===s?i:s instanceof n.Name?(i instanceof n.Name?t(e,i,s):r(e,i,s),s):i instanceof n.Name?(r(e,s,i),i):o(i,s);return l!==n.Name||c instanceof n.Name?c:a(e,c)}}function u(e,t){if(!0===t)return e.var("props",!0);const r=e.var("props",n._`{}`);return void 0!==t&&d(e,r,t),r}function d(e,t,r){Object.keys(r).forEach((r=>e.assign(n._`${t}${(0,n.getProperty)(r)}`,!0)))}t.toHash=function(e){const t={};for(const r of e)t[r]=!0;return t},t.alwaysValidSchema=function(e,t){return"boolean"==typeof t?t:0===Object.keys(t).length||(a(e,t),!i(t,e.self.RULES.all))},t.checkUnknownRules=a,t.schemaHasRules=i,t.schemaHasRulesButRef=function(e,t){if("boolean"==typeof e)return!e;for(const r in e)if("$ref"!==r&&t.all[r])return!0;return!1},t.schemaRefOrVal=function(e,t,r,o){let{topSchemaRef:a,schemaPath:i}=e;if(!o){if("number"==typeof t||"boolean"==typeof t)return t;if("string"==typeof t)return n._`${t}`}return n._`${a}${i}${(0,n.getProperty)(r)}`},t.unescapeFragment=function(e){return l(decodeURIComponent(e))},t.escapeFragment=function(e){return encodeURIComponent(s(e))},t.escapeJsonPointer=s,t.unescapeJsonPointer=l,t.eachItem=function(e,t){if(Array.isArray(e))for(const r of e)t(r);else t(e)},t.mergeEvaluated={props:c({mergeNames:(e,t,r)=>e.if(n._`${r} !== true && ${t} !== undefined`,(()=>{e.if(n._`${t} === true`,(()=>e.assign(r,!0)),(()=>e.assign(r,n._`${r} || {}`).code(n._`Object.assign(${r}, ${t})`)))})),mergeToName:(e,t,r)=>e.if(n._`${r} !== true`,(()=>{!0===t?e.assign(r,!0):(e.assign(r,n._`${r} || {}`),d(e,r,t))})),mergeValues:(e,t)=>!0===e||{...e,...t},resultToName:u}),items:c({mergeNames:(e,t,r)=>e.if(n._`${r} !== true && ${t} !== undefined`,(()=>e.assign(r,n._`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`))),mergeToName:(e,t,r)=>e.if(n._`${r} !== true`,(()=>e.assign(r,!0===t||n._`${r} > ${t} ? ${r} : ${t}`))),mergeValues:(e,t)=>!0===e||Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})},t.evaluatedPropsToName=u,t.setEvaluated=d;const p={};var f;function h(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.opts.strictSchema;if(r){if(t=`strict mode: ${t}`,!0===r)throw new Error(t);e.self.logger.warn(t)}}t.useFunc=function(e,t){return e.scopeValue("func",{ref:t,code:p[t.code]||(p[t.code]=new o._Code(t.code))})},function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"}(f=t.Type||(t.Type={})),t.getErrorPath=function(e,t,r){if(e instanceof n.Name){const o=t===f.Num;return r?o?n._`"[" + ${e} + "]"`:n._`"['" + ${e} + "']"`:o?n._`"/" + ${e}`:n._`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,n.getProperty)(e).toString():"/"+s(e)},t.checkStrictMode=h},15566:(e,t)=>{"use strict";function r(e,t){return t.rules.some((t=>n(e,t)))}function n(e,t){var r;return void 0!==e[t.keyword]||(null===(r=t.definition.implements)||void 0===r?void 0:r.some((t=>void 0!==e[t])))}Object.defineProperty(t,"__esModule",{value:!0}),t.shouldUseRule=t.shouldUseGroup=t.schemaHasRulesForType=void 0,t.schemaHasRulesForType=function(e,t){let{schema:n,self:o}=e;const a=o.RULES.types[t];return a&&!0!==a&&r(n,a)},t.shouldUseGroup=r,t.shouldUseRule=n},36404:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.boolOrEmptySchema=t.topBoolOrEmptySchema=void 0;const n=r(65705),o=r(81170),a=r(29188),i={message:"boolean schema is false"};function s(e,t){const{gen:r,data:o}=e,a={gen:r,keyword:"false schema",data:o,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,n.reportError)(a,i,void 0,t)}t.topBoolOrEmptySchema=function(e){const{gen:t,schema:r,validateName:n}=e;!1===r?s(e,!1):"object"==typeof r&&!0===r.$async?t.return(a.default.data):(t.assign(o._`${n}.errors`,null),t.return(!0))},t.boolOrEmptySchema=function(e,t){const{gen:r,schema:n}=e;!1===n?(r.var(t,!1),s(e)):r.var(t,!0)}},99507:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.reportTypeError=t.checkDataTypes=t.checkDataType=t.coerceAndCheckDataType=t.getJSONTypes=t.getSchemaTypes=t.DataType=void 0;const n=r(89447),o=r(15566),a=r(65705),i=r(81170),s=r(11410);var l;function c(e){const t=Array.isArray(e)?e:e?[e]:[];if(t.every(n.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}!function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"}(l=t.DataType||(t.DataType={})),t.getSchemaTypes=function(e){const t=c(e.type);if(t.includes("null")){if(!1===e.nullable)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&void 0!==e.nullable)throw new Error('"nullable" cannot be used without "type"');!0===e.nullable&&t.push("null")}return t},t.getJSONTypes=c,t.coerceAndCheckDataType=function(e,t){const{gen:r,data:n,opts:a}=e,s=function(e,t){return t?e.filter((e=>u.has(e)||"array"===t&&"array"===e)):[]}(t,a.coerceTypes),c=t.length>0&&!(0===s.length&&1===t.length&&(0,o.schemaHasRulesForType)(e,t[0]));if(c){const o=p(t,n,a.strictNumbers,l.Wrong);r.if(o,(()=>{s.length?function(e,t,r){const{gen:n,data:o,opts:a}=e,s=n.let("dataType",i._`typeof ${o}`),l=n.let("coerced",i._`undefined`);"array"===a.coerceTypes&&n.if(i._`${s} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,(()=>n.assign(o,i._`${o}[0]`).assign(s,i._`typeof ${o}`).if(p(t,o,a.strictNumbers),(()=>n.assign(l,o)))));n.if(i._`${l} !== undefined`);for(const i of r)(u.has(i)||"array"===i&&"array"===a.coerceTypes)&&c(i);function c(e){switch(e){case"string":return void n.elseIf(i._`${s} == "number" || ${s} == "boolean"`).assign(l,i._`"" + ${o}`).elseIf(i._`${o} === null`).assign(l,i._`""`);case"number":return void n.elseIf(i._`${s} == "boolean" || ${o} === null || (${s} == "string" && ${o} && ${o} == +${o})`).assign(l,i._`+${o}`);case"integer":return void n.elseIf(i._`${s} === "boolean" || ${o} === null || (${s} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(l,i._`+${o}`);case"boolean":return void n.elseIf(i._`${o} === "false" || ${o} === 0 || ${o} === null`).assign(l,!1).elseIf(i._`${o} === "true" || ${o} === 1`).assign(l,!0);case"null":return n.elseIf(i._`${o} === "" || ${o} === 0 || ${o} === false`),void n.assign(l,null);case"array":n.elseIf(i._`${s} === "string" || ${s} === "number" @@ -111,5 +111,5 @@ animation: ${0} 1.4s linear infinite; `),wi)})),ki=(0,at.Ay)("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:(e,t)=>t.svg})({display:"block"}),$i=(0,at.Ay)("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.circle,t[`circle${(0,pt.A)(r.variant)}`],r.disableShrink&&t.circleDisableShrink]}})((e=>{let{ownerState:t,theme:r}=e;return(0,Ne.A)({stroke:"currentColor"},"determinate"===t.variant&&{transition:r.transitions.create("stroke-dashoffset")},"indeterminate"===t.variant&&{strokeDasharray:"80px, 200px",strokeDashoffset:0})}),(e=>{let{ownerState:t}=e;return"indeterminate"===t.variant&&!t.disableShrink&&(0,Gn.AH)(yi||(yi=bi` animation: ${0} 1.4s ease-in-out infinite; - `),Si)})),Ci=t.forwardRef((function(e,t){const r=(0,dt.b)({props:e,name:"MuiCircularProgress"}),{className:n,color:o="primary",disableShrink:a=!1,size:i=40,style:s,thickness:l=3.6,value:c=0,variant:u="indeterminate"}=r,d=(0,Me.A)(r,hi),p=(0,Ne.A)({},r,{color:o,disableShrink:a,size:i,thickness:l,value:c,variant:u}),f=(e=>{const{classes:t,variant:r,color:n,disableShrink:o}=e,a={root:["root",r,`color${(0,pt.A)(n)}`],svg:["svg"],circle:["circle",`circle${(0,pt.A)(r)}`,o&&"circleDisableShrink"]};return(0,tt.A)(a,fi,t)})(p),h={},m={},g={};if("determinate"===u){const e=2*Math.PI*((xi-l)/2);h.strokeDasharray=e.toFixed(3),g["aria-valuenow"]=Math.round(c),h.strokeDashoffset=`${((100-c)/100*e).toFixed(3)}px`,m.transform="rotate(-90deg)"}return(0,De.jsx)(Ai,(0,Ne.A)({className:(0,Ze.A)(f.root,n),style:(0,Ne.A)({width:i,height:i},m,s),ownerState:p,ref:t,role:"progressbar"},g,d,{children:(0,De.jsx)(ki,{className:f.svg,ownerState:p,viewBox:"22 22 44 44",children:(0,De.jsx)($i,{className:f.circle,style:h,ownerState:p,cx:xi,cy:xi,r:(xi-l)/2,fill:"none",strokeWidth:l})})}))})),Ei=Ci;const ji=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{autoHideDuration:r=null,disableWindowBlurListener:n=!1,onClose:o,open:a,resumeHideDuration:i}=e,s=(0,et.A)();t.useEffect((()=>{if(a)return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)};function e(e){e.defaultPrevented||"Escape"!==e.key&&"Esc"!==e.key||null==o||o(e,"escapeKeyDown")}}),[a,o]);const l=(0,Xo.A)(((e,t)=>{null==o||o(e,t)})),c=(0,Xo.A)((e=>{o&&null!=e&&s.start(e,(()=>{l(null,"timeout")}))}));t.useEffect((()=>(a&&c(r),s.clear)),[a,r,c,s]);const u=s.clear,d=t.useCallback((()=>{null!=r&&c(null!=i?i:.5*r)}),[r,i,c]),p=e=>t=>{const r=e.onFocus;null==r||r(t),u()},f=e=>t=>{const r=e.onMouseEnter;null==r||r(t),u()},h=e=>t=>{const r=e.onMouseLeave;null==r||r(t),d()};return t.useEffect((()=>{if(!n&&a)return window.addEventListener("focus",d),window.addEventListener("blur",u),()=>{window.removeEventListener("focus",d),window.removeEventListener("blur",u)}}),[n,a,d,u]),{getRootProps:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=(0,Ne.A)({},tn(e),tn(t));return(0,Ne.A)({role:"presentation"},t,r,{onBlur:(n=r,e=>{const t=n.onBlur;null==t||t(e),d()}),onFocus:p(r),onMouseEnter:f(r),onMouseLeave:h(r)});var n},onClickAway:e=>{null==o||o(e,"clickaway")}}};function _i(e){return e.substring(2).toLowerCase()}function Pi(e){const{children:r,disableReactTree:n=!1,mouseEvent:o="onClick",onClickAway:a,touchEvent:i="onTouchEnd"}=e,s=t.useRef(!1),l=t.useRef(null),c=t.useRef(!1),u=t.useRef(!1);t.useEffect((()=>(setTimeout((()=>{c.current=!0}),0),()=>{c.current=!1})),[]);const d=(0,Tt.A)(r.ref,l),p=(0,Xo.A)((e=>{const t=u.current;u.current=!1;const r=(0,Ft.A)(l.current);if(!c.current||!l.current||"clientX"in e&&function(e,t){return t.documentElement.clientWidth-1:!r.documentElement.contains(e.target)||l.current.contains(e.target),o||!n&&t||a(e)})),f=e=>t=>{u.current=!0;const n=r.props[e];n&&n(t)},h={ref:d};return!1!==i&&(h[i]=f(i)),t.useEffect((()=>{if(!1!==i){const e=_i(i),t=(0,Ft.A)(l.current),r=()=>{s.current=!0};return t.addEventListener(e,p),t.addEventListener("touchmove",r),()=>{t.removeEventListener(e,p),t.removeEventListener("touchmove",r)}}}),[p,i]),!1!==o&&(h[o]=f(o)),t.useEffect((()=>{if(!1!==o){const e=_i(o),t=(0,Ft.A)(l.current);return t.addEventListener(e,p),()=>{t.removeEventListener(e,p)}}}),[p,o]),(0,De.jsx)(t.Fragment,{children:t.cloneElement(r,h)})}function Ri(e){return(0,dn.Ay)("MuiSnackbarContent",e)}(0,un.A)("MuiSnackbarContent",["root","message","action"]);const Oi=["action","className","message","role"],Ni=(0,at.Ay)(ma,{name:"MuiSnackbarContent",slot:"Root",overridesResolver:(e,t)=>t.root})((e=>{let{theme:t}=e;const r="light"===t.palette.mode?.8:.98,n=(0,rt.tL)(t.palette.background.default,r);return(0,Ne.A)({},t.typography.body2,{color:t.vars?t.vars.palette.SnackbarContent.color:t.palette.getContrastText(n),backgroundColor:t.vars?t.vars.palette.SnackbarContent.bg:n,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:(t.vars||t).shape.borderRadius,flexGrow:1,[t.breakpoints.up("sm")]:{flexGrow:"initial",minWidth:288}})})),Mi=(0,at.Ay)("div",{name:"MuiSnackbarContent",slot:"Message",overridesResolver:(e,t)=>t.message})({padding:"8px 0"}),Ti=(0,at.Ay)("div",{name:"MuiSnackbarContent",slot:"Action",overridesResolver:(e,t)=>t.action})({display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}),Ii=t.forwardRef((function(e,t){const r=(0,dt.b)({props:e,name:"MuiSnackbarContent"}),{action:n,className:o,message:a,role:i="alert"}=r,s=(0,Me.A)(r,Oi),l=r,c=(e=>{const{classes:t}=e;return(0,tt.A)({root:["root"],action:["action"],message:["message"]},Ri,t)})(l);return(0,De.jsxs)(Ni,(0,Ne.A)({role:i,square:!0,elevation:6,className:(0,Ze.A)(c.root,o),ownerState:l,ref:t},s,{children:[(0,De.jsx)(Mi,{className:c.message,ownerState:l,children:a}),n?(0,De.jsx)(Ti,{className:c.action,ownerState:l,children:n}):null]}))}));function Fi(e){return(0,dn.Ay)("MuiSnackbar",e)}(0,un.A)("MuiSnackbar",["root","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft"]);const Di=["onEnter","onExited"],zi=["action","anchorOrigin","autoHideDuration","children","className","ClickAwayListenerProps","ContentProps","disableWindowBlurListener","message","onBlur","onClose","onFocus","onMouseEnter","onMouseLeave","open","resumeHideDuration","TransitionComponent","transitionDuration","TransitionProps"],Li=(0,at.Ay)("div",{name:"MuiSnackbar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,t[`anchorOrigin${(0,pt.A)(r.anchorOrigin.vertical)}${(0,pt.A)(r.anchorOrigin.horizontal)}`]]}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({zIndex:(t.vars||t).zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center"},"top"===r.anchorOrigin.vertical?{top:8}:{bottom:8},"left"===r.anchorOrigin.horizontal&&{justifyContent:"flex-start"},"right"===r.anchorOrigin.horizontal&&{justifyContent:"flex-end"},{[t.breakpoints.up("sm")]:(0,Ne.A)({},"top"===r.anchorOrigin.vertical?{top:24}:{bottom:24},"center"===r.anchorOrigin.horizontal&&{left:"50%",right:"auto",transform:"translateX(-50%)"},"left"===r.anchorOrigin.horizontal&&{left:24,right:"auto"},"right"===r.anchorOrigin.horizontal&&{right:24,left:"auto"})})})),Bi=t.forwardRef((function(e,r){const n=(0,dt.b)({props:e,name:"MuiSnackbar"}),o=ut(),a={enter:o.transitions.duration.enteringScreen,exit:o.transitions.duration.leavingScreen},{action:i,anchorOrigin:{vertical:s,horizontal:l}={vertical:"bottom",horizontal:"left"},autoHideDuration:c=null,children:u,className:d,ClickAwayListenerProps:p,ContentProps:f,disableWindowBlurListener:h=!1,message:m,open:g,TransitionComponent:v=Nt,transitionDuration:y=a,TransitionProps:{onEnter:b,onExited:x}={}}=n,w=(0,Me.A)(n.TransitionProps,Di),S=(0,Me.A)(n,zi),A=(0,Ne.A)({},n,{anchorOrigin:{vertical:s,horizontal:l},autoHideDuration:c,disableWindowBlurListener:h,TransitionComponent:v,transitionDuration:y}),k=(e=>{const{classes:t,anchorOrigin:r}=e,n={root:["root",`anchorOrigin${(0,pt.A)(r.vertical)}${(0,pt.A)(r.horizontal)}`]};return(0,tt.A)(n,Fi,t)})(A),{getRootProps:$,onClickAway:C}=ji((0,Ne.A)({},A)),[E,j]=t.useState(!0),_=sn({elementType:Li,getSlotProps:$,externalForwardedProps:S,ownerState:A,additionalProps:{ref:r},className:[k.root,d]});return!g&&E?null:(0,De.jsx)(Pi,(0,Ne.A)({onClickAway:C},p,{children:(0,De.jsx)(Li,(0,Ne.A)({},_,{children:(0,De.jsx)(v,(0,Ne.A)({appear:!0,in:g,timeout:y,direction:"top"===s?"down":"up",onEnter:(e,t)=>{j(!1),b&&b(e,t)},onExited:e=>{j(!0),x&&x(e)}},w,{children:u||(0,De.jsx)(Ii,(0,Ne.A)({message:m,action:i},f))}))}))}))})),Wi=Bi,Vi=["className","elementType","ownerState","externalForwardedProps","getSlotOwnerState","internalForwardedProps"],Ui=["component","slots","slotProps"],Hi=["component"];function qi(e,t){const{className:r,elementType:n,ownerState:o,externalForwardedProps:a,getSlotOwnerState:i,internalForwardedProps:s}=t,l=(0,Me.A)(t,Vi),{component:c,slots:u={[e]:void 0},slotProps:d={[e]:void 0}}=a,p=(0,Me.A)(a,Ui),f=u[e]||n,h=on(d[e],o),m=nn((0,Ne.A)({className:r},l,{externalForwardedProps:"root"===e?p:void 0,externalSlotProps:h})),{props:{component:g},internalRef:v}=m,y=(0,Me.A)(m.props,Hi),b=(0,Tt.A)(v,null==h?void 0:h.ref,t.ref),x=i?i(y):{},w=(0,Ne.A)({},o,x),S="root"===e?g||c:g,A=ot(f,(0,Ne.A)({},"root"===e&&!c&&!u[e]&&s,"root"!==e&&!u[e]&&s,y,S&&{as:S},{ref:b}),w);return Object.keys(x).forEach((e=>{delete A[e]})),[f,A]}function Gi(e){return(0,dn.Ay)("MuiAlert",e)}const Ki=(0,un.A)("MuiAlert",["root","action","icon","message","filled","colorSuccess","colorInfo","colorWarning","colorError","filledSuccess","filledInfo","filledWarning","filledError","outlined","outlinedSuccess","outlinedInfo","outlinedWarning","outlinedError","standard","standardSuccess","standardInfo","standardWarning","standardError"]);var Xi=r(59662);const Qi=(0,Xi.A)((0,De.jsx)("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),Yi=(0,Xi.A)((0,De.jsx)("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),Ji=(0,Xi.A)((0,De.jsx)("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),Zi=(0,Xi.A)((0,De.jsx)("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined"),es=(0,Xi.A)((0,De.jsx)("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),ts=["action","children","className","closeText","color","components","componentsProps","icon","iconMapping","onClose","role","severity","slotProps","slots","variant"],rs=(0,at.Ay)(ma,{name:"MuiAlert",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,t[r.variant],t[`${r.variant}${(0,pt.A)(r.color||r.severity)}`]]}})((e=>{let{theme:t}=e;const r="light"===t.palette.mode?rt.e$:rt.a,n="light"===t.palette.mode?rt.a:rt.e$;return(0,Ne.A)({},t.typography.body2,{backgroundColor:"transparent",display:"flex",padding:"6px 16px",variants:[...Object.entries(t.palette).filter((e=>{let[,t]=e;return t.main&&t.light})).map((e=>{let[o]=e;return{props:{colorSeverity:o,variant:"standard"},style:{color:t.vars?t.vars.palette.Alert[`${o}Color`]:r(t.palette[o].light,.6),backgroundColor:t.vars?t.vars.palette.Alert[`${o}StandardBg`]:n(t.palette[o].light,.9),[`& .${Ki.icon}`]:t.vars?{color:t.vars.palette.Alert[`${o}IconColor`]}:{color:t.palette[o].main}}}})),...Object.entries(t.palette).filter((e=>{let[,t]=e;return t.main&&t.light})).map((e=>{let[n]=e;return{props:{colorSeverity:n,variant:"outlined"},style:{color:t.vars?t.vars.palette.Alert[`${n}Color`]:r(t.palette[n].light,.6),border:`1px solid ${(t.vars||t).palette[n].light}`,[`& .${Ki.icon}`]:t.vars?{color:t.vars.palette.Alert[`${n}IconColor`]}:{color:t.palette[n].main}}}})),...Object.entries(t.palette).filter((e=>{let[,t]=e;return t.main&&t.dark})).map((e=>{let[r]=e;return{props:{colorSeverity:r,variant:"filled"},style:(0,Ne.A)({fontWeight:t.typography.fontWeightMedium},t.vars?{color:t.vars.palette.Alert[`${r}FilledColor`],backgroundColor:t.vars.palette.Alert[`${r}FilledBg`]}:{backgroundColor:"dark"===t.palette.mode?t.palette[r].dark:t.palette[r].main,color:t.palette.getContrastText(t.palette[r].main)})}}))]})})),ns=(0,at.Ay)("div",{name:"MuiAlert",slot:"Icon",overridesResolver:(e,t)=>t.icon})({marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9}),os=(0,at.Ay)("div",{name:"MuiAlert",slot:"Message",overridesResolver:(e,t)=>t.message})({padding:"8px 0",minWidth:0,overflow:"auto"}),as=(0,at.Ay)("div",{name:"MuiAlert",slot:"Action",overridesResolver:(e,t)=>t.action})({display:"flex",alignItems:"flex-start",padding:"4px 0 0 16px",marginLeft:"auto",marginRight:-8}),is={success:(0,De.jsx)(Qi,{fontSize:"inherit"}),warning:(0,De.jsx)(Yi,{fontSize:"inherit"}),error:(0,De.jsx)(Ji,{fontSize:"inherit"}),info:(0,De.jsx)(Zi,{fontSize:"inherit"})},ss=t.forwardRef((function(e,t){const r=(0,dt.b)({props:e,name:"MuiAlert"}),{action:n,children:o,className:a,closeText:i="Close",color:s,components:l={},componentsProps:c={},icon:u,iconMapping:d=is,onClose:p,role:f="alert",severity:h="success",slotProps:m={},slots:g={},variant:v="standard"}=r,y=(0,Me.A)(r,ts),b=(0,Ne.A)({},r,{color:s,severity:h,variant:v,colorSeverity:s||h}),x=(e=>{const{variant:t,color:r,severity:n,classes:o}=e,a={root:["root",`color${(0,pt.A)(r||n)}`,`${t}${(0,pt.A)(r||n)}`,`${t}`],icon:["icon"],message:["message"],action:["action"]};return(0,tt.A)(a,Gi,o)})(b),w={slots:(0,Ne.A)({closeButton:l.CloseButton,closeIcon:l.CloseIcon},g),slotProps:(0,Ne.A)({},c,m)},[S,A]=qi("closeButton",{elementType:bo,externalForwardedProps:w,ownerState:b}),[k,$]=qi("closeIcon",{elementType:es,externalForwardedProps:w,ownerState:b});return(0,De.jsxs)(rs,(0,Ne.A)({role:f,elevation:0,ownerState:b,className:(0,Ze.A)(x.root,a),ref:t},y,{children:[!1!==u?(0,De.jsx)(ns,{ownerState:b,className:x.icon,children:u||d[h]||is[h]}):null,(0,De.jsx)(os,{ownerState:b,className:x.message,children:o}),null!=n?(0,De.jsx)(as,{ownerState:b,className:x.action,children:n}):null,null==n&&p?(0,De.jsx)(as,{ownerState:b,className:x.action,children:(0,De.jsx)(S,(0,Ne.A)({size:"small","aria-label":i,title:i,color:"inherit",onClick:p},A,{children:(0,De.jsx)(k,(0,Ne.A)({fontSize:"small"},$))}))}):null]}))}));var ls=r(27193),cs=r(56170),us=r(79790);const ds=(0,Xi.A)((0,De.jsx)("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreHoriz");var ps=r(94329),fs=r(41132),hs=r(45465),ms=r(60489),gs=r(62171);const vs=function(e,r){var n,o;const[a,i]=(0,t.useState)(null!==(n=localStorage.getItem("logFilterLevel"))&&void 0!==n?n:"info"),[s,l]=(0,t.useState)(null!==(o=localStorage.getItem("logFilterSearch"))&&void 0!==o?o:"*"),[c,u]=(0,t.useState)([]),d=(0,t.useRef)(null),p=(0,t.useRef)(1),f=(0,t.useRef)(a),h=(0,t.useRef)(s);(0,t.useEffect)((()=>{f.current=a}),[a]),(0,t.useEffect)((()=>{h.current=s}),[s]);const m=(0,t.useCallback)((e=>{d.current&&d.current.readyState===WebSocket.OPEN&&d.current.send(e)}),[]),g=(0,t.useCallback)(((e,t)=>{const r=`${e}`;u((e=>[...e,r+" - "+t]))}),[]),v=(0,t.useCallback)(((e,t)=>{i(e),l(t),g("WebSocket",`Filtering by log level "${e}" and log search "${t}"`)}),[]),y=(0,t.useCallback)((()=>{""!==e&&null!==e&&void 0!==e&&(e=window.location.href.replace(/^http/,"ws"),console.log(`WebSocketUse: window.location.host=${window.location.host} window.location.protocol=${window.location.protocol} window.location.href=${window.location.href} wssHost=${e}`),g("WebSocket",`Connecting to WebSocket: ${e}`),d.current=new WebSocket(e),d.current.onmessage=e=>{try{const t=JSON.parse(e.data);if(void 0===t.id||0!==t.id||!t.level||!t.time||!t.name||!t.message)return;if(["debug","info","notice","warn","error","fatal"].includes(t.level)){if("info"===f.current&&"debug"===t.level)return;if("notice"===f.current&&("debug"===t.level||"info"===t.level))return;if("warn"===f.current&&("debug"===t.level||"info"===t.level||"notice"===t.level))return;if("error"===f.current&&("debug"===t.level||"info"===t.level||"notice"===t.level||"warn"===t.level))return;if("fatal"===f.current&&("debug"===t.level||"info"===t.level||"notice"===t.level||"warn"===t.level||"error"===t.level))return}if("*"!==h.current&&""!==h.current&&!t.message.toLowerCase().includes(h.current.toLowerCase())&&!t.name.toLowerCase().includes(h.current.toLowerCase()))return;u((e=>{const r=`[${t.time}]`,n=`${t.level}`;var o;const a=[...e,`${n} - ${r} [${t.name}]: ${t.message}`];return a.length>1e3?a.slice(a.length-1e3):a}))}catch(t){console.error(`WebSocketUse error parsing message: ${t}`)}},d.current.onopen=()=>{g("WebSocket",`Connected to WebSocket: ${e}`),p.current=1},d.current.onclose=()=>{g("WebSocket",`Disconnected from WebSocket: ${e}`),g("WebSocket",`Reconnecting (attempt ${p.current} of 10) to WebSocket: ${e}`),1===p.current?b():p.current<10?setTimeout(b,1e3*p.current):g("WebSocket",`Reconnect attempts exceeded limit of 10 retries, refresh the page to reconnect to: ${e}`),p.current=p.current+1},d.current.onerror=t=>{g("WebSocket",`WebSocket error connecting to ${e}`)})}),[e,r]),b=(0,t.useCallback)((()=>{y()}),[y]);return(0,t.useEffect)((()=>(y(),()=>{d.current&&d.current.close()})),[y]),{messages:c,sendMessage:m,logMessage:g,setLogFilters:v}},ys=(0,t.createContext)();function bs(e){let{children:t,wssHost:r,ssl:n}=e;const{messages:o,sendMessage:a,logMessage:i,setLogFilters:s}=vs(r,n);return(0,De.jsx)(ys.Provider,{value:{messages:o,sendMessage:a,logMessage:i,setLogFilters:s},children:t})}const xs=(0,t.createContext)();function ws(e){let{children:r}=e;const[n,o]=(0,t.useState)(!1),[a,i]=(0,t.useState)({}),s=()=>{fetch("./api/settings").then((e=>e.json())).then((e=>{o(!0),i(e.matterbridgeInformation),localStorage.setItem("matterbridgeInformation",e.matterbridgeInformation)})).catch((e=>{console.error("From OnlineProvider error fetching settings:",e),o(!1)}))};return(0,t.useEffect)((()=>{s();const e=setInterval(s,1e4);return()=>clearInterval(e)}),[]),(0,De.jsx)(xs.Provider,{value:{online:n,setOnline:o},children:r})}var Ss=r(5844);function As(e){return(0,dn.Ay)("MuiDialog",e)}const ks=(0,un.A)("MuiDialog",["root","scrollPaper","scrollBody","container","paper","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","paperFullWidth","paperFullScreen"]);const $s=t.createContext({}),Cs=["aria-describedby","aria-labelledby","BackdropComponent","BackdropProps","children","className","disableEscapeKeyDown","fullScreen","fullWidth","maxWidth","onBackdropClick","onClick","onClose","open","PaperComponent","PaperProps","scroll","TransitionComponent","transitionDuration","TransitionProps"],Es=(0,at.Ay)(Ko,{name:"MuiDialog",slot:"Backdrop",overrides:(e,t)=>t.backdrop})({zIndex:-1}),js=(0,at.Ay)(ua,{name:"MuiDialog",slot:"Root",overridesResolver:(e,t)=>t.root})({"@media print":{position:"absolute !important"}}),_s=(0,at.Ay)("div",{name:"MuiDialog",slot:"Container",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.container,t[`scroll${(0,pt.A)(r.scroll)}`]]}})((e=>{let{ownerState:t}=e;return(0,Ne.A)({height:"100%","@media print":{height:"auto"},outline:0},"paper"===t.scroll&&{display:"flex",justifyContent:"center",alignItems:"center"},"body"===t.scroll&&{overflowY:"auto",overflowX:"hidden",textAlign:"center","&::after":{content:'""',display:"inline-block",verticalAlign:"middle",height:"100%",width:"0"}})})),Ps=(0,at.Ay)(ma,{name:"MuiDialog",slot:"Paper",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.paper,t[`scrollPaper${(0,pt.A)(r.scroll)}`],t[`paperWidth${(0,pt.A)(String(r.maxWidth))}`],r.fullWidth&&t.paperFullWidth,r.fullScreen&&t.paperFullScreen]}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({margin:32,position:"relative",overflowY:"auto","@media print":{overflowY:"visible",boxShadow:"none"}},"paper"===r.scroll&&{display:"flex",flexDirection:"column",maxHeight:"calc(100% - 64px)"},"body"===r.scroll&&{display:"inline-block",verticalAlign:"middle",textAlign:"left"},!r.maxWidth&&{maxWidth:"calc(100% - 64px)"},"xs"===r.maxWidth&&{maxWidth:"px"===t.breakpoints.unit?Math.max(t.breakpoints.values.xs,444):`max(${t.breakpoints.values.xs}${t.breakpoints.unit}, 444px)`,[`&.${ks.paperScrollBody}`]:{[t.breakpoints.down(Math.max(t.breakpoints.values.xs,444)+64)]:{maxWidth:"calc(100% - 64px)"}}},r.maxWidth&&"xs"!==r.maxWidth&&{maxWidth:`${t.breakpoints.values[r.maxWidth]}${t.breakpoints.unit}`,[`&.${ks.paperScrollBody}`]:{[t.breakpoints.down(t.breakpoints.values[r.maxWidth]+64)]:{maxWidth:"calc(100% - 64px)"}}},r.fullWidth&&{width:"calc(100% - 64px)"},r.fullScreen&&{margin:0,width:"100%",maxWidth:"100%",height:"100%",maxHeight:"none",borderRadius:0,[`&.${ks.paperScrollBody}`]:{margin:0,maxWidth:"100%"}})})),Rs=t.forwardRef((function(e,r){const n=(0,dt.b)({props:e,name:"MuiDialog"}),o=ut(),a={enter:o.transitions.duration.enteringScreen,exit:o.transitions.duration.leavingScreen},{"aria-describedby":i,"aria-labelledby":s,BackdropComponent:l,BackdropProps:c,children:u,className:d,disableEscapeKeyDown:p=!1,fullScreen:f=!1,fullWidth:h=!1,maxWidth:m="sm",onBackdropClick:g,onClick:v,onClose:y,open:b,PaperComponent:x=ma,PaperProps:w={},scroll:S="paper",TransitionComponent:A=Uo,transitionDuration:k=a,TransitionProps:$}=n,C=(0,Me.A)(n,Cs),E=(0,Ne.A)({},n,{disableEscapeKeyDown:p,fullScreen:f,fullWidth:h,maxWidth:m,scroll:S}),j=(e=>{const{classes:t,scroll:r,maxWidth:n,fullWidth:o,fullScreen:a}=e,i={root:["root"],container:["container",`scroll${(0,pt.A)(r)}`],paper:["paper",`paperScroll${(0,pt.A)(r)}`,`paperWidth${(0,pt.A)(String(n))}`,o&&"paperFullWidth",a&&"paperFullScreen"]};return(0,tt.A)(i,As,t)})(E),_=t.useRef(),P=(0,Ss.A)(s),R=t.useMemo((()=>({titleId:P})),[P]);return(0,De.jsx)(js,(0,Ne.A)({className:(0,Ze.A)(j.root,d),closeAfterTransition:!0,components:{Backdrop:Es},componentsProps:{backdrop:(0,Ne.A)({transitionDuration:k,as:l},c)},disableEscapeKeyDown:p,onClose:y,open:b,ref:r,onClick:e=>{v&&v(e),_.current&&(_.current=null,g&&g(e),y&&y(e,"backdropClick"))},ownerState:E},C,{children:(0,De.jsx)(A,(0,Ne.A)({appear:!0,in:b,timeout:k,role:"presentation"},$,{children:(0,De.jsx)(_s,{className:(0,Ze.A)(j.container),onMouseDown:e=>{_.current=e.target===e.currentTarget},ownerState:E,children:(0,De.jsx)(Ps,(0,Ne.A)({as:x,elevation:24,role:"dialog","aria-describedby":i,"aria-labelledby":P},w,{className:(0,Ze.A)(j.paper,w.className),ownerState:E,children:(0,De.jsx)($s.Provider,{value:R,children:u})}))})}))}))})),Os=Rs;function Ns(e){return(0,dn.Ay)("MuiDialogTitle",e)}const Ms=(0,un.A)("MuiDialogTitle",["root"]),Ts=["className","id"],Is=(0,at.Ay)(oi,{name:"MuiDialogTitle",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:"16px 24px",flex:"0 0 auto"}),Fs=t.forwardRef((function(e,r){const n=(0,dt.b)({props:e,name:"MuiDialogTitle"}),{className:o,id:a}=n,i=(0,Me.A)(n,Ts),s=n,l=(e=>{const{classes:t}=e;return(0,tt.A)({root:["root"]},Ns,t)})(s),{titleId:c=a}=t.useContext($s);return(0,De.jsx)(Is,(0,Ne.A)({component:"h2",className:(0,Ze.A)(l.root,o),ownerState:s,ref:r,variant:"h6",id:null!=a?a:c},i))})),Ds=Fs;function zs(e){return(0,dn.Ay)("MuiDialogContent",e)}(0,un.A)("MuiDialogContent",["root","dividers"]);const Ls=["className","dividers"],Bs=(0,at.Ay)("div",{name:"MuiDialogContent",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,r.dividers&&t.dividers]}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"20px 24px"},r.dividers?{padding:"16px 24px",borderTop:`1px solid ${(t.vars||t).palette.divider}`,borderBottom:`1px solid ${(t.vars||t).palette.divider}`}:{[`.${Ms.root} + &`]:{paddingTop:0}})})),Ws=t.forwardRef((function(e,t){const r=(0,dt.b)({props:e,name:"MuiDialogContent"}),{className:n,dividers:o=!1}=r,a=(0,Me.A)(r,Ls),i=(0,Ne.A)({},r,{dividers:o}),s=(e=>{const{classes:t,dividers:r}=e,n={root:["root",r&&"dividers"]};return(0,tt.A)(n,zs,t)})(i);return(0,De.jsx)(Bs,(0,Ne.A)({className:(0,Ze.A)(s.root,n),ownerState:i,ref:t},a))}));var Vs=r(13030);function Us(e){return(0,dn.Ay)("MuiButton",e)}const Hs=(0,un.A)("MuiButton",["root","text","textInherit","textPrimary","textSecondary","textSuccess","textError","textInfo","textWarning","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","outlinedSuccess","outlinedError","outlinedInfo","outlinedWarning","contained","containedInherit","containedPrimary","containedSecondary","containedSuccess","containedError","containedInfo","containedWarning","disableElevation","focusVisible","disabled","colorInherit","colorPrimary","colorSecondary","colorSuccess","colorError","colorInfo","colorWarning","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","icon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]);const qs=t.createContext({});const Gs=t.createContext(void 0),Ks=["children","color","component","className","disabled","disableElevation","disableFocusRipple","endIcon","focusVisibleClassName","fullWidth","size","startIcon","type","variant"],Xs=e=>(0,Ne.A)({},"small"===e.size&&{"& > *:nth-of-type(1)":{fontSize:18}},"medium"===e.size&&{"& > *:nth-of-type(1)":{fontSize:20}},"large"===e.size&&{"& > *:nth-of-type(1)":{fontSize:22}}),Qs=(0,at.Ay)(ho,{shouldForwardProp:e=>(0,ja.A)(e)||"classes"===e,name:"MuiButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,t[r.variant],t[`${r.variant}${(0,pt.A)(r.color)}`],t[`size${(0,pt.A)(r.size)}`],t[`${r.variant}Size${(0,pt.A)(r.size)}`],"inherit"===r.color&&t.colorInherit,r.disableElevation&&t.disableElevation,r.fullWidth&&t.fullWidth]}})((e=>{let{theme:t,ownerState:r}=e;var n,o;const a="light"===t.palette.mode?t.palette.grey[300]:t.palette.grey[800],i="light"===t.palette.mode?t.palette.grey.A100:t.palette.grey[700];return(0,Ne.A)({},t.typography.button,{minWidth:64,padding:"6px 16px",borderRadius:(t.vars||t).shape.borderRadius,transition:t.transitions.create(["background-color","box-shadow","border-color","color"],{duration:t.transitions.duration.short}),"&:hover":(0,Ne.A)({textDecoration:"none",backgroundColor:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.hoverOpacity})`:(0,rt.X4)(t.palette.text.primary,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"text"===r.variant&&"inherit"!==r.color&&{backgroundColor:t.vars?`rgba(${t.vars.palette[r.color].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:(0,rt.X4)(t.palette[r.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"outlined"===r.variant&&"inherit"!==r.color&&{border:`1px solid ${(t.vars||t).palette[r.color].main}`,backgroundColor:t.vars?`rgba(${t.vars.palette[r.color].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:(0,rt.X4)(t.palette[r.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"contained"===r.variant&&{backgroundColor:t.vars?t.vars.palette.Button.inheritContainedHoverBg:i,boxShadow:(t.vars||t).shadows[4],"@media (hover: none)":{boxShadow:(t.vars||t).shadows[2],backgroundColor:(t.vars||t).palette.grey[300]}},"contained"===r.variant&&"inherit"!==r.color&&{backgroundColor:(t.vars||t).palette[r.color].dark,"@media (hover: none)":{backgroundColor:(t.vars||t).palette[r.color].main}}),"&:active":(0,Ne.A)({},"contained"===r.variant&&{boxShadow:(t.vars||t).shadows[8]}),[`&.${Hs.focusVisible}`]:(0,Ne.A)({},"contained"===r.variant&&{boxShadow:(t.vars||t).shadows[6]}),[`&.${Hs.disabled}`]:(0,Ne.A)({color:(t.vars||t).palette.action.disabled},"outlined"===r.variant&&{border:`1px solid ${(t.vars||t).palette.action.disabledBackground}`},"contained"===r.variant&&{color:(t.vars||t).palette.action.disabled,boxShadow:(t.vars||t).shadows[0],backgroundColor:(t.vars||t).palette.action.disabledBackground})},"text"===r.variant&&{padding:"6px 8px"},"text"===r.variant&&"inherit"!==r.color&&{color:(t.vars||t).palette[r.color].main},"outlined"===r.variant&&{padding:"5px 15px",border:"1px solid currentColor"},"outlined"===r.variant&&"inherit"!==r.color&&{color:(t.vars||t).palette[r.color].main,border:t.vars?`1px solid rgba(${t.vars.palette[r.color].mainChannel} / 0.5)`:`1px solid ${(0,rt.X4)(t.palette[r.color].main,.5)}`},"contained"===r.variant&&{color:t.vars?t.vars.palette.text.primary:null==(n=(o=t.palette).getContrastText)?void 0:n.call(o,t.palette.grey[300]),backgroundColor:t.vars?t.vars.palette.Button.inheritContainedBg:a,boxShadow:(t.vars||t).shadows[2]},"contained"===r.variant&&"inherit"!==r.color&&{color:(t.vars||t).palette[r.color].contrastText,backgroundColor:(t.vars||t).palette[r.color].main},"inherit"===r.color&&{color:"inherit",borderColor:"currentColor"},"small"===r.size&&"text"===r.variant&&{padding:"4px 5px",fontSize:t.typography.pxToRem(13)},"large"===r.size&&"text"===r.variant&&{padding:"8px 11px",fontSize:t.typography.pxToRem(15)},"small"===r.size&&"outlined"===r.variant&&{padding:"3px 9px",fontSize:t.typography.pxToRem(13)},"large"===r.size&&"outlined"===r.variant&&{padding:"7px 21px",fontSize:t.typography.pxToRem(15)},"small"===r.size&&"contained"===r.variant&&{padding:"4px 10px",fontSize:t.typography.pxToRem(13)},"large"===r.size&&"contained"===r.variant&&{padding:"8px 22px",fontSize:t.typography.pxToRem(15)},r.fullWidth&&{width:"100%"})}),(e=>{let{ownerState:t}=e;return t.disableElevation&&{boxShadow:"none","&:hover":{boxShadow:"none"},[`&.${Hs.focusVisible}`]:{boxShadow:"none"},"&:active":{boxShadow:"none"},[`&.${Hs.disabled}`]:{boxShadow:"none"}}})),Ys=(0,at.Ay)("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.startIcon,t[`iconSize${(0,pt.A)(r.size)}`]]}})((e=>{let{ownerState:t}=e;return(0,Ne.A)({display:"inherit",marginRight:8,marginLeft:-4},"small"===t.size&&{marginLeft:-2},Xs(t))})),Js=(0,at.Ay)("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.endIcon,t[`iconSize${(0,pt.A)(r.size)}`]]}})((e=>{let{ownerState:t}=e;return(0,Ne.A)({display:"inherit",marginRight:-4,marginLeft:8},"small"===t.size&&{marginRight:-2},Xs(t))})),Zs=t.forwardRef((function(e,r){const n=t.useContext(qs),o=t.useContext(Gs),a=(0,Vs.A)(n,e),i=(0,dt.b)({props:a,name:"MuiButton"}),{children:s,color:l="primary",component:c="button",className:u,disabled:d=!1,disableElevation:p=!1,disableFocusRipple:f=!1,endIcon:h,focusVisibleClassName:m,fullWidth:g=!1,size:v="medium",startIcon:y,type:b,variant:x="text"}=i,w=(0,Me.A)(i,Ks),S=(0,Ne.A)({},i,{color:l,component:c,disabled:d,disableElevation:p,disableFocusRipple:f,fullWidth:g,size:v,type:b,variant:x}),A=(e=>{const{color:t,disableElevation:r,fullWidth:n,size:o,variant:a,classes:i}=e,s={root:["root",a,`${a}${(0,pt.A)(t)}`,`size${(0,pt.A)(o)}`,`${a}Size${(0,pt.A)(o)}`,`color${(0,pt.A)(t)}`,r&&"disableElevation",n&&"fullWidth"],label:["label"],startIcon:["icon","startIcon",`iconSize${(0,pt.A)(o)}`],endIcon:["icon","endIcon",`iconSize${(0,pt.A)(o)}`]},l=(0,tt.A)(s,Us,i);return(0,Ne.A)({},i,l)})(S),k=y&&(0,De.jsx)(Ys,{className:A.startIcon,ownerState:S,children:y}),$=h&&(0,De.jsx)(Js,{className:A.endIcon,ownerState:S,children:h}),C=o||"";return(0,De.jsxs)(Qs,(0,Ne.A)({ownerState:S,className:(0,Ze.A)(n.className,A.root,u,C),component:c,disabled:d,focusRipple:!f,focusVisibleClassName:(0,Ze.A)(A.focusVisible,m),ref:r,type:b},w,{classes:A,children:[k,s,$]}))}));function el(e){let{open:t,title:r,message:n,onConfirm:o,onCancel:a}=e;return(0,De.jsxs)(Os,{open:t,PaperProps:{style:{border:"2px solid #ddd",backgroundColor:"#c4c2c2",boxShadow:"5px 5px 10px #888"}},children:[(0,De.jsx)(Ds,{gap:"20px",children:(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"20px"},children:[(0,De.jsx)("img",{src:"matterbridge 32x32.png",alt:"Matterbridge Logo",style:{height:"32px",width:"32px"}}),(0,De.jsx)("h4",{style:{margin:0},children:r})]})}),(0,De.jsxs)(Ws,{children:[(0,De.jsx)("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"center",margin:"0",marginBottom:"20px",maxHeight:"350px",maxWidth:"350px"},children:(0,De.jsx)("p",{style:{flex:1,color:"black",margin:"0"},children:n})}),(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-around"},children:[(0,De.jsx)(Zs,{onClick:e=>{e.preventDefault(),o()},variant:"contained",color:"primary",size:"small",style:{color:"#ffffff"},children:"Confirm"}),(0,De.jsx)(Zs,{onClick:e=>{e.preventDefault(),a()},variant:"contained",color:"primary",size:"small",style:{color:"#ffffff"},children:"Cancel"})]})]})]})}const tl=(0,Oe.A)({components:{MuiTooltip:{defaultProps:{placement:"bottom",arrow:!0}}},palette:{primary:{main:"#4CAF50"}}});const rl=function(){const{online:e,setOnline:r}=(0,t.useContext)(xs),{messages:n,sendMessage:o,logMessage:a}=(0,t.useContext)(ys),[i,s]=(0,t.useState)(!1),[l,c]=(0,t.useState)(!1),[u,d]=(0,t.useState)(""),[p,f]=(0,t.useState)({}),[h,m]=(0,t.useState)(null),[g,v]=(0,t.useState)(null),[y,b]=(0,t.useState)(null),[x,w]=(0,t.useState)(null),S=()=>{c(!1)},A=(e,t)=>{d(e),l&&c(!1),c(!0),setTimeout((()=>{c(!1)}),1e3*t)},k=()=>{window.open("https://github.com/Luligu/matterbridge/blob/main/CHANGELOG.md","_blank")},$=()=>{a("Matterbridge","Updating matterbridge..."),Bx("update","now"),A("Updating matterbridge...",30)},C=()=>{a("Matterbridge","Restarting matterbridge..."),""===p.restartMode?Bx("restart","now"):Bx("shutdown","now"),A("Restarting matterbridge...",10)},E=()=>{a("Matterbridge","Shutting down matterbridge..."),Bx("shutdown","now"),A("Shutting down matterbridge...",10)},j=e=>{m(null),"download-mblog"===e?(a("Matterbridge","Downloading matterbridge log..."),A("Downloading matterbridge log...",5),window.location.href="./api/download-mblog"):"download-mjlog"===e?(a("Matterbridge","Downloading matter log..."),A("Downloading matter log...",5),window.location.href="./api/download-mjlog"):"download-mbstorage"===e?(a("Matterbridge","Downloading matterbridge storage..."),A("Downloading matterbridge storage...",5),window.location.href="./api/download-mbstorage"):"download-mjstorage"===e?(a("Matterbridge","Downloading matter storage..."),A("Downloading matter storage...",5),window.location.href="./api/download-mjstorage"):"download-backup"===e?(a("Matterbridge","Downloading backup..."),A("Downloading backup...",10),window.location.href="./api/download-backup"):"update"===e?$():"restart"===e?C():"shutdown"===e?E():"create-backup"===e?(a("Matterbridge","Creating backup..."),A("Creating backup...",10),Bx("backup","create")):"unregister"===e?(a("Matterbridge","Uregistering all bridged devices..."),A("Uregistering all bridged devices...",10),Bx("unregister","now")):"reset"===e?(a("Matterbridge","Resetting matterbridge commissioning..."),A("Resetting matterbridge commissioning...",10),Bx("reset","now")):"factoryreset"===e&&(a("Matterbridge","Factory reset of matterbridge..."),A("Factory reset of matterbridge...",10),Bx("factoryreset","now"))},_=()=>{v(null)},P=()=>{b(null)},R=()=>{w(null)},O=()=>{fetch("./api/settings").then((e=>e.json())).then((e=>{f(e.matterbridgeInformation),localStorage.setItem("matterbridgeInformation",e.matterbridgeInformation)})).catch((e=>{console.error("Error fetching settings:",e)}))};(0,t.useEffect)((()=>{O();const e=setInterval(O,6e4);return()=>clearInterval(e)}),[]);const[N,M]=(0,t.useState)(!1),[T,I]=(0,t.useState)(""),[F,D]=(0,t.useState)(""),[z,L]=(0,t.useState)(""),B=(e,t,r)=>{M(!0),I(e),D(t),L(r)};return(0,De.jsx)("div",{className:"header",style:{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},children:(0,De.jsxs)(Je,{theme:tl,children:[(0,De.jsxs)("div",{className:"header",style:{flex:1,display:"flex",flexDirection:"row",justifyContent:"flex-start",alignItems:"center"},children:[(0,De.jsx)("img",{src:"matterbridge 64x64.png",alt:"Matterbridge Logo",style:{height:"30px"}}),(0,De.jsx)("h2",{style:{fontSize:"22px"},children:"Matterbridge"}),(0,De.jsxs)("nav",{children:[(0,De.jsx)(_e,{to:"/",className:"nav-link",children:"Home"}),(0,De.jsx)(_e,{to:"/devices",className:"nav-link",children:"Devices"}),(0,De.jsx)(_e,{to:"/log",className:"nav-link",children:"Logs"}),(0,De.jsx)(_e,{to:"/settings",className:"nav-link",children:"Settings"})]})]}),(0,De.jsxs)("div",{className:"header",style:{flex:1,display:"flex",flexDirection:"row",justifyContent:"center",alignItems:"center"},children:[(0,De.jsx)(Ln,{title:"Matterbridge status",children:e?(0,De.jsx)("span",{className:"status-enabled",style:{cursor:"default"},children:"Online"}):(0,De.jsx)("span",{className:"status-disabled",style:{cursor:"default"},children:"Offline"})}),(0,De.jsx)(Ln,{title:"Sponsor Matterbridge and its plugins",children:(0,De.jsx)("span",{className:"status-sponsor",onClick:()=>{window.open("https://www.buymeacoffee.com/luligugithub","_blank")},children:"Sponsor"})}),void 0===p.matterbridgeLatestVersion||p.matterbridgeVersion===p.matterbridgeLatestVersion?(0,De.jsx)(Ln,{title:"Matterbridge version",children:(0,De.jsxs)("span",{className:"status-information",onClick:k,children:["v.",p.matterbridgeVersion]})}):(0,De.jsx)(Ln,{title:"New Matterbridge version available, click to install",children:(0,De.jsxs)("span",{className:"status-warning",onClick:$,children:["Update v.",p.matterbridgeVersion," to v.",p.matterbridgeLatestVersion]})}),!0===p.edge?(0,De.jsx)(Ln,{title:"Edge mode",children:(0,De.jsx)("span",{className:"status-information",style:{cursor:"default"},children:"edge"})}):null,""!==p.bridgeMode?(0,De.jsx)(Ln,{title:"Bridge mode",children:(0,De.jsx)("span",{className:"status-information",style:{cursor:"default"},children:p.bridgeMode})}):null,""!==p.restartMode?(0,De.jsx)(Ln,{title:"Restart mode",children:(0,De.jsx)("span",{className:"status-information",style:{cursor:"default"},children:p.restartMode})}):null]}),(0,De.jsxs)("div",{className:"header",style:{flex:1,display:"flex",flexDirection:"row",justifyContent:"flex-end",alignItems:"center",gap:"5px"},children:[(0,De.jsx)(Ln,{title:"Matterbridge help",children:(0,De.jsx)(bo,{onClick:e=>{window.open("https://github.com/Luligu/matterbridge/blob/main/README.md","_blank")},children:(0,De.jsx)(hs.A,{})})}),(0,De.jsx)(Ln,{title:"Matterbridge changelog",children:(0,De.jsx)(bo,{onClick:k,children:(0,De.jsx)(ms.A,{})})}),(0,De.jsx)(Ln,{title:"Update matterbridge",children:(0,De.jsx)(bo,{onClick:$,children:(0,De.jsx)(ls.A,{})})}),(0,De.jsx)(Ln,{title:"Restart matterbridge",children:(0,De.jsx)(bo,{onClick:C,children:(0,De.jsx)(cs.A,{})})}),""===p.restartMode?(0,De.jsx)(Ln,{title:"Shut down matterbridge",children:(0,De.jsx)(bo,{onClick:E,children:(0,De.jsx)(us.A,{})})}):null,(0,De.jsx)(Ln,{title:"Download, backup and more",children:(0,De.jsx)(bo,{onClick:e=>{m(e.currentTarget)},children:(0,De.jsx)(ds,{})})}),(0,De.jsxs)(Fa,{id:"command-menu",anchorEl:h,keepMounted:!0,open:Boolean(h),onClose:()=>j(""),sx:{"& .MuiPaper-root":{backgroundColor:"#e2e2e2"}},children:[(0,De.jsxs)(Ka,{onClick:()=>j("update"),children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(ls.A,{})}),(0,De.jsx)(si,{primary:"Update"})]}),(0,De.jsxs)(Ka,{onClick:()=>j("restart"),children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(cs.A,{})}),(0,De.jsx)(si,{primary:"Restart"})]}),""===p.restartMode?(0,De.jsxs)(Ka,{onClick:()=>j("shutdown"),children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(us.A,{})}),(0,De.jsx)(si,{primary:"Shutdown"})]}):null,(0,De.jsx)(pi,{}),(0,De.jsxs)(Ka,{onClick:e=>{b(e.currentTarget)},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(fs.A,{})}),(0,De.jsx)(si,{primary:"Download"})]}),(0,De.jsxs)(Fa,{id:"sub-menu-download",anchorEl:y,keepMounted:!0,open:Boolean(y),onClose:P,sx:{"& .MuiPaper-root":{backgroundColor:"#e2e2e2"}},children:[(0,De.jsxs)(Ka,{onClick:()=>{j("download-mblog"),P()},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(fs.A,{})}),(0,De.jsx)(si,{primary:"Matterbridge log"})]}),(0,De.jsxs)(Ka,{onClick:()=>{j("download-mjlog"),P()},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(fs.A,{})}),(0,De.jsx)(si,{primary:"Matter log"})]}),(0,De.jsxs)(Ka,{onClick:()=>{j("download-mbstorage"),P()},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(fs.A,{})}),(0,De.jsx)(si,{primary:"Matterbridge storage"})]}),(0,De.jsxs)(Ka,{onClick:()=>{j("download-mjstorage"),P()},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(fs.A,{})}),(0,De.jsx)(si,{primary:"Matter storage"})]})]}),(0,De.jsx)(pi,{}),(0,De.jsxs)(Ka,{onClick:e=>{v(e.currentTarget)},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(ps.A,{})}),(0,De.jsx)(si,{primary:"Backup"})]}),(0,De.jsxs)(Fa,{id:"sub-menu-backup",anchorEl:g,keepMounted:!0,open:Boolean(g),onClose:_,sx:{"& .MuiPaper-root":{backgroundColor:"#e2e2e2"}},children:[(0,De.jsxs)(Ka,{onClick:()=>{j("create-backup"),_()},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(ps.A,{})}),(0,De.jsx)(si,{primary:"Create backup"})]}),(0,De.jsxs)(Ka,{onClick:()=>{j("download-backup"),_()},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(ps.A,{})}),(0,De.jsx)(si,{primary:"Download backup"})]})]}),(0,De.jsx)(pi,{}),(0,De.jsxs)(Ka,{onClick:e=>{w(e.currentTarget)},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(gs.A,{})}),(0,De.jsx)(si,{primary:"Reset"})]}),(0,De.jsxs)(Fa,{id:"sub-menu-reset",anchorEl:x,keepMounted:!0,open:Boolean(x),onClose:R,sx:{"& .MuiPaper-root":{backgroundColor:"#e2e2e2"}},children:[(0,De.jsxs)(Ka,{onClick:()=>{R(),B("Reset all devices and shutdown","Are you sure you want to unregister all devices? This will temporarily remove all devices from the controller and you may loose the controller configuration.","unregister")},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(us.A,{})}),(0,De.jsx)(si,{primary:"Reset all devices..."})]}),(0,De.jsxs)(Ka,{onClick:()=>{R(),B("Reset commissioning and shutdown","Are you sure you want to reset the commissioning? You will have to manually remove Matterbridge from the controller.","reset")},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(us.A,{})}),(0,De.jsx)(si,{primary:"Reset commissioning..."})]}),(0,De.jsxs)(Ka,{onClick:()=>{R(),B("Factory reset and shutdown","Are you sure you want to factory reset Matterbridge? You will have to manually remove Matterbridge from the controller.","factoryreset")},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(us.A,{})}),(0,De.jsx)(si,{primary:"Factory reset..."})]})]})]}),(0,De.jsx)(Ko,{sx:{color:"#fff",zIndex:e=>e.zIndex.drawer+1},open:i,onClick:()=>{s(!1)},children:(0,De.jsx)(Ei,{color:"inherit"})}),(0,De.jsx)(Wi,{anchorOrigin:{vertical:"bottom",horizontal:"right"},open:l,onClose:S,autoHideDuration:1e4,children:(0,De.jsx)(ss,{onClose:S,severity:"info",variant:"filled",sx:{width:"100%",bgcolor:"#4CAF50"},children:u})}),(0,De.jsx)(el,{open:N,title:T,message:F,onConfirm:()=>{M(!1),j(z)},onCancel:()=>{M(!1),m(null)}})]})]})})};function nl(e){let{status:t,enabledText:r="Enabled",disabledText:n,tooltipText:o,onClick:a}=e;return void 0===t?(0,De.jsx)("div",{style:{margin:"-2.5px"},children:(0,De.jsx)("div",{})}):void 0!==o?(0,De.jsxs)("div",{className:"tooltip-container",children:[(0,De.jsx)("div",{className:t?"status-enabled":"status-disabled",style:{cursor:"default"},onClick:a,children:t?r:null!==n&&void 0!==n?n:r}),(0,De.jsx)("span",{className:"tooltip-text",children:o})]}):(0,De.jsx)("div",{className:t?"status-enabled":"status-disabled",style:{cursor:"default"},children:t?r:null!==n&&void 0!==n?n:r})}const ol=function(){const{messages:e,sendMessage:r,logMessage:n,setLogFilters:o}=(0,t.useContext)(ys),[a,i]=(0,t.useState)(!1),s=(0,t.useRef)(null);return(0,t.useEffect)((()=>{a||(()=>{let e=!1;return("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)&&(e=!0),e})()||s.current.scrollIntoView({behavior:"smooth"})}),[e,a]),(0,De.jsx)("div",{style:{margin:"0px",padding:"0px"},children:(0,De.jsxs)("ul",{style:{margin:"0px",padding:"0px"},onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:[e.map(((e,t)=>(0,De.jsx)("li",{style:{wordWrap:"break-word",maxHeight:"200px",overflow:"hidden"},dangerouslySetInnerHTML:{__html:e}},t))),(0,De.jsx)("div",{ref:s})," "]})})};var al=r(13174),il=r(58812);const sl=["className","component"];var ll=r(79386);const cl=(0,un.A)("MuiBox",["root"]),ul=(0,Oe.A)(),dl=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{themeId:r,defaultTheme:n,defaultClassName:o="MuiBox-root",generateClassName:a}=e,i=(0,al.default)("div",{shouldForwardProp:e=>"theme"!==e&&"sx"!==e&&"as"!==e})(il.A),s=t.forwardRef((function(e,t){const s=lt(n),l=(0,Ja.A)(e),{className:c,component:u="div"}=l,d=(0,Me.A)(l,sl);return(0,De.jsx)(i,(0,Ne.A)({as:u,ref:t,className:(0,Ze.A)(c,a?a(o):o),theme:r&&s[r]||s},d))}));return s}({themeId:Qe.A,defaultTheme:ul,defaultClassName:cl.root,generateClassName:ll.A.generate}),pl=dl;function fl(){return(0,De.jsx)("div",{className:"main-background",style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh",color:"#333",fontSize:"20px",flexDirection:"column"},children:(0,De.jsxs)(pl,{sx:{display:"flex",alignItems:"center",flexDirection:"column"},children:[(0,De.jsx)(Ei,{}),(0,De.jsx)("div",{style:{marginTop:"20px"},children:"Connecting to Matterbridge..."})]})})}function hl(e){let{value:t,maxChars:r}=e,n=t;if(t.length>r&&r>3){const e=r-3;n=`${t.substring(0,Math.ceil(e/2))} \u2026 ${t.substring(t.length-Math.floor(e/2),t.length)}`}return t!==n?(0,De.jsx)(Ln,{title:t,placement:"top",PopperProps:{modifiers:[{name:"offset",options:{offset:[0,12]}}]},children:(0,De.jsx)("span",{children:n})}):(0,De.jsx)("span",{children:n})}function ml(e){let{systemInfo:t,compact:r}=e;const n=["totalMemory","osRelease","osArch"];if(r&&t.totalMemory){const e=t.totalMemory,r=t.freeMemory;t.freeMemory=`${r} / ${e}`,delete t.totalMemory}if(r&&t.osRelease){const e=t.osType,r=t.osRelease;t.osType=`${e} (${r})`,delete t.osRelease}if(r&&t.osArch){const e=t.osPlatform,r=t.osArch;t.osPlatform=`${e} (${r})`,delete t.osArch}return(0,De.jsx)("div",{className:"MbfWindowDiv",style:{minWidth:"302px"},children:(0,De.jsx)("div",{className:"MbfWindowDivTable",children:(0,De.jsxs)("table",{children:[(0,De.jsx)("thead",{children:(0,De.jsx)("tr",{children:(0,De.jsx)("th",{colSpan:"2",children:"System Information"})})}),(0,De.jsx)("tbody",{children:Object.entries(t).filter((e=>{let[t,r]=e;return!n.includes(t)})).map(((e,t)=>{let[r,n]=e;return(0,De.jsxs)("tr",{className:t%2===0?"table-content-even":"table-content-odd",style:{borderTop:"1px solid #ddd"},children:[(0,De.jsx)("td",{children:r}),(0,De.jsx)("td",{children:(0,De.jsx)(hl,{value:"string"!==typeof n?n.toString():n,maxChars:26})})]},r)}))})]})})})}function gl(e){let{matterbridgeInfo:t}=e;const r=["matterbridgeVersion","matterbridgeLatestVersion","matterFileLogger","fileLogger","matterLoggerLevel","loggerLevel","bridgeMode","restartMode","matterbridgeFabricInformations","matterbridgeSessionInformations","restartRequired","refreshRequired","mattermdnsinterface","matteripv4address","matteripv6address"];return"childbridge"===t.bridgeMode&&r.push("matterbridgePaired","matterbridgeConnected"),(0,De.jsx)("div",{className:"MbfWindowDiv",style:{minWidth:"302px"},children:(0,De.jsx)("div",{className:"MbfWindowDivTable",children:(0,De.jsxs)("table",{children:[(0,De.jsx)("thead",{children:(0,De.jsx)("tr",{children:(0,De.jsx)("th",{colSpan:"2",children:"Matterbridge Information"})})}),(0,De.jsx)("tbody",{children:Object.entries(t).filter((e=>{let[t,n]=e;return!r.includes(t)&&void 0!==n&&""!==n})).map(((e,t)=>{let[r,n]=e;return(0,De.jsxs)("tr",{className:t%2===0?"table-content-even":"table-content-odd",style:{borderTop:"1px solid #ddd"},children:[(0,De.jsx)("td",{children:r.replace("matterbridgeConnected","connected").replace("matterbridgePaired","paired").replace("homeDirectory","home").replace("rootDirectory","root").replace("matterbridgeDirectory","storage").replace("matterbridgePluginDirectory","plugins").replace("globalModulesDirectory","modules")}),(0,De.jsx)("td",{children:(0,De.jsx)(hl,{value:"string"!==typeof n?n.toString():n,maxChars:30})})]},r)}))})]})})})}var vl=r(19172),yl=r(17868),bl=r(83468);const xl=["onChange","maxRows","minRows","style","value"];function wl(e){return parseInt(e,10)||0}const Sl={visibility:"hidden",position:"absolute",overflow:"hidden",height:0,top:0,left:0,transform:"translateZ(0)"};const Al=t.forwardRef((function(e,r){const{onChange:n,maxRows:o,minRows:a=1,style:i,value:s}=e,l=(0,Me.A)(e,xl),{current:c}=t.useRef(null!=s),u=t.useRef(null),d=(0,Tt.A)(r,u),p=t.useRef(null),f=t.useRef(null),h=t.useCallback((()=>{const t=u.current,r=(0,Yo.A)(t).getComputedStyle(t);if("0px"===r.width)return{outerHeightStyle:0,overflowing:!1};const n=f.current;n.style.width=r.width,n.value=t.value||e.placeholder||"x","\n"===n.value.slice(-1)&&(n.value+=" ");const i=r.boxSizing,s=wl(r.paddingBottom)+wl(r.paddingTop),l=wl(r.borderBottomWidth)+wl(r.borderTopWidth),c=n.scrollHeight;n.value="x";const d=n.scrollHeight;let p=c;a&&(p=Math.max(Number(a)*d,p)),o&&(p=Math.min(Number(o)*d,p)),p=Math.max(p,d);return{outerHeightStyle:p+("border-box"===i?s+l:0),overflowing:Math.abs(p-c)<=1}}),[o,a,e.placeholder]),m=t.useCallback((()=>{const e=h();if(void 0===(t=e)||null===t||0===Object.keys(t).length||0===t.outerHeightStyle&&!t.overflowing)return;var t;const r=e.outerHeightStyle,n=u.current;p.current!==r&&(p.current=r,n.style.height=`${r}px`),n.style.overflow=e.overflowing?"hidden":""}),[h]);(0,It.A)((()=>{const e=()=>{m()};let t;const r=(0,bl.A)(e),n=u.current,o=(0,Yo.A)(n);let a;return o.addEventListener("resize",r),"undefined"!==typeof ResizeObserver&&(a=new ResizeObserver(e),a.observe(n)),()=>{r.clear(),cancelAnimationFrame(t),o.removeEventListener("resize",r),a&&a.disconnect()}}),[h,m]),(0,It.A)((()=>{m()}));return(0,De.jsxs)(t.Fragment,{children:[(0,De.jsx)("textarea",(0,Ne.A)({value:s,onChange:e=>{c||m(),n&&n(e)},ref:d,rows:a,style:i},l)),(0,De.jsx)("textarea",{"aria-hidden":!0,className:e.className,readOnly:!0,ref:f,tabIndex:-1,style:(0,Ne.A)({},Sl,i,{paddingTop:0,paddingBottom:0})})]})})),kl=Al;function $l(e){let{props:t,states:r,muiFormControl:n}=e;return r.reduce(((e,r)=>(e[r]=t[r],n&&"undefined"===typeof t[r]&&(e[r]=n[r]),e)),{})}const Cl=t.createContext(void 0);function El(){return t.useContext(Cl)}var jl=r(70869);const _l=function(e){let{styles:t,themeId:r,defaultTheme:n={}}=e;const o=lt(n),a="function"===typeof t?t(r&&o[r]||o):t;return(0,De.jsx)(jl.A,{styles:a})};const Pl=function(e){return(0,De.jsx)(_l,(0,Ne.A)({},e,{defaultTheme:ct.A,themeId:Qe.A}))};function Rl(e){return null!=e&&!(Array.isArray(e)&&0===e.length)}function Ol(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e&&(Rl(e.value)&&""!==e.value||t&&Rl(e.defaultValue)&&""!==e.defaultValue)}function Nl(e){return(0,dn.Ay)("MuiInputBase",e)}const Ml=(0,un.A)("MuiInputBase",["root","formControl","focused","disabled","adornedStart","adornedEnd","error","sizeSmall","multiline","colorSecondary","fullWidth","hiddenLabel","readOnly","input","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel"]),Tl=["aria-describedby","autoComplete","autoFocus","className","color","components","componentsProps","defaultValue","disabled","disableInjectingGlobalStyles","endAdornment","error","fullWidth","id","inputComponent","inputProps","inputRef","margin","maxRows","minRows","multiline","name","onBlur","onChange","onClick","onFocus","onKeyDown","onKeyUp","placeholder","readOnly","renderSuffix","rows","size","slotProps","slots","startAdornment","type","value"],Il=(e,t)=>{const{ownerState:r}=e;return[t.root,r.formControl&&t.formControl,r.startAdornment&&t.adornedStart,r.endAdornment&&t.adornedEnd,r.error&&t.error,"small"===r.size&&t.sizeSmall,r.multiline&&t.multiline,r.color&&t[`color${(0,pt.A)(r.color)}`],r.fullWidth&&t.fullWidth,r.hiddenLabel&&t.hiddenLabel]},Fl=(e,t)=>{const{ownerState:r}=e;return[t.input,"small"===r.size&&t.inputSizeSmall,r.multiline&&t.inputMultiline,"search"===r.type&&t.inputTypeSearch,r.startAdornment&&t.inputAdornedStart,r.endAdornment&&t.inputAdornedEnd,r.hiddenLabel&&t.inputHiddenLabel]},Dl=(0,at.Ay)("div",{name:"MuiInputBase",slot:"Root",overridesResolver:Il})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({},t.typography.body1,{color:(t.vars||t).palette.text.primary,lineHeight:"1.4375em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center",[`&.${Ml.disabled}`]:{color:(t.vars||t).palette.text.disabled,cursor:"default"}},r.multiline&&(0,Ne.A)({padding:"4px 0 5px"},"small"===r.size&&{paddingTop:1}),r.fullWidth&&{width:"100%"})})),zl=(0,at.Ay)("input",{name:"MuiInputBase",slot:"Input",overridesResolver:Fl})((e=>{let{theme:t,ownerState:r}=e;const n="light"===t.palette.mode,o=(0,Ne.A)({color:"currentColor"},t.vars?{opacity:t.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5},{transition:t.transitions.create("opacity",{duration:t.transitions.duration.shorter})}),a={opacity:"0 !important"},i=t.vars?{opacity:t.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5};return(0,Ne.A)({font:"inherit",letterSpacing:"inherit",color:"currentColor",padding:"4px 0 5px",border:0,boxSizing:"content-box",background:"none",height:"1.4375em",margin:0,WebkitTapHighlightColor:"transparent",display:"block",minWidth:0,width:"100%",animationName:"mui-auto-fill-cancel",animationDuration:"10ms","&::-webkit-input-placeholder":o,"&::-moz-placeholder":o,"&:-ms-input-placeholder":o,"&::-ms-input-placeholder":o,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{WebkitAppearance:"none"},[`label[data-shrink=false] + .${Ml.formControl} &`]:{"&::-webkit-input-placeholder":a,"&::-moz-placeholder":a,"&:-ms-input-placeholder":a,"&::-ms-input-placeholder":a,"&:focus::-webkit-input-placeholder":i,"&:focus::-moz-placeholder":i,"&:focus:-ms-input-placeholder":i,"&:focus::-ms-input-placeholder":i},[`&.${Ml.disabled}`]:{opacity:1,WebkitTextFillColor:(t.vars||t).palette.text.disabled},"&:-webkit-autofill":{animationDuration:"5000s",animationName:"mui-auto-fill"}},"small"===r.size&&{paddingTop:1},r.multiline&&{height:"auto",resize:"none",padding:0,paddingTop:0},"search"===r.type&&{MozAppearance:"textfield"})})),Ll=(0,De.jsx)(Pl,{styles:{"@keyframes mui-auto-fill":{from:{display:"block"}},"@keyframes mui-auto-fill-cancel":{from:{display:"block"}}}}),Bl=t.forwardRef((function(e,r){var n;const o=(0,dt.b)({props:e,name:"MuiInputBase"}),{"aria-describedby":a,autoComplete:i,autoFocus:s,className:l,components:c={},componentsProps:u={},defaultValue:d,disabled:p,disableInjectingGlobalStyles:f,endAdornment:h,fullWidth:m=!1,id:g,inputComponent:v="input",inputProps:y={},inputRef:b,maxRows:x,minRows:w,multiline:S=!1,name:A,onBlur:k,onChange:$,onClick:C,onFocus:E,onKeyDown:j,onKeyUp:_,placeholder:P,readOnly:R,renderSuffix:O,rows:N,slotProps:M={},slots:T={},startAdornment:I,type:F="text",value:D}=o,z=(0,Me.A)(o,Tl),L=null!=y.value?y.value:D,{current:B}=t.useRef(null!=L),W=t.useRef(),V=t.useCallback((e=>{0}),[]),U=(0,Et.A)(W,b,y.ref,V),[H,q]=t.useState(!1),G=El();const K=$l({props:o,muiFormControl:G,states:["color","disabled","error","hiddenLabel","size","required","filled"]});K.focused=G?G.focused:H,t.useEffect((()=>{!G&&p&&H&&(q(!1),k&&k())}),[G,p,H,k]);const X=G&&G.onFilled,Q=G&&G.onEmpty,Y=t.useCallback((e=>{Ol(e)?X&&X():Q&&Q()}),[X,Q]);(0,jo.A)((()=>{B&&Y({value:L})}),[L,Y,B]);t.useEffect((()=>{Y(W.current)}),[]);let J=v,Z=y;S&&"input"===J&&(Z=N?(0,Ne.A)({type:void 0,minRows:N,maxRows:N},Z):(0,Ne.A)({type:void 0,maxRows:x,minRows:w},Z),J=kl);t.useEffect((()=>{G&&G.setAdornedStart(Boolean(I))}),[G,I]);const ee=(0,Ne.A)({},o,{color:K.color||"primary",disabled:K.disabled,endAdornment:h,error:K.error,focused:K.focused,formControl:G,fullWidth:m,hiddenLabel:K.hiddenLabel,multiline:S,size:K.size,startAdornment:I,type:F}),te=(e=>{const{classes:t,color:r,disabled:n,error:o,endAdornment:a,focused:i,formControl:s,fullWidth:l,hiddenLabel:c,multiline:u,readOnly:d,size:p,startAdornment:f,type:h}=e,m={root:["root",`color${(0,pt.A)(r)}`,n&&"disabled",o&&"error",l&&"fullWidth",i&&"focused",s&&"formControl",p&&"medium"!==p&&`size${(0,pt.A)(p)}`,u&&"multiline",f&&"adornedStart",a&&"adornedEnd",c&&"hiddenLabel",d&&"readOnly"],input:["input",n&&"disabled","search"===h&&"inputTypeSearch",u&&"inputMultiline","small"===p&&"inputSizeSmall",c&&"inputHiddenLabel",f&&"inputAdornedStart",a&&"inputAdornedEnd",d&&"readOnly"]};return(0,tt.A)(m,Nl,t)})(ee),re=T.root||c.Root||Dl,ne=M.root||u.root||{},oe=T.input||c.Input||zl;return Z=(0,Ne.A)({},Z,null!=(n=M.input)?n:u.input),(0,De.jsxs)(t.Fragment,{children:[!f&&Ll,(0,De.jsxs)(re,(0,Ne.A)({},ne,!nt(re)&&{ownerState:(0,Ne.A)({},ee,ne.ownerState)},{ref:r,onClick:e=>{W.current&&e.currentTarget===e.target&&W.current.focus(),C&&C(e)}},z,{className:(0,Ze.A)(te.root,ne.className,l,R&&"MuiInputBase-readOnly"),children:[I,(0,De.jsx)(Cl.Provider,{value:null,children:(0,De.jsx)(oe,(0,Ne.A)({ownerState:ee,"aria-invalid":K.error,"aria-describedby":a,autoComplete:i,autoFocus:s,defaultValue:d,disabled:K.disabled,id:g,onAnimationStart:e=>{Y("mui-auto-fill-cancel"===e.animationName?W.current:{value:"x"})},name:A,placeholder:P,readOnly:R,required:K.required,rows:N,value:L,onKeyDown:j,onKeyUp:_,type:F},Z,!nt(oe)&&{as:J,ownerState:(0,Ne.A)({},ee,Z.ownerState)},{ref:U,className:(0,Ze.A)(te.input,Z.className,R&&"MuiInputBase-readOnly"),onBlur:e=>{k&&k(e),y.onBlur&&y.onBlur(e),G&&G.onBlur?G.onBlur(e):q(!1)},onChange:function(e){if(!B){const t=e.target||W.current;if(null==t)throw new Error((0,yl.A)(1));Y({value:t.value})}for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{K.disabled?e.stopPropagation():(E&&E(e),y.onFocus&&y.onFocus(e),G&&G.onFocus?G.onFocus(e):q(!0))}}))}),h,O?O((0,Ne.A)({},K,{startAdornment:I})):null]}))]})})),Wl=Bl;function Vl(e){return(0,dn.Ay)("MuiInput",e)}const Ul=(0,Ne.A)({},Ml,(0,un.A)("MuiInput",["root","underline","input"])),Hl=["disableUnderline","components","componentsProps","fullWidth","inputComponent","multiline","slotProps","slots","type"],ql=(0,at.Ay)(Dl,{shouldForwardProp:e=>(0,ja.A)(e)||"classes"===e,name:"MuiInput",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[...Il(e,t),!r.disableUnderline&&t.underline]}})((e=>{let{theme:t,ownerState:r}=e;let n="light"===t.palette.mode?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return t.vars&&(n=`rgba(${t.vars.palette.common.onBackgroundChannel} / ${t.vars.opacity.inputUnderline})`),(0,Ne.A)({position:"relative"},r.formControl&&{"label + &":{marginTop:16}},!r.disableUnderline&&{"&::after":{borderBottom:`2px solid ${(t.vars||t).palette[r.color].main}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:t.transitions.create("transform",{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${Ul.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${Ul.error}`]:{"&::before, &::after":{borderBottomColor:(t.vars||t).palette.error.main}},"&::before":{borderBottom:`1px solid ${n}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:t.transitions.create("border-bottom-color",{duration:t.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${Ul.disabled}, .${Ul.error}):before`]:{borderBottom:`2px solid ${(t.vars||t).palette.text.primary}`,"@media (hover: none)":{borderBottom:`1px solid ${n}`}},[`&.${Ul.disabled}:before`]:{borderBottomStyle:"dotted"}})})),Gl=(0,at.Ay)(zl,{name:"MuiInput",slot:"Input",overridesResolver:Fl})({}),Kl=t.forwardRef((function(e,t){var r,n,o,a;const i=(0,dt.b)({props:e,name:"MuiInput"}),{disableUnderline:s,components:l={},componentsProps:c,fullWidth:u=!1,inputComponent:d="input",multiline:p=!1,slotProps:f,slots:h={},type:m="text"}=i,g=(0,Me.A)(i,Hl),v=(e=>{const{classes:t,disableUnderline:r}=e,n={root:["root",!r&&"underline"],input:["input"]},o=(0,tt.A)(n,Vl,t);return(0,Ne.A)({},t,o)})(i),y={root:{ownerState:{disableUnderline:s}}},b=(null!=f?f:c)?(0,vl.A)(null!=f?f:c,y):y,x=null!=(r=null!=(n=h.root)?n:l.Root)?r:ql,w=null!=(o=null!=(a=h.input)?a:l.Input)?o:Gl;return(0,De.jsx)(Wl,(0,Ne.A)({slots:{root:x,input:w},slotProps:b,fullWidth:u,inputComponent:d,multiline:p,ref:t,type:m},g,{classes:v}))}));Kl.muiName="Input";const Xl=Kl;function Ql(e){return(0,dn.Ay)("MuiFilledInput",e)}const Yl=(0,Ne.A)({},Ml,(0,un.A)("MuiFilledInput",["root","underline","input"])),Jl=["disableUnderline","components","componentsProps","fullWidth","hiddenLabel","inputComponent","multiline","slotProps","slots","type"],Zl=(0,at.Ay)(Dl,{shouldForwardProp:e=>(0,ja.A)(e)||"classes"===e,name:"MuiFilledInput",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[...Il(e,t),!r.disableUnderline&&t.underline]}})((e=>{let{theme:t,ownerState:r}=e;var n;const o="light"===t.palette.mode,a=o?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)",i=o?"rgba(0, 0, 0, 0.06)":"rgba(255, 255, 255, 0.09)",s=o?"rgba(0, 0, 0, 0.09)":"rgba(255, 255, 255, 0.13)",l=o?"rgba(0, 0, 0, 0.12)":"rgba(255, 255, 255, 0.12)";return(0,Ne.A)({position:"relative",backgroundColor:t.vars?t.vars.palette.FilledInput.bg:i,borderTopLeftRadius:(t.vars||t).shape.borderRadius,borderTopRightRadius:(t.vars||t).shape.borderRadius,transition:t.transitions.create("background-color",{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut}),"&:hover":{backgroundColor:t.vars?t.vars.palette.FilledInput.hoverBg:s,"@media (hover: none)":{backgroundColor:t.vars?t.vars.palette.FilledInput.bg:i}},[`&.${Yl.focused}`]:{backgroundColor:t.vars?t.vars.palette.FilledInput.bg:i},[`&.${Yl.disabled}`]:{backgroundColor:t.vars?t.vars.palette.FilledInput.disabledBg:l}},!r.disableUnderline&&{"&::after":{borderBottom:`2px solid ${null==(n=(t.vars||t).palette[r.color||"primary"])?void 0:n.main}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:t.transitions.create("transform",{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${Yl.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${Yl.error}`]:{"&::before, &::after":{borderBottomColor:(t.vars||t).palette.error.main}},"&::before":{borderBottom:`1px solid ${t.vars?`rgba(${t.vars.palette.common.onBackgroundChannel} / ${t.vars.opacity.inputUnderline})`:a}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:t.transitions.create("border-bottom-color",{duration:t.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${Yl.disabled}, .${Yl.error}):before`]:{borderBottom:`1px solid ${(t.vars||t).palette.text.primary}`},[`&.${Yl.disabled}:before`]:{borderBottomStyle:"dotted"}},r.startAdornment&&{paddingLeft:12},r.endAdornment&&{paddingRight:12},r.multiline&&(0,Ne.A)({padding:"25px 12px 8px"},"small"===r.size&&{paddingTop:21,paddingBottom:4},r.hiddenLabel&&{paddingTop:16,paddingBottom:17},r.hiddenLabel&&"small"===r.size&&{paddingTop:8,paddingBottom:9}))})),ec=(0,at.Ay)(zl,{name:"MuiFilledInput",slot:"Input",overridesResolver:Fl})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({paddingTop:25,paddingRight:12,paddingBottom:8,paddingLeft:12},!t.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:"light"===t.palette.mode?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:"light"===t.palette.mode?null:"#fff",caretColor:"light"===t.palette.mode?null:"#fff",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"}},t.vars&&{"&:-webkit-autofill":{borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"},[t.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},"small"===r.size&&{paddingTop:21,paddingBottom:4},r.hiddenLabel&&{paddingTop:16,paddingBottom:17},r.startAdornment&&{paddingLeft:0},r.endAdornment&&{paddingRight:0},r.hiddenLabel&&"small"===r.size&&{paddingTop:8,paddingBottom:9},r.multiline&&{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:0})})),tc=t.forwardRef((function(e,t){var r,n,o,a;const i=(0,dt.b)({props:e,name:"MuiFilledInput"}),{components:s={},componentsProps:l,fullWidth:c=!1,inputComponent:u="input",multiline:d=!1,slotProps:p,slots:f={},type:h="text"}=i,m=(0,Me.A)(i,Jl),g=(0,Ne.A)({},i,{fullWidth:c,inputComponent:u,multiline:d,type:h}),v=(e=>{const{classes:t,disableUnderline:r}=e,n={root:["root",!r&&"underline"],input:["input"]},o=(0,tt.A)(n,Ql,t);return(0,Ne.A)({},t,o)})(i),y={root:{ownerState:g},input:{ownerState:g}},b=(null!=p?p:l)?(0,vl.A)(y,null!=p?p:l):y,x=null!=(r=null!=(n=f.root)?n:s.Root)?r:Zl,w=null!=(o=null!=(a=f.input)?a:s.Input)?o:ec;return(0,De.jsx)(Wl,(0,Ne.A)({slots:{root:x,input:w},componentsProps:b,fullWidth:c,inputComponent:u,multiline:d,ref:t,type:h},m,{classes:v}))}));tc.muiName="Input";const rc=tc;var nc;const oc=["children","classes","className","label","notched"],ac=(0,at.Ay)("fieldset",{shouldForwardProp:ja.A})({textAlign:"left",position:"absolute",bottom:0,right:0,top:-5,left:0,margin:0,padding:"0 8px",pointerEvents:"none",borderRadius:"inherit",borderStyle:"solid",borderWidth:1,overflow:"hidden",minWidth:"0%"}),ic=(0,at.Ay)("legend",{shouldForwardProp:ja.A})((e=>{let{ownerState:t,theme:r}=e;return(0,Ne.A)({float:"unset",width:"auto",overflow:"hidden"},!t.withLabel&&{padding:0,lineHeight:"11px",transition:r.transitions.create("width",{duration:150,easing:r.transitions.easing.easeOut})},t.withLabel&&(0,Ne.A)({display:"block",padding:0,height:11,fontSize:"0.75em",visibility:"hidden",maxWidth:.01,transition:r.transitions.create("max-width",{duration:50,easing:r.transitions.easing.easeOut}),whiteSpace:"nowrap","& > span":{paddingLeft:5,paddingRight:5,display:"inline-block",opacity:0,visibility:"visible"}},t.notched&&{maxWidth:"100%",transition:r.transitions.create("max-width",{duration:100,easing:r.transitions.easing.easeOut,delay:50})}))}));function sc(e){return(0,dn.Ay)("MuiOutlinedInput",e)}const lc=(0,Ne.A)({},Ml,(0,un.A)("MuiOutlinedInput",["root","notchedOutline","input"])),cc=["components","fullWidth","inputComponent","label","multiline","notched","slots","type"],uc=(0,at.Ay)(Dl,{shouldForwardProp:e=>(0,ja.A)(e)||"classes"===e,name:"MuiOutlinedInput",slot:"Root",overridesResolver:Il})((e=>{let{theme:t,ownerState:r}=e;const n="light"===t.palette.mode?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return(0,Ne.A)({position:"relative",borderRadius:(t.vars||t).shape.borderRadius,[`&:hover .${lc.notchedOutline}`]:{borderColor:(t.vars||t).palette.text.primary},"@media (hover: none)":{[`&:hover .${lc.notchedOutline}`]:{borderColor:t.vars?`rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:n}},[`&.${lc.focused} .${lc.notchedOutline}`]:{borderColor:(t.vars||t).palette[r.color].main,borderWidth:2},[`&.${lc.error} .${lc.notchedOutline}`]:{borderColor:(t.vars||t).palette.error.main},[`&.${lc.disabled} .${lc.notchedOutline}`]:{borderColor:(t.vars||t).palette.action.disabled}},r.startAdornment&&{paddingLeft:14},r.endAdornment&&{paddingRight:14},r.multiline&&(0,Ne.A)({padding:"16.5px 14px"},"small"===r.size&&{padding:"8.5px 14px"}))})),dc=(0,at.Ay)((function(e){const{className:t,label:r,notched:n}=e,o=(0,Me.A)(e,oc),a=null!=r&&""!==r,i=(0,Ne.A)({},e,{notched:n,withLabel:a});return(0,De.jsx)(ac,(0,Ne.A)({"aria-hidden":!0,className:t,ownerState:i},o,{children:(0,De.jsx)(ic,{ownerState:i,children:a?(0,De.jsx)("span",{children:r}):nc||(nc=(0,De.jsx)("span",{className:"notranslate",children:"\u200b"}))})}))}),{name:"MuiOutlinedInput",slot:"NotchedOutline",overridesResolver:(e,t)=>t.notchedOutline})((e=>{let{theme:t}=e;const r="light"===t.palette.mode?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{borderColor:t.vars?`rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:r}})),pc=(0,at.Ay)(zl,{name:"MuiOutlinedInput",slot:"Input",overridesResolver:Fl})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({padding:"16.5px 14px"},!t.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:"light"===t.palette.mode?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:"light"===t.palette.mode?null:"#fff",caretColor:"light"===t.palette.mode?null:"#fff",borderRadius:"inherit"}},t.vars&&{"&:-webkit-autofill":{borderRadius:"inherit"},[t.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},"small"===r.size&&{padding:"8.5px 14px"},r.multiline&&{padding:0},r.startAdornment&&{paddingLeft:0},r.endAdornment&&{paddingRight:0})})),fc=t.forwardRef((function(e,r){var n,o,a,i,s;const l=(0,dt.b)({props:e,name:"MuiOutlinedInput"}),{components:c={},fullWidth:u=!1,inputComponent:d="input",label:p,multiline:f=!1,notched:h,slots:m={},type:g="text"}=l,v=(0,Me.A)(l,cc),y=(e=>{const{classes:t}=e,r=(0,tt.A)({root:["root"],notchedOutline:["notchedOutline"],input:["input"]},sc,t);return(0,Ne.A)({},t,r)})(l),b=El(),x=$l({props:l,muiFormControl:b,states:["color","disabled","error","focused","hiddenLabel","size","required"]}),w=(0,Ne.A)({},l,{color:x.color||"primary",disabled:x.disabled,error:x.error,focused:x.focused,formControl:b,fullWidth:u,hiddenLabel:x.hiddenLabel,multiline:f,size:x.size,type:g}),S=null!=(n=null!=(o=m.root)?o:c.Root)?n:uc,A=null!=(a=null!=(i=m.input)?i:c.Input)?a:pc;return(0,De.jsx)(Wl,(0,Ne.A)({slots:{root:S,input:A},renderSuffix:e=>(0,De.jsx)(dc,{ownerState:w,className:y.notchedOutline,label:null!=p&&""!==p&&x.required?s||(s=(0,De.jsxs)(t.Fragment,{children:[p,"\u2009","*"]})):p,notched:"undefined"!==typeof h?h:Boolean(e.startAdornment||e.filled||e.focused)}),fullWidth:u,inputComponent:d,multiline:f,ref:r,type:g},v,{classes:(0,Ne.A)({},y,{notchedOutline:null})}))}));fc.muiName="Input";const hc=fc;function mc(e){return(0,dn.Ay)("MuiFormLabel",e)}const gc=(0,un.A)("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]),vc=["children","className","color","component","disabled","error","filled","focused","required"],yc=(0,at.Ay)("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return(0,Ne.A)({},t.root,"secondary"===r.color&&t.colorSecondary,r.filled&&t.filled)}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({color:(t.vars||t).palette.text.secondary},t.typography.body1,{lineHeight:"1.4375em",padding:0,position:"relative",[`&.${gc.focused}`]:{color:(t.vars||t).palette[r.color].main},[`&.${gc.disabled}`]:{color:(t.vars||t).palette.text.disabled},[`&.${gc.error}`]:{color:(t.vars||t).palette.error.main}})})),bc=(0,at.Ay)("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:(e,t)=>t.asterisk})((e=>{let{theme:t}=e;return{[`&.${gc.error}`]:{color:(t.vars||t).palette.error.main}}})),xc=t.forwardRef((function(e,t){const r=(0,dt.b)({props:e,name:"MuiFormLabel"}),{children:n,className:o,component:a="label"}=r,i=(0,Me.A)(r,vc),s=$l({props:r,muiFormControl:El(),states:["color","required","focused","disabled","error","filled"]}),l=(0,Ne.A)({},r,{color:s.color||"primary",component:a,disabled:s.disabled,error:s.error,filled:s.filled,focused:s.focused,required:s.required}),c=(e=>{const{classes:t,color:r,focused:n,disabled:o,error:a,filled:i,required:s}=e,l={root:["root",`color${(0,pt.A)(r)}`,o&&"disabled",a&&"error",i&&"filled",n&&"focused",s&&"required"],asterisk:["asterisk",a&&"error"]};return(0,tt.A)(l,mc,t)})(l);return(0,De.jsxs)(yc,(0,Ne.A)({as:a,ownerState:l,className:(0,Ze.A)(c.root,o),ref:t},i,{children:[n,s.required&&(0,De.jsxs)(bc,{ownerState:l,"aria-hidden":!0,className:c.asterisk,children:["\u2009","*"]})]}))}));function wc(e){return(0,dn.Ay)("MuiInputLabel",e)}(0,un.A)("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);const Sc=["disableAnimation","margin","shrink","variant","className"],Ac=(0,at.Ay)(xc,{shouldForwardProp:e=>(0,ja.A)(e)||"classes"===e,name:"MuiInputLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[{[`& .${gc.asterisk}`]:t.asterisk},t.root,r.formControl&&t.formControl,"small"===r.size&&t.sizeSmall,r.shrink&&t.shrink,!r.disableAnimation&&t.animated,r.focused&&t.focused,t[r.variant]]}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%"},r.formControl&&{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"},"small"===r.size&&{transform:"translate(0, 17px) scale(1)"},r.shrink&&{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"},!r.disableAnimation&&{transition:t.transitions.create(["color","transform","max-width"],{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut})},"filled"===r.variant&&(0,Ne.A)({zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===r.size&&{transform:"translate(12px, 13px) scale(1)"},r.shrink&&(0,Ne.A)({userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"},"small"===r.size&&{transform:"translate(12px, 4px) scale(0.75)"})),"outlined"===r.variant&&(0,Ne.A)({zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===r.size&&{transform:"translate(14px, 9px) scale(1)"},r.shrink&&{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}))})),kc=t.forwardRef((function(e,t){const r=(0,dt.b)({name:"MuiInputLabel",props:e}),{disableAnimation:n=!1,shrink:o,className:a}=r,i=(0,Me.A)(r,Sc),s=El();let l=o;"undefined"===typeof l&&s&&(l=s.filled||s.focused||s.adornedStart);const c=$l({props:r,muiFormControl:s,states:["size","variant","required","focused"]}),u=(0,Ne.A)({},r,{disableAnimation:n,formControl:s,shrink:l,size:c.size,variant:c.variant,required:c.required,focused:c.focused}),d=(e=>{const{classes:t,formControl:r,size:n,shrink:o,disableAnimation:a,variant:i,required:s}=e,l={root:["root",r&&"formControl",!a&&"animated",o&&"shrink",n&&"normal"!==n&&`size${(0,pt.A)(n)}`,i],asterisk:[s&&"asterisk"]},c=(0,tt.A)(l,wc,t);return(0,Ne.A)({},t,c)})(u);return(0,De.jsx)(Ac,(0,Ne.A)({"data-shrink":l,ownerState:u,ref:t,className:(0,Ze.A)(d.root,a)},i,{classes:d}))}));var $c=r(27328);function Cc(e){return(0,dn.Ay)("MuiFormControl",e)}(0,un.A)("MuiFormControl",["root","marginNone","marginNormal","marginDense","fullWidth","disabled"]);const Ec=["children","className","color","component","disabled","error","focused","fullWidth","hiddenLabel","margin","required","size","variant"],jc=(0,at.Ay)("div",{name:"MuiFormControl",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return(0,Ne.A)({},t.root,t[`margin${(0,pt.A)(r.margin)}`],r.fullWidth&&t.fullWidth)}})((e=>{let{ownerState:t}=e;return(0,Ne.A)({display:"inline-flex",flexDirection:"column",position:"relative",minWidth:0,padding:0,margin:0,border:0,verticalAlign:"top"},"normal"===t.margin&&{marginTop:16,marginBottom:8},"dense"===t.margin&&{marginTop:8,marginBottom:4},t.fullWidth&&{width:"100%"})})),_c=t.forwardRef((function(e,r){const n=(0,dt.b)({props:e,name:"MuiFormControl"}),{children:o,className:a,color:i="primary",component:s="div",disabled:l=!1,error:c=!1,focused:u,fullWidth:d=!1,hiddenLabel:p=!1,margin:f="none",required:h=!1,size:m="medium",variant:g="outlined"}=n,v=(0,Me.A)(n,Ec),y=(0,Ne.A)({},n,{color:i,component:s,disabled:l,error:c,fullWidth:d,hiddenLabel:p,margin:f,required:h,size:m,variant:g}),b=(e=>{const{classes:t,margin:r,fullWidth:n}=e,o={root:["root","none"!==r&&`margin${(0,pt.A)(r)}`,n&&"fullWidth"]};return(0,tt.A)(o,Cc,t)})(y),[x,w]=t.useState((()=>{let e=!1;return o&&t.Children.forEach(o,(t=>{if(!(0,$c.A)(t,["Input","Select"]))return;const r=(0,$c.A)(t,["Select"])?t.props.input:t;r&&r.props.startAdornment&&(e=!0)})),e})),[S,A]=t.useState((()=>{let e=!1;return o&&t.Children.forEach(o,(t=>{(0,$c.A)(t,["Input","Select"])&&(Ol(t.props,!0)||Ol(t.props.inputProps,!0))&&(e=!0)})),e})),[k,$]=t.useState(!1);l&&k&&$(!1);const C=void 0===u||l?k:u;let E;const j=t.useMemo((()=>({adornedStart:x,setAdornedStart:w,color:i,disabled:l,error:c,filled:S,focused:C,fullWidth:d,hiddenLabel:p,size:m,onBlur:()=>{$(!1)},onEmpty:()=>{A(!1)},onFilled:()=>{A(!0)},onFocus:()=>{$(!0)},registerEffect:E,required:h,variant:g})),[x,i,l,c,S,C,d,p,E,h,m,g]);return(0,De.jsx)(Cl.Provider,{value:j,children:(0,De.jsx)(jc,(0,Ne.A)({as:s,ownerState:y,className:(0,Ze.A)(b.root,a),ref:r},v,{children:o}))})}));function Pc(e){return(0,dn.Ay)("MuiFormHelperText",e)}const Rc=(0,un.A)("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]);var Oc;const Nc=["children","className","component","disabled","error","filled","focused","margin","required","variant"],Mc=(0,at.Ay)("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,r.size&&t[`size${(0,pt.A)(r.size)}`],r.contained&&t.contained,r.filled&&t.filled]}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({color:(t.vars||t).palette.text.secondary},t.typography.caption,{textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0,[`&.${Rc.disabled}`]:{color:(t.vars||t).palette.text.disabled},[`&.${Rc.error}`]:{color:(t.vars||t).palette.error.main}},"small"===r.size&&{marginTop:4},r.contained&&{marginLeft:14,marginRight:14})})),Tc=t.forwardRef((function(e,t){const r=(0,dt.b)({props:e,name:"MuiFormHelperText"}),{children:n,className:o,component:a="p"}=r,i=(0,Me.A)(r,Nc),s=$l({props:r,muiFormControl:El(),states:["variant","size","disabled","error","filled","focused","required"]}),l=(0,Ne.A)({},r,{component:a,contained:"filled"===s.variant||"outlined"===s.variant,variant:s.variant,size:s.size,disabled:s.disabled,error:s.error,filled:s.filled,focused:s.focused,required:s.required}),c=(e=>{const{classes:t,contained:r,size:n,disabled:o,error:a,filled:i,focused:s,required:l}=e,c={root:["root",o&&"disabled",a&&"error",n&&`size${(0,pt.A)(n)}`,r&&"contained",s&&"focused",i&&"filled",l&&"required"]};return(0,tt.A)(c,Pc,t)})(l);return(0,De.jsx)(Mc,(0,Ne.A)({as:a,ownerState:l,className:(0,Ze.A)(c.root,o),ref:t},i,{children:" "===n?Oc||(Oc=(0,De.jsx)("span",{className:"notranslate",children:"\u200b"})):n}))}));function Ic(e){return(0,dn.Ay)("MuiNativeSelect",e)}const Fc=(0,un.A)("MuiNativeSelect",["root","select","multiple","filled","outlined","standard","disabled","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]),Dc=["className","disabled","error","IconComponent","inputRef","variant"],zc=e=>{let{ownerState:t,theme:r}=e;return(0,Ne.A)({MozAppearance:"none",WebkitAppearance:"none",userSelect:"none",borderRadius:0,cursor:"pointer","&:focus":(0,Ne.A)({},r.vars?{backgroundColor:`rgba(${r.vars.palette.common.onBackgroundChannel} / 0.05)`}:{backgroundColor:"light"===r.palette.mode?"rgba(0, 0, 0, 0.05)":"rgba(255, 255, 255, 0.05)"},{borderRadius:0}),"&::-ms-expand":{display:"none"},[`&.${Fc.disabled}`]:{cursor:"default"},"&[multiple]":{height:"auto"},"&:not([multiple]) option, &:not([multiple]) optgroup":{backgroundColor:(r.vars||r).palette.background.paper},"&&&":{paddingRight:24,minWidth:16}},"filled"===t.variant&&{"&&&":{paddingRight:32}},"outlined"===t.variant&&{borderRadius:(r.vars||r).shape.borderRadius,"&:focus":{borderRadius:(r.vars||r).shape.borderRadius},"&&&":{paddingRight:32}})},Lc=(0,at.Ay)("select",{name:"MuiNativeSelect",slot:"Select",shouldForwardProp:ja.A,overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.select,t[r.variant],r.error&&t.error,{[`&.${Fc.multiple}`]:t.multiple}]}})(zc),Bc=e=>{let{ownerState:t,theme:r}=e;return(0,Ne.A)({position:"absolute",right:0,top:"calc(50% - .5em)",pointerEvents:"none",color:(r.vars||r).palette.action.active,[`&.${Fc.disabled}`]:{color:(r.vars||r).palette.action.disabled}},t.open&&{transform:"rotate(180deg)"},"filled"===t.variant&&{right:7},"outlined"===t.variant&&{right:7})},Wc=(0,at.Ay)("svg",{name:"MuiNativeSelect",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.icon,r.variant&&t[`icon${(0,pt.A)(r.variant)}`],r.open&&t.iconOpen]}})(Bc),Vc=t.forwardRef((function(e,r){const{className:n,disabled:o,error:a,IconComponent:i,inputRef:s,variant:l="standard"}=e,c=(0,Me.A)(e,Dc),u=(0,Ne.A)({},e,{disabled:o,variant:l,error:a}),d=(e=>{const{classes:t,variant:r,disabled:n,multiple:o,open:a,error:i}=e,s={select:["select",r,n&&"disabled",o&&"multiple",i&&"error"],icon:["icon",`icon${(0,pt.A)(r)}`,a&&"iconOpen",n&&"disabled"]};return(0,tt.A)(s,Ic,t)})(u);return(0,De.jsxs)(t.Fragment,{children:[(0,De.jsx)(Lc,(0,Ne.A)({ownerState:u,className:(0,Ze.A)(d.select,n),disabled:o,ref:s||r},c)),e.multiple?null:(0,De.jsx)(Wc,{as:i,ownerState:u,className:d.icon})]})}));var Uc=r(47123);function Hc(e){return(0,dn.Ay)("MuiSelect",e)}const qc=(0,un.A)("MuiSelect",["root","select","multiple","filled","outlined","standard","disabled","focused","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]);var Gc;const Kc=["aria-describedby","aria-label","autoFocus","autoWidth","children","className","defaultOpen","defaultValue","disabled","displayEmpty","error","IconComponent","inputRef","labelId","MenuProps","multiple","name","onBlur","onChange","onClose","onFocus","onOpen","open","readOnly","renderValue","SelectDisplayProps","tabIndex","type","value","variant"],Xc=(0,at.Ay)("div",{name:"MuiSelect",slot:"Select",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[{[`&.${qc.select}`]:t.select},{[`&.${qc.select}`]:t[r.variant]},{[`&.${qc.error}`]:t.error},{[`&.${qc.multiple}`]:t.multiple}]}})(zc,{[`&.${qc.select}`]:{height:"auto",minHeight:"1.4375em",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}}),Qc=(0,at.Ay)("svg",{name:"MuiSelect",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.icon,r.variant&&t[`icon${(0,pt.A)(r.variant)}`],r.open&&t.iconOpen]}})(Bc),Yc=(0,at.Ay)("input",{shouldForwardProp:e=>(0,Uc.A)(e)&&"classes"!==e,name:"MuiSelect",slot:"NativeInput",overridesResolver:(e,t)=>t.nativeInput})({bottom:0,left:0,position:"absolute",opacity:0,pointerEvents:"none",width:"100%",boxSizing:"border-box"});function Jc(e,t){return"object"===typeof t&&null!==t?e===t:String(e)===String(t)}function Zc(e){return null==e||"string"===typeof e&&!e.trim()}const eu=t.forwardRef((function(e,r){var n;const{"aria-describedby":o,"aria-label":a,autoFocus:i,autoWidth:s,children:l,className:c,defaultOpen:u,defaultValue:d,disabled:p,displayEmpty:f,error:h=!1,IconComponent:m,inputRef:g,labelId:v,MenuProps:y={},multiple:b,name:x,onBlur:w,onChange:S,onClose:A,onFocus:k,onOpen:$,open:C,readOnly:E,renderValue:j,SelectDisplayProps:_={},tabIndex:P,value:R,variant:O="standard"}=e,N=(0,Me.A)(e,Kc),[M,T]=(0,jn.A)({controlled:R,default:d,name:"Select"}),[I,F]=(0,jn.A)({controlled:C,default:u,name:"Select"}),D=t.useRef(null),z=t.useRef(null),[L,B]=t.useState(null),{current:W}=t.useRef(null!=C),[V,U]=t.useState(),H=(0,Et.A)(r,g),q=t.useCallback((e=>{z.current=e,e&&B(e)}),[]),G=null==L?void 0:L.parentNode;t.useImperativeHandle(H,(()=>({focus:()=>{z.current.focus()},node:D.current,value:M})),[M]),t.useEffect((()=>{u&&I&&L&&!W&&(U(s?null:G.clientWidth),z.current.focus())}),[L,s]),t.useEffect((()=>{i&&z.current.focus()}),[i]),t.useEffect((()=>{if(!v)return;const e=(0,xo.A)(z.current).getElementById(v);if(e){const t=()=>{getSelection().isCollapsed&&z.current.focus()};return e.addEventListener("click",t),()=>{e.removeEventListener("click",t)}}}),[v]);const K=(e,t)=>{e?$&&$(t):A&&A(t),W||(U(s?null:G.clientWidth),F(e))},X=t.Children.toArray(l),Q=e=>t=>{let r;if(t.currentTarget.hasAttribute("tabindex")){if(b){r=Array.isArray(M)?M.slice():[];const t=M.indexOf(e.props.value);-1===t?r.push(e.props.value):r.splice(t,1)}else r=e.props.value;if(e.props.onClick&&e.props.onClick(t),M!==r&&(T(r),S)){const n=t.nativeEvent||t,o=new n.constructor(n.type,n);Object.defineProperty(o,"target",{writable:!0,value:{value:r,name:x}}),S(o,e)}b||K(!1,t)}},Y=null!==L&&I;let J,Z;delete N["aria-invalid"];const ee=[];let te=!1,re=!1;(Ol({value:M})||f)&&(j?J=j(M):te=!0);const ne=X.map((e=>{if(!t.isValidElement(e))return null;let r;if(b){if(!Array.isArray(M))throw new Error((0,yl.A)(2));r=M.some((t=>Jc(t,e.props.value))),r&&te&&ee.push(e.props.children)}else r=Jc(M,e.props.value),r&&te&&(Z=e.props.children);return r&&(re=!0),t.cloneElement(e,{"aria-selected":r?"true":"false",onClick:Q(e),onKeyUp:t=>{" "===t.key&&t.preventDefault(),e.props.onKeyUp&&e.props.onKeyUp(t)},role:"option",selected:r,value:void 0,"data-value":e.props.value})}));te&&(J=b?0===ee.length?null:ee.reduce(((e,t,r)=>(e.push(t),r{const{classes:t,variant:r,disabled:n,multiple:o,open:a,error:i}=e,s={select:["select",r,n&&"disabled",o&&"multiple",i&&"error"],icon:["icon",`icon${(0,pt.A)(r)}`,a&&"iconOpen",n&&"disabled"],nativeInput:["nativeInput"]};return(0,tt.A)(s,Hc,t)})(se),ce=(0,Ne.A)({},y.PaperProps,null==(n=y.slotProps)?void 0:n.paper),ue=(0,Ss.A)();return(0,De.jsxs)(t.Fragment,{children:[(0,De.jsx)(Xc,(0,Ne.A)({ref:q,tabIndex:oe,role:"combobox","aria-controls":ue,"aria-disabled":p?"true":void 0,"aria-expanded":Y?"true":"false","aria-haspopup":"listbox","aria-label":a,"aria-labelledby":[v,ie].filter(Boolean).join(" ")||void 0,"aria-describedby":o,onKeyDown:e=>{if(!E){-1!==[" ","ArrowUp","ArrowDown","Enter"].indexOf(e.key)&&(e.preventDefault(),K(!0,e))}},onMouseDown:p||E?null:e=>{0===e.button&&(e.preventDefault(),z.current.focus(),K(!0,e))},onBlur:e=>{!Y&&w&&(Object.defineProperty(e,"target",{writable:!0,value:{value:M,name:x}}),w(e))},onFocus:k},_,{ownerState:se,className:(0,Ze.A)(_.className,le.select,c),id:ie,children:Zc(J)?Gc||(Gc=(0,De.jsx)("span",{className:"notranslate",children:"\u200b"})):J})),(0,De.jsx)(Yc,(0,Ne.A)({"aria-invalid":h,value:Array.isArray(M)?M.join(","):M,name:x,ref:D,"aria-hidden":!0,onChange:e=>{const t=X.find((t=>t.props.value===e.target.value));void 0!==t&&(T(t.props.value),S&&S(e,t))},tabIndex:-1,disabled:p,className:le.nativeInput,autoFocus:i,ownerState:se},N)),(0,De.jsx)(Qc,{as:m,className:le.icon,ownerState:se}),(0,De.jsx)(Fa,(0,Ne.A)({id:`menu-${x||""}`,anchorEl:G,open:Y,onClose:e=>{K(!1,e)},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"}},y,{MenuListProps:(0,Ne.A)({"aria-labelledby":v,role:"listbox","aria-multiselectable":b?"true":void 0,disableListWrap:!0,id:ue},y.MenuListProps),slotProps:(0,Ne.A)({},y.slotProps,{paper:(0,Ne.A)({},ce,{style:(0,Ne.A)({minWidth:ae},null!=ce?ce.style:null)})}),children:ne}))]})})),tu=eu,ru=(0,Xi.A)((0,De.jsx)("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown"),nu=["autoWidth","children","classes","className","defaultOpen","displayEmpty","IconComponent","id","input","inputProps","label","labelId","MenuProps","multiple","native","onClose","onOpen","open","renderValue","SelectDisplayProps","variant"],ou=["root"],au={name:"MuiSelect",overridesResolver:(e,t)=>t.root,shouldForwardProp:e=>(0,ja.A)(e)&&"variant"!==e,slot:"Root"},iu=(0,at.Ay)(Xl,au)(""),su=(0,at.Ay)(hc,au)(""),lu=(0,at.Ay)(rc,au)(""),cu=t.forwardRef((function(e,r){const n=(0,dt.b)({name:"MuiSelect",props:e}),{autoWidth:o=!1,children:a,classes:i={},className:s,defaultOpen:l=!1,displayEmpty:c=!1,IconComponent:u=ru,id:d,input:p,inputProps:f,label:h,labelId:m,MenuProps:g,multiple:v=!1,native:y=!1,onClose:b,onOpen:x,open:w,renderValue:S,SelectDisplayProps:A,variant:k="outlined"}=n,$=(0,Me.A)(n,nu),C=y?Vc:tu,E=$l({props:n,muiFormControl:El(),states:["variant","error"]}),j=E.variant||k,_=(0,Ne.A)({},n,{variant:j,classes:i}),P=(e=>{const{classes:t}=e;return t})(_),R=(0,Me.A)(P,ou),O=p||{standard:(0,De.jsx)(iu,{ownerState:_}),outlined:(0,De.jsx)(su,{label:h,ownerState:_}),filled:(0,De.jsx)(lu,{ownerState:_})}[j],N=(0,Et.A)(r,O.ref);return(0,De.jsx)(t.Fragment,{children:t.cloneElement(O,(0,Ne.A)({inputComponent:C,inputProps:(0,Ne.A)({children:a,error:E.error,IconComponent:u,variant:j,type:void 0,multiple:v},y?{id:d}:{autoWidth:o,defaultOpen:l,displayEmpty:c,labelId:m,MenuProps:g,onClose:b,onOpen:x,open:w,renderValue:S,SelectDisplayProps:(0,Ne.A)({id:d},A)},f,{classes:f?(0,vl.A)(R,f.classes):R},p?p.props.inputProps:{})},(v&&y||c)&&"outlined"===j?{notched:!0}:{},{ref:N,className:(0,Ze.A)(O.props.className,s,P.root)},!p&&{variant:j},$))})}));cu.muiName="Select";const uu=cu;function du(e){return(0,dn.Ay)("MuiTextField",e)}(0,un.A)("MuiTextField",["root"]);const pu=["autoComplete","autoFocus","children","className","color","defaultValue","disabled","error","FormHelperTextProps","fullWidth","helperText","id","InputLabelProps","inputProps","InputProps","inputRef","label","maxRows","minRows","multiline","name","onBlur","onChange","onFocus","placeholder","required","rows","select","SelectProps","type","value","variant"],fu={standard:Xl,filled:rc,outlined:hc},hu=(0,at.Ay)(_c,{name:"MuiTextField",slot:"Root",overridesResolver:(e,t)=>t.root})({}),mu=t.forwardRef((function(e,t){const r=(0,dt.b)({props:e,name:"MuiTextField"}),{autoComplete:n,autoFocus:o=!1,children:a,className:i,color:s="primary",defaultValue:l,disabled:c=!1,error:u=!1,FormHelperTextProps:d,fullWidth:p=!1,helperText:f,id:h,InputLabelProps:m,inputProps:g,InputProps:v,inputRef:y,label:b,maxRows:x,minRows:w,multiline:S=!1,name:A,onBlur:k,onChange:$,onFocus:C,placeholder:E,required:j=!1,rows:_,select:P=!1,SelectProps:R,type:O,value:N,variant:M="outlined"}=r,T=(0,Me.A)(r,pu),I=(0,Ne.A)({},r,{autoFocus:o,color:s,disabled:c,error:u,fullWidth:p,multiline:S,required:j,select:P,variant:M}),F=(e=>{const{classes:t}=e;return(0,tt.A)({root:["root"]},du,t)})(I);const D={};"outlined"===M&&(m&&"undefined"!==typeof m.shrink&&(D.notched=m.shrink),D.label=b),P&&(R&&R.native||(D.id=void 0),D["aria-describedby"]=void 0);const z=(0,Ss.A)(h),L=f&&z?`${z}-helper-text`:void 0,B=b&&z?`${z}-label`:void 0,W=fu[M],V=(0,De.jsx)(W,(0,Ne.A)({"aria-describedby":L,autoComplete:n,autoFocus:o,defaultValue:l,fullWidth:p,multiline:S,name:A,rows:_,maxRows:x,minRows:w,type:O,value:N,id:z,inputRef:y,onBlur:k,onChange:$,onFocus:C,placeholder:E,inputProps:g},D,v));return(0,De.jsxs)(hu,(0,Ne.A)({className:(0,Ze.A)(F.root,i),disabled:c,error:u,fullWidth:p,ref:t,required:j,color:s,variant:M,ownerState:I},T,{children:[null!=b&&""!==b&&(0,De.jsx)(kc,(0,Ne.A)({htmlFor:z,id:B},m,{children:b})),P?(0,De.jsx)(uu,(0,Ne.A)({"aria-describedby":L,id:z,labelId:B,value:N,input:V},R,{children:a})):V,f&&(0,De.jsx)(Tc,(0,Ne.A)({id:L},d,{children:f}))]}))})),gu=(0,Xi.A)((0,De.jsx)("path",{d:"M15 21h-2v-2h2zm-2-7h-2v5h2zm8-2h-2v4h2zm-2-2h-2v2h2zM7 12H5v2h2zm-2-2H3v2h2zm7-5h2V3h-2zm-7.5-.5v3h3v-3zM9 9H3V3h6zm-4.5 7.5v3h3v-3zM9 21H3v-6h6zm7.5-16.5v3h3v-3zM21 9h-6V3h6zm-2 10v-3h-4v2h2v3h4v-2zm-2-7h-4v2h4zm-4-2H7v2h2v2h2v-2h2zm1-1V7h-2V5h-2v4zM6.75 5.25h-1.5v1.5h1.5zm0 12h-1.5v1.5h1.5zm12-12h-1.5v1.5h1.5z"}),"QrCode2"),vu=(0,Xi.A)((0,De.jsx)("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings"),yu=(0,Xi.A)((0,De.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zm2.46-7.12 1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"}),"DeleteForever"),bu=(0,Xi.A)((0,De.jsx)("path",{d:"M21.19 21.19 2.81 2.81 1.39 4.22l2.27 2.27C2.61 8.07 2 9.96 2 12c0 5.52 4.48 10 10 10 2.04 0 3.93-.61 5.51-1.66l2.27 2.27zm-10.6-4.59-4.24-4.24 1.41-1.41 2.83 2.83.18-.18 1.41 1.41zm3-5.84-7.1-7.1C8.07 2.61 9.96 2 12 2c5.52 0 10 4.48 10 10 0 2.04-.61 3.93-1.66 5.51L15 12.17l2.65-2.65-1.41-1.41z"}),"Unpublished"),xu=(0,Xi.A)((0,De.jsx)("path",{d:"m17.66 9.53-7.07 7.07-4.24-4.24 1.41-1.41 2.83 2.83 5.66-5.66zM4 12c0-2.33 1.02-4.42 2.62-5.88L9 8.5v-6H3l2.2 2.2C3.24 6.52 2 9.11 2 12c0 5.19 3.95 9.45 9 9.95v-2.02c-3.94-.49-7-3.86-7-7.93m18 0c0-5.19-3.95-9.45-9-9.95v2.02c3.94.49 7 3.86 7 7.93 0 2.33-1.02 4.42-2.62 5.88L15 15.5v6h6l-2.2-2.2c1.96-1.82 3.2-4.41 3.2-7.3"}),"PublishedWithChanges"),wu=(0,Xi.A)((0,De.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 17h-2v-2h2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25"}),"Help"),Su=(0,Xi.A)((0,De.jsx)("path",{d:"M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-7 9h-2V5h2zm0 4h-2v-2h2z"}),"Announcement"),Au=(0,Xi.A)((0,De.jsx)("path",{d:"m12 21.35-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54z"}),"Favorite"),ku=(0,Xi.A)((0,De.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert"),$u=(0,Xi.A)((0,De.jsx)("path",{d:"M5 20h14v-2H5zM19 9h-4V3H9v6H5l7 7z"}),"Download"),Cu=(0,Xi.A)((0,De.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add");function Eu(e){return!("undefined"!==typeof File&&e instanceof File)&&(!("undefined"!==typeof Date&&e instanceof Date)&&("object"===typeof e&&null!==e&&!Array.isArray(e)))}function ju(e){if(""===e)return;if(null===e)return null;if(/\.$/.test(e))return e;if(/\.0$/.test(e))return e;if(/\.\d*0$/.test(e))return e;const t=Number(e);return"number"===typeof t&&!Number.isNaN(t)?t:e}const _u="__additional_property",Pu="additionalProperties",Ru="allOf",Ou="anyOf",Nu="const",Mu="default",Tu="dependencies",Iu="enum",Fu="__errors",Du="$id",zu="if",Lu="items",Bu="$name",Wu="oneOf",Vu="properties",Uu="required",Hu="submitButtonOptions",qu="$ref",Gu="__rjsf_additionalProperties",Ku="__rjsf_rootSchema",Xu="ui:widget",Qu="ui:options";function Yu(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).filter((e=>0===e.indexOf("ui:"))).reduce(((t,r)=>{const n=e[r];return r===Xu&&Eu(n)?(console.error("Setting options via ui:widget object is no longer supported, use ui:options instead"),t):r===Qu&&Eu(n)?{...t,...n}:{...t,[r.substring(3)]:n}}),{...t})}function Ju(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;if(!e.additionalProperties)return!1;const{expandable:n=!0}=Yu(t);return!1===n?n:void 0===e.maxProperties||!r||Object.keys(r).length({...e,[r]:td(t)})),t);if(ed()(e)){const r=e;return Object.keys(r).reduce(((e,t)=>({...e,[t]:td(r[t])})),t)}return t}var rd=r(56641),nd=r.n(rd);function od(e,t){return nd()(e,t,((e,t)=>{if("function"===typeof e&&"function"===typeof t)return!0}))}var ad=r(33097),id=r.n(ad),sd=r(54320),ld=r.n(sd),cd=r(45492),ud=r(1488),dd=r.n(ud);function pd(e,t){const r=t[e];return[dd()(t,[e]),r]}function fd(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const n=e||"";let o;if(!n.startsWith("#"))throw new Error(`Could not find a definition for ${e}.`);o=decodeURIComponent(n.substring(1));const a=cd.get(t,o);if(void 0===a)throw new Error(`Could not find a definition for ${e}.`);const i=a[qu];if(i){if(r.includes(i)){if(1===r.length)throw new Error(`Definition for ${e} is a circular reference`);const[t,...o]=r,a=[...o,n,t].join(" -> ");throw new Error(`Definition for ${t} contains a circular reference through ${a}`)}const[o,s]=pd(qu,a),l=fd(s,t,[...r,n]);return Object.keys(o).length>0?{...o,...l}:l}return a}function hd(e){return fd(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},[])}var md=r(62117),gd=r.n(md),vd=r(79160),yd=r.n(vd),bd=r(46686),xd=r.n(bd),wd=r(90620),Sd=r.n(wd),Ad=r(12759),kd=r.n(Ad),$d=r(71247),Cd=r.n($d);function Ed(e,t,r){var n;if(e&&r){const o=id()(e,r);if(void 0===o)return;for(let e=0;e({required:[e]})))};let o;if(a.anyOf){const{...e}=a;e.allOf?e.allOf=e.allOf.slice():e.allOf=[],e.allOf.push(r),o=e}else o=Object.assign({},a,r);if(delete o.required,e.isValid(o,t,n))return i}else if(e.isValid(a,t,n))return i}return 0}function _d(e,t,r,n,o){return jd(e,t,r,n,o)}var Pd=r(19853),Rd=r.n(Pd),Od=r(69613),Nd=r.n(Od),Md=r(22717),Td=r.n(Md),Id=r(34677),Fd=r.n(Id),Dd=r(63517),zd=r.n(Dd),Ld=r(9376),Bd=r.n(Ld),Wd=r(52093),Vd=r.n(Wd);function Ud(e){let t;const r=id()(e,"discriminator.propertyName",void 0);return Sd()(r)?t=r:void 0!==r&&console.warn(`Expecting discriminator to be a string, got "${typeof r}" instead`),t}function Hd(e){return Array.isArray(e)?"array":"string"===typeof e?"string":null==e?"null":"boolean"===typeof e?"boolean":isNaN(e)?"object"===typeof e?"object":"string":"number"}var qd=r(30450),Gd=r.n(qd);function Kd(e){let{type:t}=e;return!t&&e.const?Hd(e.const):!t&&e.enum?"string":t||!e.properties&&!e.additionalProperties?(Array.isArray(t)&&(t=2===t.length&&t.includes("null")?t.find((e=>"null"!==e)):t[0]),t):"object"}function Xd(e,t){const r=Object.assign({},e);return Object.keys(t).reduce(((r,n)=>{const o=e?e[n]:{},a=t[n];return e&&n in e&&Eu(a)?r[n]=Xd(o,a):e&&t&&("object"===Kd(e)||"object"===Kd(t))&&n===Uu&&Array.isArray(o)&&Array.isArray(a)?r[n]=Gd()(o,a):r[n]=a,r}),r)}function Qd(e,t){return ep(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},arguments.length>3?arguments[3]:void 0,void 0,void 0,arguments.length>4?arguments[4]:void 0)[0]}function Yd(e){const t=e.reduce(((e,t)=>t.length>1?t.flatMap((t=>Cd()(e.length,(r=>[...e[r]].concat(t))))):(e.forEach((e=>e.push(t[0]))),e)),[[]]);return t}function Jd(e,t,r,n,o,a,i){const s=Zd(t,r,o);return s!==t?ep(e,s,r,a,n,o,i):[t]}function Zd(e,t,r){if(!Eu(e))return e;let n=e;if(qu in n){const{$ref:e,...o}=n;if(r.includes(e))return n;r.push(e);n={...hd(e,t),...o}}if(Vu in n){const e=[],o=Td()(n[Vu],((n,o,a)=>{const i=[...r];n[a]=Zd(o,t,i),e.push(i)}),{});Fd()(r,Bd()(zd()(e))),n={...n,[Vu]:o}}return Lu in n&&!Array.isArray(n.items)&&"boolean"!==typeof n.items&&(n={...n,items:Zd(n.items,t,r)}),Rd()(e,n)?e:n}function ep(e,t,r,n){let o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],i=arguments.length>6?arguments[6]:void 0;if(!Eu(t))return[{}];const s=function(e,t,r,n,o,a,i){const s=Jd(e,t,r,n,o,a);if(s.length>1||s[0]!==t)return s;if(Tu in t)return tp(e,t,r,n,o,a).flatMap((t=>ep(e,t,r,a,n,o,i)));if(Ru in t&&Array.isArray(t.allOf))return Yd(t.allOf.map((t=>ep(e,t,r,a,n,o,i)))).map((e=>({...t,allOf:e})));return[t]}(e,t,r,o,a,n);return s.flatMap((t=>{var s;let l=t;if(zu in l)return function(e,t,r,n,o,a,i){const{if:s,then:l,else:c,...u}=t,d=e.isValid(s,a||{},r);let p=[u],f=[];if(n)l&&"boolean"!==typeof l&&(f=f.concat(ep(e,l,r,a,n,o,i))),c&&"boolean"!==typeof c&&(f=f.concat(ep(e,c,r,a,n,o,i)));else{const t=d?l:c;t&&"boolean"!==typeof t&&(f=f.concat(ep(e,t,r,a,n,o,i)))}return f.length&&(p=f.map((e=>Xd(u,e)))),p.flatMap((t=>ep(e,t,r,a,n,o,i)))}(e,l,r,o,a,n,i);if(Ru in l){if(o){const{allOf:e,...t}=l;return[...e,t]}try{const e=[],t=[];null===(s=l.allOf)||void 0===s||s.forEach((r=>{"object"===typeof r&&r.contains?e.push(r):t.push(r)})),e.length&&(l={...l,allOf:t}),l=i?i(l):Vd()(l,{deep:!1}),e.length&&(l.allOf=e)}catch(Bf){console.warn("could not merge subschemas in allOf:\n",Bf);const{allOf:t,...r}=l;return r}}return Pu in l&&!1!==l.additionalProperties?function(e,t,r,n){const o={...t,properties:{...t.properties}},a=n&&Eu(n)?n:{};return Object.keys(a).forEach((t=>{if(t in o.properties)return;let n={};n="boolean"!==typeof o.additionalProperties?qu in o.additionalProperties?Qd(e,{$ref:id()(o.additionalProperties,[qu])},r,a):"type"in o.additionalProperties?{...o.additionalProperties}:Ou in o.additionalProperties||Wu in o.additionalProperties?{type:"object",...o.additionalProperties}:{type:Hd(id()(a,[t]))}:{type:Hd(id()(a,[t]))},o.properties[t]=n,Nd()(o.properties,[t,_u],!0)})),o}(e,l,r,n):l}))}function tp(e,t,r,n,o,a,i){const{dependencies:s,...l}=t,c=function(e,t,r,n,o){let a;const{oneOf:i,anyOf:s,...l}=t;if(Array.isArray(i)?a=i:Array.isArray(s)&&(a=s),a){const i=void 0===o&&n?{}:o,s=Ud(t);a=a.map((e=>Zd(e,r,[])));const c=_d(e,i,a,r,s);if(n)return a.map((e=>Xd(l,e)));t=Xd(l,a[c])}return[t]}(e,l,r,n,a);return c.flatMap((t=>rp(e,s,t,r,n,o,a,i)))}function rp(e,t,r,n,o,a,i,s){let l=[r];for(const c in t){if(!o&&void 0===id()(i,[c]))continue;if(r.properties&&!(c in r.properties))continue;const[u,d]=pd(c,t);return Array.isArray(d)?l[0]=np(r,d):Eu(d)&&(l=op(e,r,n,c,d,o,a,i,s)),l.flatMap((t=>rp(e,u,t,n,o,a,i,s)))}return l}function np(e,t){if(!t)return e;const r=Array.isArray(e.required)?Array.from(new Set([...e.required,...t])):t;return{...e,required:r}}function op(e,t,r,n,o,a,i,s,l){return ep(e,o,r,s,a,i,l).flatMap((o=>{const{oneOf:c,...u}=o;if(t=Xd(t,u),void 0===c)return t;return Yd(c.map((t=>"boolean"!==typeof t&&qu in t?Jd(e,t,r,a,i,s):[t]))).flatMap((o=>function(e,t,r,n,o,a,i,s,l){const c=o.filter((t=>{if("boolean"===typeof t||!t||!t.properties)return!1;const{[n]:o}=t.properties;if(o){const t={type:"object",properties:{[n]:o}};return e.isValid(t,s,r)||a}return!1}));if(!a&&1!==c.length)return console.warn("ignoring oneOf in dependencies because there isn't exactly one subschema that is valid"),[t];return c.flatMap((o=>{const c=o,[u]=pd(n,c.properties),d={...c,properties:u};return ep(e,d,r,s,a,i,l).map((e=>Xd(t,e)))}))}(e,t,r,n,o,a,i,s,l)))}))}const ap={type:"object",$id:"_$junk_option_schema_id$_",properties:{__not_really_there__:{type:"number"}}};function ip(e,t,r,n){let o=0;return r&&(xd()(r.properties)?o+=kd()(r.properties,((r,o,a)=>{const i=id()(n,a);if("boolean"===typeof o)return r;if(gd()(o,qu)){const n=Qd(e,o,t,i);return r+ip(e,t,n,i||{})}if((gd()(o,Wu)||gd()(o,Ou))&&i){const n=gd()(o,Wu)?Wu:Ou,a=Ud(o);return r+sp(e,t,i,id()(o,n),-1,a)}if("object"===o.type)return xd()(i)&&(r+=1),r+ip(e,t,o,i);if(o.type===Hd(i)){let e=r+1;return o.default?e+=i===o.default?1:-1:o.const&&(e+=i===o.const?1:-1),e}return r}),0):Sd()(r.type)&&r.type===Hd(n)&&(o+=1)),o}function sp(e,t,r,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1,a=arguments.length>5?arguments[5]:void 0;const i=n.map((e=>Zd(e,t,[]))),s=Ed(r,n,a);if(yd()(s))return s;const l=i.reduce(((n,o,i)=>(1===_d(e,r,[ap,o],t,a)&&n.push(i),n)),[]);if(1===l.length)return l[0];l.length||Cd()(i.length,(e=>l.push(e)));const c=new Set,{bestIndex:u}=l.reduce(((n,o)=>{const{bestScore:a}=n,s=i[o],l=ip(e,t,s,r);return c.add(l),l>a?{bestIndex:o,bestScore:l}:n}),{bestIndex:o,bestScore:0});return 1===c.size&&o>=0?o:u}function lp(e){return Array.isArray(e.items)&&e.items.length>0&&e.items.every((e=>Eu(e)))}function cp(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(t)){const o=Array.isArray(e)?e:[],a=t.map(((e,t)=>o[t]?cp(o[t],e,r,n):e));return r&&a.length(o[a]=cp(e?id()(e,a):{},id()(t,a),r,n),o)),o)}return n&&void 0===t?e:t}function up(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return Object.keys(t).reduce(((n,o)=>{const a=e?e[o]:{},i=t[o];if(e&&o in e&&Eu(i))n[o]=up(a,i,r);else if(r&&Array.isArray(a)&&Array.isArray(i)){let e=i;"preventDuplicates"===r&&(e=i.reduce(((e,t)=>(a.includes(t)||e.push(t),e)),[])),n[o]=a.concat(e)}else n[o]=i;return n}),Object.assign({},e))}function dp(e){return Array.isArray(e.enum)&&1===e.enum.length||Nu in e}function pp(e,t){const r=Qd(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},void 0),n=r.oneOf||r.anyOf;return!!Array.isArray(r.enum)||!!Array.isArray(n)&&n.every((e=>"boolean"!==typeof e&&dp(e)))}function fp(e,t,r){return!(!t.uniqueItems||!t.items||"boolean"===typeof t.items)&&pp(e,t.items,r)}var hp;function mp(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:hp.Ignore,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;if(r>=0){if(Array.isArray(e.items)&&r5&&void 0!==arguments[5]?arguments[5]:[],i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},s=arguments.length>7&&void 0!==arguments[7]&&arguments[7];const{emptyObjectFields:l="populateAllDefaults"}=i;if(n||s)e[t]=r;else if("skipDefaults"!==l)if(Eu(r)){const n=void 0===o?a.includes(t):o;"skipEmptyDefaults"===l?ld()(r)||(e[t]=r):ld()(r)&&!a.includes(t)||!n&&"populateRequiredDefaults"===l||(e[t]=r)}else void 0===r||"populateAllDefaults"!==l&&"skipEmptyDefaults"!==l&&!a.includes(t)||(e[t]=r)}function vp(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{parentDefaults:n,rawFormData:o,rootSchema:a={},includeUndefinedValues:i=!1,_recurseList:s=[],experimental_defaultFormStateBehavior:l,experimental_customMergeAllOf:c,required:u}=r,d=Eu(o)?o:{},p=Eu(t)?t:{};let f=n,h=null,m=s;if(dp(p))f=p.const;else if(Eu(f)&&Eu(p.default))f=up(f,p.default);else if(Mu in p)f=p.default;else if(qu in p){const e=p[qu];s.includes(e)||(m=s.concat(e),h=hd(e,a))}else if(Tu in p){const t={...yp(e,p,r,f),...d};h=tp(e,p,a,!1,[],t,c)[0]}else if(lp(p))f=p.items.map(((t,r)=>vp(e,t,{rootSchema:a,includeUndefinedValues:i,_recurseList:s,experimental_defaultFormStateBehavior:l,parentDefaults:Array.isArray(n)?n[r]:void 0,rawFormData:d,required:u})));else if(Wu in p){const{oneOf:t,...r}=p;if(0===t.length)return;const n=Ud(p);h=t[sp(e,a,ld()(d)?void 0:d,t,0,n)],h=Xd(r,h)}else if(Ou in p){const{anyOf:t,...r}=p;if(0===t.length)return;const n=Ud(p);h=t[sp(e,a,ld()(d)?void 0:d,t,0,n)],h=Xd(r,h)}if(h)return vp(e,h,{rootSchema:a,includeUndefinedValues:i,_recurseList:m,experimental_defaultFormStateBehavior:l,parentDefaults:f,rawFormData:d,required:u});void 0===f&&(f=p.default);const g=yp(e,p,r,f);return null!==g&&void 0!==g?g:f}function yp(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0;switch(Kd(t)){case"object":return function(e,t){let{rawFormData:r,rootSchema:n={},includeUndefinedValues:o=!1,_recurseList:a=[],experimental_defaultFormStateBehavior:i,experimental_customMergeAllOf:s,required:l}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},c=arguments.length>3?arguments[3]:void 0;{const u=Eu(r)?r:{},d=t,p="populateDefaults"===(null===i||void 0===i?void 0:i.allOf)&&Ru in d?Qd(e,d,n,u,s):d,f=p[Nu],h=Object.keys(p.properties||{}).reduce(((t,r)=>{var d;const h=id()(p,[Vu,r]),m=Eu(f)&&void 0!==f[r],g=Eu(h)&&Nu in h||m;return gp(t,r,vp(e,h,{rootSchema:n,_recurseList:a,experimental_defaultFormStateBehavior:i,experimental_customMergeAllOf:s,includeUndefinedValues:!0===o,parentDefaults:id()(c,[r]),rawFormData:id()(u,[r]),required:null===(d=p.required)||void 0===d?void 0:d.includes(r)}),o,l,p.required,i,g),t}),{});if(p.additionalProperties){const t=Eu(p.additionalProperties)?p.additionalProperties:{},r=new Set;Eu(c)&&Object.keys(c).filter((e=>!p.properties||!p.properties[e])).forEach((e=>r.add(e)));const s=[];Object.keys(u).filter((e=>!p.properties||!p.properties[e])).forEach((e=>{r.add(e),s.push(e)})),r.forEach((r=>{var d;const f=vp(e,t,{rootSchema:n,_recurseList:a,experimental_defaultFormStateBehavior:i,includeUndefinedValues:!0===o,parentDefaults:id()(c,[r]),rawFormData:id()(u,[r]),required:null===(d=p.required)||void 0===d?void 0:d.includes(r)});gp(h,r,f,o,l,s)}))}return h}}(e,t,r,n);case"array":return function(e,t){let{rawFormData:r,rootSchema:n={},_recurseList:o=[],experimental_defaultFormStateBehavior:a,required:i}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3?arguments[3]:void 0;var l,c;const u=t,d=null!==(l=null===a||void 0===a?void 0:a.arrayMinItems)&&void 0!==l?l:{},{populate:p,mergeExtraDefaults:f}=d,h="never"===p,m="requiredOnly"===p,g="all"===p||!h&&!m,v=null!==(c=null===d||void 0===d?void 0:d.computeSkipPopulate)&&void 0!==c?c:()=>!1,y="skipEmptyDefaults"===(null===a||void 0===a?void 0:a.emptyObjectFields)?void 0:[];if(Array.isArray(s)&&(s=s.map(((t,r)=>{const s=mp(u,hp.Fallback,r);return vp(e,s,{rootSchema:n,_recurseList:o,experimental_defaultFormStateBehavior:a,parentDefaults:t,required:i})}))),Array.isArray(r)){const t=mp(u);if(h)s=r;else{const l=r.map(((r,l)=>vp(e,t,{rootSchema:n,_recurseList:o,experimental_defaultFormStateBehavior:a,rawFormData:r,parentDefaults:id()(s,[l]),required:i})));s=cp(s,l,(m&&i||g)&&f)}}if(!1===(Eu(u)&&Nu in u)){if(h)return null!==s&&void 0!==s?s:y;if(m&&!i)return s||void 0}const b=Array.isArray(s)?s.length:0;if(!u.minItems||fp(e,u,n)||v(e,u,n)||u.minItems<=b)return s||y;const x=s||[],w=mp(u,hp.Invert),S=w.default,A=new Array(u.minItems-b).fill(vp(e,w,{parentDefaults:S,rootSchema:n,_recurseList:o,experimental_defaultFormStateBehavior:a,required:i}));return x.concat(A)}(e,t,r,n)}}function bp(e,t,r,n){let o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5?arguments[5]:void 0,i=arguments.length>6?arguments[6]:void 0;if(!Eu(t))throw new Error("Invalid schema: "+t);const s=vp(e,Qd(e,t,n,r,i),{rootSchema:n,includeUndefinedValues:o,experimental_defaultFormStateBehavior:a,experimental_customMergeAllOf:i,rawFormData:r});if(void 0===r||null===r||"number"===typeof r&&isNaN(r))return s;const{mergeDefaultsIntoFormData:l,arrayMinItems:c={}}=a||{},{mergeExtraDefaults:u}=c,d="useDefaultIfFormDataUndefined"===l;return Eu(r)||Array.isArray(r)?cp(s,r,u,d):r}function xp(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return"widget"in Yu(e)&&"hidden"!==Yu(e).widget}function wp(e,t){let r=arguments.length>3?arguments[3]:void 0;if("files"===(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{})[Xu])return!0;if(t.items){const n=Qd(e,t.items,r);return"string"===n.type&&"data-url"===n.format}return!1}!function(e){e[e.Ignore=0]="Ignore",e[e.Invert=1]="Invert",e[e.Fallback=2]="Fallback"}(hp||(hp={}));const Sp=Symbol("no Value");function Ap(e,t,r,n){let o,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};if(gd()(r,Vu)){const i={};if(gd()(n,Vu)){const e=id()(n,Vu,{});Object.keys(e).forEach((e=>{gd()(a,e)&&(i[e]=void 0)}))}const s=Object.keys(id()(r,Vu,{})),l={};s.forEach((o=>{const s=id()(a,o);let c=id()(n,[Vu,o],{}),u=id()(r,[Vu,o],{});gd()(c,qu)&&(c=Qd(e,c,t,s)),gd()(u,qu)&&(u=Qd(e,u,t,s));const d=id()(c,"type"),p=id()(u,"type");if(!d||d===p)if(gd()(i,o)&&delete i[o],"object"===p||"array"===p&&Array.isArray(s)){const r=Ap(e,t,u,c,s);void 0===r&&"array"!==p||(l[o]=r)}else{const e=id()(u,"default",Sp),t=id()(c,"default",Sp);e!==Sp&&e!==s&&(t===s?i[o]=e:!0===id()(u,"readOnly")&&(i[o]=void 0));const r=id()(u,"const",Sp),n=id()(c,"const",Sp);r!==Sp&&r!==s&&(i[o]=n===s?r:void 0)}})),o={..."string"==typeof a||Array.isArray(a)?void 0:a,...i,...l}}else if("array"===id()(n,"type")&&"array"===id()(r,"type")&&Array.isArray(a)){let i=id()(n,"items"),s=id()(r,"items");if("object"!==typeof i||"object"!==typeof s||Array.isArray(i)||Array.isArray(s))"boolean"===typeof i&&"boolean"===typeof s&&i===s&&(o=a);else{gd()(i,qu)&&(i=Qd(e,i,t,a)),gd()(s,qu)&&(s=Qd(e,s,t,a));const n=id()(i,"type"),l=id()(s,"type");if(!n||n===l){const n=id()(r,"maxItems",-1);o="object"===l?a.reduce(((r,o)=>{const a=Ap(e,t,s,i,o);return void 0!==a&&(n<0||r.length0&&a.length>n?a.slice(0,n):a}}}return o}function kp(e,t,r,n,o,a,i){let s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:[],l=arguments.length>8?arguments[8]:void 0;if(qu in t||Tu in t||Ru in t){const c=Qd(e,t,a,i);if(-1===s.findIndex((e=>Rd()(e,c))))return kp(e,c,r,n,o,a,i,s.concat(c),l)}if(Lu in t&&!id()(t,[Lu,qu]))return kp(e,id()(t,Lu),r,n,o,a,i,s,l);const c={$id:o||r};if("object"===Kd(t)&&Vu in t)for(const u in t.properties){const o=id()(t,[Vu,u]),d=c[Du]+n+u;c[u]=kp(e,Eu(o)?o:{},r,n,d,a,id()(i,[u]),s,l)}return c}function $p(e,t,r,n,o){return kp(e,t,arguments.length>5&&void 0!==arguments[5]?arguments[5]:"root",arguments.length>6&&void 0!==arguments[6]?arguments[6]:"_",r,n,o,void 0,arguments.length>7?arguments[7]:void 0)}function Cp(e,t,r,n,o){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[];if(qu in t||Tu in t||Ru in t){const i=Qd(e,t,n,o);if(-1===a.findIndex((e=>Rd()(e,i))))return Cp(e,i,r,n,o,a.concat(i))}let i={[Bu]:r.replace(/^\./,"")};if(Wu in t||Ou in t){const s=Wu in t?t.oneOf:t.anyOf,l=Ud(t),c=s[sp(e,n,o,s,0,l)];i={...i,...Cp(e,c,r,n,o,a)}}if(Pu in t&&!1!==t[Pu]&&Nd()(i,Gu,!0),Lu in t&&Array.isArray(o)){const{items:s,additionalItems:l}=t;Array.isArray(s)?o.forEach(((t,o)=>{s[o]?i[o]=Cp(e,s[o],`${r}.${o}`,n,t,a):l?i[o]=Cp(e,l,`${r}.${o}`,n,t,a):console.warn(`Unable to generate path schema for "${r}.${o}". No schema defined for it`)})):o.forEach(((t,o)=>{i[o]=Cp(e,s,`${r}.${o}`,n,t,a)}))}else if(Vu in t)for(const s in t.properties){const l=id()(t,[Vu,s]);i[s]=Cp(e,l,`${r}.${s}`,n,id()(o,[s]),a)}return i}function Ep(e,t){return Cp(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",arguments.length>3?arguments[3]:void 0,arguments.length>4?arguments[4]:void 0)}class jp{constructor(e,t,r,n){this.rootSchema=t,this.validator=e,this.experimental_defaultFormStateBehavior=r,this.experimental_customMergeAllOf=n}getValidator(){return this.validator}doesSchemaUtilsDiffer(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0;return!(!e||!t)&&(this.validator!==e||!od(this.rootSchema,t)||!od(this.experimental_defaultFormStateBehavior,r)||this.experimental_customMergeAllOf!==n)}getDefaultFormState(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return bp(this.validator,e,t,this.rootSchema,r,this.experimental_defaultFormStateBehavior,this.experimental_customMergeAllOf)}getDisplayLabel(e,t,r){return function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0;const o=Yu(r,arguments.length>4?arguments[4]:void 0),{label:a=!0}=o;let i=!!a;const s=Kd(t);return"array"===s&&(i=fp(e,t,n)||wp(e,t,r,n)||xp(r)),"object"===s&&(i=!1),"boolean"!==s||r[Xu]||(i=!1),r["ui:field"]&&(i=!1),i}(this.validator,e,t,this.rootSchema,r)}getClosestMatchingOption(e,t,r,n){return sp(this.validator,this.rootSchema,e,t,r,n)}getFirstMatchingOption(e,t,r){return _d(this.validator,e,t,this.rootSchema,r)}getMatchingOption(e,t,r){return jd(this.validator,e,t,this.rootSchema,r)}isFilesArray(e,t){return wp(this.validator,e,t,this.rootSchema)}isMultiSelect(e){return fp(this.validator,e,this.rootSchema)}isSelect(e){return pp(this.validator,e,this.rootSchema)}mergeValidationData(e,t){return function(e,t,r){if(!r)return t;const{errors:n,errorSchema:o}=t;let a=e.toErrorList(r),i=r;return ld()(o)||(i=up(o,r,!0),a=[...n].concat(a)),{errorSchema:i,errors:a}}(this.validator,e,t)}retrieveSchema(e,t){return Qd(this.validator,e,this.rootSchema,t,this.experimental_customMergeAllOf)}sanitizeDataForNewSchema(e,t,r){return Ap(this.validator,this.rootSchema,e,t,r)}toIdSchema(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"root",o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"_";return $p(this.validator,e,t,this.rootSchema,r,n,o,this.experimental_customMergeAllOf)}toPathSchema(e,t,r){return Ep(this.validator,e,t,this.rootSchema,r)}}function _p(e,t){let r=String(e);for(;r.length 0, got one of each`);if(e>t)return Pp(t,e).reverse();const r=[];for(let n=e;n<=t;n++)r.push({value:n,label:_p(n,2)});return r}function Rp(e,t){return function(e,t){let r=e;if(Array.isArray(t)){const e=r.split(/(%\d)/);t.forEach(((t,r)=>{const n=e.findIndex((e=>e===`%${r+1}`));n>=0&&(e[n]=t)})),r=e.join("")}return r}(e,t)}function Op(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0;if(Array.isArray(e))return e.map((e=>Op(e,t))).filter((e=>e!==r));const n=""===e||null===e?-1:Number(e),o=t[n];return o?o.value:r}function Np(e,t){const r=Op(e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:[]);return Array.isArray(t)?t.filter((e=>!Rd()(e,r))):Rd()(r,t)?void 0:t}function Mp(e,t){return Array.isArray(t)?t.some((t=>Rd()(t,e))):Rd()(t,e)}function Tp(e){let t=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]).map(((t,r)=>Mp(t.value,e)?String(r):void 0)).filter((e=>"undefined"!==typeof e));return t?r:r[0]}var Ip=r(79686),Fp=r.n(Ip);function Dp(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const n=Op(e,r);if(!Fp()(n)){const e=r.findIndex((e=>n===e.value)),o=r.map((e=>{let{value:t}=e;return t}));return t.slice(0,e).concat(n,t.slice(e)).sort(((e,t)=>Number(o.indexOf(e)>o.indexOf(t))))}return t}var zp=r(56434),Lp=r.n(zp),Bp=r(929),Wp=r.n(Bp);class Vp{constructor(e){this.errorSchema={},this.resetAllErrors(e)}get ErrorSchema(){return this.errorSchema}getOrCreateErrorBlock(e){let t=Array.isArray(e)&&e.length>0||"string"===typeof e?id()(this.errorSchema,e):this.errorSchema;return!t&&e&&(t={},Wp()(this.errorSchema,e,t,Object)),t}resetAllErrors(e){return this.errorSchema=e?Lp()(e):{},this}addErrors(e,t){const r=this.getOrCreateErrorBlock(t);let n=id()(r,Fu);return Array.isArray(n)||(n=[],r[Fu]=n),Array.isArray(e)?n.push(...e):n.push(e),this}setErrors(e,t){const r=this.getOrCreateErrorBlock(t),n=Array.isArray(e)?[...e]:[e];return Nd()(r,Fu,n),this}clearErrors(e){const t=this.getOrCreateErrorBlock(e);return Nd()(t,Fu,[]),this}}function Up(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[1900,(new Date).getFullYear()+2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"YMD";const{day:o,month:a,year:i,hour:s,minute:l,second:c}=e,u={type:"day",range:[1,31],value:o},d={type:"month",range:[1,12],value:a},p={type:"year",range:r,value:i},f=[];switch(n){case"MDY":f.push(d,u,p);break;case"DMY":f.push(u,d,p);break;default:f.push(p,d,u)}return t&&f.push({type:"hour",range:[0,23],value:s},{type:"minute",range:[0,59],value:l},{type:"second",range:[0,59],value:c}),f}function Hp(e){const t={};return e.multipleOf&&(t.step=e.multipleOf),(e.minimum||0===e.minimum)&&(t.min=e.minimum),(e.maximum||0===e.maximum)&&(t.max=e.maximum),t}function qp(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const o={type:t||"text",...Hp(e)};return r.inputType?o.type=r.inputType:t||("number"===e.type?(o.type="number",n&&void 0===o.step&&(o.step="any")):"integer"===e.type&&(o.type="number",void 0===o.step&&(o.step=1))),r.autocomplete&&(o.autoComplete=r.autocomplete),o}const Gp={props:{disabled:!1},submitText:"Submit",norender:!1};function Kp(){const e=Yu(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{});if(e&&e[Hu]){const t=e[Hu];return{...Gp,...t}}return Gp}function Xp(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{templates:n}=t;return"ButtonTemplates"===e?n[e]:r[e]||n[e]}var Qp=r(31697);const Yp={boolean:{checkbox:"CheckboxWidget",radio:"RadioWidget",select:"SelectWidget",hidden:"HiddenWidget"},string:{text:"TextWidget",password:"PasswordWidget",email:"EmailWidget",hostname:"TextWidget",ipv4:"TextWidget",ipv6:"TextWidget",uri:"URLWidget","data-url":"FileWidget",radio:"RadioWidget",select:"SelectWidget",textarea:"TextareaWidget",hidden:"HiddenWidget",date:"DateWidget",datetime:"DateTimeWidget","date-time":"DateTimeWidget","alt-date":"AltDateWidget","alt-datetime":"AltDateTimeWidget",time:"TimeWidget",color:"ColorWidget",file:"FileWidget"},number:{text:"TextWidget",select:"SelectWidget",updown:"UpDownWidget",range:"RangeWidget",radio:"RadioWidget",hidden:"HiddenWidget"},integer:{text:"TextWidget",select:"SelectWidget",updown:"UpDownWidget",range:"RangeWidget",radio:"RadioWidget",hidden:"HiddenWidget"},array:{select:"SelectWidget",checkboxes:"CheckboxesWidget",files:"FileWidget",hidden:"HiddenWidget"}};function Jp(e,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o=Kd(e);if("function"===typeof r||r&&Qp.isForwardRef((0,t.createElement)(r))||Qp.isMemo(r))return function(e){let t=id()(e,"MergedWidget");if(!t){const r=e.defaultProps&&e.defaultProps.options||{};t=t=>{let{options:n,...o}=t;return(0,De.jsx)(e,{options:{...r,...n},...o})},Nd()(e,"MergedWidget",t)}return t}(r);if("string"!==typeof r)throw new Error("Unsupported widget definition: "+typeof r);if(r in n){return Jp(e,n[r],n)}if("string"===typeof o){if(!(o in Yp))throw new Error(`No widget for type '${o}'`);if(r in Yp[o]){return Jp(e,n[Yp[o][r]],n)}}throw new Error(`No widget '${r}' for type '${o}'`)}function Zp(e,t){return`${Sd()(e)?e:e[Du]}__${t}`}function ef(e){return Zp(e,"description")}function tf(e){return Zp(e,"error")}function rf(e){return Zp(e,"examples")}function nf(e){return Zp(e,"help")}function of(e){return Zp(e,"title")}function af(e){const t=arguments.length>1&&void 0!==arguments[1]&&arguments[1]?` ${rf(e)}`:"";return`${tf(e)} ${ef(e)} ${nf(e)}${t}`}function sf(e,t){return`${e}-${t}`}function lf(e,t,r){return t?r:e}function cf(e,t){const r=e;if(e.enum){let n;if(t){const{enumNames:e}=Yu(t);n=e}return!n&&r.enumNames&&(n=r.enumNames),e.enum.map(((e,t)=>({label:(null===n||void 0===n?void 0:n[t])||String(e),value:e})))}let n,o;return e.anyOf?(n=e.anyOf,o=null===t||void 0===t?void 0:t.anyOf):e.oneOf&&(n=e.oneOf,o=null===t||void 0===t?void 0:t.oneOf),n&&n.map(((e,t)=>{const{title:r}=Yu(null===o||void 0===o?void 0:o[t]),n=e,a=function(e){if(Iu in e&&Array.isArray(e.enum)&&1===e.enum.length)return e.enum[0];if(Nu in e)return e.const;throw new Error("schema cannot be inferred as a constant")}(n);return{schema:n,label:r||n.title||String(a),value:a}}))}function uf(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!e)return{year:-1,month:-1,day:-1,hour:t?-1:0,minute:t?-1:0,second:t?-1:0};const r=new Date(e);if(Number.isNaN(r.getTime()))throw new Error("Unable to parse date "+e);return{year:r.getUTCFullYear(),month:r.getUTCMonth()+1,day:r.getUTCDate(),hour:t?r.getUTCHours():0,minute:t?r.getUTCMinutes():0,second:t?r.getUTCSeconds():0}}function df(e){if(e.const)return!0;if(e.enum&&1===e.enum.length&&!0===e.enum[0])return!0;if(e.anyOf&&1===e.anyOf.length)return df(e.anyOf[0]);if(e.oneOf&&1===e.oneOf.length)return df(e.oneOf[0]);if(e.allOf){const t=e=>df(e);return e.allOf.some(t)}return!1}function pf(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const{year:r,month:n,day:o,hour:a=0,minute:i=0,second:s=0}=e,l=Date.UTC(r,n-1,o,a,i,s),c=new Date(l).toJSON();return t?c:c.slice(0,10)}function ff(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e)return[];let r=[];return Fu in e&&(r=r.concat(e[Fu].map((e=>{const r=`.${t.join(".")}`;return{property:r,message:e,stack:`${r} ${e}`}})))),Object.keys(e).reduce(((r,n)=>{if(n!==Fu){const o=e[n];ed()(o)&&(r=r.concat(ff(o,[...t,n])))}return r}),r)}var hf,mf=r(615),gf=r.n(mf);function vf(e){return Object.keys(e).reduce(((t,r)=>{if("addError"===r)return t;{const n=e[r];return ed()(n)?{...t,[r]:vf(n)}:{...t,[r]:n}}}),{})}function yf(e){if(!e)return"";const t=new Date(e);return`${_p(t.getFullYear(),4)}-${_p(t.getMonth()+1,2)}-${_p(t.getDate(),2)}T${_p(t.getHours(),2)}:${_p(t.getMinutes(),2)}:${_p(t.getSeconds(),2)}.${_p(t.getMilliseconds(),3)}`}function bf(e,t){if(!t)return e;const{errors:r,errorSchema:n}=e;let o=ff(t),a=t;return ld()(n)||(a=up(n,t,!0),o=[...r].concat(o)),{errorSchema:a,errors:o}}function xf(e){return Array.isArray(e)?function(e){for(let t=0;t0&&void 0!==arguments[0]?arguments[0]:21;return crypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>e+=(t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t>62?"-":"_"),"")};function Cf(){return $f()}function Ef(e){return Array.isArray(e)?e.map((e=>({key:Cf(),item:e}))):[]}function jf(e){return Array.isArray(e)?e.map((e=>e.item)):[]}class _f extends t.Component{constructor(e){super(e),this._getNewFormDataRow=()=>{const{schema:e,registry:t}=this.props,{schemaUtils:r}=t;let n=e.items;return lp(e)&&function(e){return!0===e.additionalItems&&console.warn("additionalItems=true is currently not supported"),Eu(e.additionalItems)}(e)&&(n=e.additionalItems),r.getDefaultFormState(n)},this.onAddClick=e=>{this._handleAddClick(e)},this.onAddIndexClick=e=>t=>{this._handleAddClick(t,e)},this.onCopyIndexClick=e=>t=>{t&&t.preventDefault();const{onChange:r,errorSchema:n}=this.props,{keyedFormData:o}=this.state;let a;if(n){a={};for(const t in n){const r=parseInt(t);r<=e?Nd()(a,[r],n[t]):r>e&&Nd()(a,[r+1],n[t])}}const i={key:Cf(),item:Lp()(o[e].item)},s=[...o];void 0!==e?s.splice(e+1,0,i):s.push(i),this.setState({keyedFormData:s,updatedKeyedFormData:!0},(()=>r(jf(s),a)))},this.onDropIndexClick=e=>t=>{t&&t.preventDefault();const{onChange:r,errorSchema:n}=this.props,{keyedFormData:o}=this.state;let a;if(n){a={};for(const t in n){const r=parseInt(t);re&&Nd()(a,[r-1],n[t])}}const i=o.filter(((t,r)=>r!==e));this.setState({keyedFormData:i,updatedKeyedFormData:!0},(()=>r(jf(i),a)))},this.onReorderClick=(e,t)=>r=>{r&&(r.preventDefault(),r.currentTarget.blur());const{onChange:n,errorSchema:o}=this.props;let a;if(o){a={};for(const r in o){const n=parseInt(r);n==e?Nd()(a,[t],o[e]):n==t?Nd()(a,[e],o[t]):Nd()(a,[r],o[n])}}const{keyedFormData:i}=this.state;const s=function(){const r=i.slice();return r.splice(e,1),r.splice(t,0,i[e]),r}();this.setState({keyedFormData:s},(()=>n(jf(s),a)))},this.onChangeForIndex=e=>(t,r,n)=>{const{formData:o,onChange:a,errorSchema:i}=this.props,s=(Array.isArray(o)?o:[]).map(((r,n)=>e===n?"undefined"===typeof t?null:t:r));a(s,i&&i&&{...i,[e]:r},n)},this.onSelectChange=e=>{const{onChange:t,idSchema:r}=this.props;t(e,void 0,r&&r.$id)};const{formData:t=[]}=e,r=Ef(t);this.state={keyedFormData:r,updatedKeyedFormData:!1}}static getDerivedStateFromProps(e,t){if(t.updatedKeyedFormData)return{updatedKeyedFormData:!1};const r=Array.isArray(e.formData)?e.formData:[],n=t.keyedFormData||[];return{keyedFormData:r.length===n.length?n.map(((e,t)=>({key:e.key,item:r[t]}))):Ef(r)}}get itemTitle(){const{schema:e,registry:t}=this.props,{translateString:r}=t;return id()(e,[Lu,"title"],id()(e,[Lu,"description"],r(hf.ArrayItemTitle)))}isItemRequired(e){return Array.isArray(e.type)?!e.type.includes("null"):"null"!==e.type}canAddItem(e){const{schema:t,uiSchema:r,registry:n}=this.props;let{addable:o}=Yu(r,n.globalUiOptions);return!1!==o&&(o=void 0===t.maxItems||e.length=t&&Nd()(a,[r+1],n[e])}}const i={key:Cf(),item:this._getNewFormDataRow()},s=[...o];void 0!==t?s.splice(t,0,i):s.push(i),this.setState({keyedFormData:s,updatedKeyedFormData:!0},(()=>r(jf(s),a)))}render(){const{schema:e,uiSchema:t,idSchema:r,registry:n}=this.props,{schemaUtils:o,translateString:a}=n;if(!(Lu in e)){const o=Xp("UnsupportedFieldTemplate",n,Yu(t));return(0,De.jsx)(o,{schema:e,idSchema:r,reason:a(hf.MissingItems),registry:n})}return o.isMultiSelect(e)?this.renderMultiSelect():xp(t)?this.renderCustomWidget():lp(e)?this.renderFixedArray():o.isFilesArray(e,t)?this.renderFiles():this.renderNormalArray()}renderNormalArray(){const{schema:e,uiSchema:t={},errorSchema:r,idSchema:n,name:o,title:a,disabled:i=!1,readonly:s=!1,autofocus:l=!1,required:c=!1,registry:u,onBlur:d,onFocus:p,idPrefix:f,idSeparator:h="_",rawErrors:m}=this.props,{keyedFormData:g}=this.state,v=e.title||a||o,{schemaUtils:y,formContext:b}=u,x=Yu(t),w=xd()(e.items)?e.items:{},S=y.retrieveSchema(w),A=jf(this.state.keyedFormData),k=this.canAddItem(A),$={canAdd:k,items:g.map(((e,a)=>{const{key:i,item:s}=e,c=s,u=y.retrieveSchema(w,c),b=r?r[a]:void 0,x=n.$id+h+a,S=y.toIdSchema(u,x,c,f,h);return this.renderArrayFieldItem({key:i,index:a,name:o&&`${o}-${a}`,title:v?`${v}-${a+1}`:void 0,canAdd:k,canMoveUp:a>0,canMoveDown:aw.retrieveSchema(e,r[t]))),k=xd()(e.additionalItems)?w.retrieveSchema(e.additionalItems,r):null;(!y||y.length{const{key:c,item:u}=r,p=u,f=l>=A.length,x=(f&&xd()(e.additionalItems)?w.retrieveSchema(e.additionalItems,p):A[l])||{},S=i.$id+a+l,k=w.toIdSchema(x,S,p,o,a),C=f?t.additionalItems||{}:Array.isArray(t.items)?t.items[l]:t.items||{},E=n?n[l]:void 0;return this.renderArrayFieldItem({key:c,index:l,name:s&&`${s}-${l}`,title:b?`${b}-${l+1}`:void 0,canAdd:$,canRemove:f,canMoveUp:l>=A.length+1,canMoveDown:f&&lM[e])),{children:(0,De.jsx)(P,{name:n,title:y,index:r,schema:l,uiSchema:u,formData:c,formContext:C,errorSchema:p,idPrefix:w,idSeparator:S,idSchema:d,required:this.isItemRequired(l),onChange:this.onChangeForIndex(r),onBlur:h,onFocus:m,registry:$,disabled:b,readonly:A,hideError:x,autofocus:f,rawErrors:g}),className:"array-item",disabled:b,canAdd:o,hasCopy:M.copy,hasToolbar:M.toolbar,hasMoveUp:M.moveUp,hasMoveDown:M.moveDown,hasRemove:M.remove,index:r,totalItems:v,key:t,onAddIndexClick:this.onAddIndexClick,onCopyIndexClick:this.onCopyIndexClick,onDropIndexClick:this.onDropIndexClick,onReorderClick:this.onReorderClick,readonly:A,registry:$,schema:l,uiSchema:u}}}const Pf=_f;const Rf=function(e){var t,r,n;const{schema:o,name:a,uiSchema:i,idSchema:s,formData:l,registry:c,required:u,disabled:d,readonly:p,hideError:f,autofocus:h,title:m,onChange:g,onFocus:v,onBlur:y,rawErrors:b}=e,{title:x}=o,{widgets:w,formContext:S,translateString:A,globalUiOptions:k}=c,{widget:$="checkbox",title:C,label:E=!0,...j}=Yu(i,k),_=Jp(o,$,w),P=A(hf.YesLabel),R=A(hf.NoLabel);let O;const N=null!==(r=null!==(t=null!==C&&void 0!==C?C:x)&&void 0!==t?t:m)&&void 0!==r?r:a;if(Array.isArray(o.oneOf))O=cf({oneOf:o.oneOf.map((e=>{if(xd()(e))return{...e,title:e.title||(!0===e.const?P:R)}})).filter((e=>e))},i);else{const e=o,t=null!==(n=o.enum)&&void 0!==n?n:[!0,!1];O=!e.enumNames&&2===t.length&&t.every((e=>"boolean"===typeof e))?[{value:t[0],label:t[0]?P:R},{value:t[1],label:t[1]?P:R}]:cf({enum:t,enumNames:e.enumNames},i)}return(0,De.jsx)(_,{options:{...j,enumOptions:O},schema:o,uiSchema:i,id:s.$id,name:a,onChange:g,onFocus:v,onBlur:y,label:N,hideLabel:!E,value:l,required:u,disabled:d,readonly:p,hideError:f,registry:c,formContext:S,autofocus:h,rawErrors:b})};class Of extends t.Component{constructor(e){super(e),this.onOptionChange=e=>{const{selectedOption:t,retrievedOptions:r}=this.state,{formData:n,onChange:o,registry:a}=this.props,{schemaUtils:i}=a,s=void 0!==e?parseInt(e,10):-1;if(s===t)return;const l=s>=0?r[s]:void 0,c=t>=0?r[t]:void 0;let u=i.sanitizeDataForNewSchema(l,c,n);u&&l&&(u=i.getDefaultFormState(l,u,"excludeObjectChildren")),this.setState({selectedOption:s},(()=>{o(u,void 0,this.getFieldId())}))};const{formData:t,options:r,registry:{schemaUtils:n}}=this.props,o=r.map((e=>n.retrieveSchema(e,t)));this.state={retrievedOptions:o,selectedOption:this.getMatchingOption(0,t,o)}}componentDidUpdate(e,t){const{formData:r,options:n,idSchema:o}=this.props,{selectedOption:a}=this.state;let i=this.state;if(!od(e.options,n)){const{registry:{schemaUtils:e}}=this.props;i={selectedOption:a,retrievedOptions:n.map((t=>e.retrieveSchema(t,r)))}}if(!od(r,e.formData)&&o.$id===e.idSchema.$id){const{retrievedOptions:e}=i,n=this.getMatchingOption(a,r,e);t&&n!==a&&(i={selectedOption:n,retrievedOptions:e})}i!==this.state&&this.setState(i)}getMatchingOption(e,t,r){const{schema:n,registry:{schemaUtils:o}}=this.props,a=Ud(n);return o.getClosestMatchingOption(t,r,e,a)}getFieldId(){const{idSchema:e,schema:t}=this.props;return`${e.$id}${t.oneOf?"__oneof_select":"__anyof_select"}`}render(){const{name:e,disabled:t=!1,errorSchema:r={},formContext:n,onBlur:o,onFocus:a,registry:i,schema:s,uiSchema:l}=this.props,{widgets:c,fields:u,translateString:d,globalUiOptions:p,schemaUtils:f}=i,{SchemaField:h}=u,{selectedOption:m,retrievedOptions:g}=this.state,{widget:v="select",placeholder:y,autofocus:b,autocomplete:x,title:w=s.title,...S}=Yu(l,p),A=Jp({type:"number"},v,c),k=id()(r,Fu,[]),$=dd()(r,[Fu]),C=f.getDisplayLabel(s,l,p),E=m>=0&&g[m]||null;let j;if(E){const{required:e}=s;j=e?Xd({required:e},E):E}let _=[];Wu in s&&l&&Wu in l?Array.isArray(l[Wu])?_=l[Wu]:console.warn(`uiSchema.oneOf is not an array for "${w||e}"`):Ou in s&&l&&Ou in l&&(Array.isArray(l[Ou])?_=l[Ou]:console.warn(`uiSchema.anyOf is not an array for "${w||e}"`));let P=l;m>=0&&_.length>m&&(P=_[m]);const R=w?hf.TitleOptionPrefix:hf.OptionPrefix,O=w?[w]:[],N=g.map(((e,t)=>{const{title:r=e.title}=Yu(_[t]);return{label:r||d(R,O.concat(String(t+1))),value:t}}));return(0,De.jsxs)("div",{className:"panel panel-default panel-body",children:[(0,De.jsx)("div",{className:"form-group",children:(0,De.jsx)(A,{id:this.getFieldId(),name:`${e}${s.oneOf?"__oneof_select":"__anyof_select"}`,schema:{type:"number",default:0},onChange:this.onOptionChange,onBlur:o,onFocus:a,disabled:t||ld()(N),multiple:!1,rawErrors:k,errorSchema:$,value:m>=0?m:void 0,options:{enumOptions:N,...S},registry:i,formContext:n,placeholder:y,autocomplete:x,autofocus:b,label:null!==w&&void 0!==w?w:e,hideLabel:!C})}),j&&(0,De.jsx)(h,{...this.props,schema:j,uiSchema:P})]})}}const Nf=Of,Mf=/\.([0-9]*0)*$/,Tf=/[0.]0*$/;const If=function(e){const{registry:r,onChange:n,formData:o,value:a}=e,[i,s]=(0,t.useState)(a),{StringField:l}=r.fields;let c=o;const u=(0,t.useCallback)((e=>{s(e),"."===`${e}`.charAt(0)&&(e=`0${e}`);const t="string"===typeof e&&e.match(Mf)?ju(e.replace(Tf,"")):ju(e);n(t)}),[n]);if("string"===typeof i&&"number"===typeof c){const e=new RegExp(`^(${String(c).replace(".","\\.")})?\\.?0*$`);i.match(e)&&(c=i)}return(0,De.jsx)(l,{...e,formData:c,onChange:u})};function Ff(){return Ff=Object.assign?Object.assign.bind():function(e){for(var t=1;t(e[t.toLowerCase()]=t,e)),{for:"htmlFor"}),Vf={amp:"&",apos:"'",gt:">",lt:"<",nbsp:"\xa0",quot:"\u201c"},Uf=["style","script"],Hf=/([-A-Z0-9_:]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|(?:\{((?:\\.|{[^}]*?}|[^}])*)\})))?/gi,qf=/mailto:/i,Gf=/\n{2,}$/,Kf=/^(\s*>[\s\S]*?)(?=\n{2,})/,Xf=/^ *> ?/gm,Qf=/^ {2,}\n/,Yf=/^(?:( *[-*_])){3,} *(?:\n *)+\n/,Jf=/^\s*(`{3,}|~{3,}) *(\S+)?([^\n]*?)?\n([\s\S]+?)\s*\1 *(?:\n *)*\n?/,Zf=/^(?: {4}[^\n]+\n*)+(?:\n *)+\n?/,eh=/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,th=/^(?:\n *)*\n/,rh=/\r\n?/g,nh=/^\[\^([^\]]+)](:(.*)((\n+ {4,}.*)|(\n(?!\[\^).+))*)/,oh=/^\[\^([^\]]+)]/,ah=/\f/g,ih=/^---[ \t]*\n(.|\n)*\n---[ \t]*\n/,sh=/^\s*?\[(x|\s)\]/,lh=/^ *(#{1,6}) *([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,ch=/^ *(#{1,6}) +([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,uh=/^([^\n]+)\n *(=|-){3,} *(?:\n *)+\n/,dh=/^ *(?!<[a-z][^ >/]* ?\/>)<([a-z][^ >/]*) ?((?:[^>]*[^/])?)>\n?(\s*(?:<\1[^>]*?>[\s\S]*?<\/\1>|(?!<\1\b)[\s\S])*?)<\/\1>(?!<\/\1>)\n*/i,ph=/&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-fA-F]{1,6});/gi,fh=/^)/,hh=/^(data|aria|x)-[a-z_][a-z\d_.-]*$/,mh=/^ *<([a-z][a-z0-9:]*)(?:\s+((?:<.*?>|[^>])*))?\/?>(?!<\/\1>)(\s*\n)?/i,gh=/^\{.*\}$/,vh=/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,yh=/^<([^ >]+@[^ >]+)>/,bh=/^<([^ >]+:\/[^ >]+)>/,xh=/-([a-z])?/gi,wh=/^(.*\|.*)\n(?: *(\|? *[-:]+ *\|[-| :]*)\n((?:.*\|.*\n)*))?\n?/,Sh=/^\[([^\]]*)\]:\s+]+)>?\s*("([^"]*)")?/,Ah=/^!\[([^\]]*)\] ?\[([^\]]*)\]/,kh=/^\[([^\]]*)\] ?\[([^\]]*)\]/,$h=/(\[|\])/g,Ch=/(\n|^[-*]\s|^#|^ {2,}|^-{2,}|^>\s)/,Eh=/\t/g,jh=/(^ *\||\| *$)/g,_h=/^ *:-+: *$/,Ph=/^ *:-+ *$/,Rh=/^ *-+: *$/,Oh="((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~~.*?~~|==.*?==|.|\\n)*?)",Nh=new RegExp(`^([*_])\\1${Oh}\\1\\1(?!\\1)`),Mh=new RegExp(`^([*_])${Oh}\\1(?!\\1|\\w)`),Th=new RegExp(`^==${Oh}==`),Ih=new RegExp(`^~~${Oh}~~`),Fh=/^\\([^0-9A-Za-z\s])/,Dh=/^[\s\S]+?(?=[^0-9A-Z\s\u00c0-\uffff&#;.()'"]|\d+\.|\n\n| {2,}\n|\w+:\S|$)/i,zh=/^\n+/,Lh=/^([ \t]*)/,Bh=/\\([^\\])/g,Wh=/ *\n+$/,Vh=/(?:^|\n)( *)$/,Uh="(?:\\d+\\.)",Hh="(?:[*+-])";function qh(e){return"( *)("+(1===e?Uh:Hh)+") +"}const Gh=qh(1),Kh=qh(2);function Xh(e){return new RegExp("^"+(1===e?Gh:Kh))}const Qh=Xh(1),Yh=Xh(2);function Jh(e){return new RegExp("^"+(1===e?Gh:Kh)+"[^\\n]*(?:\\n(?!\\1"+(1===e?Uh:Hh)+" )[^\\n]*)*(\\n|$)","gm")}const Zh=Jh(1),em=Jh(2);function tm(e){const t=1===e?Uh:Hh;return new RegExp("^( *)("+t+") [\\s\\S]+?(?:\\n{2,}(?! )(?!\\1"+t+" (?!"+t+" ))\\n*|\\s*\\n*$)")}const rm=tm(1),nm=tm(2);function om(e,t){const r=1===t,n=r?rm:nm,o=r?Zh:em,a=r?Qh:Yh;return{match(e,t,r){const o=Vh.exec(r);return o&&(t.list||!t.inline&&!t.simple)?n.exec(e=o[1]+e):null},order:1,parse(e,t,n){const i=r?+e[2]:void 0,s=e[0].replace(Gf,"\n").match(o);let l=!1;return{items:s.map((function(e,r){const o=a.exec(e)[0].length,i=new RegExp("^ {1,"+o+"}","gm"),c=e.replace(i,"").replace(a,""),u=r===s.length-1,d=-1!==c.indexOf("\n\n")||u&&l;l=d;const p=n.inline,f=n.list;let h;n.list=!0,d?(n.inline=!1,h=c.replace(Wh,"\n\n")):(n.inline=!0,h=c.replace(Wh,""));const m=t(h,n);return n.inline=p,n.list=f,m})),ordered:r,start:i}},render:(t,r,n)=>e(t.ordered?"ol":"ul",{key:n.key,start:"20"===t.type?t.start:void 0},t.items.map((function(t,o){return e("li",{key:o},r(t,n))})))}}const am=new RegExp("^\\[((?:\\[[^\\]]*\\]|[^\\[\\]]|\\](?=[^\\[]*\\]))*)\\]\\(\\s*?(?:\\s+['\"]([\\s\\S]*?)['\"])?\\s*\\)"),im=/^!\[(.*?)\]\( *((?:\([^)]*\)|[^() ])*) *"?([^)"]*)?"?\)/,sm=[Kf,Jf,Zf,lh,uh,ch,fh,wh,Zh,rm,em,nm],lm=[...sm,/^[^\n]+(?: \n|\n{2,})/,dh,mh];function cm(e){return e.replace(/[\xc0\xc1\xc2\xc3\xc4\xc5\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xc6]/g,"a").replace(/[\xe7\xc7]/g,"c").replace(/[\xf0\xd0]/g,"d").replace(/[\xc8\xc9\xca\xcb\xe9\xe8\xea\xeb]/g,"e").replace(/[\xcf\xef\xce\xee\xcd\xed\xcc\xec]/g,"i").replace(/[\xd1\xf1]/g,"n").replace(/[\xf8\xd8\u0153\u0152\xd5\xf5\xd4\xf4\xd3\xf3\xd2\xf2]/g,"o").replace(/[\xdc\xfc\xdb\xfb\xda\xfa\xd9\xf9]/g,"u").replace(/[\u0178\xff\xdd\xfd]/g,"y").replace(/[^a-z0-9- ]/gi,"").replace(/ /gi,"-").toLowerCase()}function um(e){return Rh.test(e)?"right":_h.test(e)?"center":Ph.test(e)?"left":null}function dm(e,t,r,n){const o=r.inTable;r.inTable=!0;let a=e.trim().split(/( *(?:`[^`]*`|<.*?>.*?<\/.*?>(?!<\/.*?>)|\\\||\|) *)/).reduce(((e,o)=>("|"===o.trim()?e.push(n?{type:"26"}:{type:"27",text:o}):""!==o&&e.push.apply(e,t(o,r)),e)),[]);r.inTable=o;let i=[[]];return a.forEach((function(e,t){"26"===e.type?0!==t&&t!==a.length-1&&i.push([]):("27"!==e.type||null!=a[t+1]&&"26"!==a[t+1].type||(e.text=e.text.trimEnd()),i[i.length-1].push(e))})),i}function pm(e,t,r){r.inline=!0;const n=e[2]?e[2].replace(jh,"").split("|").map(um):[],o=e[3]?function(e,t,r){return e.trim().split("\n").map((function(e){return dm(e,t,r,!0)}))}(e[3],t,r):[],a=dm(e[1],t,r,!!o.length);return r.inline=!1,o.length?{align:n,cells:o,header:a,type:"25"}:{children:a,type:"21"}}function fm(e,t){return null==e.align[t]?{}:{textAlign:e.align[t]}}function hm(e){return function(t,r){return r.inline?e.exec(t):null}}function mm(e){return function(t,r){return r.inline||r.simple?e.exec(t):null}}function gm(e){return function(t,r){return r.inline||r.simple?null:e.exec(t)}}function vm(e){return function(t){return e.exec(t)}}function ym(e,t,r){if(t.inline||t.simple)return null;if(r&&!r.endsWith("\n"))return null;let n="";e.split("\n").every((e=>!sm.some((t=>t.test(e)))&&(n+=e+"\n",e.trim())));const o=n.trimEnd();return""==o?null:[n,o]}function bm(e){try{if(decodeURIComponent(e).replace(/[^A-Za-z0-9/:]/g,"").match(/^\s*(javascript|vbscript|data(?!:image)):/i))return}catch(e){return null}return e}function xm(e){return e.replace(Bh,"$1")}function wm(e,t,r){const n=r.inline||!1,o=r.simple||!1;r.inline=!0,r.simple=!0;const a=e(t,r);return r.inline=n,r.simple=o,a}function Sm(e,t,r){const n=r.inline||!1,o=r.simple||!1;r.inline=!1,r.simple=!0;const a=e(t,r);return r.inline=n,r.simple=o,a}function Am(e,t,r){const n=r.inline||!1;r.inline=!1;const o=e(t,r);return r.inline=n,o}const km=(e,t,r)=>({children:wm(t,e[1],r)});function $m(){return{}}function Cm(){return null}function Em(){for(var e=arguments.length,t=new Array(e),r=0;r0&&void 0!==arguments[0]?arguments[0]:"",r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r.overrides=r.overrides||{},r.slugify=r.slugify||cm,r.namedCodesToUnicode=r.namedCodesToUnicode?Ff({},Vf,r.namedCodesToUnicode):Vf;const n=r.createElement||t.createElement;function o(e,t){const o=jm(r.overrides,`${e}.props`,{});for(var a=arguments.length,i=new Array(a>2?a-2:0),s=2;s1||r.forceWrapper)s=a;else{if(1===a.length)return s=a[0],"string"==typeof s?o("span",{key:"outer"},s):s;s=null}return t.createElement(i,{key:"outer"},s)}function i(e){const r=e.match(Hf);return r?r.reduce((function(e,r,n){const o=r.indexOf("=");if(-1!==o){const i=function(e){return-1!==e.indexOf("-")&&null===e.match(hh)&&(e=e.replace(xh,(function(e,t){return t.toUpperCase()}))),e}(r.slice(0,o)).trim(),s=function(e){const t=e[0];return('"'===t||"'"===t)&&e.length>=2&&e[e.length-1]===t?e.slice(1,-1):e}(r.slice(o+1).trim()),l=Wf[i]||i,c=e[l]=function(e,t){return"style"===e?t.split(/;\s?/).reduce((function(e,t){const r=t.slice(0,t.indexOf(":"));return e[r.trim().replace(/(-[a-z])/g,(e=>e[1].toUpperCase()))]=t.slice(r.length+1).trim(),e}),{}):"href"===e||"src"===e?bm(t):(t.match(gh)&&(t=t.slice(1,t.length-1)),"true"===t||"false"!==t&&t)}(i,s);"string"==typeof c&&(dh.test(c)||mh.test(c))&&(e[l]=t.cloneElement(a(c.trim()),{key:n}))}else"style"!==r&&(e[Wf[r]||r]=!0);return e}),{}):null}const s=[],l={},c={0:{match:gm(Kf),order:1,parse:(e,t,r)=>({children:t(e[0].replace(Xf,""),r)}),render:(e,t,r)=>o("blockquote",{key:r.key},t(e.children,r))},1:{match:vm(Qf),order:1,parse:$m,render:(e,t,r)=>o("br",{key:r.key})},2:{match:gm(Yf),order:1,parse:$m,render:(e,t,r)=>o("hr",{key:r.key})},3:{match:gm(Zf),order:0,parse:e=>({lang:void 0,text:e[0].replace(/^ {4}/gm,"").replace(/\n+$/,"")}),render:(e,t,r)=>o("pre",{key:r.key},o("code",Ff({},e.attrs,{className:e.lang?`lang-${e.lang}`:""}),e.text))},4:{match:gm(Jf),order:0,parse:e=>({attrs:i(e[3]||""),lang:e[2]||void 0,text:e[4],type:"3"})},5:{match:mm(eh),order:3,parse:e=>({text:e[2]}),render:(e,t,r)=>o("code",{key:r.key},e.text)},6:{match:gm(nh),order:0,parse:e=>(s.push({footnote:e[2],identifier:e[1]}),{}),render:Cm},7:{match:hm(oh),order:1,parse:e=>({target:`#${r.slugify(e[1])}`,text:e[1]}),render:(e,t,r)=>o("a",{key:r.key,href:bm(e.target)},o("sup",{key:r.key},e.text))},8:{match:hm(sh),order:1,parse:e=>({completed:"x"===e[1].toLowerCase()}),render:(e,t,r)=>o("input",{checked:e.completed,key:r.key,readOnly:!0,type:"checkbox"})},9:{match:gm(r.enforceAtxHeadings?ch:lh),order:1,parse:(e,t,n)=>({children:wm(t,e[2],n),id:r.slugify(e[2]),level:e[1].length}),render:(e,t,r)=>o(`h${e.level}`,{id:e.id,key:r.key},t(e.children,r))},10:{match:gm(uh),order:0,parse:(e,t,r)=>({children:wm(t,e[1],r),level:"="===e[2]?1:2,type:"9"})},11:{match:vm(dh),order:1,parse(e,t,r){const[,n]=e[3].match(Lh),o=new RegExp(`^${n}`,"gm"),a=e[3].replace(o,""),s=(l=a,lm.some((e=>e.test(l)))?Am:wm);var l;const c=e[1].toLowerCase(),u=-1!==Uf.indexOf(c),d={attrs:i(e[2]),noInnerParse:u,tag:(u?c:e[1]).trim()};return r.inAnchor=r.inAnchor||"a"===c,u?d.text=e[3]:d.children=s(t,a,r),r.inAnchor=!1,d},render:(e,t,r)=>o(e.tag,Ff({key:r.key},e.attrs),e.text||t(e.children,r))},13:{match:vm(mh),order:1,parse:e=>({attrs:i(e[2]||""),tag:e[1].trim()}),render:(e,t,r)=>o(e.tag,Ff({},e.attrs,{key:r.key}))},12:{match:vm(fh),order:1,parse:()=>({}),render:Cm},14:{match:mm(im),order:1,parse:e=>({alt:e[1],target:xm(e[2]),title:e[3]}),render:(e,t,r)=>o("img",{key:r.key,alt:e.alt||void 0,title:e.title||void 0,src:bm(e.target)})},15:{match:hm(am),order:3,parse:(e,t,r)=>({children:Sm(t,e[1],r),target:xm(e[2]),title:e[3]}),render:(e,t,r)=>o("a",{key:r.key,href:bm(e.target),title:e.title},t(e.children,r))},16:{match:hm(bh),order:0,parse:e=>({children:[{text:e[1],type:"27"}],target:e[1],type:"15"})},17:{match:(e,t)=>t.inAnchor?null:hm(vh)(e,t),order:0,parse:e=>({children:[{text:e[1],type:"27"}],target:e[1],title:void 0,type:"15"})},18:{match:hm(yh),order:0,parse(e){let t=e[1],r=e[1];return qf.test(r)||(r="mailto:"+r),{children:[{text:t.replace("mailto:",""),type:"27"}],target:r,type:"15"}}},20:om(o,1),33:om(o,2),19:{match:gm(th),order:3,parse:$m,render:()=>"\n"},21:{match:ym,order:3,parse:km,render:(e,t,r)=>o("p",{key:r.key},t(e.children,r))},22:{match:hm(Sh),order:0,parse:e=>(l[e[1]]={target:e[2],title:e[4]},{}),render:Cm},23:{match:mm(Ah),order:0,parse:e=>({alt:e[1]||void 0,ref:e[2]}),render:(e,t,r)=>l[e.ref]?o("img",{key:r.key,alt:e.alt,src:bm(l[e.ref].target),title:l[e.ref].title}):null},24:{match:hm(kh),order:0,parse:(e,t,r)=>({children:t(e[1],r),fallbackChildren:t(e[0].replace($h,"\\$1"),r),ref:e[2]}),render:(e,t,r)=>l[e.ref]?o("a",{key:r.key,href:bm(l[e.ref].target),title:l[e.ref].title},t(e.children,r)):o("span",{key:r.key},t(e.fallbackChildren,r))},25:{match:gm(wh),order:1,parse:pm,render(e,t,r){const n=e;return o("table",{key:r.key},o("thead",null,o("tr",null,n.header.map((function(e,a){return o("th",{key:a,style:fm(n,a)},t(e,r))})))),o("tbody",null,n.cells.map((function(e,a){return o("tr",{key:a},e.map((function(e,a){return o("td",{key:a,style:fm(n,a)},t(e,r))})))}))))}},27:{match:vm(Dh),order:4,parse:e=>({text:e[0].replace(ph,((e,t)=>r.namedCodesToUnicode[t]?r.namedCodesToUnicode[t]:e))}),render:e=>e.text},28:{match:mm(Nh),order:2,parse:(e,t,r)=>({children:t(e[2],r)}),render:(e,t,r)=>o("strong",{key:r.key},t(e.children,r))},29:{match:mm(Mh),order:3,parse:(e,t,r)=>({children:t(e[2],r)}),render:(e,t,r)=>o("em",{key:r.key},t(e.children,r))},30:{match:mm(Fh),order:1,parse:e=>({text:e[1],type:"27"})},31:{match:mm(Th),order:3,parse:km,render:(e,t,r)=>o("mark",{key:r.key},t(e.children,r))},32:{match:mm(Ih),order:3,parse:km,render:(e,t,r)=>o("del",{key:r.key},t(e.children,r))}};!0===r.disableParsingRawHTML&&(delete c[11],delete c[13]);const u=function(e){let t=Object.keys(e);function r(n,o){let a=[],i="";for(;n;){let s=0;for(;sa(r,n,o)),r,n,o):a(r,n,o)}}(c,r.renderRule),function e(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Array.isArray(t)){const n=r.key,o=[];let a=!1;for(let i=0;i{let{children:r="",options:n}=e,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,Df);return t.cloneElement(_m(r,n),o)};var Rm=r(16940),Om=r.n(Rm);class Nm extends t.Component{constructor(){var e;super(...arguments),e=this,this.state={wasPropertyKeyModified:!1,additionalProperties:{}},this.onPropertyChange=function(t){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return(n,o,a)=>{const{formData:i,onChange:s,errorSchema:l}=e.props;void 0===n&&r&&(n="");s({...i,[t]:n},l&&l&&{...l,[t]:o},a)}},this.onDropPropertyClick=e=>t=>{t.preventDefault();const{onChange:r,formData:n}=this.props,o={...n};Om()(o,e),r(o)},this.getAvailableKey=(e,t)=>{const{uiSchema:r,registry:n}=this.props,{duplicateKeySuffixSeparator:o="-"}=Yu(r,n.globalUiOptions);let a=0,i=e;for(;gd()(t,i);)i=`${e}${o}${++a}`;return i},this.onKeyChange=e=>(t,r)=>{if(e===t)return;const{formData:n,onChange:o,errorSchema:a}=this.props;t=this.getAvailableKey(t,n);const i={...n},s={[e]:t},l=Object.keys(i).map((e=>({[s[e]||e]:i[e]}))),c=Object.assign({},...l);this.setState({wasPropertyKeyModified:!0}),o(c,a&&a&&{...a,[t]:r})},this.handleAddClick=e=>()=>{var t;if(!e.additionalProperties)return;const{formData:r,onChange:n,registry:o}=this.props,a={...r};let i,s,l;if(xd()(e.additionalProperties)){i=e.additionalProperties.type,s=e.additionalProperties.const,l=e.additionalProperties.default;let t=e.additionalProperties;if(qu in t){const{schemaUtils:e}=o;t=e.retrieveSchema({$ref:t[qu]},r),i=t.type,s=t.const,l=t.default}i||!(Ou in t)&&!(Wu in t)||(i="object")}const c=this.getAvailableKey("newKey",a),u=null!==(t=null!==s&&void 0!==s?s:l)&&void 0!==t?t:this.getDefaultValue(i);Nd()(a,c,u),n(a)}}isRequired(e){const{schema:t}=this.props;return Array.isArray(t.required)&&-1!==t.required.indexOf(e)}getDefaultValue(e){const{registry:{translateString:t}}=this.props;switch(e){case"array":return[];case"boolean":return!1;case"null":return null;case"number":return 0;case"object":return{};default:return t(hf.NewStringDefault)}}render(){var e,t,r,n;const{schema:o,uiSchema:a={},formData:i,errorSchema:s,idSchema:l,name:c,required:u=!1,disabled:d,readonly:p,hideError:f,idPrefix:h,idSeparator:m,onBlur:g,onFocus:v,registry:y,title:b}=this.props,{fields:x,formContext:w,schemaUtils:S,translateString:A,globalUiOptions:k}=y,{SchemaField:$}=x,C=S.retrieveSchema(o,i),E=Yu(a,k),{properties:j={}}=C,_=null!==(r=null!==(t=null!==(e=E.title)&&void 0!==e?e:C.title)&&void 0!==t?t:b)&&void 0!==r?r:c,P=null!==(n=E.description)&&void 0!==n?n:C.description;let R;try{R=function(e,t){if(!Array.isArray(t))return e;const r=e=>e.reduce(((e,t)=>(e[t]=!0,e)),{}),n=r(e),o=t.filter((e=>"*"===e||n[e])),a=r(o),i=e.filter((e=>!a[e])),s=o.indexOf("*");if(-1===s){if(i.length)throw new Error("uiSchema order list does not contain "+((l=i).length>1?`properties '${l.join("', '")}'`:`property '${l[0]}'`));return o}var l;if(s!==o.lastIndexOf("*"))throw new Error("uiSchema order list contains more than one wildcard item");const c=[...o];return c.splice(s,1,...i),c}(Object.keys(j),E.order)}catch(M){return(0,De.jsxs)("div",{children:[(0,De.jsx)("p",{className:"config-error",style:{color:"red"},children:(0,De.jsx)(Pm,{options:{disableParsingRawHTML:!0},children:A(hf.InvalidObjectField,[c||"root",M.message])})}),(0,De.jsx)("pre",{children:JSON.stringify(C)})]})}const O=Xp("ObjectFieldTemplate",y,E),N={title:!1===E.label?"":_,description:!1===E.label?void 0:P,properties:R.map((e=>{const t=gd()(C,[Vu,e,_u]),r=t?a.additionalProperties:a[e],n="hidden"===Yu(r).widget,o=id()(l,[e],{});return{content:(0,De.jsx)($,{name:e,required:this.isRequired(e),schema:id()(C,[Vu,e],{}),uiSchema:r,errorSchema:id()(s,e),idSchema:o,idPrefix:h,idSeparator:m,formData:id()(i,e),formContext:w,wasPropertyKeyModified:this.state.wasPropertyKeyModified,onKeyChange:this.onKeyChange(e),onChange:this.onPropertyChange(e,t),onBlur:g,onFocus:v,registry:y,disabled:d,readonly:p,hideError:f,onDropPropertyClick:this.onDropPropertyClick},e),name:e,readonly:p,disabled:d,required:u,hidden:n}})),readonly:p,disabled:d,required:u,idSchema:l,uiSchema:a,errorSchema:s,schema:C,formData:i,formContext:w,registry:y};return(0,De.jsx)(O,{...N,onAddClick:this.handleAddClick})}}const Mm=Nm,Tm={array:"ArrayField",boolean:"BooleanField",integer:"NumberField",number:"NumberField",object:"ObjectField",string:"StringField",null:"NullField"};function Im(e){var r,n,o;const{schema:a,idSchema:i,uiSchema:s,formData:l,errorSchema:c,idPrefix:u,idSeparator:d,name:p,onChange:f,onKeyChange:h,onDropPropertyClick:m,required:g,registry:v,wasPropertyKeyModified:y=!1}=e,{formContext:b,schemaUtils:x,globalUiOptions:w}=v,S=Yu(s,w),A=Xp("FieldTemplate",v,S),k=Xp("DescriptionFieldTemplate",v,S),$=Xp("FieldHelpTemplate",v,S),C=Xp("FieldErrorTemplate",v,S),E=x.retrieveSchema(a,l),j=i[Du],_=up(x.toIdSchema(E,j,l,u,d),i),P=(0,t.useCallback)(((e,t,r)=>f(e,t,r||j)),[j,f]),R=function(e,t,r,n){const o=t.field,{fields:a,translateString:i}=n;if("function"===typeof o)return o;if("string"===typeof o&&o in a)return a[o];const s=Kd(e),l=Array.isArray(s)?s[0]:s||"",c=e.$id;let u=Tm[l];return c&&c in a&&(u=c),u||!e.anyOf&&!e.oneOf?u in a?a[u]:()=>{const o=Xp("UnsupportedFieldTemplate",n,t);return(0,De.jsx)(o,{schema:e,idSchema:r,reason:i(hf.UnknownFieldType,[String(e.type)]),registry:n})}:()=>null}(E,S,_,v),O=Boolean(null!==(r=S.disabled)&&void 0!==r?r:e.disabled),N=Boolean(null!==(n=S.readonly)&&void 0!==n?n:e.readonly||e.schema.const||e.schema.readOnly||E.readOnly),M=S.hideError,T=void 0===M?e.hideError:Boolean(M),I=Boolean(null!==(o=S.autofocus)&&void 0!==o?o:e.autofocus);if(0===Object.keys(E).length)return null;const F=x.getDisplayLabel(E,s,w),{__errors:D,...z}=c||{},L=dd()(s,["ui:classNames","classNames","ui:style"]);Qu in L&&(L[Qu]=dd()(L[Qu],["classNames","style"]));const B=(0,De.jsx)(R,{...e,onChange:P,idSchema:_,schema:E,uiSchema:L,disabled:O,readonly:N,hideError:T,autofocus:I,errorSchema:z,formContext:b,rawErrors:D}),W=_[Du];let V;V=y||_u in E?p:S.title||e.schema.title||E.title||e.title||p;const U=S.description||e.schema.description||E.description||"",H=S.enableMarkdownInDescription?(0,De.jsx)(Pm,{options:{disableParsingRawHTML:!0},children:U}):U,q=S.help,G="hidden"===S.widget,K=["form-group","field",`field-${Kd(E)}`];!T&&D&&D.length>0&&K.push("field-error has-error has-danger"),(null===s||void 0===s?void 0:s.classNames)&&K.push(s.classNames),S.classNames&&K.push(S.classNames);const X=(0,De.jsx)($,{help:q,idSchema:_,schema:E,uiSchema:s,hasErrors:!T&&D&&D.length>0,registry:v}),Q=T||(E.anyOf||E.oneOf)&&!x.isSelect(E)?void 0:(0,De.jsx)(C,{errors:D,errorSchema:c,idSchema:_,schema:E,uiSchema:s,registry:v}),Y={description:(0,De.jsx)(k,{id:ef(W),description:H,schema:E,uiSchema:s,registry:v}),rawDescription:U,help:X,rawHelp:"string"===typeof q?q:void 0,errors:Q,rawErrors:T?void 0:D,id:W,label:V,hidden:G,onChange:f,onKeyChange:h,onDropPropertyClick:m,required:g,disabled:O,readonly:N,hideError:T,displayLabel:F,classNames:K.join(" ").trim(),style:S.style,formContext:b,formData:l,schema:E,uiSchema:s,registry:v},J=v.fields.AnyOfField,Z=v.fields.OneOfField,ee=(null===s||void 0===s?void 0:s["ui:field"])&&!0===(null===s||void 0===s?void 0:s["ui:fieldReplacesAnyOrOneOf"]);return(0,De.jsx)(A,{...Y,children:(0,De.jsxs)(De.Fragment,{children:[B,E.anyOf&&!ee&&!x.isSelect(E)&&(0,De.jsx)(J,{name:p,disabled:O,readonly:N,hideError:T,errorSchema:c,formData:l,formContext:b,idPrefix:u,idSchema:_,idSeparator:d,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,options:E.anyOf.map((e=>x.retrieveSchema(xd()(e)?e:{},l))),registry:v,required:g,schema:E,uiSchema:s}),E.oneOf&&!ee&&!x.isSelect(E)&&(0,De.jsx)(Z,{name:p,disabled:O,readonly:N,hideError:T,errorSchema:c,formData:l,formContext:b,idPrefix:u,idSchema:_,idSeparator:d,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,options:E.oneOf.map((e=>x.retrieveSchema(xd()(e)?e:{},l))),registry:v,required:g,schema:E,uiSchema:s})]})})}class Fm extends t.Component{shouldComponentUpdate(e){return!od(this.props,e)}render(){return(0,De.jsx)(Im,{...this.props})}}const Dm=Fm;const zm=function(e){var t;const{schema:r,name:n,uiSchema:o,idSchema:a,formData:i,required:s,disabled:l=!1,readonly:c=!1,autofocus:u=!1,onChange:d,onBlur:p,onFocus:f,registry:h,rawErrors:m,hideError:g}=e,{title:v,format:y}=r,{widgets:b,formContext:x,schemaUtils:w,globalUiOptions:S}=h,A=w.isSelect(r)?cf(r,o):void 0;let k=A?"select":"text";y&&function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{return Jp(e,t,r),!0}catch(Bf){const t=Bf;if(t.message&&(t.message.startsWith("No widget")||t.message.startsWith("Unsupported widget")))return!1;throw Bf}}(r,y,b)&&(k=y);const{widget:$=k,placeholder:C="",title:E,...j}=Yu(o),_=w.getDisplayLabel(r,o,S),P=null!==(t=null!==E&&void 0!==E?E:v)&&void 0!==t?t:n,R=Jp(r,$,b);return(0,De.jsx)(R,{options:{...j,enumOptions:A},schema:r,uiSchema:o,id:a.$id,name:n,label:P,hideLabel:!_,hideError:g,value:i,onChange:d,onBlur:p,onFocus:f,required:s,disabled:l,readonly:c,formContext:x,autofocus:u,registry:h,placeholder:C,rawErrors:m})};const Lm=function(e){const{formData:r,onChange:n}=e;return(0,t.useEffect)((()=>{void 0===r&&n(null)}),[r,n]),null};const Bm=function(){return{AnyOfField:Nf,ArrayField:Pf,BooleanField:Rf,NumberField:If,ObjectField:Mm,OneOfField:Nf,SchemaField:Dm,StringField:zm,NullField:Lm}};function Wm(e){const{idSchema:t,description:r,registry:n,schema:o,uiSchema:a}=e,i=Yu(a,n.globalUiOptions),{label:s=!0}=i;if(!r||!s)return null;const l=Xp("DescriptionFieldTemplate",n,i);return(0,De.jsx)(l,{id:ef(t),description:r,schema:o,uiSchema:a,registry:n})}function Vm(e){const{children:t,className:r,disabled:n,hasToolbar:o,hasMoveDown:a,hasMoveUp:i,hasRemove:s,hasCopy:l,index:c,onCopyIndexClick:u,onDropIndexClick:d,onReorderClick:p,readonly:f,registry:h,uiSchema:m}=e,{CopyButton:g,MoveDownButton:v,MoveUpButton:y,RemoveButton:b}=h.templates.ButtonTemplates,x={flex:1,paddingLeft:6,paddingRight:6,fontWeight:"bold"};return(0,De.jsxs)("div",{className:r,children:[(0,De.jsx)("div",{className:o?"col-xs-9":"col-xs-12",children:t}),o&&(0,De.jsx)("div",{className:"col-xs-3 array-item-toolbox",children:(0,De.jsxs)("div",{className:"btn-group",style:{display:"flex",justifyContent:"space-around"},children:[(i||a)&&(0,De.jsx)(y,{style:x,disabled:n||f||!i,onClick:p(c,c-1),uiSchema:m,registry:h}),(i||a)&&(0,De.jsx)(v,{style:x,disabled:n||f||!a,onClick:p(c,c+1),uiSchema:m,registry:h}),l&&(0,De.jsx)(g,{style:x,disabled:n||f,onClick:u(c),uiSchema:m,registry:h}),s&&(0,De.jsx)(b,{style:x,disabled:n||f,onClick:d(c),uiSchema:m,registry:h})]})})]})}function Um(e){const{canAdd:t,className:r,disabled:n,idSchema:o,uiSchema:a,items:i,onAddClick:s,readonly:l,registry:c,required:u,schema:d,title:p}=e,f=Yu(a),h=Xp("ArrayFieldDescriptionTemplate",c,f),m=Xp("ArrayFieldItemTemplate",c,f),g=Xp("ArrayFieldTitleTemplate",c,f),{ButtonTemplates:{AddButton:v}}=c.templates;return(0,De.jsxs)("fieldset",{className:r,id:o.$id,children:[(0,De.jsx)(g,{idSchema:o,title:f.title||p,required:u,schema:d,uiSchema:a,registry:c}),(0,De.jsx)(h,{idSchema:o,description:f.description||d.description,schema:d,uiSchema:a,registry:c}),(0,De.jsx)("div",{className:"row array-item-list",children:i&&i.map((e=>{let{key:t,...r}=e;return(0,De.jsx)(m,{...r},t)}))}),t&&(0,De.jsx)(v,{className:"array-item-add",onClick:s,disabled:n||l,uiSchema:a,registry:c})]})}function Hm(e){const{idSchema:t,title:r,schema:n,uiSchema:o,required:a,registry:i}=e,s=Yu(o,i.globalUiOptions),{label:l=!0}=s;if(!r||!l)return null;const c=Xp("TitleFieldTemplate",i,s);return(0,De.jsx)(c,{id:of(t),title:r,required:a,schema:n,uiSchema:o,registry:i})}function qm(e){const{id:r,name:n,value:o,readonly:a,disabled:i,autofocus:s,onBlur:l,onFocus:c,onChange:u,onChangeOverride:d,options:p,schema:f,uiSchema:h,formContext:m,registry:g,rawErrors:v,type:y,hideLabel:b,hideError:x,...w}=e;if(!r)throw console.log("No id for",e),new Error(`no id for props ${JSON.stringify(e)}`);const S={...w,...qp(f,y,p)};let A;A="number"===S.type||"integer"===S.type?o||0===o?o:"":null==o?"":o;const k=(0,t.useCallback)((e=>{let{target:{value:t}}=e;return u(""===t?p.emptyValue:t)}),[u,p]),$=(0,t.useCallback)((e=>{let{target:t}=e;return l(r,t&&t.value)}),[l,r]),C=(0,t.useCallback)((e=>{let{target:t}=e;return c(r,t&&t.value)}),[c,r]);return(0,De.jsxs)(De.Fragment,{children:[(0,De.jsx)("input",{id:r,name:r,className:"form-control",readOnly:a,disabled:i,autoFocus:s,value:A,...S,list:f.examples?rf(r):void 0,onChange:d||k,onBlur:$,onFocus:C,"aria-describedby":af(r,!!f.examples)}),Array.isArray(f.examples)&&(0,De.jsx)("datalist",{id:rf(r),children:f.examples.concat(f.default&&!f.examples.includes(f.default)?[f.default]:[]).map((e=>(0,De.jsx)("option",{value:e},e)))},`datalist_${r}`)]})}function Gm(e){let{uiSchema:t}=e;const{submitText:r,norender:n,props:o={}}=Kp(t);return n?null:(0,De.jsx)("div",{children:(0,De.jsx)("button",{type:"submit",...o,className:`btn btn-info ${o.className||""}`,children:r})})}function Km(e){const{iconType:t="default",icon:r,className:n,uiSchema:o,registry:a,...i}=e;return(0,De.jsx)("button",{type:"button",className:`btn btn-${t} ${n}`,...i,children:(0,De.jsx)("i",{className:`glyphicon glyphicon-${r}`})})}function Xm(e){const{registry:{translateString:t}}=e;return(0,De.jsx)(Km,{title:t(hf.CopyButton),className:"array-item-copy",...e,icon:"copy"})}function Qm(e){const{registry:{translateString:t}}=e;return(0,De.jsx)(Km,{title:t(hf.MoveDownButton),className:"array-item-move-down",...e,icon:"arrow-down"})}function Ym(e){const{registry:{translateString:t}}=e;return(0,De.jsx)(Km,{title:t(hf.MoveUpButton),className:"array-item-move-up",...e,icon:"arrow-up"})}function Jm(e){const{registry:{translateString:t}}=e;return(0,De.jsx)(Km,{title:t(hf.RemoveButton),className:"array-item-remove",...e,iconType:"danger",icon:"remove"})}function Zm(e){let{className:t,onClick:r,disabled:n,registry:o}=e;const{translateString:a}=o;return(0,De.jsx)("div",{className:"row",children:(0,De.jsx)("p",{className:`col-xs-3 col-xs-offset-9 text-right ${t}`,children:(0,De.jsx)(Km,{iconType:"info",icon:"plus",className:"btn-add col-xs-12",title:a(hf.AddButton),onClick:r,disabled:n,registry:o})})})}const eg=function(){return{SubmitButton:Gm,AddButton:Zm,CopyButton:Xm,MoveDownButton:Qm,MoveUpButton:Ym,RemoveButton:Jm}};function tg(e){const{id:t,description:r}=e;return r?"string"===typeof r?(0,De.jsx)("p",{id:t,className:"field-description",children:r}):(0,De.jsx)("div",{id:t,className:"field-description",children:r}):null}function rg(e){let{errors:t,registry:r}=e;const{translateString:n}=r;return(0,De.jsxs)("div",{className:"panel panel-danger errors",children:[(0,De.jsx)("div",{className:"panel-heading",children:(0,De.jsx)("h3",{className:"panel-title",children:n(hf.ErrorsLabel)})}),(0,De.jsx)("ul",{className:"list-group",children:t.map(((e,t)=>(0,De.jsx)("li",{className:"list-group-item text-danger",children:e.stack},t)))})]})}const ng="*";function og(e){const{label:t,required:r,id:n}=e;return t?(0,De.jsxs)("label",{className:"control-label",htmlFor:n,children:[t,r&&(0,De.jsx)("span",{className:"required",children:ng})]}):null}const ag=function(e){const{id:t,label:r,children:n,errors:o,help:a,description:i,hidden:s,required:l,displayLabel:c,registry:u,uiSchema:d}=e,p=Xp("WrapIfAdditionalTemplate",u,Yu(d));return s?(0,De.jsx)("div",{className:"hidden",children:n}):(0,De.jsxs)(p,{...e,children:[c&&(0,De.jsx)(og,{label:r,required:l,id:t}),c&&i?i:null,n,o,a]})};function ig(e){const{errors:t=[],idSchema:r}=e;if(0===t.length)return null;const n=tf(r);return(0,De.jsx)("div",{children:(0,De.jsx)("ul",{id:n,className:"error-detail bs-callout bs-callout-info",children:t.filter((e=>!!e)).map(((e,t)=>(0,De.jsx)("li",{className:"text-danger",children:e},t)))})})}function sg(e){const{idSchema:t,help:r}=e;if(!r)return null;const n=nf(t);return"string"===typeof r?(0,De.jsx)("p",{id:n,className:"help-block",children:r}):(0,De.jsx)("div",{id:n,className:"help-block",children:r})}function lg(e){const{description:t,disabled:r,formData:n,idSchema:o,onAddClick:a,properties:i,readonly:s,registry:l,required:c,schema:u,title:d,uiSchema:p}=e,f=Yu(p),h=Xp("TitleFieldTemplate",l,f),m=Xp("DescriptionFieldTemplate",l,f),{ButtonTemplates:{AddButton:g}}=l.templates;return(0,De.jsxs)("fieldset",{id:o.$id,children:[d&&(0,De.jsx)(h,{id:of(o),title:d,required:c,schema:u,uiSchema:p,registry:l}),t&&(0,De.jsx)(m,{id:ef(o),description:t,schema:u,uiSchema:p,registry:l}),i.map((e=>e.content)),Ju(u,p,n)&&(0,De.jsx)(g,{className:"object-property-expand",onClick:a(u),disabled:r||s,uiSchema:p,registry:l})]})}const cg="*";function ug(e){const{id:t,title:r,required:n}=e;return(0,De.jsxs)("legend",{id:t,children:[r,n&&(0,De.jsx)("span",{className:"required",children:cg})]})}const dg=function(e){const{schema:t,idSchema:r,reason:n,registry:o}=e,{translateString:a}=o;let i=hf.UnsupportedField;const s=[];return r&&r.$id&&(i=hf.UnsupportedFieldWithId,s.push(r.$id)),n&&(i=i===hf.UnsupportedField?hf.UnsupportedFieldWithReason:hf.UnsupportedFieldWithIdAndReason,s.push(n)),(0,De.jsxs)("div",{className:"unsupported-field",children:[(0,De.jsx)("p",{children:(0,De.jsx)(Pm,{options:{disableParsingRawHTML:!0},children:a(i,s)})}),t&&(0,De.jsx)("pre",{children:JSON.stringify(t,null,2)})]})};function pg(e){const{id:t,classNames:r,style:n,disabled:o,label:a,onKeyChange:i,onDropPropertyClick:s,readonly:l,required:c,schema:u,children:d,uiSchema:p,registry:f}=e,{templates:h,translateString:m}=f,{RemoveButton:g}=h.ButtonTemplates,v=m(hf.KeyLabel,[a]);return _u in u?(0,De.jsx)("div",{className:r,style:n,children:(0,De.jsxs)("div",{className:"row",children:[(0,De.jsx)("div",{className:"col-xs-5 form-additional",children:(0,De.jsxs)("div",{className:"form-group",children:[(0,De.jsx)(og,{label:v,required:c,id:`${t}-key`}),(0,De.jsx)("input",{className:"form-control",type:"text",id:`${t}-key`,onBlur:e=>{let{target:t}=e;return i(t&&t.value)},defaultValue:a})]})}),(0,De.jsx)("div",{className:"form-additional form-group col-xs-5",children:d}),(0,De.jsx)("div",{className:"col-xs-2",children:(0,De.jsx)(g,{className:"array-item-remove btn-block",style:{border:"0"},disabled:o||l,onClick:s(a),uiSchema:p,registry:f})})]})}):(0,De.jsx)("div",{className:r,style:n,children:d})}const fg=function(){return{ArrayFieldDescriptionTemplate:Wm,ArrayFieldItemTemplate:Vm,ArrayFieldTemplate:Um,ArrayFieldTitleTemplate:Hm,ButtonTemplates:eg(),BaseInputTemplate:qm,DescriptionFieldTemplate:tg,ErrorListTemplate:rg,FieldTemplate:ag,FieldErrorTemplate:ig,FieldHelpTemplate:sg,ObjectFieldTemplate:lg,TitleFieldTemplate:ug,UnsupportedFieldTemplate:dg,WrapIfAdditionalTemplate:pg}};function hg(e){let{type:t,range:r,value:n,select:o,rootId:a,name:i,disabled:s,readonly:l,autofocus:c,registry:u,onBlur:d,onFocus:p}=e;const f=a+"_"+t,{SelectWidget:h}=u.widgets;return(0,De.jsx)(h,{schema:{type:"integer"},id:f,name:i,className:"form-control",options:{enumOptions:Pp(r[0],r[1])},placeholder:t,value:n,disabled:s,readonly:l,autofocus:c,onChange:e=>o(t,e),onBlur:d,onFocus:p,registry:u,label:"","aria-describedby":af(a)})}const mg=function(e){let{time:r=!1,disabled:n=!1,readonly:o=!1,autofocus:a=!1,options:i,id:s,name:l,registry:c,onBlur:u,onFocus:d,onChange:p,value:f}=e;const{translateString:h}=c,[m,g]=(0,t.useState)(f),[v,y]=(0,t.useReducer)(((e,t)=>({...e,...t})),uf(f,r));(0,t.useEffect)((()=>{const e=pf(v,r);!function(e){return Object.values(e).every((e=>-1!==e))}(v)||e===f?m!==f&&(g(f),y(uf(f,r))):p(e)}),[r,f,p,v,m]);const b=(0,t.useCallback)(((e,t)=>{y({[e]:t})}),[]),x=(0,t.useCallback)((e=>{if(e.preventDefault(),n||o)return;const t=uf((new Date).toJSON(),r);p(pf(t,r))}),[n,o,r]),w=(0,t.useCallback)((e=>{e.preventDefault(),n||o||p(void 0)}),[n,o,p]);return(0,De.jsxs)("ul",{className:"list-inline",children:[Up(v,r,i.yearsRange,i.format).map(((e,t)=>(0,De.jsx)("li",{className:"list-inline-item",children:(0,De.jsx)(hg,{rootId:s,name:l,select:b,...e,disabled:n,readonly:o,registry:c,onBlur:u,onFocus:d,autofocus:a&&0===t})},t))),("undefined"===i.hideNowButton||!i.hideNowButton)&&(0,De.jsx)("li",{className:"list-inline-item",children:(0,De.jsx)("a",{href:"#",className:"btn btn-info btn-now",onClick:x,children:h(hf.NowLabel)})}),("undefined"===i.hideClearButton||!i.hideClearButton)&&(0,De.jsx)("li",{className:"list-inline-item",children:(0,De.jsx)("a",{href:"#",className:"btn btn-warning btn-clear",onClick:w,children:h(hf.ClearLabel)})})]})};const gg=function(e){let{time:t=!0,...r}=e;const{AltDateWidget:n}=r.registry.widgets;return(0,De.jsx)(n,{time:t,...r})};const vg=function(e){let{schema:r,uiSchema:n,options:o,id:a,value:i,disabled:s,readonly:l,label:c,hideLabel:u,autofocus:d=!1,onBlur:p,onFocus:f,onChange:h,registry:m}=e;var g;const v=Xp("DescriptionFieldTemplate",m,o),y=df(r),b=(0,t.useCallback)((e=>h(e.target.checked)),[h]),x=(0,t.useCallback)((e=>p(a,e.target.checked)),[p,a]),w=(0,t.useCallback)((e=>f(a,e.target.checked)),[f,a]),S=null!==(g=o.description)&&void 0!==g?g:r.description;return(0,De.jsxs)("div",{className:"checkbox "+(s||l?"disabled":""),children:[!u&&!!S&&(0,De.jsx)(v,{id:ef(a),description:S,schema:r,uiSchema:n,registry:m}),(0,De.jsxs)("label",{children:[(0,De.jsx)("input",{type:"checkbox",id:a,name:a,checked:"undefined"!==typeof i&&i,required:y,disabled:s||l,autoFocus:d,onChange:b,onBlur:x,onFocus:w,"aria-describedby":af(a)}),lf((0,De.jsx)("span",{children:c}),u)]})]})};const yg=function(e){let{id:r,disabled:n,options:{inline:o=!1,enumOptions:a,enumDisabled:i,emptyValue:s},value:l,autofocus:c=!1,readonly:u,onChange:d,onBlur:p,onFocus:f}=e;const h=Array.isArray(l)?l:[l],m=(0,t.useCallback)((e=>{let{target:t}=e;return p(r,Op(t&&t.value,a,s))}),[p,r]),g=(0,t.useCallback)((e=>{let{target:t}=e;return f(r,Op(t&&t.value,a,s))}),[f,r]);return(0,De.jsx)("div",{className:"checkboxes",id:r,children:Array.isArray(a)&&a.map(((e,t)=>{const s=Mp(e.value,h),l=Array.isArray(i)&&-1!==i.indexOf(e.value),p=n||l||u?"disabled":"",f=(0,De.jsxs)("span",{children:[(0,De.jsx)("input",{type:"checkbox",id:sf(r,t),name:r,checked:s,value:String(t),disabled:n||l||u,autoFocus:c&&0===t,onChange:e=>{e.target.checked?d(Dp(t,h,a)):d(Np(t,h,a))},onBlur:m,onFocus:g,"aria-describedby":af(r)}),(0,De.jsx)("span",{children:e.label})]});return o?(0,De.jsx)("label",{className:`checkbox-inline ${p}`,children:f},t):(0,De.jsx)("div",{className:`checkbox ${p}`,children:(0,De.jsx)("label",{children:f})},t)}))})};function bg(e){const{disabled:t,readonly:r,options:n,registry:o}=e,a=Xp("BaseInputTemplate",o,n);return(0,De.jsx)(a,{type:"color",...e,disabled:t||r})}function xg(e){const{onChange:r,options:n,registry:o}=e,a=Xp("BaseInputTemplate",o,n),i=(0,t.useCallback)((e=>r(e||void 0)),[r]);return(0,De.jsx)(a,{type:"date",...e,onChange:i})}function wg(e){const{onChange:t,value:r,options:n,registry:o}=e,a=Xp("BaseInputTemplate",o,n);return(0,De.jsx)(a,{type:"datetime-local",...e,value:yf(r),onChange:e=>{return t((r=e)?new Date(r).toJSON():void 0);var r}})}function Sg(e){const{options:t,registry:r}=e,n=Xp("BaseInputTemplate",r,t);return(0,De.jsx)(n,{type:"email",...e})}function Ag(e,t){return null===e?null:e.replace(";base64",`;name=${encodeURIComponent(t)};base64`)}function kg(e){const{name:t,size:r,type:n}=e;return new Promise(((o,a)=>{const i=new window.FileReader;i.onerror=a,i.onload=e=>{var a;"string"===typeof(null===(a=e.target)||void 0===a?void 0:a.result)?o({dataURL:Ag(e.target.result,t),name:t,size:r,type:n}):o({dataURL:null,name:t,size:r,type:n})},i.readAsDataURL(e)}))}function $g(e){let{fileInfo:t,registry:r}=e;const{translateString:n}=r,{dataURL:o,type:a,name:i}=t;return o?["image/jpeg","image/png"].includes(a)?(0,De.jsx)("img",{src:o,style:{maxWidth:"100%"},className:"file-preview"}):(0,De.jsxs)(De.Fragment,{children:[" ",(0,De.jsx)("a",{download:`preview-${i}`,href:o,className:"file-download",children:n(hf.PreviewLabel)})]}):null}function Cg(e){let{filesInfo:t,registry:r,preview:n,onRemove:o,options:a}=e;if(0===t.length)return null;const{translateString:i}=r,{RemoveButton:s}=Xp("ButtonTemplates",r,a);return(0,De.jsx)("ul",{className:"file-info",children:t.map(((e,t)=>{const{name:a,size:l,type:c}=e;return(0,De.jsxs)("li",{children:[(0,De.jsx)(Pm,{children:i(hf.FilesInfo,[a,c,String(l)])}),n&&(0,De.jsx)($g,{fileInfo:e,registry:r}),(0,De.jsx)(s,{onClick:()=>o(t),registry:r})]},t)}))})}function Eg(e){return e.reduce(((e,t)=>{if(!t)return e;try{const{blob:r,name:n}=function(e){var t;if(-1===e.indexOf("data:"))throw new Error("File is invalid: URI must be a dataURI");const r=e.slice(5).split(";base64,");if(2!==r.length)throw new Error("File is invalid: dataURI must be base64");const[n,o]=r,[a,...i]=n.split(";"),s=a||"",l=decodeURI((null===(t=i.map((e=>e.split("="))).find((e=>{let[t]=e;return"name"===t})))||void 0===t?void 0:t[1])||"unknown");try{const e=atob(o),t=new Array(e.length);for(let r=0;r{var t;e.target.files&&(t=e.target.files,Promise.all(Array.from(t).map(kg))).then((e=>{const t=e.map((e=>e.dataURL));i(a?s.concat(t):t[0])}))}),[a,s,i]),p=(0,t.useMemo)((()=>Eg(Array.isArray(s)?s:[s])),[s]),f=(0,t.useCallback)((e=>{if(a){const t=s.filter(((t,r)=>r!==e));i(t)}else i(void 0)}),[a,s,i]);return(0,De.jsxs)("div",{children:[(0,De.jsx)(u,{...e,disabled:r||n,type:"file",required:!s&&o,onChangeOverride:d,value:"",accept:l.accept?String(l.accept):void 0}),(0,De.jsx)(Cg,{filesInfo:p,onRemove:f,registry:c,preview:l.filePreview,options:l})]})};const _g=function(e){let{id:t,value:r}=e;return(0,De.jsx)("input",{type:"hidden",id:t,name:t,value:"undefined"===typeof r?"":r})};function Pg(e){const{options:t,registry:r}=e,n=Xp("BaseInputTemplate",r,t);return(0,De.jsx)(n,{type:"password",...e})}const Rg=function(e){let{options:r,value:n,required:o,disabled:a,readonly:i,autofocus:s=!1,onBlur:l,onFocus:c,onChange:u,id:d}=e;const{enumOptions:p,enumDisabled:f,inline:h,emptyValue:m}=r,g=(0,t.useCallback)((e=>{let{target:t}=e;return l(d,Op(t&&t.value,p,m))}),[l,d]),v=(0,t.useCallback)((e=>{let{target:t}=e;return c(d,Op(t&&t.value,p,m))}),[c,d]);return(0,De.jsx)("div",{className:"field-radio-group",id:d,children:Array.isArray(p)&&p.map(((e,t)=>{const r=Mp(e.value,n),l=Array.isArray(f)&&-1!==f.indexOf(e.value),c=a||l||i?"disabled":"",p=(0,De.jsxs)("span",{children:[(0,De.jsx)("input",{type:"radio",id:sf(d,t),checked:r,name:d,required:o,value:String(t),disabled:a||l||i,autoFocus:s&&0===t,onChange:()=>u(e.value),onBlur:g,onFocus:v,"aria-describedby":af(d)}),(0,De.jsx)("span",{children:e.label})]});return h?(0,De.jsx)("label",{className:`radio-inline ${c}`,children:p},t):(0,De.jsx)("div",{className:`radio ${c}`,children:(0,De.jsx)("label",{children:p})},t)}))})};function Og(e){const{value:t,registry:{templates:{BaseInputTemplate:r}}}=e;return(0,De.jsxs)("div",{className:"field-range-wrapper",children:[(0,De.jsx)(r,{type:"range",...e}),(0,De.jsx)("span",{className:"range-view",children:t})]})}function Ng(e,t){return t?Array.from(e.target.options).slice().filter((e=>e.selected)).map((e=>e.value)):e.target.value}const Mg=function(e){let{schema:r,id:n,options:o,value:a,required:i,disabled:s,readonly:l,multiple:c=!1,autofocus:u=!1,onChange:d,onBlur:p,onFocus:f,placeholder:h}=e;const{enumOptions:m,enumDisabled:g,emptyValue:v}=o,y=c?[]:"",b=(0,t.useCallback)((e=>{const t=Ng(e,c);return f(n,Op(t,m,v))}),[f,n,r,c,m,v]),x=(0,t.useCallback)((e=>{const t=Ng(e,c);return p(n,Op(t,m,v))}),[p,n,r,c,m,v]),w=(0,t.useCallback)((e=>{const t=Ng(e,c);return d(Op(t,m,v))}),[d,r,c,m,v]),S=Tp(a,m,c),A=!c&&void 0===r.default;return(0,De.jsxs)("select",{id:n,name:n,multiple:c,className:"form-control",value:"undefined"===typeof S?y:S,required:i,disabled:s||l,autoFocus:u,onBlur:x,onFocus:b,onChange:w,"aria-describedby":af(n),children:[A&&(0,De.jsx)("option",{value:"",children:h}),Array.isArray(m)&&m.map(((e,t)=>{let{value:r,label:n}=e;const o=g&&-1!==g.indexOf(r);return(0,De.jsx)("option",{value:String(t),disabled:o,children:n},t)}))]})};function Tg(e){let{id:r,options:n={},placeholder:o,value:a,required:i,disabled:s,readonly:l,autofocus:c=!1,onChange:u,onBlur:d,onFocus:p}=e;const f=(0,t.useCallback)((e=>{let{target:{value:t}}=e;return u(""===t?n.emptyValue:t)}),[u,n.emptyValue]),h=(0,t.useCallback)((e=>{let{target:t}=e;return d(r,t&&t.value)}),[d,r]),m=(0,t.useCallback)((e=>{let{target:t}=e;return p(r,t&&t.value)}),[r,p]);return(0,De.jsx)("textarea",{id:r,name:r,className:"form-control",value:a||"",placeholder:o,required:i,disabled:s,readOnly:l,autoFocus:c,rows:n.rows,onBlur:h,onFocus:m,onChange:f,"aria-describedby":af(r)})}Tg.defaultProps={autofocus:!1,options:{}};const Ig=Tg;function Fg(e){const{options:t,registry:r}=e,n=Xp("BaseInputTemplate",r,t);return(0,De.jsx)(n,{...e})}function Dg(e){const{onChange:r,options:n,registry:o}=e,a=Xp("BaseInputTemplate",o,n),i=(0,t.useCallback)((e=>r(e?`${e}:00`:void 0)),[r]);return(0,De.jsx)(a,{type:"time",...e,onChange:i})}function zg(e){const{options:t,registry:r}=e,n=Xp("BaseInputTemplate",r,t);return(0,De.jsx)(n,{type:"url",...e})}function Lg(e){const{options:t,registry:r}=e,n=Xp("BaseInputTemplate",r,t);return(0,De.jsx)(n,{type:"number",...e})}const Bg=function(){return{AltDateWidget:mg,AltDateTimeWidget:gg,CheckboxWidget:vg,CheckboxesWidget:yg,ColorWidget:bg,DateWidget:xg,DateTimeWidget:wg,EmailWidget:Sg,FileWidget:jg,HiddenWidget:_g,PasswordWidget:Pg,RadioWidget:Rg,RangeWidget:Og,SelectWidget:Mg,TextWidget:Fg,TextareaWidget:Ig,TimeWidget:Dg,UpDownWidget:Lg,URLWidget:zg}};class Wg extends t.Component{constructor(e){if(super(e),this.getUsedFormData=(e,t)=>{if(0===t.length&&"object"!==typeof e)return e;const r=kf()(e,t);return Array.isArray(e)?Object.keys(r).map((e=>r[e])):r},this.getFieldNames=(e,t)=>{const r=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[[]];return Object.keys(e).forEach((a=>{if("object"===typeof e[a]){const t=o.map((e=>[...e,a]));e[a][Gu]&&""!==e[a][Bu]?n.push(e[a][Bu]):r(e[a],n,t)}else a===Bu&&""!==e[a]&&o.forEach((e=>{const r=id()(t,e);("object"!==typeof r||ld()(r)||Array.isArray(r)&&r.every((e=>"object"!==typeof e)))&&n.push(e)}))})),n};return r(e)},this.omitExtraData=e=>{const{schema:t,schemaUtils:r}=this.state,n=r.retrieveSchema(t,e),o=r.toPathSchema(n,"",e),a=this.getFieldNames(o,e);return this.getUsedFormData(e,a)},this.onChange=(e,t,r)=>{const{extraErrors:n,omitExtraData:o,liveOmit:a,noValidate:i,liveValidate:s,onChange:l}=this.props,{schemaUtils:c,schema:u,retrievedSchema:d}=this.state;if(Eu(e)||Array.isArray(e)){e=this.getStateFromProps(this.props,e,d).formData}const p=!i&&s;let f={formData:e,schema:u},h=e;if(!0===o&&!0===a&&(h=this.omitExtraData(e),f={formData:h}),p){const e=this.validate(h,u,c,d);let r=e.errors,o=e.errorSchema;const a=r,i=o;if(n){const t=bf(e,n);o=t.errorSchema,r=t.errors}if(t){o=up(o,this.filterErrorsBasedOnSchema(t,d,h),"preventDuplicates")}f={formData:h,errors:r,errorSchema:o,schemaValidationErrors:a,schemaValidationErrorSchema:i}}else if(!i&&t){const e=n?up(t,n,"preventDuplicates"):t;f={formData:h,errorSchema:e,errors:ff(e)}}this.setState(f,(()=>l&&l({...this.state,...f},r)))},this.reset=()=>{const{onChange:e}=this.props,t={formData:this.getStateFromProps(this.props,void 0).formData,errorSchema:{},errors:[],schemaValidationErrors:[],schemaValidationErrorSchema:{}};this.setState(t,(()=>e&&e({...this.state,...t})))},this.onBlur=(e,t)=>{const{onBlur:r}=this.props;r&&r(e,t)},this.onFocus=(e,t)=>{const{onFocus:r}=this.props;r&&r(e,t)},this.onSubmit=e=>{if(e.preventDefault(),e.target!==e.currentTarget)return;e.persist();const{omitExtraData:t,extraErrors:r,noValidate:n,onSubmit:o}=this.props;let{formData:a}=this.state;if(!0===t&&(a=this.omitExtraData(a)),n||this.validateFormWithFormData(a)){const t=r||{},n=r?ff(r):[];this.setState({formData:a,errors:n,errorSchema:t,schemaValidationErrors:[],schemaValidationErrorSchema:{}},(()=>{o&&o({...this.state,formData:a,status:"submitted"},e)}))}},this.submit=()=>{if(this.formElement.current){const e=new CustomEvent("submit",{cancelable:!0});e.preventDefault(),this.formElement.current.dispatchEvent(e),this.formElement.current.requestSubmit()}},this.validateFormWithFormData=e=>{const{extraErrors:t,extraErrorsBlockSubmit:r,focusOnFirstError:n,onError:o}=this.props,{errors:a}=this.state,i=this.validate(e);let s=i.errors,l=i.errorSchema;const c=s,u=l,d=s.length>0||t&&r;if(d){if(t){const e=bf(i,t);l=e.errorSchema,s=e.errors}n&&("function"===typeof n?n(s[0]):this.focusOnError(s[0])),this.setState({errors:s,errorSchema:l,schemaValidationErrors:c,schemaValidationErrorSchema:u},(()=>{o?o(s):console.error("Form validation failed",s)}))}else a.length>0&&this.setState({errors:[],errorSchema:{},schemaValidationErrors:[],schemaValidationErrorSchema:{}});return!d},!e.validator)throw new Error("A validator is required for Form functionality to work");this.state=this.getStateFromProps(e,e.formData),this.props.onChange&&!od(this.state.formData,this.props.formData)&&this.props.onChange(this.state),this.formElement=(0,t.createRef)()}getSnapshotBeforeUpdate(e,t){if(!od(this.props,e)){const r=!od(e.schema,this.props.schema),n=!od(e.formData,this.props.formData),o=this.getStateFromProps(this.props,this.props.formData,r||n?void 0:this.state.retrievedSchema,r);return{nextState:o,shouldUpdate:!od(o,t)}}return{shouldUpdate:!1}}componentDidUpdate(e,t,r){if(r.shouldUpdate){const{nextState:e}=r;od(e.formData,this.props.formData)||od(e.formData,t.formData)||!this.props.onChange||this.props.onChange(e),this.setState(e)}}getStateFromProps(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];var o;const a=this.state||{},i="schema"in e?e.schema:this.props.schema,s=("uiSchema"in e?e.uiSchema:this.props.uiSchema)||{},l="undefined"!==typeof t,c="liveValidate"in e?e.liveValidate:this.props.liveValidate,u=l&&!e.noValidate&&c,d=i,p="experimental_defaultFormStateBehavior"in e?e.experimental_defaultFormStateBehavior:this.props.experimental_defaultFormStateBehavior,f="experimental_customMergeAllOf"in e?e.experimental_customMergeAllOf:this.props.experimental_customMergeAllOf;let h=a.schemaUtils;h&&!h.doesSchemaUtilsDiffer(e.validator,d,p,f)||(h=function(e,t){return new jp(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},arguments.length>3?arguments[3]:void 0)}(e.validator,d,p,f));const m=h.getDefaultFormState(i,t),g=null!==r&&void 0!==r?r:h.retrieveSchema(i,m);let v,y,b=a.schemaValidationErrors,x=a.schemaValidationErrorSchema;if(u){const e=this.validate(m,i,h,g);v=e.errors,y=void 0===r?e.errorSchema:up(null===(o=this.state)||void 0===o?void 0:o.errorSchema,e.errorSchema,"preventDuplicates"),b=v,x=y}else{const t=e.noValidate||n?{errors:[],errorSchema:{}}:e.liveValidate?{errors:a.errors||[],errorSchema:a.errorSchema||{}}:{errors:a.schemaValidationErrors||[],errorSchema:a.schemaValidationErrorSchema||{}};v=t.errors,y=t.errorSchema}if(e.extraErrors){const t=bf({errorSchema:y,errors:v},e.extraErrors);y=t.errorSchema,v=t.errors}const w=h.toIdSchema(g,s["ui:rootFieldId"],m,e.idPrefix,e.idSeparator);return{schemaUtils:h,schema:i,uiSchema:s,idSchema:w,formData:m,edit:l,errors:v,errorSchema:y,schemaValidationErrors:b,schemaValidationErrorSchema:x,retrievedSchema:g}}shouldComponentUpdate(e,t){return function(e,t,r){const{props:n,state:o}=e;return!od(n,t)||!od(o,r)}(this,e,t)}validate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.props.schema,r=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0;const o=r||this.state.schemaUtils,{customValidate:a,transformErrors:i,uiSchema:s}=this.props,l=null!==n&&void 0!==n?n:o.retrieveSchema(t,e);return o.getValidator().validateFormData(e,l,a,i,s)}renderErrors(e){const{errors:t,errorSchema:r,schema:n,uiSchema:o}=this.state,{formContext:a}=this.props,i=Xp("ErrorListTemplate",e,Yu(o));return t&&t.length?(0,De.jsx)(i,{errors:t,errorSchema:r||{},schema:n,uiSchema:o,formContext:a,registry:e}):null}filterErrorsBasedOnSchema(e,t,r){const{retrievedSchema:n,schemaUtils:o}=this.state,a=null!==t&&void 0!==t?t:n,i=o.toPathSchema(a,"",r),s=this.getFieldNames(i,r),l=kf()(e,s);"object"!==(null===t||void 0===t?void 0:t.type)&&"array"!==(null===t||void 0===t?void 0:t.type)&&(l.__errors=e.__errors);const c=e=>(Sf()(e,((t,r)=>{Fp()(t)?delete e[r]:"object"!==typeof t||Array.isArray(t.__errors)||c(t)})),e);return c(l)}getRegistry(){var e;const{translateString:t,uiSchema:r={}}=this.props,{schemaUtils:n}=this.state,{fields:o,templates:a,widgets:i,formContext:s,translateString:l}={fields:Bm(),templates:fg(),widgets:Bg(),rootSchema:{},formContext:{},translateString:Rp};return{fields:{...o,...this.props.fields},templates:{...a,...this.props.templates,ButtonTemplates:{...a.ButtonTemplates,...null===(e=this.props.templates)||void 0===e?void 0:e.ButtonTemplates}},widgets:{...i,...this.props.widgets},rootSchema:this.props.schema,formContext:this.props.formContext||s,schemaUtils:n,translateString:t||l,globalUiOptions:r["ui:globalOptions"]}}focusOnError(e){const{idPrefix:t="root",idSeparator:r="_"}=this.props,{property:n}=e,o=gf()(n);""===o[0]?o[0]=t:o.unshift(t);const a=o.join(r);let i=this.formElement.current.elements[a];i||(i=this.formElement.current.querySelector(`input[id^="${a}"`)),i&&i.length&&(i=i[0]),i&&i.focus()}validateForm(){const{omitExtraData:e}=this.props;let{formData:t}=this.state;return!0===e&&(t=this.omitExtraData(t)),this.validateFormWithFormData(t)}render(){const{children:e,id:t,idPrefix:r,idSeparator:n,className:o="",tagName:a,name:i,method:s,target:l,action:c,autoComplete:u,enctype:d,acceptcharset:p,acceptCharset:f,noHtml5Validate:h=!1,disabled:m,readonly:g,formContext:v,showErrorList:y="top",_internalFormWrapper:b}=this.props,{schema:x,uiSchema:w,formData:S,errorSchema:A,idSchema:k}=this.state,$=this.getRegistry(),{SchemaField:C}=$.fields,{SubmitButton:E}=$.templates.ButtonTemplates,j=b?a:void 0,_=b||a||"form";let{[Hu]:P={}}=Yu(w);m&&(P={...P,props:{...P.props,disabled:!0}});const R={[Qu]:{[Hu]:P}};return(0,De.jsxs)(_,{className:o||"rjsf",id:t,name:i,method:s,target:l,action:c,autoComplete:u,encType:d,acceptCharset:f||p,noValidate:h,onSubmit:this.onSubmit,as:j,ref:this.formElement,children:["top"===y&&this.renderErrors($),(0,De.jsx)(C,{name:"",schema:x,uiSchema:w,errorSchema:A,idSchema:k,idPrefix:r,idSeparator:n,formContext:v,formData:S,onChange:this.onChange,onBlur:this.onBlur,onFocus:this.onFocus,registry:$,disabled:m,readonly:g}),e||(0,De.jsx)(E,{uiSchema:R,registry:$}),"bottom"===y&&this.renderErrors($)]})}}var Vg=r(22505);function Ug(e){let{uiSchema:t,registry:r,...n}=e;const{translateString:o}=r;return(0,De.jsx)(bo,{title:o(hf.AddItemButton),...n,color:"primary",children:(0,De.jsx)(Vg.A,{})})}var Hg=r(89751);const qg=t.createContext();function Gg(e){return(0,dn.Ay)("MuiGrid",e)}const Kg=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],Xg=(0,un.A)("MuiGrid",["root","container","item","zeroMinWidth",...[0,1,2,3,4,5,6,7,8,9,10].map((e=>`spacing-xs-${e}`)),...["column-reverse","column","row-reverse","row"].map((e=>`direction-xs-${e}`)),...["nowrap","wrap-reverse","wrap"].map((e=>`wrap-xs-${e}`)),...Kg.map((e=>`grid-xs-${e}`)),...Kg.map((e=>`grid-sm-${e}`)),...Kg.map((e=>`grid-md-${e}`)),...Kg.map((e=>`grid-lg-${e}`)),...Kg.map((e=>`grid-xl-${e}`))]),Qg=Xg,Yg=["className","columns","columnSpacing","component","container","direction","item","rowSpacing","spacing","wrap","zeroMinWidth"];function Jg(e){const t=parseFloat(e);return`${t}${String(e).replace(String(t),"")||"px"}`}function Zg(e){let{breakpoints:t,values:r}=e,n="";Object.keys(r).forEach((e=>{""===n&&0!==r[e]&&(n=e)}));const o=Object.keys(t).sort(((e,r)=>t[e]-t[r]));return o.slice(0,o.indexOf(n))}const ev=(0,at.Ay)("div",{name:"MuiGrid",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e,{container:n,direction:o,item:a,spacing:i,wrap:s,zeroMinWidth:l,breakpoints:c}=r;let u=[];n&&(u=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e||e<=0)return[];if("string"===typeof e&&!Number.isNaN(Number(e))||"number"===typeof e)return[r[`spacing-xs-${String(e)}`]];const n=[];return t.forEach((t=>{const o=e[t];Number(o)>0&&n.push(r[`spacing-${t}-${String(o)}`])})),n}(i,c,t));const d=[];return c.forEach((e=>{const n=r[e];n&&d.push(t[`grid-${e}-${String(n)}`])})),[t.root,n&&t.container,a&&t.item,l&&t.zeroMinWidth,...u,"row"!==o&&t[`direction-xs-${String(o)}`],"wrap"!==s&&t[`wrap-xs-${String(s)}`],...d]}})((e=>{let{ownerState:t}=e;return(0,Ne.A)({boxSizing:"border-box"},t.container&&{display:"flex",flexWrap:"wrap",width:"100%"},t.item&&{margin:0},t.zeroMinWidth&&{minWidth:0},"wrap"!==t.wrap&&{flexWrap:t.wrap})}),(function(e){let{theme:t,ownerState:r}=e;const n=(0,Hg.kW)({values:r.direction,breakpoints:t.breakpoints.values});return(0,Hg.NI)({theme:t},n,(e=>{const t={flexDirection:e};return 0===e.indexOf("column")&&(t[`& > .${Qg.item}`]={maxWidth:"none"}),t}))}),(function(e){let{theme:t,ownerState:r}=e;const{container:n,rowSpacing:o}=r;let a={};if(n&&0!==o){const e=(0,Hg.kW)({values:o,breakpoints:t.breakpoints.values});let r;"object"===typeof e&&(r=Zg({breakpoints:t.breakpoints.values,values:e})),a=(0,Hg.NI)({theme:t},e,((e,n)=>{var o;const a=t.spacing(e);return"0px"!==a?{marginTop:`-${Jg(a)}`,[`& > .${Qg.item}`]:{paddingTop:Jg(a)}}:null!=(o=r)&&o.includes(n)?{}:{marginTop:0,[`& > .${Qg.item}`]:{paddingTop:0}}}))}return a}),(function(e){let{theme:t,ownerState:r}=e;const{container:n,columnSpacing:o}=r;let a={};if(n&&0!==o){const e=(0,Hg.kW)({values:o,breakpoints:t.breakpoints.values});let r;"object"===typeof e&&(r=Zg({breakpoints:t.breakpoints.values,values:e})),a=(0,Hg.NI)({theme:t},e,((e,n)=>{var o;const a=t.spacing(e);return"0px"!==a?{width:`calc(100% + ${Jg(a)})`,marginLeft:`-${Jg(a)}`,[`& > .${Qg.item}`]:{paddingLeft:Jg(a)}}:null!=(o=r)&&o.includes(n)?{}:{width:"100%",marginLeft:0,[`& > .${Qg.item}`]:{paddingLeft:0}}}))}return a}),(function(e){let t,{theme:r,ownerState:n}=e;return r.breakpoints.keys.reduce(((e,o)=>{let a={};if(n[o]&&(t=n[o]),!t)return e;if(!0===t)a={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if("auto"===t)a={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{const i=(0,Hg.kW)({values:n.columns,breakpoints:r.breakpoints.values}),s="object"===typeof i?i[o]:i;if(void 0===s||null===s)return e;const l=Math.round(t/s*1e8)/1e6+"%";let c={};if(n.container&&n.item&&0!==n.columnSpacing){const e=r.spacing(n.columnSpacing);if("0px"!==e){const t=`calc(${l} + ${Jg(e)})`;c={flexBasis:t,maxWidth:t}}}a=(0,Ne.A)({flexBasis:l,flexGrow:0,maxWidth:l},c)}return 0===r.breakpoints.values[o]?Object.assign(e,a):e[r.breakpoints.up(o)]=a,e}),{})}));const tv=e=>{const{classes:t,container:r,direction:n,item:o,spacing:a,wrap:i,zeroMinWidth:s,breakpoints:l}=e;let c=[];r&&(c=function(e,t){if(!e||e<=0)return[];if("string"===typeof e&&!Number.isNaN(Number(e))||"number"===typeof e)return[`spacing-xs-${String(e)}`];const r=[];return t.forEach((t=>{const n=e[t];if(Number(n)>0){const e=`spacing-${t}-${String(n)}`;r.push(e)}})),r}(a,l));const u=[];l.forEach((t=>{const r=e[t];r&&u.push(`grid-${t}-${String(r)}`)}));const d={root:["root",r&&"container",o&&"item",s&&"zeroMinWidth",...c,"row"!==n&&`direction-xs-${String(n)}`,"wrap"!==i&&`wrap-xs-${String(i)}`,...u]};return(0,tt.A)(d,Gg,t)},rv=t.forwardRef((function(e,r){const n=(0,dt.b)({props:e,name:"MuiGrid"}),{breakpoints:o}=ut(),a=(0,Ja.A)(n),{className:i,columns:s,columnSpacing:l,component:c="div",container:u=!1,direction:d="row",item:p=!1,rowSpacing:f,spacing:h=0,wrap:m="wrap",zeroMinWidth:g=!1}=a,v=(0,Me.A)(a,Yg),y=f||h,b=l||h,x=t.useContext(qg),w=u?s||12:x,S={},A=(0,Ne.A)({},v);o.keys.forEach((e=>{null!=v[e]&&(S[e]=v[e],delete A[e])}));const k=(0,Ne.A)({},a,{columns:w,container:u,direction:d,item:p,rowSpacing:y,columnSpacing:b,wrap:m,zeroMinWidth:g,spacing:h},S,{breakpoints:o.keys}),$=tv(k);return(0,De.jsx)(qg.Provider,{value:w,children:(0,De.jsx)(ev,(0,Ne.A)({ownerState:k,className:(0,Ze.A)($.root,i),as:c,ref:r},A))})}));const nv=rv;function ov(e){const{children:t,disabled:r,hasToolbar:n,hasCopy:o,hasMoveDown:a,hasMoveUp:i,hasRemove:s,index:l,onCopyIndexClick:c,onDropIndexClick:u,onReorderClick:d,readonly:p,uiSchema:f,registry:h}=e,{CopyButton:m,MoveDownButton:g,MoveUpButton:v,RemoveButton:y}=h.templates.ButtonTemplates,b={flex:1,paddingLeft:6,paddingRight:6,fontWeight:"bold",minWidth:0};return(0,De.jsxs)(nv,{container:!0,alignItems:"center",children:[(0,De.jsx)(nv,{item:!0,xs:!0,style:{overflow:"auto"},children:(0,De.jsx)(pl,{mb:2,children:(0,De.jsx)(ma,{elevation:2,children:(0,De.jsx)(pl,{p:2,children:t})})})}),n&&(0,De.jsxs)(nv,{item:!0,children:[(i||a)&&(0,De.jsx)(v,{style:b,disabled:r||p||!i,onClick:d(l,l-1),uiSchema:f,registry:h}),(i||a)&&(0,De.jsx)(g,{style:b,disabled:r||p||!a,onClick:d(l,l+1),uiSchema:f,registry:h}),o&&(0,De.jsx)(m,{style:b,disabled:r||p,onClick:c(l),uiSchema:f,registry:h}),s&&(0,De.jsx)(y,{style:b,disabled:r||p,onClick:u(l),uiSchema:f,registry:h})]})]})}function av(e){const{canAdd:t,disabled:r,idSchema:n,uiSchema:o,items:a,onAddClick:i,readonly:s,registry:l,required:c,schema:u,title:d}=e,p=Yu(o),f=Xp("ArrayFieldDescriptionTemplate",l,p),h=Xp("ArrayFieldItemTemplate",l,p),m=Xp("ArrayFieldTitleTemplate",l,p),{ButtonTemplates:{AddButton:g}}=l.templates;return(0,De.jsx)(ma,{elevation:2,children:(0,De.jsxs)(pl,{p:2,children:[(0,De.jsx)(m,{idSchema:n,title:p.title||d,schema:u,uiSchema:o,required:c,registry:l}),(0,De.jsx)(f,{idSchema:n,description:p.description||u.description,schema:u,uiSchema:o,registry:l}),a&&a.map((e=>{let{key:t,...r}=e;return(0,De.jsx)(h,{...r},t)})),t&&(0,De.jsx)(nv,{container:!0,justifyContent:"flex-end",children:(0,De.jsx)(nv,{item:!0,children:(0,De.jsx)(pl,{mt:2,children:(0,De.jsx)(g,{className:"array-item-add",onClick:i,disabled:r||s,uiSchema:o,registry:l})})})})]})})}const iv=["date","datetime-local","file","time"];function sv(e){const{id:t,name:r,placeholder:n,required:o,readonly:a,disabled:i,type:s,label:l,hideLabel:c,hideError:u,value:d,onChange:p,onChangeOverride:f,onBlur:h,onFocus:m,autofocus:g,options:v,schema:y,uiSchema:b,rawErrors:x=[],errorSchema:w,formContext:S,registry:A,InputLabelProps:k,...$}=e,C=qp(y,s,v),{step:E,min:j,max:_,...P}=C,R={inputProps:{step:E,min:j,max:_,...y.examples?{list:rf(t)}:void 0},...P},O=iv.includes(s)?{...k,shrink:!0}:k;return(0,De.jsxs)(De.Fragment,{children:[(0,De.jsx)(mu,{id:t,name:t,placeholder:n,label:lf(l||void 0,c,void 0),autoFocus:g,required:o,disabled:i||a,...R,value:d||0===d?d:"",error:x.length>0,onChange:f||(e=>{let{target:{value:t}}=e;return p(""===t?v.emptyValue:t)}),onBlur:e=>{let{target:r}=e;return h(t,r&&r.value)},onFocus:e=>{let{target:r}=e;return m(t,r&&r.value)},InputLabelProps:O,...$,"aria-describedby":af(t,!!y.examples)}),Array.isArray(y.examples)&&(0,De.jsx)("datalist",{id:rf(t),children:y.examples.concat(y.default&&!y.examples.includes(y.default)?[y.default]:[]).map((e=>(0,De.jsx)("option",{value:e},e)))})]})}function lv(e){const{id:t,description:r}=e;return r?(0,De.jsx)(oi,{id:t,variant:"subtitle2",style:{marginTop:"5px"},children:r}):null}var cv=r(1528);function uv(e){return(0,dn.Ay)("MuiListItem",e)}const dv=(0,un.A)("MuiListItem",["root","container","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","padding","button","secondaryAction","selected"]);const pv=(0,un.A)("MuiListItemButton",["root","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","selected"]);function fv(e){return(0,dn.Ay)("MuiListItemSecondaryAction",e)}(0,un.A)("MuiListItemSecondaryAction",["root","disableGutters"]);const hv=["className"],mv=(0,at.Ay)("div",{name:"MuiListItemSecondaryAction",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,r.disableGutters&&t.disableGutters]}})((e=>{let{ownerState:t}=e;return(0,Ne.A)({position:"absolute",right:16,top:"50%",transform:"translateY(-50%)"},t.disableGutters&&{right:0})})),gv=t.forwardRef((function(e,r){const n=(0,dt.b)({props:e,name:"MuiListItemSecondaryAction"}),{className:o}=n,a=(0,Me.A)(n,hv),i=t.useContext(wo),s=(0,Ne.A)({},n,{disableGutters:i.disableGutters}),l=(e=>{const{disableGutters:t,classes:r}=e,n={root:["root",t&&"disableGutters"]};return(0,tt.A)(n,fv,r)})(s);return(0,De.jsx)(mv,(0,Ne.A)({className:(0,Ze.A)(l.root,o),ownerState:s,ref:r},a))}));gv.muiName="ListItemSecondaryAction";const vv=gv,yv=["className"],bv=["alignItems","autoFocus","button","children","className","component","components","componentsProps","ContainerComponent","ContainerProps","dense","disabled","disableGutters","disablePadding","divider","focusVisibleClassName","secondaryAction","selected","slotProps","slots"],xv=(0,at.Ay)("div",{name:"MuiListItem",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,r.dense&&t.dense,"flex-start"===r.alignItems&&t.alignItemsFlexStart,r.divider&&t.divider,!r.disableGutters&&t.gutters,!r.disablePadding&&t.padding,r.button&&t.button,r.hasSecondaryAction&&t.secondaryAction]}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",width:"100%",boxSizing:"border-box",textAlign:"left"},!r.disablePadding&&(0,Ne.A)({paddingTop:8,paddingBottom:8},r.dense&&{paddingTop:4,paddingBottom:4},!r.disableGutters&&{paddingLeft:16,paddingRight:16},!!r.secondaryAction&&{paddingRight:48}),!!r.secondaryAction&&{[`& > .${pv.root}`]:{paddingRight:48}},{[`&.${dv.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`&.${dv.selected}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:(0,rt.X4)(t.palette.primary.main,t.palette.action.selectedOpacity),[`&.${dv.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:(0,rt.X4)(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)}},[`&.${dv.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity}},"flex-start"===r.alignItems&&{alignItems:"flex-start"},r.divider&&{borderBottom:`1px solid ${(t.vars||t).palette.divider}`,backgroundClip:"padding-box"},r.button&&{transition:t.transitions.create("background-color",{duration:t.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${dv.selected}:hover`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:(0,rt.X4)(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:(0,rt.X4)(t.palette.primary.main,t.palette.action.selectedOpacity)}}},r.hasSecondaryAction&&{paddingRight:48})})),wv=(0,at.Ay)("li",{name:"MuiListItem",slot:"Container",overridesResolver:(e,t)=>t.container})({position:"relative"}),Sv=t.forwardRef((function(e,r){const n=(0,dt.b)({props:e,name:"MuiListItem"}),{alignItems:o="center",autoFocus:a=!1,button:i=!1,children:s,className:l,component:c,components:u={},componentsProps:d={},ContainerComponent:p="li",ContainerProps:{className:f}={},dense:h=!1,disabled:m=!1,disableGutters:g=!1,disablePadding:v=!1,divider:y=!1,focusVisibleClassName:b,secondaryAction:x,selected:w=!1,slotProps:S={},slots:A={}}=n,k=(0,Me.A)(n.ContainerProps,yv),$=(0,Me.A)(n,bv),C=t.useContext(wo),E=t.useMemo((()=>({dense:h||C.dense||!1,alignItems:o,disableGutters:g})),[o,C.dense,h,g]),j=t.useRef(null);(0,jo.A)((()=>{a&&j.current&&j.current.focus()}),[a]);const _=t.Children.toArray(s),P=_.length&&(0,$c.A)(_[_.length-1],["ListItemSecondaryAction"]),R=(0,Ne.A)({},n,{alignItems:o,autoFocus:a,button:i,dense:E.dense,disabled:m,disableGutters:g,disablePadding:v,divider:y,hasSecondaryAction:P,selected:w}),O=(e=>{const{alignItems:t,button:r,classes:n,dense:o,disabled:a,disableGutters:i,disablePadding:s,divider:l,hasSecondaryAction:c,selected:u}=e,d={root:["root",o&&"dense",!i&&"gutters",!s&&"padding",l&&"divider",a&&"disabled",r&&"button","flex-start"===t&&"alignItemsFlexStart",c&&"secondaryAction",u&&"selected"],container:["container"]};return(0,tt.A)(d,uv,n)})(R),N=(0,Et.A)(j,r),M=A.root||u.Root||xv,T=S.root||d.root||{},I=(0,Ne.A)({className:(0,Ze.A)(O.root,T.className,l),disabled:m},$);let F=c||"li";return i&&(I.component=c||"div",I.focusVisibleClassName=(0,Ze.A)(dv.focusVisible,b),F=ho),P?(F=I.component||c?F:"div","li"===p&&("li"===F?F="div":"li"===I.component&&(I.component="div")),(0,De.jsx)(wo.Provider,{value:E,children:(0,De.jsxs)(wv,(0,Ne.A)({as:p,className:(0,Ze.A)(O.container,f),ref:N,ownerState:R},k,{children:[(0,De.jsx)(M,(0,Ne.A)({},T,!nt(M)&&{as:F,ownerState:(0,Ne.A)({},R,T.ownerState)},I,{children:_})),_.pop()]}))})):(0,De.jsx)(wo.Provider,{value:E,children:(0,De.jsxs)(M,(0,Ne.A)({},T,{as:F,ref:N},!nt(M)&&{ownerState:(0,Ne.A)({},R,T.ownerState)},I,{children:[_,x&&(0,De.jsx)(vv,{children:x})]}))})}));function Av(e){let{errors:t,registry:r}=e;const{translateString:n}=r;return(0,De.jsx)(ma,{elevation:2,children:(0,De.jsxs)(pl,{mb:2,p:2,children:[(0,De.jsx)(oi,{variant:"h6",children:n(hf.ErrorsLabel)}),(0,De.jsx)($o,{dense:!0,children:t.map(((e,t)=>(0,De.jsxs)(Sv,{children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(cv.A,{color:"error"})}),(0,De.jsx)(si,{primary:e.stack})]},t)))})]})})}var kv=r(10977),$v=r(43608),Cv=r(24914),Ev=r(76164);function jv(e){const{icon:t,color:r,uiSchema:n,registry:o,...a}=e;return(0,De.jsx)(bo,{...a,size:"small",color:r,children:t})}function _v(e){const{registry:{translateString:t}}=e;return(0,De.jsx)(jv,{title:t(hf.CopyButton),...e,icon:(0,De.jsx)(Cv.A,{fontSize:"small"})})}function Pv(e){const{registry:{translateString:t}}=e;return(0,De.jsx)(jv,{title:t(hf.MoveDownButton),...e,icon:(0,De.jsx)(kv.A,{fontSize:"small"})})}function Rv(e){const{registry:{translateString:t}}=e;return(0,De.jsx)(jv,{title:t(hf.MoveUpButton),...e,icon:(0,De.jsx)($v.A,{fontSize:"small"})})}function Ov(e){const{iconType:t,...r}=e,{registry:{translateString:n}}=r;return(0,De.jsx)(jv,{title:n(hf.RemoveButton),...r,color:"error",icon:(0,De.jsx)(Ev.A,{fontSize:"default"===t?void 0:"small"})})}function Nv(e){const{errors:t=[],idSchema:r}=e;if(0===t.length)return null;const n=tf(r);return(0,De.jsx)($o,{id:n,dense:!0,disablePadding:!0,children:t.map(((e,t)=>(0,De.jsx)(Sv,{disableGutters:!0,children:(0,De.jsx)(Tc,{component:"div",id:`${n}-${t}`,children:e})},t)))})}function Mv(e){const{idSchema:t,help:r}=e;if(!r)return null;const n=nf(t);return(0,De.jsx)(Tc,{component:"div",id:n,children:r})}function Tv(e){const{id:t,children:r,classNames:n,style:o,disabled:a,displayLabel:i,hidden:s,label:l,onDropPropertyClick:c,onKeyChange:u,readonly:d,required:p,rawErrors:f=[],errors:h,help:m,description:g,rawDescription:v,schema:y,uiSchema:b,registry:x}=e,w=Xp("WrapIfAdditionalTemplate",x,Yu(b));return s?(0,De.jsx)("div",{style:{display:"none"},children:r}):(0,De.jsx)(w,{classNames:n,style:o,disabled:a,id:t,label:l,onDropPropertyClick:c,onKeyChange:u,readonly:d,required:p,schema:y,uiSchema:b,registry:x,children:(0,De.jsxs)(_c,{fullWidth:!0,error:!!f.length,required:p,children:[r,i&&v?(0,De.jsx)(oi,{variant:"caption",color:"textSecondary",children:g}):null,h,m]})})}function Iv(e){const{description:t,title:r,properties:n,required:o,disabled:a,readonly:i,uiSchema:s,idSchema:l,schema:c,formData:u,onAddClick:d,registry:p}=e,f=Yu(s),h=Xp("TitleFieldTemplate",p,f),m=Xp("DescriptionFieldTemplate",p,f),{ButtonTemplates:{AddButton:g}}=p.templates;return(0,De.jsxs)(De.Fragment,{children:[r&&(0,De.jsx)(h,{id:of(l),title:r,required:o,schema:c,uiSchema:s,registry:p}),t&&(0,De.jsx)(m,{id:ef(l),description:t,schema:c,uiSchema:s,registry:p}),(0,De.jsxs)(nv,{container:!0,spacing:2,style:{marginTop:"10px"},children:[n.map(((e,t)=>e.hidden?e.content:(0,De.jsx)(nv,{item:!0,xs:12,style:{marginBottom:"10px"},children:e.content},t))),Ju(c,s,u)&&(0,De.jsx)(nv,{container:!0,justifyContent:"flex-end",children:(0,De.jsx)(nv,{item:!0,children:(0,De.jsx)(g,{className:"object-property-expand",onClick:d(c),disabled:a||i,uiSchema:s,registry:p})})})]})]})}function Fv(e){let{uiSchema:t}=e;const{submitText:r,norender:n,props:o={}}=Kp(t);return n?null:(0,De.jsx)(pl,{marginTop:3,children:(0,De.jsx)(Zs,{type:"submit",variant:"contained",color:"primary",...o,children:r})})}function Dv(e){let{id:t,title:r}=e;return(0,De.jsxs)(pl,{id:t,mb:1,mt:1,children:[(0,De.jsx)(oi,{variant:"h5",children:r}),(0,De.jsx)(pi,{})]})}function zv(e){const{children:t,classNames:r,style:n,disabled:o,id:a,label:i,onDropPropertyClick:s,onKeyChange:l,readonly:c,required:u,schema:d,uiSchema:p,registry:f}=e,{templates:h,translateString:m}=f,{RemoveButton:g}=h.ButtonTemplates,v=m(hf.KeyLabel,[i]);if(!(_u in d))return(0,De.jsx)("div",{className:r,style:n,children:t});return(0,De.jsxs)(nv,{container:!0,alignItems:"center",spacing:2,className:r,style:n,children:[(0,De.jsx)(nv,{item:!0,xs:!0,children:(0,De.jsx)(mu,{fullWidth:!0,required:u,label:v,defaultValue:i,disabled:o||c,id:`${a}-key`,name:`${a}-key`,onBlur:c?void 0:e=>{let{target:t}=e;return l(t&&t.value)},type:"text"})}),(0,De.jsx)(nv,{item:!0,xs:!0,children:t}),(0,De.jsx)(nv,{item:!0,children:(0,De.jsx)(g,{iconType:"default",style:{flex:1,paddingLeft:6,paddingRight:6,fontWeight:"bold"},disabled:o||c,onClick:s(i),uiSchema:p,registry:f})})]},`${a}-key`)}function Lv(){return{ArrayFieldItemTemplate:ov,ArrayFieldTemplate:av,BaseInputTemplate:sv,ButtonTemplates:{AddButton:Ug,CopyButton:_v,MoveDownButton:Pv,MoveUpButton:Rv,RemoveButton:Ov,SubmitButton:Fv},DescriptionFieldTemplate:lv,ErrorListTemplate:Av,FieldErrorTemplate:Nv,FieldHelpTemplate:Mv,FieldTemplate:Tv,ObjectFieldTemplate:Iv,TitleFieldTemplate:Dv,WrapIfAdditionalTemplate:zv}}Lv();function Bv(e){return(0,dn.Ay)("PrivateSwitchBase",e)}(0,un.A)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);const Wv=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],Vv=(0,at.Ay)(ho)((e=>{let{ownerState:t}=e;return(0,Ne.A)({padding:9,borderRadius:"50%"},"start"===t.edge&&{marginLeft:"small"===t.size?-3:-12},"end"===t.edge&&{marginRight:"small"===t.size?-3:-12})})),Uv=(0,at.Ay)("input",{shouldForwardProp:ja.A})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),Hv=t.forwardRef((function(e,t){const{autoFocus:r,checked:n,checkedIcon:o,className:a,defaultChecked:i,disabled:s,disableFocusRipple:l=!1,edge:c=!1,icon:u,id:d,inputProps:p,inputRef:f,name:h,onBlur:m,onChange:g,onFocus:v,readOnly:y,required:b=!1,tabIndex:x,type:w,value:S}=e,A=(0,Me.A)(e,Wv),[k,$]=(0,jn.A)({controlled:n,default:Boolean(i),name:"SwitchBase",state:"checked"}),C=El();let E=s;C&&"undefined"===typeof E&&(E=C.disabled);const j="checkbox"===w||"radio"===w,_=(0,Ne.A)({},e,{checked:k,disabled:E,disableFocusRipple:l,edge:c}),P=(e=>{const{classes:t,checked:r,disabled:n,edge:o}=e,a={root:["root",r&&"checked",n&&"disabled",o&&`edge${(0,pt.A)(o)}`],input:["input"]};return(0,tt.A)(a,Bv,t)})(_);return(0,De.jsxs)(Vv,(0,Ne.A)({component:"span",className:(0,Ze.A)(P.root,a),centerRipple:!0,focusRipple:!l,disabled:E,tabIndex:null,role:void 0,onFocus:e=>{v&&v(e),C&&C.onFocus&&C.onFocus(e)},onBlur:e=>{m&&m(e),C&&C.onBlur&&C.onBlur(e)},ownerState:_,ref:t},A,{children:[(0,De.jsx)(Uv,(0,Ne.A)({autoFocus:r,checked:n,defaultChecked:i,className:P.input,disabled:E,id:j?d:void 0,name:h,onChange:e=>{if(e.nativeEvent.defaultPrevented)return;const t=e.target.checked;$(t),g&&g(e,t)},readOnly:y,ref:f,required:b,ownerState:_,tabIndex:x,type:w},"checkbox"===w&&void 0===S?{}:{value:S},p)),k?o:u]}))})),qv=(0,Xi.A)((0,De.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),Gv=(0,Xi.A)((0,De.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),Kv=(0,Xi.A)((0,De.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox");function Xv(e){return(0,dn.Ay)("MuiCheckbox",e)}const Qv=(0,un.A)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary","sizeSmall","sizeMedium"]),Yv=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],Jv=(0,at.Ay)(Hv,{shouldForwardProp:e=>(0,ja.A)(e)||"classes"===e,name:"MuiCheckbox",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,r.indeterminate&&t.indeterminate,t[`size${(0,pt.A)(r.size)}`],"default"!==r.color&&t[`color${(0,pt.A)(r.color)}`]]}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({color:(t.vars||t).palette.text.secondary},!r.disableRipple&&{"&:hover":{backgroundColor:t.vars?`rgba(${"default"===r.color?t.vars.palette.action.activeChannel:t.vars.palette[r.color].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:(0,rt.X4)("default"===r.color?t.palette.action.active:t.palette[r.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==r.color&&{[`&.${Qv.checked}, &.${Qv.indeterminate}`]:{color:(t.vars||t).palette[r.color].main},[`&.${Qv.disabled}`]:{color:(t.vars||t).palette.action.disabled}})})),Zv=(0,De.jsx)(Gv,{}),ey=(0,De.jsx)(qv,{}),ty=(0,De.jsx)(Kv,{}),ry=t.forwardRef((function(e,r){var n,o;const a=(0,dt.b)({props:e,name:"MuiCheckbox"}),{checkedIcon:i=Zv,color:s="primary",icon:l=ey,indeterminate:c=!1,indeterminateIcon:u=ty,inputProps:d,size:p="medium",className:f}=a,h=(0,Me.A)(a,Yv),m=c?u:l,g=c?u:i,v=(0,Ne.A)({},a,{color:s,indeterminate:c,size:p}),y=(e=>{const{classes:t,indeterminate:r,color:n,size:o}=e,a={root:["root",r&&"indeterminate",`color${(0,pt.A)(n)}`,`size${(0,pt.A)(o)}`]},i=(0,tt.A)(a,Xv,t);return(0,Ne.A)({},t,i)})(v);return(0,De.jsx)(Jv,(0,Ne.A)({type:"checkbox",inputProps:(0,Ne.A)({"data-indeterminate":c},d),icon:t.cloneElement(m,{fontSize:null!=(n=m.props.fontSize)?n:p}),checkedIcon:t.cloneElement(g,{fontSize:null!=(o=g.props.fontSize)?o:p}),ownerState:v,ref:r,className:(0,Ze.A)(y.root,f)},h,{classes:y}))})),ny=["ownerState"],oy=["variants"],ay=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function iy(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e}const sy=(0,it.A)(),ly=e=>e?e.charAt(0).toLowerCase()+e.slice(1):e;function cy(e){let{defaultTheme:t,theme:r,themeId:n}=e;return o=r,0===Object.keys(o).length?t:r[n]||r;var o}function uy(e){return e?(t,r)=>r[e]:null}function dy(e,t){let{ownerState:r}=t,n=(0,Me.A)(t,ny);const o="function"===typeof e?e((0,Ne.A)({ownerState:r},n)):e;if(Array.isArray(o))return o.flatMap((e=>dy(e,(0,Ne.A)({ownerState:r},n))));if(o&&"object"===typeof o&&Array.isArray(o.variants)){const{variants:e=[]}=o;let t=(0,Me.A)(o,oy);return e.forEach((e=>{let o=!0;"function"===typeof e.props?o=e.props((0,Ne.A)({ownerState:r},n,r)):Object.keys(e.props).forEach((t=>{(null==r?void 0:r[t])!==e.props[t]&&n[t]!==e.props[t]&&(o=!1)})),o&&(Array.isArray(t)||(t=[t]),t.push("function"===typeof e.style?e.style((0,Ne.A)({ownerState:r},n,r)):e.style))})),t}return o}const py=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{themeId:t,defaultTheme:r=sy,rootShouldForwardProp:n=iy,slotShouldForwardProp:o=iy}=e,a=e=>(0,il.A)((0,Ne.A)({},e,{theme:cy((0,Ne.A)({},e,{defaultTheme:r,themeId:t}))}));return a.__mui_systemSx=!0,function(e){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,al.internal_processStyles)(e,(e=>e.filter((e=>!(null!=e&&e.__mui_systemSx)))));const{name:s,slot:l,skipVariantsResolver:c,skipSx:u,overridesResolver:d=uy(ly(l))}=i,p=(0,Me.A)(i,ay),f=void 0!==c?c:l&&"Root"!==l&&"root"!==l||!1,h=u||!1;let m=iy;"Root"===l||"root"===l?m=n:l?m=o:function(e){return"string"===typeof e&&e.charCodeAt(0)>96}(e)&&(m=void 0);const g=(0,al.default)(e,(0,Ne.A)({shouldForwardProp:m,label:undefined},p)),v=e=>"function"===typeof e&&e.__emotion_real!==e||(0,vl.Q)(e)?n=>dy(e,(0,Ne.A)({},n,{theme:cy({theme:n.theme,defaultTheme:r,themeId:t})})):e,y=function(n){let o=v(n);for(var i=arguments.length,l=new Array(i>1?i-1:0),c=1;c{const n=cy((0,Ne.A)({},e,{defaultTheme:r,themeId:t}));if(!n.components||!n.components[s]||!n.components[s].styleOverrides)return null;const o=n.components[s].styleOverrides,a={};return Object.entries(o).forEach((t=>{let[r,o]=t;a[r]=dy(o,(0,Ne.A)({},e,{theme:n}))})),d(e,a)})),s&&!f&&u.push((e=>{var n;const o=cy((0,Ne.A)({},e,{defaultTheme:r,themeId:t}));return dy({variants:null==o||null==(n=o.components)||null==(n=n[s])?void 0:n.variants},(0,Ne.A)({},e,{theme:o}))})),h||u.push(a);const p=u.length-l.length;if(Array.isArray(n)&&p>0){const e=new Array(p).fill("");o=[...n,...e],o.raw=[...n.raw,...e]}const m=g(o,...u);return e.muiName&&(m.muiName=e.muiName),m};return g.withConfig&&(y.withConfig=g.withConfig),y}}(),fy=py;function hy(e){let{props:t,name:r,defaultTheme:n,themeId:o}=e,a=lt(n);o&&(a=a[o]||a);const i=function(e){const{theme:t,name:r,props:n}=e;return t&&t.components&&t.components[r]&&t.components[r].defaultProps?(0,Vs.A)(t.components[r].defaultProps,n):n}({theme:a,name:r,props:t});return i}var my=r(28604);const gy=["component","direction","spacing","divider","children","className","useFlexGap"],vy=(0,it.A)(),yy=fy("div",{name:"MuiStack",slot:"Root",overridesResolver:(e,t)=>t.root});function by(e){return hy({props:e,name:"MuiStack",defaultTheme:vy})}function xy(e,r){const n=t.Children.toArray(e).filter(Boolean);return n.reduce(((e,o,a)=>(e.push(o),a{let{ownerState:t,theme:r}=e,n=(0,Ne.A)({display:"flex",flexDirection:"column"},(0,Hg.NI)({theme:r},(0,Hg.kW)({values:t.direction,breakpoints:r.breakpoints.values}),(e=>({flexDirection:e}))));if(t.spacing){const e=(0,my.LX)(r),o=Object.keys(r.breakpoints.values).reduce(((e,r)=>(("object"===typeof t.spacing&&null!=t.spacing[r]||"object"===typeof t.direction&&null!=t.direction[r])&&(e[r]=!0),e)),{}),a=(0,Hg.kW)({values:t.direction,base:o}),i=(0,Hg.kW)({values:t.spacing,base:o});"object"===typeof a&&Object.keys(a).forEach(((e,t,r)=>{if(!a[e]){const n=t>0?a[r[t-1]]:"column";a[e]=n}}));const s=(r,n)=>{return t.useFlexGap?{gap:(0,my._W)(e,r)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${o=n?a[n]:t.direction,{row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"}[o]}`]:(0,my._W)(e,r)}};var o};n=(0,vl.A)(n,(0,Hg.NI)({theme:r},i,s))}return n=(0,Hg.iZ)(r.breakpoints,n),n};const Sy=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{createStyledComponent:r=yy,useThemeProps:n=by,componentName:o="MuiStack"}=e,a=r(wy),i=t.forwardRef((function(e,t){const r=n(e),i=(0,Ja.A)(r),{component:s="div",direction:l="column",spacing:c=0,divider:u,children:d,className:p,useFlexGap:f=!1}=i,h=(0,Me.A)(i,gy),m={direction:l,spacing:c,useFlexGap:f},g=(0,tt.A)({root:["root"]},(e=>(0,dn.Ay)(o,e)),{});return(0,De.jsx)(a,(0,Ne.A)({as:s,ownerState:m,ref:t,className:(0,Ze.A)(g.root,p)},h,{children:u?xy(d,u):d}))}));return i}({createStyledComponent:(0,at.Ay)("div",{name:"MuiStack",slot:"Root",overridesResolver:(e,t)=>t.root}),useThemeProps:e=>(0,dt.b)({props:e,name:"MuiStack"})}),Ay=Sy;function ky(e){return(0,dn.Ay)("MuiFormControlLabel",e)}const $y=(0,un.A)("MuiFormControlLabel",["root","labelPlacementStart","labelPlacementTop","labelPlacementBottom","disabled","label","error","required","asterisk"]),Cy=["checked","className","componentsProps","control","disabled","disableTypography","inputRef","label","labelPlacement","name","onChange","required","slotProps","value"],Ey=(0,at.Ay)("label",{name:"MuiFormControlLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[{[`& .${$y.label}`]:t.label},t.root,t[`labelPlacement${(0,pt.A)(r.labelPlacement)}`]]}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({display:"inline-flex",alignItems:"center",cursor:"pointer",verticalAlign:"middle",WebkitTapHighlightColor:"transparent",marginLeft:-11,marginRight:16,[`&.${$y.disabled}`]:{cursor:"default"}},"start"===r.labelPlacement&&{flexDirection:"row-reverse",marginLeft:16,marginRight:-11},"top"===r.labelPlacement&&{flexDirection:"column-reverse",marginLeft:16},"bottom"===r.labelPlacement&&{flexDirection:"column",marginLeft:16},{[`& .${$y.label}`]:{[`&.${$y.disabled}`]:{color:(t.vars||t).palette.text.disabled}}})})),jy=(0,at.Ay)("span",{name:"MuiFormControlLabel",slot:"Asterisk",overridesResolver:(e,t)=>t.asterisk})((e=>{let{theme:t}=e;return{[`&.${$y.error}`]:{color:(t.vars||t).palette.error.main}}})),_y=t.forwardRef((function(e,r){var n,o;const a=(0,dt.b)({props:e,name:"MuiFormControlLabel"}),{className:i,componentsProps:s={},control:l,disabled:c,disableTypography:u,label:d,labelPlacement:p="end",required:f,slotProps:h={}}=a,m=(0,Me.A)(a,Cy),g=El(),v=null!=(n=null!=c?c:l.props.disabled)?n:null==g?void 0:g.disabled,y=null!=f?f:l.props.required,b={disabled:v,required:y};["checked","name","onChange","value","inputRef"].forEach((e=>{"undefined"===typeof l.props[e]&&"undefined"!==typeof a[e]&&(b[e]=a[e])}));const x=$l({props:a,muiFormControl:g,states:["error"]}),w=(0,Ne.A)({},a,{disabled:v,labelPlacement:p,required:y,error:x.error}),S=(e=>{const{classes:t,disabled:r,labelPlacement:n,error:o,required:a}=e,i={root:["root",r&&"disabled",`labelPlacement${(0,pt.A)(n)}`,o&&"error",a&&"required"],label:["label",r&&"disabled"],asterisk:["asterisk",o&&"error"]};return(0,tt.A)(i,ky,t)})(w),A=null!=(o=h.typography)?o:s.typography;let k=d;return null==k||k.type===oi||u||(k=(0,De.jsx)(oi,(0,Ne.A)({component:"span"},A,{className:(0,Ze.A)(S.label,null==A?void 0:A.className),children:k}))),(0,De.jsxs)(Ey,(0,Ne.A)({className:(0,Ze.A)(S.root,i),ownerState:w,ref:r},m,{children:[t.cloneElement(l,b),y?(0,De.jsxs)(Ay,{display:"block",children:[k,(0,De.jsxs)(jy,{ownerState:w,"aria-hidden":!0,className:S.asterisk,children:["\u2009","*"]})]}):k]}))}));function Py(e){var t;const{schema:r,id:n,value:o,disabled:a,readonly:i,label:s="",hideLabel:l,autofocus:c,onChange:u,onBlur:d,onFocus:p,registry:f,options:h,uiSchema:m}=e,g=Xp("DescriptionFieldTemplate",f,h),v=df(r),y=null!==(t=h.description)&&void 0!==t?t:r.description;return(0,De.jsxs)(De.Fragment,{children:[!l&&!!y&&(0,De.jsx)(g,{id:ef(n),description:y,schema:r,uiSchema:m,registry:f}),(0,De.jsx)(_y,{control:(0,De.jsx)(ry,{id:n,name:n,checked:"undefined"!==typeof o&&Boolean(o),required:v,disabled:a||i,autoFocus:c,onChange:(e,t)=>u(t),onBlur:e=>{let{target:t}=e;return d(n,t&&t.value)},onFocus:e=>{let{target:t}=e;return p(n,t&&t.value)},"aria-describedby":af(n)}),label:lf(s,l,!1)})]})}function Ry(e){return(0,dn.Ay)("MuiFormGroup",e)}(0,un.A)("MuiFormGroup",["root","row","error"]);const Oy=["className","row"],Ny=(0,at.Ay)("div",{name:"MuiFormGroup",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,r.row&&t.row]}})((e=>{let{ownerState:t}=e;return(0,Ne.A)({display:"flex",flexDirection:"column",flexWrap:"wrap"},t.row&&{flexDirection:"row"})})),My=t.forwardRef((function(e,t){const r=(0,dt.b)({props:e,name:"MuiFormGroup"}),{className:n,row:o=!1}=r,a=(0,Me.A)(r,Oy),i=$l({props:r,muiFormControl:El(),states:["error"]}),s=(0,Ne.A)({},r,{row:o,error:i.error}),l=(e=>{const{classes:t,row:r,error:n}=e,o={root:["root",r&&"row",n&&"error"]};return(0,tt.A)(o,Ry,t)})(s);return(0,De.jsx)(Ny,(0,Ne.A)({className:(0,Ze.A)(l.root,n),ownerState:s,ref:t},a))}));function Ty(e){let{label:t,hideLabel:r,id:n,disabled:o,options:a,value:i,autofocus:s,readonly:l,required:c,onChange:u,onBlur:d,onFocus:p}=e;const{enumOptions:f,enumDisabled:h,inline:m,emptyValue:g}=a,v=Array.isArray(i)?i:[i],y=e=>t=>{let{target:{checked:r}}=t;u(r?Dp(e,v,f):Np(e,v,f))},b=e=>{let{target:t}=e;return d(n,Op(t&&t.value,f,g))},x=e=>{let{target:t}=e;return p(n,Op(t&&t.value,f,g))};return(0,De.jsxs)(De.Fragment,{children:[lf((0,De.jsx)(xc,{required:c,htmlFor:n,children:t||void 0}),r),(0,De.jsx)(My,{id:n,row:!!m,children:Array.isArray(f)&&f.map(((e,t)=>{const r=Mp(e.value,v),a=Array.isArray(h)&&-1!==h.indexOf(e.value),i=(0,De.jsx)(ry,{id:sf(n,t),name:n,checked:r,disabled:o||a||l,autoFocus:s&&0===t,onChange:y(t),onBlur:b,onFocus:x,"aria-describedby":af(n)});return(0,De.jsx)(_y,{control:i,label:e.label},t)}))})]})}const Iy=(0,Xi.A)((0,De.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"RadioButtonUnchecked"),Fy=(0,Xi.A)((0,De.jsx)("path",{d:"M8.465 8.465C9.37 7.56 10.62 7 12 7C14.76 7 17 9.24 17 12C17 13.38 16.44 14.63 15.535 15.535C14.63 16.44 13.38 17 12 17C9.24 17 7 14.76 7 12C7 10.62 7.56 9.37 8.465 8.465Z"}),"RadioButtonChecked"),Dy=(0,at.Ay)("span",{shouldForwardProp:ja.A})({position:"relative",display:"flex"}),zy=(0,at.Ay)(Iy)({transform:"scale(1)"}),Ly=(0,at.Ay)(Fy)((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({left:0,position:"absolute",transform:"scale(0)",transition:t.transitions.create("transform",{easing:t.transitions.easing.easeIn,duration:t.transitions.duration.shortest})},r.checked&&{transform:"scale(1)",transition:t.transitions.create("transform",{easing:t.transitions.easing.easeOut,duration:t.transitions.duration.shortest})})}));const By=function(e){const{checked:t=!1,classes:r={},fontSize:n}=e,o=(0,Ne.A)({},e,{checked:t});return(0,De.jsxs)(Dy,{className:r.root,ownerState:o,children:[(0,De.jsx)(zy,{fontSize:n,className:r.background,ownerState:o}),(0,De.jsx)(Ly,{fontSize:n,className:r.dot,ownerState:o})]})};var Wy=r(6593);const Vy=t.createContext(void 0);function Uy(e){return(0,dn.Ay)("MuiRadio",e)}const Hy=(0,un.A)("MuiRadio",["root","checked","disabled","colorPrimary","colorSecondary","sizeSmall"]),qy=["checked","checkedIcon","color","icon","name","onChange","size","className"],Gy=(0,at.Ay)(Hv,{shouldForwardProp:e=>(0,ja.A)(e)||"classes"===e,name:"MuiRadio",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,"medium"!==r.size&&t[`size${(0,pt.A)(r.size)}`],t[`color${(0,pt.A)(r.color)}`]]}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({color:(t.vars||t).palette.text.secondary},!r.disableRipple&&{"&:hover":{backgroundColor:t.vars?`rgba(${"default"===r.color?t.vars.palette.action.activeChannel:t.vars.palette[r.color].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:(0,rt.X4)("default"===r.color?t.palette.action.active:t.palette[r.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==r.color&&{[`&.${Hy.checked}`]:{color:(t.vars||t).palette[r.color].main}},{[`&.${Hy.disabled}`]:{color:(t.vars||t).palette.action.disabled}})}));const Ky=(0,De.jsx)(By,{checked:!0}),Xy=(0,De.jsx)(By,{}),Qy=t.forwardRef((function(e,r){var n,o;const a=(0,dt.b)({props:e,name:"MuiRadio"}),{checked:i,checkedIcon:s=Ky,color:l="primary",icon:c=Xy,name:u,onChange:d,size:p="medium",className:f}=a,h=(0,Me.A)(a,qy),m=(0,Ne.A)({},a,{color:l,size:p}),g=(e=>{const{classes:t,color:r,size:n}=e,o={root:["root",`color${(0,pt.A)(r)}`,"medium"!==n&&`size${(0,pt.A)(n)}`]};return(0,Ne.A)({},t,(0,tt.A)(o,Uy,t))})(m),v=t.useContext(Vy);let y=i;const b=(0,Wy.A)(d,v&&v.onChange);let x=u;return v&&("undefined"===typeof y&&(y=function(e,t){return"object"===typeof t&&null!==t?e===t:String(e)===String(t)}(v.value,a.value)),"undefined"===typeof x&&(x=v.name)),(0,De.jsx)(Gy,(0,Ne.A)({type:"radio",icon:t.cloneElement(c,{fontSize:null!=(n=Xy.props.fontSize)?n:p}),checkedIcon:t.cloneElement(s,{fontSize:null!=(o=Ky.props.fontSize)?o:p}),ownerState:m,classes:g,name:x,checked:y,onChange:b,ref:r,className:(0,Ze.A)(g.root,f)},h))})),Yy=Qy;function Jy(e){return(0,dn.Ay)("MuiRadioGroup",e)}(0,un.A)("MuiRadioGroup",["root","row","error"]);const Zy=["actions","children","className","defaultValue","name","onChange","value"],eb=t.forwardRef((function(e,r){const{actions:n,children:o,className:a,defaultValue:i,name:s,onChange:l,value:c}=e,u=(0,Me.A)(e,Zy),d=t.useRef(null),p=(e=>{const{classes:t,row:r,error:n}=e,o={root:["root",r&&"row",n&&"error"]};return(0,tt.A)(o,Jy,t)})(e),[f,h]=(0,jn.A)({controlled:c,default:i,name:"RadioGroup"});t.useImperativeHandle(n,(()=>({focus:()=>{let e=d.current.querySelector("input:not(:disabled):checked");e||(e=d.current.querySelector("input:not(:disabled)")),e&&e.focus()}})),[]);const m=(0,Et.A)(r,d),g=(0,Cn.A)(s),v=t.useMemo((()=>({name:g,onChange(e){h(e.target.value),l&&l(e,e.target.value)},value:f})),[g,l,h,f]);return(0,De.jsx)(Vy.Provider,{value:v,children:(0,De.jsx)(My,(0,Ne.A)({role:"radiogroup",ref:m,className:(0,Ze.A)(p.root,a)},u,{children:o}))})}));function tb(e){let{id:t,options:r,value:n,required:o,disabled:a,readonly:i,label:s,hideLabel:l,onChange:c,onBlur:u,onFocus:d}=e;var p;const{enumOptions:f,enumDisabled:h,emptyValue:m}=r,g=!!r&&r.inline,v=null!==(p=Tp(n,f))&&void 0!==p?p:null;return(0,De.jsxs)(De.Fragment,{children:[lf((0,De.jsx)(xc,{required:o,htmlFor:t,children:s||void 0}),l),(0,De.jsx)(eb,{id:t,name:t,value:v,row:g,onChange:(e,t)=>c(Op(t,f,m)),onBlur:e=>{let{target:r}=e;return u(t,Op(r&&r.value,f,m))},onFocus:e=>{let{target:r}=e;return d(t,Op(r&&r.value,f,m))},"aria-describedby":af(t),children:Array.isArray(f)&&f.map(((e,r)=>{const n=Array.isArray(h)&&-1!==h.indexOf(e.value);return(0,De.jsx)(_y,{control:(0,De.jsx)(Yy,{name:t,id:sf(t,r),color:"primary"}),label:e.label,value:String(r),disabled:a||n||i},r)}))})]})}var rb=r(51052),nb=r(11188),ob=r(49640);const ab={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",whiteSpace:"nowrap",width:"1px"};const ib=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:(e,t)=>e===t;return e.length===t.length&&e.every(((e,n)=>r(e,t[n])))};function sb(e,t){return e-t}function lb(e,t){var r;const{index:n}=null!=(r=e.reduce(((e,r,n)=>{const o=Math.abs(t-r);return null===e||o({left:`${e}%`}),leap:e=>({width:`${e}%`})},"horizontal-reverse":{offset:e=>({right:`${e}%`}),leap:e=>({width:`${e}%`})},vertical:{offset:e=>({bottom:`${e}%`}),leap:e=>({height:`${e}%`})}},gb=e=>e;let vb;function yb(){return void 0===vb&&(vb="undefined"===typeof CSS||"function"!==typeof CSS.supports||CSS.supports("touch-action","none")),vb}function bb(e){const{"aria-labelledby":r,defaultValue:n,disabled:o=!1,disableSwap:a=!1,isRtl:i=!1,marks:s=!1,max:l=100,min:c=0,name:u,onChange:d,onChangeCommitted:p,orientation:f="horizontal",rootRef:h,scale:m=gb,step:g=1,shiftStep:v=10,tabIndex:y,value:b}=e,x=t.useRef(),[w,S]=t.useState(-1),[A,k]=t.useState(-1),[$,C]=t.useState(!1),E=t.useRef(0),[j,_]=(0,rb.A)({controlled:b,default:null!=n?n:c,name:"Slider"}),P=d&&((e,t,r)=>{const n=e.nativeEvent||e,o=new n.constructor(n.type,n);Object.defineProperty(o,"target",{writable:!0,value:{value:t,name:u}}),d(o,t,r)}),R=Array.isArray(j);let O=R?j.slice().sort(sb):[j];O=O.map((e=>null==e?c:(0,nb.A)(e,c,l)));const N=!0===s&&null!==g?[...Array(Math.floor((l-c)/g)+1)].map(((e,t)=>({value:c+g*t}))):s||[],M=N.map((e=>e.value)),{isFocusVisibleRef:T,onBlur:I,onFocus:F,ref:D}=(0,ob.A)(),[z,L]=t.useState(-1),B=t.useRef(),W=(0,Tt.A)(D,B),V=(0,Tt.A)(h,W),U=e=>t=>{var r;const n=Number(t.currentTarget.getAttribute("data-index"));F(t),!0===T.current&&L(n),k(n),null==e||null==(r=e.onFocus)||r.call(e,t)},H=e=>t=>{var r;I(t),!1===T.current&&L(-1),k(-1),null==e||null==(r=e.onBlur)||r.call(e,t)},q=(e,t)=>{const r=Number(e.currentTarget.getAttribute("data-index")),n=O[r],o=M.indexOf(n);let i=t;if(N&&null==g){const e=M[M.length-1];i=i>e?e:it=>{var r;if(null!==g){const e=Number(t.currentTarget.getAttribute("data-index")),r=O[e];let n=null;("ArrowLeft"===t.key||"ArrowDown"===t.key)&&t.shiftKey||"PageDown"===t.key?n=Math.max(r-v,c):(("ArrowRight"===t.key||"ArrowUp"===t.key)&&t.shiftKey||"PageUp"===t.key)&&(n=Math.min(r+v,l)),null!==n&&(q(t,n),t.preventDefault())}null==e||null==(r=e.onKeyDown)||r.call(e,t)};(0,It.A)((()=>{var e;o&&B.current.contains(document.activeElement)&&(null==(e=document.activeElement)||e.blur())}),[o]),o&&-1!==w&&S(-1),o&&-1!==z&&L(-1);const K=t.useRef();let X=f;i&&"horizontal"===f&&(X+="-reverse");const Q=e=>{let{finger:t,move:r=!1}=e;const{current:n}=B,{width:o,height:i,bottom:s,left:u}=n.getBoundingClientRect();let d,p;if(d=0===X.indexOf("vertical")?(s-t.y)/i:(t.x-u)/o,-1!==X.indexOf("-reverse")&&(d=1-d),p=function(e,t,r){return(r-t)*e+t}(d,c,l),g)p=db(p,g,c);else{const e=lb(M,p);p=M[e]}p=(0,nb.A)(p,c,l);let f=0;if(R){f=r?K.current:lb(O,p),a&&(p=(0,nb.A)(p,O[f-1]||-1/0,O[f+1]||1/0));const e=p;p=pb({values:O,newValue:p,index:f}),a&&r||(f=p.indexOf(e),K.current=f)}return{newValue:p,activeIndex:f}},Y=(0,Xo.A)((e=>{const t=cb(e,x);if(!t)return;if(E.current+=1,"mousemove"===e.type&&0===e.buttons)return void J(e);const{newValue:r,activeIndex:n}=Q({finger:t,move:!0});fb({sliderRef:B,activeIndex:n,setActive:S}),_(r),!$&&E.current>2&&C(!0),P&&!hb(r,j)&&P(e,r,n)})),J=(0,Xo.A)((e=>{const t=cb(e,x);if(C(!1),!t)return;const{newValue:r}=Q({finger:t,move:!0});S(-1),"touchend"===e.type&&k(-1),p&&p(e,r),x.current=void 0,ee()})),Z=(0,Xo.A)((e=>{if(o)return;yb()||e.preventDefault();const t=e.changedTouches[0];null!=t&&(x.current=t.identifier);const r=cb(e,x);if(!1!==r){const{newValue:t,activeIndex:n}=Q({finger:r});fb({sliderRef:B,activeIndex:n,setActive:S}),_(t),P&&!hb(t,j)&&P(e,t,n)}E.current=0;const n=(0,Ft.A)(B.current);n.addEventListener("touchmove",Y,{passive:!0}),n.addEventListener("touchend",J,{passive:!0})})),ee=t.useCallback((()=>{const e=(0,Ft.A)(B.current);e.removeEventListener("mousemove",Y),e.removeEventListener("mouseup",J),e.removeEventListener("touchmove",Y),e.removeEventListener("touchend",J)}),[J,Y]);t.useEffect((()=>{const{current:e}=B;return e.addEventListener("touchstart",Z,{passive:yb()}),()=>{e.removeEventListener("touchstart",Z),ee()}}),[ee,Z]),t.useEffect((()=>{o&&ee()}),[o,ee]);const te=ub(R?O[0]:c,c,l),re=ub(O[O.length-1],c,l)-te,ne=e=>t=>{var r;null==(r=e.onMouseLeave)||r.call(e,t),k(-1)};return{active:w,axis:X,axisProps:mb,dragging:$,focusedThumbIndex:z,getHiddenInputProps:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var n;const a=tn(t),s={onChange:(d=a||{},e=>{var t;null==(t=d.onChange)||t.call(d,e),q(e,e.target.valueAsNumber)}),onFocus:U(a||{}),onBlur:H(a||{}),onKeyDown:G(a||{})};var d;const p=(0,Ne.A)({},a,s);return(0,Ne.A)({tabIndex:y,"aria-labelledby":r,"aria-orientation":f,"aria-valuemax":m(l),"aria-valuemin":m(c),name:u,type:"range",min:e.min,max:e.max,step:null===e.step&&e.marks?"any":null!=(n=e.step)?n:void 0,disabled:o},t,p,{style:(0,Ne.A)({},ab,{direction:i?"rtl":"ltr",width:"100%",height:"100%"})})},getRootProps:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=tn(e),r={onMouseDown:(n=t||{},e=>{var t;if(null==(t=n.onMouseDown)||t.call(n,e),o)return;if(e.defaultPrevented)return;if(0!==e.button)return;e.preventDefault();const r=cb(e,x);if(!1!==r){const{newValue:t,activeIndex:n}=Q({finger:r});fb({sliderRef:B,activeIndex:n,setActive:S}),_(t),P&&!hb(t,j)&&P(e,t,n)}E.current=0;const a=(0,Ft.A)(B.current);a.addEventListener("mousemove",Y,{passive:!0}),a.addEventListener("mouseup",J)})};var n;const a=(0,Ne.A)({},t,r);return(0,Ne.A)({},e,{ref:V},a)},getThumbProps:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=tn(e),r={onMouseOver:(n=t||{},e=>{var t;null==(t=n.onMouseOver)||t.call(n,e);const r=Number(e.currentTarget.getAttribute("data-index"));k(r)}),onMouseLeave:ne(t||{})};var n;return(0,Ne.A)({},e,t,r)},marks:N,open:A,range:R,rootRef:V,trackLeap:re,trackOffset:te,values:O,getThumbStyle:e=>({pointerEvents:-1!==w&&w!==e?"none":void 0})}}const xb=e=>!e||!nt(e);function wb(e){return(0,dn.Ay)("MuiSlider",e)}const Sb=(0,un.A)("MuiSlider",["root","active","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","disabled","dragging","focusVisible","mark","markActive","marked","markLabel","markLabelActive","rail","sizeSmall","thumb","thumbColorPrimary","thumbColorSecondary","thumbColorError","thumbColorSuccess","thumbColorInfo","thumbColorWarning","track","trackInverted","trackFalse","thumbSizeSmall","valueLabel","valueLabelOpen","valueLabelCircle","valueLabelLabel","vertical"]);const Ab=["aria-label","aria-valuetext","aria-labelledby","component","components","componentsProps","color","classes","className","disableSwap","disabled","getAriaLabel","getAriaValueText","marks","max","min","name","onChange","onChangeCommitted","orientation","shiftStep","size","step","scale","slotProps","slots","tabIndex","track","value","valueLabelDisplay","valueLabelFormat"];function kb(e){return e}const $b=(0,at.Ay)("span",{name:"MuiSlider",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,t[`color${(0,pt.A)(r.color)}`],"medium"!==r.size&&t[`size${(0,pt.A)(r.size)}`],r.marked&&t.marked,"vertical"===r.orientation&&t.vertical,"inverted"===r.track&&t.trackInverted,!1===r.track&&t.trackFalse]}})((e=>{let{theme:t}=e;var r;return{borderRadius:12,boxSizing:"content-box",display:"inline-block",position:"relative",cursor:"pointer",touchAction:"none",WebkitTapHighlightColor:"transparent","@media print":{colorAdjust:"exact"},[`&.${Sb.disabled}`]:{pointerEvents:"none",cursor:"default",color:(t.vars||t).palette.grey[400]},[`&.${Sb.dragging}`]:{[`& .${Sb.thumb}, & .${Sb.track}`]:{transition:"none"}},variants:[...Object.keys((null!=(r=t.vars)?r:t).palette).filter((e=>{var r;return(null!=(r=t.vars)?r:t).palette[e].main})).map((e=>({props:{color:e},style:{color:(t.vars||t).palette[e].main}}))),{props:{orientation:"horizontal"},style:{height:4,width:"100%",padding:"13px 0","@media (pointer: coarse)":{padding:"20px 0"}}},{props:{orientation:"horizontal",size:"small"},style:{height:2}},{props:{orientation:"horizontal",marked:!0},style:{marginBottom:20}},{props:{orientation:"vertical"},style:{height:"100%",width:4,padding:"0 13px","@media (pointer: coarse)":{padding:"0 20px"}}},{props:{orientation:"vertical",size:"small"},style:{width:2}},{props:{orientation:"vertical",marked:!0},style:{marginRight:44}}]}})),Cb=(0,at.Ay)("span",{name:"MuiSlider",slot:"Rail",overridesResolver:(e,t)=>t.rail})({display:"block",position:"absolute",borderRadius:"inherit",backgroundColor:"currentColor",opacity:.38,variants:[{props:{orientation:"horizontal"},style:{width:"100%",height:"inherit",top:"50%",transform:"translateY(-50%)"}},{props:{orientation:"vertical"},style:{height:"100%",width:"inherit",left:"50%",transform:"translateX(-50%)"}},{props:{track:"inverted"},style:{opacity:1}}]}),Eb=(0,at.Ay)("span",{name:"MuiSlider",slot:"Track",overridesResolver:(e,t)=>t.track})((e=>{let{theme:t}=e;var r;return{display:"block",position:"absolute",borderRadius:"inherit",border:"1px solid currentColor",backgroundColor:"currentColor",transition:t.transitions.create(["left","width","bottom","height"],{duration:t.transitions.duration.shortest}),variants:[{props:{size:"small"},style:{border:"none"}},{props:{orientation:"horizontal"},style:{height:"inherit",top:"50%",transform:"translateY(-50%)"}},{props:{orientation:"vertical"},style:{width:"inherit",left:"50%",transform:"translateX(-50%)"}},{props:{track:!1},style:{display:"none"}},...Object.keys((null!=(r=t.vars)?r:t).palette).filter((e=>{var r;return(null!=(r=t.vars)?r:t).palette[e].main})).map((e=>({props:{color:e,track:"inverted"},style:(0,Ne.A)({},t.vars?{backgroundColor:t.vars.palette.Slider[`${e}Track`],borderColor:t.vars.palette.Slider[`${e}Track`]}:(0,Ne.A)({backgroundColor:(0,rt.a)(t.palette[e].main,.62),borderColor:(0,rt.a)(t.palette[e].main,.62)},t.applyStyles("dark",{backgroundColor:(0,rt.e$)(t.palette[e].main,.5)}),t.applyStyles("dark",{borderColor:(0,rt.e$)(t.palette[e].main,.5)})))})))]}})),jb=(0,at.Ay)("span",{name:"MuiSlider",slot:"Thumb",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.thumb,t[`thumbColor${(0,pt.A)(r.color)}`],"medium"!==r.size&&t[`thumbSize${(0,pt.A)(r.size)}`]]}})((e=>{let{theme:t}=e;var r;return{position:"absolute",width:20,height:20,boxSizing:"border-box",borderRadius:"50%",outline:0,backgroundColor:"currentColor",display:"flex",alignItems:"center",justifyContent:"center",transition:t.transitions.create(["box-shadow","left","bottom"],{duration:t.transitions.duration.shortest}),"&::before":{position:"absolute",content:'""',borderRadius:"inherit",width:"100%",height:"100%",boxShadow:(t.vars||t).shadows[2]},"&::after":{position:"absolute",content:'""',borderRadius:"50%",width:42,height:42,top:"50%",left:"50%",transform:"translate(-50%, -50%)"},[`&.${Sb.disabled}`]:{"&:hover":{boxShadow:"none"}},variants:[{props:{size:"small"},style:{width:12,height:12,"&::before":{boxShadow:"none"}}},{props:{orientation:"horizontal"},style:{top:"50%",transform:"translate(-50%, -50%)"}},{props:{orientation:"vertical"},style:{left:"50%",transform:"translate(-50%, 50%)"}},...Object.keys((null!=(r=t.vars)?r:t).palette).filter((e=>{var r;return(null!=(r=t.vars)?r:t).palette[e].main})).map((e=>({props:{color:e},style:{[`&:hover, &.${Sb.focusVisible}`]:(0,Ne.A)({},t.vars?{boxShadow:`0px 0px 0px 8px rgba(${t.vars.palette[e].mainChannel} / 0.16)`}:{boxShadow:`0px 0px 0px 8px ${(0,rt.X4)(t.palette[e].main,.16)}`},{"@media (hover: none)":{boxShadow:"none"}}),[`&.${Sb.active}`]:(0,Ne.A)({},t.vars?{boxShadow:`0px 0px 0px 14px rgba(${t.vars.palette[e].mainChannel} / 0.16)`}:{boxShadow:`0px 0px 0px 14px ${(0,rt.X4)(t.palette[e].main,.16)}`})}})))]}})),_b=(0,at.Ay)((function(e){const{children:r,className:n,value:o}=e,a=(e=>{const{open:t}=e;return{offset:(0,Ze.A)(t&&Sb.valueLabelOpen),circle:Sb.valueLabelCircle,label:Sb.valueLabelLabel}})(e);return r?t.cloneElement(r,{className:(0,Ze.A)(r.props.className)},(0,De.jsxs)(t.Fragment,{children:[r.props.children,(0,De.jsx)("span",{className:(0,Ze.A)(a.offset,n),"aria-hidden":!0,children:(0,De.jsx)("span",{className:a.circle,children:(0,De.jsx)("span",{className:a.label,children:o})})})]})):null}),{name:"MuiSlider",slot:"ValueLabel",overridesResolver:(e,t)=>t.valueLabel})((e=>{let{theme:t}=e;return(0,Ne.A)({zIndex:1,whiteSpace:"nowrap"},t.typography.body2,{fontWeight:500,transition:t.transitions.create(["transform"],{duration:t.transitions.duration.shortest}),position:"absolute",backgroundColor:(t.vars||t).palette.grey[600],borderRadius:2,color:(t.vars||t).palette.common.white,display:"flex",alignItems:"center",justifyContent:"center",padding:"0.25rem 0.75rem",variants:[{props:{orientation:"horizontal"},style:{transform:"translateY(-100%) scale(0)",top:"-10px",transformOrigin:"bottom center","&::before":{position:"absolute",content:'""',width:8,height:8,transform:"translate(-50%, 50%) rotate(45deg)",backgroundColor:"inherit",bottom:0,left:"50%"},[`&.${Sb.valueLabelOpen}`]:{transform:"translateY(-100%) scale(1)"}}},{props:{orientation:"vertical"},style:{transform:"translateY(-50%) scale(0)",right:"30px",top:"50%",transformOrigin:"right center","&::before":{position:"absolute",content:'""',width:8,height:8,transform:"translate(-50%, -50%) rotate(45deg)",backgroundColor:"inherit",right:-8,top:"50%"},[`&.${Sb.valueLabelOpen}`]:{transform:"translateY(-50%) scale(1)"}}},{props:{size:"small"},style:{fontSize:t.typography.pxToRem(12),padding:"0.25rem 0.5rem"}},{props:{orientation:"vertical",size:"small"},style:{right:"20px"}}]})})),Pb=(0,at.Ay)("span",{name:"MuiSlider",slot:"Mark",shouldForwardProp:e=>(0,Uc.A)(e)&&"markActive"!==e,overridesResolver:(e,t)=>{const{markActive:r}=e;return[t.mark,r&&t.markActive]}})((e=>{let{theme:t}=e;return{position:"absolute",width:2,height:2,borderRadius:1,backgroundColor:"currentColor",variants:[{props:{orientation:"horizontal"},style:{top:"50%",transform:"translate(-1px, -50%)"}},{props:{orientation:"vertical"},style:{left:"50%",transform:"translate(-50%, 1px)"}},{props:{markActive:!0},style:{backgroundColor:(t.vars||t).palette.background.paper,opacity:.8}}]}})),Rb=(0,at.Ay)("span",{name:"MuiSlider",slot:"MarkLabel",shouldForwardProp:e=>(0,Uc.A)(e)&&"markLabelActive"!==e,overridesResolver:(e,t)=>t.markLabel})((e=>{let{theme:t}=e;return(0,Ne.A)({},t.typography.body2,{color:(t.vars||t).palette.text.secondary,position:"absolute",whiteSpace:"nowrap",variants:[{props:{orientation:"horizontal"},style:{top:30,transform:"translateX(-50%)","@media (pointer: coarse)":{top:40}}},{props:{orientation:"vertical"},style:{left:36,transform:"translateY(50%)","@media (pointer: coarse)":{left:44}}},{props:{markLabelActive:!0},style:{color:(t.vars||t).palette.text.primary}}]})})),Ob=e=>{let{children:t}=e;return t},Nb=t.forwardRef((function(e,r){var n,o,a,i,s,l,c,u,d,p,f,h,m,g,v,y,b,x,w,S,A,k,$,C;const E=(0,dt.b)({props:e,name:"MuiSlider"}),j=Ue(),{"aria-label":_,"aria-valuetext":P,"aria-labelledby":R,component:O="span",components:N={},componentsProps:M={},color:T="primary",classes:I,className:F,disableSwap:D=!1,disabled:z=!1,getAriaLabel:L,getAriaValueText:B,marks:W=!1,max:V=100,min:U=0,orientation:H="horizontal",shiftStep:q=10,size:G="medium",step:K=1,scale:X=kb,slotProps:Q,slots:Y,track:J="normal",valueLabelDisplay:Z="off",valueLabelFormat:ee=kb}=E,te=(0,Me.A)(E,Ab),re=(0,Ne.A)({},E,{isRtl:j,max:V,min:U,classes:I,disabled:z,disableSwap:D,orientation:H,marks:W,color:T,size:G,step:K,shiftStep:q,scale:X,track:J,valueLabelDisplay:Z,valueLabelFormat:ee}),{axisProps:ne,getRootProps:oe,getHiddenInputProps:ae,getThumbProps:ie,open:se,active:le,axis:ce,focusedThumbIndex:ue,range:de,dragging:pe,marks:fe,values:he,trackOffset:me,trackLeap:ge,getThumbStyle:ve}=bb((0,Ne.A)({},re,{rootRef:r}));re.marked=fe.length>0&&fe.some((e=>e.label)),re.dragging=pe,re.focusedThumbIndex=ue;const ye=(e=>{const{disabled:t,dragging:r,marked:n,orientation:o,track:a,classes:i,color:s,size:l}=e,c={root:["root",t&&"disabled",r&&"dragging",n&&"marked","vertical"===o&&"vertical","inverted"===a&&"trackInverted",!1===a&&"trackFalse",s&&`color${(0,pt.A)(s)}`,l&&`size${(0,pt.A)(l)}`],rail:["rail"],track:["track"],mark:["mark"],markActive:["markActive"],markLabel:["markLabel"],markLabelActive:["markLabelActive"],valueLabel:["valueLabel"],thumb:["thumb",t&&"disabled",l&&`thumbSize${(0,pt.A)(l)}`,s&&`thumbColor${(0,pt.A)(s)}`],active:["active"],disabled:["disabled"],focusVisible:["focusVisible"]};return(0,tt.A)(c,wb,i)})(re),be=null!=(n=null!=(o=null==Y?void 0:Y.root)?o:N.Root)?n:$b,xe=null!=(a=null!=(i=null==Y?void 0:Y.rail)?i:N.Rail)?a:Cb,we=null!=(s=null!=(l=null==Y?void 0:Y.track)?l:N.Track)?s:Eb,Se=null!=(c=null!=(u=null==Y?void 0:Y.thumb)?u:N.Thumb)?c:jb,Ae=null!=(d=null!=(p=null==Y?void 0:Y.valueLabel)?p:N.ValueLabel)?d:_b,ke=null!=(f=null!=(h=null==Y?void 0:Y.mark)?h:N.Mark)?f:Pb,$e=null!=(m=null!=(g=null==Y?void 0:Y.markLabel)?g:N.MarkLabel)?m:Rb,Ce=null!=(v=null!=(y=null==Y?void 0:Y.input)?y:N.Input)?v:"input",Ee=null!=(b=null==Q?void 0:Q.root)?b:M.root,je=null!=(x=null==Q?void 0:Q.rail)?x:M.rail,_e=null!=(w=null==Q?void 0:Q.track)?w:M.track,Pe=null!=(S=null==Q?void 0:Q.thumb)?S:M.thumb,Re=null!=(A=null==Q?void 0:Q.valueLabel)?A:M.valueLabel,Oe=null!=(k=null==Q?void 0:Q.mark)?k:M.mark,Te=null!=($=null==Q?void 0:Q.markLabel)?$:M.markLabel,Ie=null!=(C=null==Q?void 0:Q.input)?C:M.input,Fe=sn({elementType:be,getSlotProps:oe,externalSlotProps:Ee,externalForwardedProps:te,additionalProps:(0,Ne.A)({},xb(be)&&{as:O}),ownerState:(0,Ne.A)({},re,null==Ee?void 0:Ee.ownerState),className:[ye.root,F]}),ze=sn({elementType:xe,externalSlotProps:je,ownerState:re,className:ye.rail}),Le=sn({elementType:we,externalSlotProps:_e,additionalProps:{style:(0,Ne.A)({},ne[ce].offset(me),ne[ce].leap(ge))},ownerState:(0,Ne.A)({},re,null==_e?void 0:_e.ownerState),className:ye.track}),Be=sn({elementType:Se,getSlotProps:ie,externalSlotProps:Pe,ownerState:(0,Ne.A)({},re,null==Pe?void 0:Pe.ownerState),className:ye.thumb}),We=sn({elementType:Ae,externalSlotProps:Re,ownerState:(0,Ne.A)({},re,null==Re?void 0:Re.ownerState),className:ye.valueLabel}),Ve=sn({elementType:ke,externalSlotProps:Oe,ownerState:re,className:ye.mark}),He=sn({elementType:$e,externalSlotProps:Te,ownerState:re,className:ye.markLabel}),qe=sn({elementType:Ce,getSlotProps:ae,externalSlotProps:Ie,ownerState:re});return(0,De.jsxs)(be,(0,Ne.A)({},Fe,{children:[(0,De.jsx)(xe,(0,Ne.A)({},ze)),(0,De.jsx)(we,(0,Ne.A)({},Le)),fe.filter((e=>e.value>=U&&e.value<=V)).map(((e,r)=>{const n=ub(e.value,U,V),o=ne[ce].offset(n);let a;return a=!1===J?-1!==he.indexOf(e.value):"normal"===J&&(de?e.value>=he[0]&&e.value<=he[he.length-1]:e.value<=he[0])||"inverted"===J&&(de?e.value<=he[0]||e.value>=he[he.length-1]:e.value>=he[0]),(0,De.jsxs)(t.Fragment,{children:[(0,De.jsx)(ke,(0,Ne.A)({"data-index":r},Ve,!nt(ke)&&{markActive:a},{style:(0,Ne.A)({},o,Ve.style),className:(0,Ze.A)(Ve.className,a&&ye.markActive)})),null!=e.label?(0,De.jsx)($e,(0,Ne.A)({"aria-hidden":!0,"data-index":r},He,!nt($e)&&{markLabelActive:a},{style:(0,Ne.A)({},o,He.style),className:(0,Ze.A)(ye.markLabel,He.className,a&&ye.markLabelActive),children:e.label})):null]},r)})),he.map(((e,t)=>{const r=ub(e,U,V),n=ne[ce].offset(r),o="off"===Z?Ob:Ae;return(0,De.jsx)(o,(0,Ne.A)({},!nt(o)&&{valueLabelFormat:ee,valueLabelDisplay:Z,value:"function"===typeof ee?ee(X(e),t):ee,index:t,open:se===t||le===t||"on"===Z,disabled:z},We,{children:(0,De.jsx)(Se,(0,Ne.A)({"data-index":t},Be,{className:(0,Ze.A)(ye.thumb,Be.className,le===t&&ye.active,ue===t&&ye.focusVisible),style:(0,Ne.A)({},n,ve(t),Be.style),children:(0,De.jsx)(Ce,(0,Ne.A)({"data-index":t,"aria-label":L?L(t):_,"aria-valuenow":X(e),"aria-labelledby":R,"aria-valuetext":B?B(X(e),t):P,value:he[t]},qe))}))}),t)}))]}))})),Mb=Nb;function Tb(e){const{value:t,readonly:r,disabled:n,onBlur:o,onFocus:a,options:i,schema:s,onChange:l,required:c,label:u,hideLabel:d,id:p}=e,f={value:t,label:u,id:p,name:p,...Hp(s)};return(0,De.jsxs)(De.Fragment,{children:[lf((0,De.jsx)(xc,{required:c,htmlFor:p,children:u||void 0}),d),(0,De.jsx)(Mb,{disabled:n||r,onChange:(e,t)=>{l(null!==t&&void 0!==t?t:i.emptyValue)},onBlur:e=>{let{target:t}=e;return o(p,t&&t.value)},onFocus:e=>{let{target:t}=e;return a(p,t&&t.value)},valueLabelDisplay:"auto",...f,"aria-describedby":af(p)})]})}function Ib(e){let{schema:t,id:r,name:n,options:o,label:a,hideLabel:i,required:s,disabled:l,placeholder:c,readonly:u,value:d,multiple:p,autofocus:f,onChange:h,onBlur:m,onFocus:g,errorSchema:v,rawErrors:y=[],registry:b,uiSchema:x,hideError:w,formContext:S,...A}=e;const{enumOptions:k,enumDisabled:$,emptyValue:C}=o;p="undefined"!==typeof p&&!!p;const E=p?[]:"",j="undefined"===typeof d||p&&d.length<1||!p&&d===E,_=Tp(d,k,p),{InputLabelProps:P,SelectProps:R,autocomplete:O,...N}=A,M=!p&&void 0===t.default;return(0,De.jsxs)(mu,{id:r,name:r,label:lf(a||void 0,i,void 0),value:j||"undefined"===typeof _?E:_,required:s,disabled:l||u,autoFocus:f,autoComplete:O,placeholder:c,error:y.length>0,onChange:e=>{let{target:{value:t}}=e;return h(Op(t,k,C))},onBlur:e=>{let{target:t}=e;return m(r,Op(t&&t.value,k,C))},onFocus:e=>{let{target:t}=e;return g(r,Op(t&&t.value,k,C))},...N,select:!0,InputLabelProps:{...P,shrink:!j},SelectProps:{...R,multiple:p},"aria-describedby":af(r),children:[M&&(0,De.jsx)(Ka,{value:"",children:c}),Array.isArray(k)&&k.map(((e,t)=>{let{value:r,label:n}=e;const o=Array.isArray($)&&-1!==$.indexOf(r);return(0,De.jsx)(Ka,{value:String(t),disabled:o,children:n},t)}))]})}function Fb(e){const{options:t,registry:r}=e,n=Xp("BaseInputTemplate",r,t);let o=5;return"string"!==typeof t.rows&&"number"!==typeof t.rows||(o=t.rows),(0,De.jsx)(n,{...e,multiline:!0,rows:o})}function Db(){return{CheckboxWidget:Py,CheckboxesWidget:Ty,RadioWidget:tb,RangeWidget:Tb,SelectWidget:Ib,TextareaWidget:Fb}}Db();function zb(){return{templates:Lv(),widgets:Db()}}zb();const Lb=function(){return e=zb(),(0,t.forwardRef)(((t,r)=>{let{fields:n,widgets:o,templates:a,...i}=t;var s;return n={...null===e||void 0===e?void 0:e.fields,...n},o={...null===e||void 0===e?void 0:e.widgets,...o},a={...null===e||void 0===e?void 0:e.templates,...a,ButtonTemplates:{...null===(s=null===e||void 0===e?void 0:e.templates)||void 0===s?void 0:s.ButtonTemplates,...null===a||void 0===a?void 0:a.ButtonTemplates}},(0,De.jsx)(Wg,{...e,...i,fields:n,widgets:o,templates:a,ref:r})}));var e}(),Bb=Lb;var Wb=r(13081),Vb=r.n(Wb),Ub=r(80483),Hb=r.n(Ub);const qb={allErrors:!0,multipleOfPrecision:8,strict:!1,verbose:!0,discriminator:!1},Gb=/^(#?([0-9A-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/,Kb=/^data:([a-z]+\/[a-z0-9-+.]+)?;(?:name=(.*);)?base64,(.*)$/;function Xb(e,t,r,n,o,a,i){const{validationError:s}=t;let l=function(){let e=arguments.length>1?arguments[1]:void 0;return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map((t=>{const{instancePath:r,keyword:n,params:o,schemaPath:a,parentSchema:i,...s}=t;let{message:l=""}=s,c=r.replace(/\//g,"."),u=`${c} ${l}`.trim();if("missingProperty"in o){c=c?`${c}.${o.missingProperty}`:o.missingProperty;const t=o.missingProperty,r=Yu(id()(e,`${c.replace(/^\./,"")}`)).title;if(r)l=l.replace(`'${t}'`,`'${r}'`);else{const e=id()(i,[Vu,t,"title"]);e&&(l=l.replace(`'${t}'`,`'${e}'`))}u=l}else{const t=Yu(id()(e,`${c.replace(/^\./,"")}`)).title;if(t)u=`'${t}' ${l}`.trim();else{const e=null===i||void 0===i?void 0:i.title;e&&(u=`'${e}' ${l}`.trim())}}return{name:n,property:c,message:l,params:o,stack:u,schemaPath:a}}))}(t.errors,i);s&&(l=[...l,{stack:s.message}]),"function"===typeof a&&(l=a(l,i));let c=function(e){const t=new Vp;return e.length&&e.forEach((e=>{const{property:r,message:n}=e,o="."===r?[]:gf()(r);o.length>0&&""===o[0]&&o.splice(0,1),n&&t.addErrors(n,o)})),t.ErrorSchema}(l);if(s&&(c={...c,$schema:{__errors:[s.message]}}),"function"!==typeof o)return{errors:l,errorSchema:c};const u=bp(e,n,r,n,!0);return bf({errors:l,errorSchema:c},vf(o(u,td(u),i)))}class Qb{constructor(e,t){const{additionalMetaSchemas:r,customFormats:n,ajvOptionsOverrides:o,ajvFormatOptions:a,AjvClass:i}=e;this.ajv=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0;const o=new(arguments.length>4&&void 0!==arguments[4]?arguments[4]:Vb())({...qb,...r});return n?Hb()(o,n):!1!==n&&Hb()(o),o.addFormat("data-url",Kb),o.addFormat("color",Gb),o.addKeyword(_u),o.addKeyword(Gu),Array.isArray(e)&&o.addMetaSchema(e),xd()(t)&&Object.keys(t).forEach((e=>{o.addFormat(e,t[e])})),o}(r,n,o,a,i),this.localizer=t}reset(){this.ajv.removeSchema()}toErrorList(e){return ff(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:[])}rawValidation(e,t){let r,n,o;e[Du]&&(n=this.ajv.getSchema(e[Du]));try{void 0===n&&(n=this.ajv.compile(e)),n(t)}catch(a){r=a}return n&&("function"===typeof this.localizer&&this.localizer(n.errors),o=n.errors||void 0,n.errors=null),{errors:o,validationError:r}}validateFormData(e,t,r,n,o){return Xb(this,this.rawValidation(t,e),e,t,r,n,o)}handleSchemaUpdate(e){var t,r;const n=null!==(t=e[Du])&&void 0!==t?t:Ku;void 0===this.ajv.getSchema(n)?this.ajv.addSchema(e,n):od(e,null===(r=this.ajv.getSchema(n))||void 0===r?void 0:r.schema)||(this.ajv.removeSchema(n),this.ajv.addSchema(e,n))}isValid(e,t,r){var n;try{this.handleSchemaUpdate(r);const o=xf(e),a=null!==(n=o[Du])&&void 0!==n?n:function(e){const t=new Set;return JSON.stringify(e,((e,r)=>(t.add(e),r))),function(e){let t=0;for(let r=0;r0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}();var Jb,Zb=Object.defineProperty,ex=Object.getOwnPropertySymbols,tx=Object.prototype.hasOwnProperty,rx=Object.prototype.propertyIsEnumerable,nx=(e,t,r)=>t in e?Zb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ox=(e,t)=>{for(var r in t||(t={}))tx.call(t,r)&&nx(e,r,t[r]);if(ex)for(var r of ex(t))rx.call(t,r)&&nx(e,r,t[r]);return e},ax=(e,t)=>{var r={};for(var n in e)tx.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&ex)for(var n of ex(e))t.indexOf(n)<0&&rx.call(e,n)&&(r[n]=e[n]);return r};(e=>{const t=class t{constructor(e,r,n,a){if(this.version=e,this.errorCorrectionLevel=r,this.modules=[],this.isFunction=[],et.MAX_VERSION)throw new RangeError("Version value out of range");if(a<-1||a>7)throw new RangeError("Mask value out of range");this.size=4*e+17;let i=[];for(let t=0;t2&&void 0!==arguments[2]?arguments[2]:1,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:40,u=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1,d=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];if(!(t.MIN_VERSION<=l&&l<=c&&c<=t.MAX_VERSION)||u<-1||u>7)throw new RangeError("Invalid value");for(a=l;;a++){const r=8*t.getNumDataCodewords(a,n),o=i.getTotalBits(e,a);if(o<=r){s=o;break}if(a>=c)throw new RangeError("Data too long")}for(const r of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])d&&s<=8*t.getNumDataCodewords(a,r)&&(n=r);let p=[];for(const t of e){r(t.mode.modeBits,4,p),r(t.numChars,t.mode.numCharCountBits(a),p);for(const e of t.getData())p.push(e)}o(p.length==s);const f=8*t.getNumDataCodewords(a,n);o(p.length<=f),r(0,Math.min(4,f-p.length),p),r(0,(8-p.length%8)%8,p),o(p.length%8==0);for(let t=236;p.lengthh[t>>>3]|=e<<7-(7&t))),new t(a,n,h,u)}getModule(e,t){return 0<=e&&e>>9);const a=21522^(t<<10|r);o(a>>>15==0);for(let o=0;o<=5;o++)this.setFunctionModule(8,o,n(a,o));this.setFunctionModule(8,7,n(a,6)),this.setFunctionModule(8,8,n(a,7)),this.setFunctionModule(7,8,n(a,8));for(let o=9;o<15;o++)this.setFunctionModule(14-o,8,n(a,o));for(let o=0;o<8;o++)this.setFunctionModule(this.size-1-o,8,n(a,o));for(let o=8;o<15;o++)this.setFunctionModule(8,this.size-15+o,n(a,o));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let r=0;r<12;r++)e=e<<1^7973*(e>>>11);const t=this.version<<12|e;o(t>>>18==0);for(let r=0;r<18;r++){const e=n(t,r),o=this.size-11+r%3,a=Math.floor(r/3);this.setFunctionModule(o,a,e),this.setFunctionModule(a,o,e)}}drawFinderPattern(e,t){for(let r=-4;r<=4;r++)for(let n=-4;n<=4;n++){const o=Math.max(Math.abs(n),Math.abs(r)),a=e+n,i=t+r;0<=a&&a{(t!=c-i||r>=l)&&p.push(e[t])}));return o(p.length==s),p}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw new RangeError("Invalid argument");let r=0;for(let t=this.size-1;t>=1;t-=2){6==t&&(t=5);for(let o=0;o>>3],7-(7&r)),r++)}}o(r==8*e.length)}applyMask(e){if(e<0||e>7)throw new RangeError("Mask value out of range");for(let t=0;t5&&e++):(this.finderPenaltyAddHistory(n,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][i],n=1);e+=this.finderPenaltyTerminateAndCount(r,n,a)*t.PENALTY_N3}for(let o=0;o5&&e++):(this.finderPenaltyAddHistory(n,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[i][o],n=1);e+=this.finderPenaltyTerminateAndCount(r,n,a)*t.PENALTY_N3}for(let o=0;oe+(t?1:0)),r);const n=this.size*this.size,a=Math.ceil(Math.abs(20*r-10*n)/n)-1;return o(0<=a&&a<=9),e+=a*t.PENALTY_N4,o(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(1==this.version)return[];{const e=Math.floor(this.version/7)+2,t=32==this.version?26:2*Math.ceil((4*this.version+4)/(2*e-2));let r=[6];for(let n=this.size-7;r.lengtht.MAX_VERSION)throw new RangeError("Version number out of range");let r=(16*e+128)*e+64;if(e>=2){const t=Math.floor(e/7)+2;r-=(25*t-10)*t-55,e>=7&&(r-=36)}return o(208<=r&&r<=29648),r}static getNumDataCodewords(e,r){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[r.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[r.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw new RangeError("Degree out of range");let r=[];for(let t=0;t0));for(const o of e){const e=o^n.shift();n.push(0),r.forEach(((r,o)=>n[o]^=t.reedSolomonMultiply(r,e)))}return n}static reedSolomonMultiply(e,t){if(e>>>8!=0||t>>>8!=0)throw new RangeError("Byte out of range");let r=0;for(let n=7;n>=0;n--)r=r<<1^285*(r>>>7),r^=(t>>>n&1)*e;return o(r>>>8==0),r}finderPenaltyCountPatterns(e){const t=e[1];o(t<=3*this.size);const r=t>0&&e[2]==t&&e[3]==3*t&&e[4]==t&&e[5]==t;return(r&&e[0]>=4*t&&e[6]>=t?1:0)+(r&&e[6]>=4*t&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,r){return e&&(this.finderPenaltyAddHistory(t,r),t=0),t+=this.size,this.finderPenaltyAddHistory(t,r),this.finderPenaltyCountPatterns(r)}finderPenaltyAddHistory(e,t){0==t[0]&&(e+=this.size),t.pop(),t.unshift(e)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]];function r(e,t,r){if(t<0||t>31||e>>>t!=0)throw new RangeError("Value out of range");for(let n=t-1;n>=0;n--)r.push(e>>>n&1)}function n(e,t){return 0!=(e>>>t&1)}function o(e){if(!e)throw new Error("Assertion error")}e.QrCode=t;const a=class e{constructor(e,t,r){if(this.mode=e,this.numChars=t,this.bitData=r,t<0)throw new RangeError("Invalid argument");this.bitData=r.slice()}static makeBytes(t){let n=[];for(const e of t)r(e,8,n);return new e(e.Mode.BYTE,t.length,n)}static makeNumeric(t){if(!e.isNumeric(t))throw new RangeError("String contains non-numeric characters");let n=[];for(let e=0;e=1<{let t;(e=>{const t=class{constructor(e,t){this.ordinal=e,this.formatBits=t}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2);e.Ecc=t})(t=e.QrCode||(e.QrCode={}))})(Jb||(Jb={})),(e=>{let t;(e=>{const t=class{constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]);e.Mode=t})(t=e.QrSegment||(e.QrSegment={}))})(Jb||(Jb={}));var ix=Jb,sx={L:ix.QrCode.Ecc.LOW,M:ix.QrCode.Ecc.MEDIUM,Q:ix.QrCode.Ecc.QUARTILE,H:ix.QrCode.Ecc.HIGH},lx=128,cx="L",ux="#FFFFFF",dx="#000000",px=!1,fx=1,hx=4,mx=0,gx=.1;function vx(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const r=[];return e.forEach((function(e,n){let o=null;e.forEach((function(a,i){if(!a&&null!==o)return r.push(`M${o+t} ${n+t}h${i-o}v1H${o+t}z`),void(o=null);if(i!==e.length-1)a&&null===o&&(o=i);else{if(!a)return;null===o?r.push(`M${i+t},${n+t} h1v1H${i+t}z`):r.push(`M${o+t},${n+t} h${i+1-o}v1H${o+t}z`)}}))})),r.join("")}function yx(e,t){return e.slice().map(((e,r)=>r=t.y+t.h?e:e.map(((e,r)=>(r=t.x+t.w)&&e))))}function bx(e){let{value:r,level:n,minVersion:o,includeMargin:a,marginSize:i,imageSettings:s,size:l,boostLevel:c}=e,u=t.useMemo((()=>{const e=(Array.isArray(r)?r:[r]).reduce(((e,t)=>(e.push(...ix.QrSegment.makeSegments(t)),e)),[]);return ix.QrCode.encodeSegments(e,sx[n],o,void 0,void 0,c)}),[r,n,o,c]);const{cells:d,margin:p,numCells:f,calculatedImageSettings:h}=t.useMemo((()=>{let e=u.getModules();const t=function(e,t){return null!=t?Math.max(Math.floor(t),0):e?hx:mx}(a,i),r=e.length+2*t,n=function(e,t,r,n){if(null==n)return null;const o=e.length+2*r,a=Math.floor(t*gx),i=o/t,s=(n.width||a)*i,l=(n.height||a)*i,c=null==n.x?e.length/2-s/2:n.x*i,u=null==n.y?e.length/2-l/2:n.y*i,d=null==n.opacity?1:n.opacity;let p=null;if(n.excavate){let e=Math.floor(c),t=Math.floor(u);p={x:e,y:t,w:Math.ceil(s+c-e),h:Math.ceil(l+u-t)}}return{x:c,y:u,h:l,w:s,excavation:p,opacity:d,crossOrigin:n.crossOrigin}}(e,l,t,s);return{cells:e,margin:t,numCells:r,calculatedImageSettings:n}}),[u,l,s,a,i]);return{qrcode:u,margin:p,cells:d,numCells:f,calculatedImageSettings:h}}var xx=function(){try{(new Path2D).addPath(new Path2D)}catch(Bf){return!1}return!0}(),wx=t.forwardRef((function(e,r){const n=e,{value:o,size:a=lx,level:i=cx,bgColor:s=ux,fgColor:l=dx,includeMargin:c=px,minVersion:u=fx,boostLevel:d,marginSize:p,imageSettings:f}=n,h=ax(n,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","marginSize","imageSettings"]),{style:m}=h,g=ax(h,["style"]),v=null==f?void 0:f.src,y=t.useRef(null),b=t.useRef(null),x=t.useCallback((e=>{y.current=e,"function"===typeof r?r(e):r&&(r.current=e)}),[r]),[w,S]=t.useState(!1),{margin:A,cells:k,numCells:$,calculatedImageSettings:C}=bx({value:o,level:i,minVersion:u,boostLevel:d,includeMargin:c,marginSize:p,imageSettings:f,size:a});t.useEffect((()=>{if(null!=y.current){const e=y.current,t=e.getContext("2d");if(!t)return;let r=k;const n=b.current,o=null!=C&&null!==n&&n.complete&&0!==n.naturalHeight&&0!==n.naturalWidth;o&&null!=C.excavation&&(r=yx(k,C.excavation));const i=window.devicePixelRatio||1;e.height=e.width=a*i;const c=a/$*i;t.scale(c,c),t.fillStyle=s,t.fillRect(0,0,$,$),t.fillStyle=l,xx?t.fill(new Path2D(vx(r,A))):k.forEach((function(e,r){e.forEach((function(e,n){e&&t.fillRect(n+A,r+A,1,1)}))})),C&&(t.globalAlpha=C.opacity),o&&t.drawImage(n,C.x+A,C.y+A,C.w,C.h)}})),t.useEffect((()=>{S(!1)}),[v]);const E=ox({height:a,width:a},m);let j=null;return null!=v&&(j=t.createElement("img",{src:v,key:v,style:{display:"none"},onLoad:()=>{S(!0)},ref:b,crossOrigin:null==C?void 0:C.crossOrigin})),t.createElement(t.Fragment,null,t.createElement("canvas",ox({style:E,height:a,width:a,ref:x,role:"img"},g)),j)}));wx.displayName="QRCodeCanvas";var Sx=t.forwardRef((function(e,r){const n=e,{value:o,size:a=lx,level:i=cx,bgColor:s=ux,fgColor:l=dx,includeMargin:c=px,minVersion:u=fx,boostLevel:d,title:p,marginSize:f,imageSettings:h}=n,m=ax(n,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","title","marginSize","imageSettings"]),{margin:g,cells:v,numCells:y,calculatedImageSettings:b}=bx({value:o,level:i,minVersion:u,boostLevel:d,includeMargin:c,marginSize:f,imageSettings:h,size:a});let x=v,w=null;null!=h&&null!=b&&(null!=b.excavation&&(x=yx(v,b.excavation)),w=t.createElement("image",{href:h.src,height:b.h,width:b.w,x:b.x+g,y:b.y+g,preserveAspectRatio:"none",opacity:b.opacity,crossOrigin:b.crossOrigin}));const S=vx(x,g);return t.createElement("svg",ox({height:a,width:a,viewBox:`0 0 ${y} ${y}`,ref:r,role:"img"},m),!!p&&t.createElement("title",null,p),t.createElement("path",{fill:s,d:`M0,0 h${y}v${y}H0z`,shapeRendering:"crispEdges"}),t.createElement("path",{fill:l,d:S,shapeRendering:"crispEdges"}),w)}));Sx.displayName="QRCodeSVG";const Ax=(0,Oe.A)({components:{MuiTooltip:{defaultProps:{placement:"top-start",arrow:!0}},MuiButton:{styleOverrides:{root:{color:"#ffffff",backgroundColor:"#4CAF50"}},defaultProps:{color:"primary",variant:"contained",size:"small"}}},palette:{primary:{main:"#4CAF50"}}});function kx(e){let{plugins:r,reloadSettings:n}=e;const[o,a]=(0,t.useState)("matterbridge-"),[i,s]=(0,t.useState)(!1),[l,c]=t.useState(null),{messages:u,sendMessage:d,logMessage:p}=(0,t.useContext)(ys),f=(e,t)=>{"clickaway"!==t&&s(!1)},h=e=>{""!==e&&a(e),c(null)},m=(0,Oe.A)({components:{MuiTooltip:{defaultProps:{placement:"bottom",arrow:!0}}},palette:{primary:{main:"#4CAF50"}}});return(0,De.jsx)("div",{style:{display:"flex",flexDirection:"row",flex:"1 1 auto",alignItems:"center",justifyContent:"space-between",margin:"0px",padding:"10px",gap:"20px"},children:(0,De.jsxs)(Je,{theme:m,children:[(0,De.jsx)(Wi,{anchorOrigin:{vertical:"bottom",horizontal:"right"},open:i,onClose:f,autoHideDuration:5e3,children:(0,De.jsx)(ss,{onClose:f,severity:"info",variant:"filled",sx:{width:"100%",bgcolor:"#4CAF50"},children:"Restart required"})}),(0,De.jsx)(mu,{value:o,onChange:e=>{a(e.target.value)},size:"small",id:"plugin-name",label:"Plugin name or plugin path",variant:"outlined",fullWidth:!0}),(0,De.jsx)(bo,{onClick:e=>{c(e.currentTarget)},children:(0,De.jsx)(ku,{})}),(0,De.jsxs)(Fa,{id:"simple-menu",anchorEl:l,keepMounted:!0,open:Boolean(l),onClose:()=>h(""),sx:{"& .MuiPaper-root":{backgroundColor:"#e2e2e2"}},children:[(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-zigbee2mqtt"),children:"matterbridge-zigbee2mqtt"}),(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-somfy-tahoma"),children:"matterbridge-somfy-tahoma"}),(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-shelly"),children:"matterbridge-shelly"}),(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-example-accessory-platform"),children:"matterbridge-example-accessory-platform"}),(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-example-dynamic-platform"),children:"matterbridge-example-dynamic-platform"}),(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-eve-door"),children:"matterbridge-eve-door"}),(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-eve-motion"),children:"matterbridge-eve-motion"}),(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-eve-energy"),children:"matterbridge-eve-energy"}),(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-eve-weather"),children:"matterbridge-eve-weather"}),(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-eve-room"),children:"matterbridge-eve-room"})]}),(0,De.jsx)(Ln,{title:"Install or update a plugin from npm",children:(0,De.jsx)(Zs,{onClick:()=>{p("Plugins",`Installing plugin: ${o}`),Bx("installplugin",o),setTimeout((()=>{n()}),5e3)},theme:m,color:"primary",variant:"contained",size:"small","aria-label":"install",endIcon:(0,De.jsx)($u,{}),style:{color:"#ffffff",height:"30px",minWidth:"90px"},children:" Install"})}),(0,De.jsx)(Ln,{title:"Add an installed plugin",children:(0,De.jsx)(Zs,{onClick:()=>{p("Plugins",`Adding plugin: ${o}`),Bx("addplugin",o),setTimeout((()=>{n()}),1e3)},theme:m,color:"primary",variant:"contained",size:"small","aria-label":"add",endIcon:(0,De.jsx)(Cu,{}),style:{color:"#ffffff",height:"30px",minWidth:"90px"},children:" Add"})})]})})}function $x(e){let{qrText:t,pairingText:r,qrWidth:n,topText:o,bottomText:a,matterbridgeInfo:i,plugin:s}=e;return"bridge"===i.bridgeMode&&!0===i.matterbridgePaired&&i.matterbridgeFabricInformations&&i.matterbridgeSessionInformations?(0,De.jsxs)("div",{className:"MbfWindowDiv",style:{alignItems:"center",minWidth:"302px",overflow:"hidden"},children:[(0,De.jsx)("div",{className:"MbfWindowHeader",children:(0,De.jsx)("p",{className:"MbfWindowHeaderText",style:{textAlign:"left",overflow:"hidden"},children:"Paired fabrics"})}),(0,De.jsx)("div",{className:"MbfWindowBodyColumn",children:i.matterbridgeFabricInformations.map(((e,t)=>(0,De.jsxs)("div",{style:{margin:"0px",padding:"10px",gap:"0px",backgroundColor:"#9e9e9e",textAlign:"left",fontSize:"14px"},children:[(0,De.jsxs)("p",{className:"status-blue",style:{margin:"0px 10px 10px 10px",fontSize:"14px",padding:0},children:["Fabric: ",e.fabricIndex]}),(0,De.jsxs)("p",{style:{margin:"0px 20px 0px 20px"},children:["Vendor: ",e.rootVendorId," ",e.rootVendorName]}),""!==e.label&&(0,De.jsxs)("p",{style:{margin:"0px 20px 0px 20px"},children:["Label: ",e.label]}),(0,De.jsxs)("p",{style:{margin:"0px 20px 0px 20px"},children:["Active sessions: ",i.matterbridgeSessionInformations.filter((t=>t.fabric.fabricIndex===e.fabricIndex)).length]})]},t)))})]}):"childbridge"===i.bridgeMode&&s&&!0===s.paired&&s.fabricInformations&&s.sessionInformations?(0,De.jsxs)("div",{className:"MbfWindowDiv",style:{alignItems:"center",minWidth:"302px",overflow:"hidden"},children:[(0,De.jsx)("div",{className:"MbfWindowHeader",children:(0,De.jsx)("p",{className:"MbfWindowHeaderText",style:{textAlign:"left"},children:"Paired fabrics"})}),(0,De.jsx)("div",{className:"MbfWindowBodyColumn",children:s.fabricInformations.map(((e,t)=>(0,De.jsxs)("div",{style:{margin:"0px",padding:"10px",gap:"0px",backgroundColor:"#9e9e9e",textAlign:"left",fontSize:"14px"},children:[(0,De.jsxs)("p",{className:"status-blue",style:{margin:"0px 10px 10px 10px",fontSize:"14px",padding:0},children:["Fabric: ",e.fabricIndex]}),(0,De.jsxs)("p",{style:{margin:"0px 20px 0px 20px"},children:["Vendor: ",e.rootVendorId," ",e.rootVendorName]}),""!==e.label&&(0,De.jsxs)("p",{style:{margin:"0px 20px 0px 20px"},children:["Label: ",e.label]}),(0,De.jsxs)("p",{style:{margin:"0px 20px 0px 20px"},children:["Active sessions: ",s.sessionInformations.filter((t=>t.fabric.fabricIndex===e.fabricIndex)).length]})]},t)))})]}):"bridge"===i.bridgeMode&&!0!==i.matterbridgePaired||"childbridge"===i.bridgeMode&&s&&!0!==s.paired?(0,De.jsxs)("div",{className:"MbfWindowDiv",style:{alignItems:"center",minWidth:"302px"},children:[(0,De.jsx)("div",{className:"MbfWindowHeader",children:(0,De.jsx)("p",{className:"MbfWindowHeaderText",style:{textAlign:"left"},children:o})}),(0,De.jsx)(Sx,{value:t,size:n,level:"M",bgColor:"#9e9e9e",style:{margin:"20px"}}),(0,De.jsx)("div",{className:"MbfWindowFooter",style:{padding:0,marginTop:"-5px",height:"30px"},children:(0,De.jsx)("div",{children:(0,De.jsxs)("p",{style:{margin:0,textAlign:"center",fontSize:"14px"},children:["Manual pairing code: ",r]})})})]}):void 0}function Cx(e){let{config:t,schema:r,handleCloseConfig:n}=e;const o=(0,Oe.A)({palette:{primary:{main:"#4CAF50"}},components:{MuiPaper:{styleOverrides:{root:{border:"1px solid #ddd",backgroundColor:"#c4c2c2",boxShadow:"5px 5px 10px #888"}}},MuiTextField:{defaultProps:{size:"small"}},MuiButton:{styleOverrides:{root:{color:"#ffffff",backgroundColor:"#4CAF50"}},defaultProps:{color:"primary",variant:"contained",size:"small"}}}});return(0,De.jsx)(Je,{theme:o,children:(0,De.jsxs)("div",{style:{maxWidth:"800px"},children:[(0,De.jsx)(Bb,{schema:r,formData:t,uiSchema:{password:{"ui:widget":"password"},"ui:submitButtonOptions":{props:{variant:"contained",disabled:!1},norender:!1,submitText:"Save the changes to the config file"},"ui:globalOptions":{orderable:!1}},validator:Yb,onSubmit:(e,t)=>{let{formData:r}=e;const o=JSON.stringify(r,null,2);Bx("saveconfig",r.name,o),n()}}),(0,De.jsx)("div",{style:{paddingTop:"10px"},children:"Restart Matterbridge to apply the changes"})]})})}const Ex=function(){var e,r;const[n,o]=(0,t.useState)(null),[a,i]=(0,t.useState)(""),[s,l]=(0,t.useState)(""),[c,u]=(0,t.useState)({}),[d,p]=(0,t.useState)({}),[f,h]=(0,t.useState)([]),[m,g]=(0,t.useState)(-1),[v,y]=(0,t.useState)("none"),[b,x]=(0,t.useState)({}),[w,S]=(0,t.useState)({}),[A,k]=(0,t.useState)(!1),[$,C]=(0,t.useState)(!1),[E,j]=(0,t.useState)(null!==(e=localStorage.getItem("logFilterLevel"))&&void 0!==e?e:"info"),[_,P]=(0,t.useState)(null!==(r=localStorage.getItem("logFilterSearch"))&&void 0!==r?r:"*"),{messages:R,sendMessage:O,logMessage:N,setLogFilters:M}=(0,t.useContext)(ys),{online:T,setOnline:I}=(0,t.useContext)(xs),F=(0,t.useRef)(null),D=(0,t.useRef)(null),z=()=>{k(!0)},L=(e,t)=>{"clickaway"!==t&&k(!1)},B=()=>{C(!1),z(),setTimeout((()=>{U()}),1e3)},W=t.useMemo((()=>[{Header:"Name",accessor:"name"},{Header:"Description",accessor:"description"},{Header:"Version",accessor:"version"},{Header:"Author",accessor:"author"},{Header:"Type",accessor:"type"},{Header:"Devices",accessor:"devices"},{Header:"Tools",accessor:"qrcode"},{Header:"Status",accessor:"status"}]),[]),V=()=>{fetch("./api/settings").then((e=>e.json())).then((e=>{o(e.wssHost),"bridge"===e.matterbridgeInformation.bridgeMode&&(i(e.matterbridgeInformation.matterbridgeQrPairingCode),l(e.matterbridgeInformation.matterbridgeManualPairingCode)),u(e.systemInformation),p(e.matterbridgeInformation)})).catch((e=>console.error("Error fetching settings:",e))),fetch("./api/plugins").then((e=>e.json())).then((e=>{h(e)})).catch((e=>console.error("Error fetching plugins:",e)))};(0,t.useEffect)((()=>{V();const e=setInterval(V,6e4);return()=>clearInterval(e)}),[]);const U=()=>{V()},H=e=>{!0===f[e].enabled?(f[e].enabled=!1,N("Plugins",`Disabling plugin: ${f[e].name}`),Bx("disableplugin",f[e].name)):(f[e].enabled=!0,N("Plugins",`Enabling plugin: ${f[e].name}`),Bx("enableplugin",f[e].name)),"childbridge"===d.bridgeMode&&setTimeout((()=>{U()}),500),"bridge"===d.bridgeMode&&setTimeout((()=>{U()}),500)},q=e=>{x(f[e].configJson),S(f[e].schemaJson),C(!0)},[G,K]=(0,t.useState)(!1),[X,Q]=(0,t.useState)(""),[Y,J]=(0,t.useState)(""),[Z,ee]=(0,t.useState)(""),[te,re]=(0,t.useState)(-1),ne=(e,t,r,n)=>{Q(e),J(t),ee(r),re(n),K(!0)};return T?(0,De.jsx)("div",{className:"MbfPageDiv",style:{flexDirection:"row"},children:(0,De.jsxs)(Je,{theme:Ax,children:[(0,De.jsxs)(Os,{open:$,onClose:B,maxWidth:"600px",PaperProps:{style:{border:"2px solid #ddd",backgroundColor:"#c4c2c2",boxShadow:"5px 5px 10px #888"}},children:[(0,De.jsx)(Ds,{gap:"20px",children:(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"20px"},children:[(0,De.jsx)("img",{src:"matterbridge 64x64.png",alt:"Matterbridge Logo",style:{height:"64px",width:"64px"}}),(0,De.jsx)("h3",{children:"Matterbridge plugin configuration"})]})}),(0,De.jsx)(Ws,{children:(0,De.jsx)(Cx,{config:b,schema:w,handleCloseConfig:B})})]}),(0,De.jsx)(el,{open:G,title:X,message:Y,onConfirm:()=>{var e;K(!1),"remove"===Z&&-1!==te?(N("Plugins",`Removing plugin: ${f[e=te].name}`),Bx("removeplugin",f[e].name),setTimeout((()=>{U()}),500)):"disable"===Z&&-1!==te&&H(te)},onCancel:()=>{K(!1)}}),(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",width:"302px",minWidth:"302px",gap:"20px"},children:[(0,De.jsx)($x,{qrText:a,pairingText:s,qrWidth:256,topText:"QR pairing code",bottomText:"none"===v?"Matterbridge":v,matterbridgeInfo:d,plugin:-1===m?void 0:f[m]}),c&&(0,De.jsx)(ml,{systemInfo:c,compact:!0}),""===a&&d&&(0,De.jsx)(gl,{matterbridgeInfo:d})]}),(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",width:"100%",gap:"20px"},children:[(0,De.jsxs)("div",{className:"MbfWindowDiv",style:{flex:"0 0 auto",width:"100%",overflow:"hidden"},children:[(0,De.jsx)("div",{className:"MbfWindowHeader",children:(0,De.jsx)("p",{className:"MbfWindowHeaderText",children:"Install add plugin"})}),(0,De.jsx)(kx,{ref:F,plugins:f,reloadSettings:U})]}),(0,De.jsx)("div",{className:"MbfWindowDiv",style:{flex:"0 0 auto",width:"100%",overflow:"hidden"},children:(0,De.jsx)("div",{className:"MbfWindowDivTable",style:{flex:"0 0 auto",overflow:"hidden"},children:(0,De.jsxs)("table",{ref:D,children:[(0,De.jsxs)("thead",{children:[(0,De.jsx)("tr",{children:(0,De.jsx)("th",{colSpan:"8",children:"Registered plugins"})}),(0,De.jsx)("tr",{children:W.map(((e,t)=>(0,De.jsx)("th",{children:e.Header},t)))})]}),(0,De.jsx)("tbody",{children:f.map(((e,t)=>(0,De.jsxs)("tr",{className:m===t?"table-content-selected":t%2===0?"table-content-even":"table-content-odd",children:[(0,De.jsx)("td",{children:(0,De.jsx)(Ln,{title:e.path,children:e.name})}),(0,De.jsx)("td",{children:e.description}),void 0===e.latestVersion||e.latestVersion===e.version?(0,De.jsx)("td",{children:(0,De.jsx)(Ln,{title:"Plugin version",children:e.version})}):(0,De.jsx)("td",{children:(0,De.jsx)(Ln,{title:"New plugin version available, click to install",children:(0,De.jsxs)("span",{className:"status-warning",onClick:()=>{return N("Plugins",`Updating plugin: ${f[e=t].name}`),Bx("installplugin",f[e].name),z(),void setTimeout((()=>{L(),U()}),5e3);var e},children:["Update v.",e.version," to v.",e.latestVersion]})})}),(0,De.jsx)("td",{children:e.author.replace("https://github.com/","")}),(0,De.jsx)("td",{children:"DynamicPlatform"===e.type?"Dynamic":"Accessory"}),(0,De.jsx)("td",{children:e.registeredDevices}),(0,De.jsx)("td",{children:(0,De.jsxs)(De.Fragment,{children:[d&&"childbridge"===d.bridgeMode&&!e.error&&e.enabled?(0,De.jsx)(Ln,{title:"Shows the QRCode or the fabrics",children:(0,De.jsx)(bo,{style:{padding:0},className:"PluginsIconButton",onClick:()=>{var e;m===(e=t)?(g(-1),y("none"),i(""),l("")):(U(),g(e),y(f[e].name),i(f[e].qrPairingCode),l(f[e].manualPairingCode))},size:"small",children:(0,De.jsx)(gu,{})})}):(0,De.jsx)(De.Fragment,{}),(0,De.jsx)(Ln,{title:"Plugin config",children:(0,De.jsx)(bo,{style:{padding:0},className:"PluginsIconButton",onClick:()=>q(t),size:"small",children:(0,De.jsx)(vu,{})})}),(0,De.jsx)(Ln,{title:"Remove the plugin",children:(0,De.jsx)(bo,{style:{padding:0},className:"PluginsIconButton",onClick:()=>{ne("Remove plugin","Are you sure? This will remove also all the devices and configuration in the controller.","remove",t)},size:"small",children:(0,De.jsx)(yu,{})})}),e.enabled?(0,De.jsx)(Ln,{title:"Disable the plugin",children:(0,De.jsx)(bo,{style:{padding:0},className:"PluginsIconButton",onClick:()=>{ne("Disable plugin","Are you sure? This will remove also all the devices and configuration in the controller.","disable",t)},size:"small",children:(0,De.jsx)(bu,{})})}):(0,De.jsx)(De.Fragment,{}),e.enabled?(0,De.jsx)(De.Fragment,{}):(0,De.jsx)(Ln,{title:"Enable the plugin",children:(0,De.jsx)(bo,{style:{padding:0},className:"PluginsIconButton",onClick:()=>H(t),size:"small",children:(0,De.jsx)(xu,{})})}),(0,De.jsx)(Ln,{title:"Plugin help",children:(0,De.jsx)(bo,{style:{padding:0},className:"PluginsIconButton",onClick:()=>{return e=t,void window.open(`https://github.com/Luligu/${f[e].name}/blob/main/README.md`,"_blank");var e},size:"small",children:(0,De.jsx)(wu,{})})}),(0,De.jsx)(Ln,{title:"Plugin version history",children:(0,De.jsx)(bo,{style:{padding:0},className:"PluginsIconButton",onClick:()=>{return e=t,void window.open(`https://github.com/Luligu/${f[e].name}/blob/main/CHANGELOG.md`,"_blank");var e},size:"small",children:(0,De.jsx)(Su,{})})}),(0,De.jsx)(Ln,{title:"Sponsor the plugin",children:(0,De.jsx)(bo,{style:{padding:0,color:"#b6409c"},className:"PluginsIconButton",onClick:()=>{window.open("https://www.buymeacoffee.com/luligugithub","_blank")},size:"small",children:(0,De.jsx)(Au,{})})})]})}),(0,De.jsx)("td",{children:(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"row",flex:"1 1 auto",gap:"5px"},children:[(0,De.jsx)(Wi,{anchorOrigin:{vertical:"bottom",horizontal:"right"},open:A,onClose:L,autoHideDuration:1e4,children:(0,De.jsx)(ss,{onClose:L,severity:"info",variant:"filled",sx:{width:"100%",bgcolor:"#4CAF50"},children:"Restart needed!"})}),e.error?(0,De.jsx)(De.Fragment,{children:(0,De.jsx)(nl,{status:!1,enabledText:"Error",disabledText:"Error",tooltipText:"The plugin is in error state. Check the log!"})}):(0,De.jsx)(De.Fragment,{children:!1===e.enabled?(0,De.jsx)(De.Fragment,{children:(0,De.jsx)(nl,{status:e.enabled,enabledText:"Enabled",disabledText:"Disabled",tooltipText:"Whether the plugin is enable or disabled"})}):(0,De.jsx)(De.Fragment,{children:e.loaded&&e.started&&e.configured&&e.paired&&e.connected?(0,De.jsx)(De.Fragment,{children:(0,De.jsx)(nl,{status:e.loaded,enabledText:"Running",tooltipText:"Whether the plugin is running"})}):(0,De.jsx)(De.Fragment,{children:e.loaded&&e.started&&e.configured&&void 0===e.connected?(0,De.jsx)(De.Fragment,{children:(0,De.jsx)(nl,{status:e.loaded,enabledText:"Running",tooltipText:"Whether the plugin is running"})}):(0,De.jsxs)(De.Fragment,{children:[(0,De.jsx)(nl,{status:e.enabled,enabledText:"Enabled",disabledText:"Disabled",tooltipText:"Whether the plugin is enable or disabled"}),(0,De.jsx)(nl,{status:e.loaded,enabledText:"Loaded",tooltipText:"Whether the plugin has been loaded"}),(0,De.jsx)(nl,{status:e.started,enabledText:"Started",tooltipText:"Whether the plugin started"}),(0,De.jsx)(nl,{status:e.configured,enabledText:"Configured",tooltipText:"Whether the plugin has been configured"}),d&&"childbridge"===d.bridgeMode?(0,De.jsx)(nl,{status:e.paired,enabledText:"Paired",tooltipText:"Whether the plugin has been paired"}):(0,De.jsx)(De.Fragment,{}),d&&"childbridge"===d.bridgeMode?(0,De.jsx)(nl,{status:e.connected,enabledText:"Connected",tooltipText:"Whether the controller connected"}):(0,De.jsx)(De.Fragment,{})]})})})})]})})]},t)))})]})})}),(0,De.jsxs)("div",{className:"MbfWindowDiv",style:{flex:"1 1 auto",width:"100%",overflow:"hidden"},children:[(0,De.jsx)("div",{className:"MbfWindowHeader",style:{flexShrink:0},children:(0,De.jsxs)("p",{className:"MbfWindowHeaderText",style:{display:"flex",justifyContent:"space-between"},children:["Logs ",(0,De.jsxs)("span",{style:{fontWeight:"normal",fontSize:"12px",marginTop:"2px"},children:['Filter: logger level "',E,'" and search "',_,'"']})]})}),(0,De.jsx)("div",{style:{flex:"1 1 auto",margin:"0px",padding:"10px",overflow:"auto"},children:(0,De.jsx)(ol,{})})]})]})]})}):(0,De.jsx)(fl,{})};const jx=function(){const[e,r]=(0,t.useState)([]),[n,o]=(0,t.useState)(void 0),[a,i]=(0,t.useState)(void 0),[s,l]=(0,t.useState)(-1),[c,u]=(0,t.useState)("none"),[d,p]=(0,t.useState)("none"),[f,h]=(0,t.useState)([]),{online:m}=(0,t.useContext)(xs);(0,t.useEffect)((()=>{fetch("./api/devices").then((e=>e.json())).then((e=>r(e))).catch((e=>console.error("Error fetching devices:",e)))}),[]),(0,t.useEffect)((()=>{fetch(`/api/devices_clusters/${c}/${d}`).then((e=>e.json())).then((e=>h(e))).catch((e=>console.error("Error fetching devices_clusters:",e)))}),[d,c]);const g=e=>{n===e?(void 0===a&&i(!0),!0===a&&i(!1),!1===a&&o(void 0),!1===a&&i(void 0)):(o(e),i(!0))},v=[...e].sort(((e,t)=>e[n]t[n]?a?1:-1:0));return m?(0,De.jsxs)("div",{className:"MbfPageDiv",children:[(0,De.jsx)("div",{className:"MbfWindowDiv",style:{flex:"1 1 auto",maxHeight:"50%",width:"100%",overflow:"hidden"},children:(0,De.jsx)("div",{className:"MbfWindowDivTable",children:(0,De.jsxs)("table",{children:[(0,De.jsxs)("thead",{children:[(0,De.jsx)("tr",{children:(0,De.jsx)("th",{colSpan:"7",children:"Registered devices"})}),(0,De.jsxs)("tr",{children:[(0,De.jsxs)("th",{onClick:()=>g("pluginName"),children:["Plugin name ","pluginName"===n?a?" \ud83d\udd3c":" \ud83d\udd3d":" \ud83d\udd3c\ud83d\udd3d"]}),(0,De.jsxs)("th",{onClick:()=>g("type"),children:["Device type ","type"===n?a?" \ud83d\udd3c":" \ud83d\udd3d":" \ud83d\udd3c\ud83d\udd3d"]}),(0,De.jsxs)("th",{onClick:()=>g("endpoint"),children:["Endpoint ","endpoint"===n?a?" \ud83d\udd3c":" \ud83d\udd3d":" \ud83d\udd3c\ud83d\udd3d"]}),(0,De.jsxs)("th",{onClick:()=>g("name"),children:["Name ","name"===n?a?" \ud83d\udd3c":" \ud83d\udd3d":" \ud83d\udd3c\ud83d\udd3d"]}),(0,De.jsxs)("th",{onClick:()=>g("serial"),children:["Serial number ","serial"===n?a?" \ud83d\udd3c":" \ud83d\udd3d":" \ud83d\udd3c\ud83d\udd3d"]}),(0,De.jsxs)("th",{onClick:()=>g("uniqueId"),children:["Unique ID ","uniqueId"===n?a?" \ud83d\udd3c":" \ud83d\udd3d":" \ud83d\udd3c\ud83d\udd3d"]}),(0,De.jsxs)("th",{onClick:()=>g("cluster"),children:["Cluster ","cluster"===n?a?" \ud83d\udd3c":" \ud83d\udd3d":" \ud83d\udd3c\ud83d\udd3d"]})]})]}),(0,De.jsx)("tbody",{children:v.map(((e,t)=>(0,De.jsxs)("tr",{onClick:()=>{return s===(e=t)?(l(-1),u("none"),p("none")):(l(e),u(v[e].pluginName),p(v[e].endpoint)),console.log("Selected row:",e),console.log("Selected plugin:",v[e].pluginName),void console.log("Selected endpoint:",v[e].endpoint);var e},className:s===t?"table-content-selected":t%2===0?"table-content-even":"table-content-odd",children:[(0,De.jsx)("td",{children:e.pluginName}),(0,De.jsx)("td",{children:e.type}),(0,De.jsx)("td",{children:e.endpoint}),(0,De.jsx)("td",{children:e.name}),(0,De.jsx)("td",{children:e.serial}),(0,De.jsx)("td",{children:e.uniqueId}),(0,De.jsx)("td",{children:e.cluster})]},t)))})]})})}),(0,De.jsx)("div",{className:"MbfWindowDiv",style:{flex:"1 1 auto",maxHeight:"50%",width:"100%",overflow:"hidden"},children:(0,De.jsx)("div",{className:"MbfWindowDivTable",children:(0,De.jsxs)("table",{children:[(0,De.jsxs)("thead",{children:[(0,De.jsxs)("tr",{children:[(0,De.jsx)("th",{colSpan:"3",children:s>=0?"Cluster servers of "+v[s].name:"(select a device)"}),(0,De.jsx)("th",{colSpan:"3",children:"Attributes"})]}),(0,De.jsxs)("tr",{children:[(0,De.jsx)("th",{children:"Endpoint"}),(0,De.jsx)("th",{children:"Name"}),(0,De.jsx)("th",{children:"Id"}),(0,De.jsx)("th",{children:"Name"}),(0,De.jsx)("th",{children:"Id"}),(0,De.jsx)("th",{children:"Value"})]})]}),(0,De.jsx)("tbody",{children:f.map(((e,t)=>(0,De.jsxs)("tr",{className:t%2===0?"table-content-even":"table-content-odd",children:[(0,De.jsx)("td",{children:e.endpoint}),(0,De.jsx)("td",{children:e.clusterName}),(0,De.jsx)("td",{children:e.clusterId}),(0,De.jsx)("td",{children:e.attributeName}),(0,De.jsx)("td",{children:e.attributeId}),(0,De.jsx)("td",{children:e.attributeValue})]},t)))})]})})})]}):(0,De.jsx)(fl,{})},_x=(0,Oe.A)({components:{MuiTooltip:{defaultProps:{placement:"bottom",arrow:!0}}},palette:{readonly:{main:"#616161"}}});function Px(e){let{matterbridgeInfo:r,showSnackbarMessage:n}=e;const[o,a]=(0,t.useState)("bridge"),[i,s]=(0,t.useState)("Info"),[l,c]=(0,t.useState)(!1),[u,d]=(0,t.useState)("");(0,t.useEffect)((()=>{void 0!==r.bridgeMode&&(a("bridge"===r.bridgeMode?"bridge":"childbridge"),s(r.loggerLevel.charAt(0).toUpperCase()+r.loggerLevel.slice(1)),c(r.fileLogger))}),[r]);return(0,De.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"10px",width:"500px"},children:(0,De.jsxs)(Nx,{children:[(0,De.jsx)(Mx,{children:"Matterbridge settings"}),(0,De.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"15px"},children:[(0,De.jsx)(xc,{color:"readonly",style:{padding:"0px",margin:"0px"},id:"matterbridgeInfo-mode",children:"Matterbridge mode:"}),(0,De.jsxs)(eb,{focused:!0,row:!0,name:"mode-buttons-group",value:o,onChange:e=>{console.log("handleChangeBridgeMode called with value:",e.target.value),a(e.target.value),Bx("setbridgemode",e.target.value),n("Restart Matterbridge to apply changes",5)},children:[(0,De.jsx)(_y,{value:"bridge",control:(0,De.jsx)(Yy,{}),label:"Bridge"}),(0,De.jsx)(_y,{value:"childbridge",control:(0,De.jsx)(Yy,{}),label:"Childbridge"})]})]}),(0,De.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"15px"},children:[(0,De.jsx)(xc,{color:"readonly",style:{padding:"0px",margin:"0px"},id:"mbdebug-info",children:"Matterbridge logger level:"}),(0,De.jsxs)(uu,{style:{height:"30px"},labelId:"select-mblevel",id:"mbdebug-level",value:i,onChange:e=>{console.log("handleChangeMbLoggerLevel called with value:",e.target.value),s(e.target.value),Bx("setmbloglevel",e.target.value)},children:[(0,De.jsx)(Ka,{value:"Debug",children:"Debug"}),(0,De.jsx)(Ka,{value:"Info",children:"Info"}),(0,De.jsx)(Ka,{value:"Notice",children:"Notice"}),(0,De.jsx)(Ka,{value:"Warn",children:"Warn"}),(0,De.jsx)(Ka,{value:"Error",children:"Error"}),(0,De.jsx)(Ka,{value:"Fatal",children:"Fatal"})]}),(0,De.jsx)(_y,{style:{padding:"0px",margin:"0px",color:"rgba(0, 0, 0, 0.87)"},control:(0,De.jsx)(ry,{checked:l,onChange:e=>{console.log("handleLogOnFileMbChange called with value:",e.target.checked),c(e.target.checked),Bx("setmblogfile",e.target.checked?"true":"false")},name:"logOnFileMb"}),label:"Log on file:",labelPlacement:"start"})]}),(0,De.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"15px"},children:[(0,De.jsx)(xc,{color:"readonly",style:{padding:"0px",margin:"0px"},id:"mb-password",children:"Frontend password:"}),(0,De.jsx)(mu,{value:u,onChange:e=>{console.log("handleChangePassword called with value:",e.target.value),d(e.target.value),Bx("setpassword","*"+e.target.value+"*")},size:"small",id:"matterbridgePassword",type:"password",autoComplete:"current-password",variant:"outlined",style:{height:"30px",flexGrow:1},InputProps:{style:{height:"30px",padding:"0"}}})]})]})})}function Rx(e){let{matterbridgeInfo:r,showSnackbarMessage:n}=e;const[o,a]=(0,t.useState)("Info"),[i,s]=(0,t.useState)(!1),[l,c]=(0,t.useState)(""),[u,d]=(0,t.useState)(""),[p,f]=(0,t.useState)("");(0,t.useEffect)((()=>{void 0!==r.bridgeMode&&(a(["Debug","Info","Notice","Warn","Error","Fatal"][r.matterLoggerLevel]),s(r.matterFileLogger),c(r.mattermdnsinterface),d(r.matteripv4address),f(r.matteripv6address))}),[r]);return(0,De.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"10px",width:"500px"},children:(0,De.jsxs)(Nx,{children:[(0,De.jsx)(Mx,{children:"Matter settings"}),(0,De.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"15px"},children:[(0,De.jsx)(xc,{color:"readonly",style:{padding:"0px",margin:"0px"},id:"mjdebug-info",children:"Matter logger level:"}),(0,De.jsxs)(uu,{style:{height:"30px"},labelId:"select-mjlevel",id:"mjdebug-level",value:o,onChange:e=>{console.log("handleChangeMjLoggerLevel called with value:",e.target.value),a(e.target.value),Bx("setmjloglevel",e.target.value)},children:[(0,De.jsx)(Ka,{value:"Debug",children:"Debug"}),(0,De.jsx)(Ka,{value:"Info",children:"Info"}),(0,De.jsx)(Ka,{value:"Notice",children:"Notice"}),(0,De.jsx)(Ka,{value:"Warn",children:"Warn"}),(0,De.jsx)(Ka,{value:"Error",children:"Error"}),(0,De.jsx)(Ka,{value:"Fatal",children:"Fatal"})]}),(0,De.jsx)(_y,{style:{padding:"0px",margin:"0px",color:"rgba(0, 0, 0, 0.87)"},control:(0,De.jsx)(ry,{checked:i,onChange:e=>{console.log("handleLogOnFileMjChange called with value:",e.target.checked),s(e.target.checked),Bx("setmjlogfile",e.target.checked?"true":"false")},name:"logOnFileMj"}),label:"Log on file:",labelPlacement:"start"})]}),(0,De.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"15px"},children:[(0,De.jsx)(xc,{color:"readonly",style:{padding:"0px",margin:"0px"},children:"Mdns interface:"}),(0,De.jsx)(mu,{value:l,onChange:e=>{console.log("handleChangeMdnsInterface called with value:",e.target.value),c(e.target.value),Bx("setmdnsinterface","*"+e.target.value+"*"),n("Restart Matterbridge to apply changes",5)},size:"small",variant:"outlined",style:{height:"30px",flexGrow:1},InputProps:{style:{height:"30px",padding:"0"}}})]}),(0,De.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"15px"},children:[(0,De.jsx)(xc,{color:"readonly",style:{padding:"0px",margin:"0px"},children:"Ipv4 address:"}),(0,De.jsx)(mu,{value:u,onChange:e=>{console.log("handleChangeIpv4Address called with value:",e.target.value),d(e.target.value),Bx("setipv4address","*"+e.target.value+"*"),n("Restart Matterbridge to apply changes",5)},size:"small",variant:"outlined",style:{height:"30px",flexGrow:1},InputProps:{style:{height:"30px",padding:"0"}}})]}),(0,De.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"15px"},children:[(0,De.jsx)(xc,{color:"readonly",style:{padding:"0px",margin:"0px"},children:"Ipv6 address:"}),(0,De.jsx)(mu,{value:p,onChange:e=>{console.log("handleChangeIpv6Address called with value:",e.target.value),f(e.target.value),Bx("setipv6address","*"+e.target.value+"*"),n("Restart Matterbridge to apply changes",5)},size:"small",variant:"outlined",style:{height:"30px",flexGrow:1},InputProps:{style:{height:"30px",padding:"0"}}})]})]})})}function Ox(e){let{matterbridgeInfo:t}=e;return(0,De.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"10px",width:"500px"},children:(0,De.jsxs)(Nx,{children:[(0,De.jsx)(Mx,{children:"Matterbridge info"}),(0,De.jsx)(Tx,{value:t.matterbridgeVersion,label:"Current Version"}),(0,De.jsx)(Tx,{value:t.matterbridgeLatestVersion,label:"Latest Version"}),(0,De.jsx)(Tx,{value:t.homeDirectory,label:"Home Directory"}),(0,De.jsx)(Tx,{value:t.rootDirectory,label:"Root Directory"}),(0,De.jsx)(Tx,{value:t.matterbridgeDirectory,label:"Matterbridge Storage Directory"}),(0,De.jsx)(Tx,{value:t.matterbridgePluginDirectory,label:"Matterbridge Plugin Directory"}),(0,De.jsx)(Tx,{value:t.globalModulesDirectory,label:"Global Module Directory"})]})})}function Nx(e){let{children:t}=e;return(0,De.jsx)(_c,{style:{gap:"10px",border:"1px solid #9e9e9e",boxShadow:"5px 5px 10px #888",padding:"10px",borderRadius:"5px",maxWidth:"500px"},children:t})}function Mx(e){let{children:t}=e;return(0,De.jsx)(xc,{style:{fontSize:"14px",color:"black",backgroundColor:"#9e9e9e",borderRadius:"5px",textAlign:"center",padding:"5px",margin:"0px"},children:t})}function Tx(e){let{value:t,label:r}=e;return(0,De.jsx)(mu,{focused:!0,color:"readonly",value:t,size:"small",label:r,variant:"standard",fullWidth:!0,InputProps:{readOnly:!0,sx:{"&:before":{borderBottomColor:"#9e9e9e"},"&:after":{borderBottomColor:"#9e9e9e"}}}})}const Ix=function(){const{online:e}=(0,t.useContext)(xs),[r,n]=(0,t.useState)(!1),[o,a]=(0,t.useState)(""),[i,s]=(0,t.useState)({}),l=()=>{n(!1)},c=(e,t)=>{a(e),r&&n(!1),n(!0),setTimeout((()=>{n(!1)}),1e3*t)};return(0,t.useEffect)((()=>{fetch("./api/settings").then((e=>e.json())).then((e=>{s(e.matterbridgeInformation)})).catch((e=>console.error("Error fetching settings:",e)))}),[]),e?(0,De.jsx)("div",{className:"MbfPageDiv",children:(0,De.jsxs)(Je,{theme:_x,children:[(0,De.jsx)(Wi,{anchorOrigin:{vertical:"bottom",horizontal:"right"},open:r,onClose:l,autoHideDuration:1e4,children:(0,De.jsx)(ss,{onClose:l,severity:"info",variant:"filled",sx:{width:"100%",bgcolor:"#4CAF50"},children:o})}),(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"20px",width:"100%",height:"100%"},children:[(0,De.jsx)("h3",{children:"Matterbridge settings:"}),(0,De.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, auto)",gridTemplateRows:"repeat(3, auto)",gap:"20px",width:"100%",height:"100%"},children:[(0,De.jsx)(Px,{matterbridgeInfo:i,showSnackbarMessage:c}),(0,De.jsx)(Rx,{matterbridgeInfo:i,showSnackbarMessage:c}),(0,De.jsx)(Ox,{matterbridgeInfo:i})]})]})]})}):(0,De.jsx)(fl,{})};var Fx=r(71094);function Dx(e){let{columns:t,data:r}=e;const{getTableProps:n,getTableBodyProps:o,headerGroups:a,rows:i,prepareRow:s}=(0,Fx.useTable)({columns:t,data:r},Fx.useSortBy);return(0,De.jsxs)("table",{...n(),children:[(0,De.jsx)("thead",{children:a.map((e=>(0,De.jsx)("tr",{...e.getHeaderGroupProps(),children:e.headers.map((e=>(0,De.jsxs)("th",{...e.getHeaderProps(e.getSortByToggleProps()),children:[e.render("Header"),(0,De.jsx)("span",{children:e.isSorted?e.isSortedDesc?" \ud83d\udd3d":" \ud83d\udd3c":""})]})))})))}),(0,De.jsx)("tbody",{...o(),children:i.map(((e,t)=>(s(e),(0,De.jsx)("tr",{className:t%2===0?"table-content-even":"table-content-odd",...e.getRowProps(),children:e.cells.map((e=>(0,De.jsx)("td",{...e.getCellProps(),children:e.render("Cell")})))},t))))})]})}const zx=function(){const e=t.useMemo((()=>[{col1:"Hello 1",col2:"World 1"},{col1:"React 2",col2:"Table 2"},{col1:"React 3",col2:"Table 3"},{col1:"React 4",col2:"Table 4"}]),[]),r=t.useMemo((()=>[{Header:"Super Header",columns:[{Header:"Column 1",accessor:"col1"},{Header:"Column 2",accessor:"col2"}]}]),[]);return(0,De.jsxs)("div",{style:{flex:1,flexBasis:"auto",flexDirection:"column",height:"calc(100vh - 80px - 20px)",width:"calc(100vw - 40px)",gap:"20px",margin:"0",padding:"20px"},children:[(0,De.jsx)(rl,{}),(0,De.jsx)(Dx,{columns:r,data:e})]})};const Lx=function(){var e,r;const[n,o]=(0,t.useState)(null),[a,i]=(0,t.useState)(null!==(e=localStorage.getItem("logFilterLevel"))&&void 0!==e?e:"info"),[s,l]=(0,t.useState)(null!==(r=localStorage.getItem("logFilterSearch"))&&void 0!==r?r:"*"),{messages:c,sendMessage:u,logMessage:d,setLogFilters:p}=(0,t.useContext)(ys),{online:f}=(0,t.useContext)(xs);return(0,t.useEffect)((()=>{fetch("./api/settings").then((e=>e.json())).then((e=>{console.log("/api/settings:",e),o(e.wssHost),localStorage.setItem("wssHost",e.wssHost)})).catch((e=>console.error("Error fetching settings:",e)))}),[]),f?(0,De.jsxs)("div",{className:"MbfPageDiv",children:[(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between",margin:"0px",padding:"0px",gap:"10px"},children:[(0,De.jsx)("h3",{children:"Logs:"}),(0,De.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"15px"},children:[(0,De.jsx)(kc,{id:"select-level",children:"Filter by debug level"}),(0,De.jsxs)(uu,{style:{height:"30px"},labelId:"select-level",id:"debug-level",value:a,onChange:e=>{i(e.target.value),p(e.target.value,s),localStorage.setItem("logFilterLevel",e.target.value),console.log("handleChangeLevel called with value:",e.target.value)},children:[(0,De.jsx)(Ka,{value:"debug",children:"Debug"}),(0,De.jsx)(Ka,{value:"info",children:"Info"}),(0,De.jsx)(Ka,{value:"notice",children:"Notice"}),(0,De.jsx)(Ka,{value:"warn",children:"Warn"}),(0,De.jsx)(Ka,{value:"error",children:"Error"}),(0,De.jsx)(Ka,{value:"fatal",children:"Fatal"})]}),(0,De.jsx)(kc,{id:"search",children:"Filter by text"}),(0,De.jsx)(mu,{style:{width:"300px"},size:"small",id:"logsearch",variant:"outlined",value:s,onChange:e=>{l(e.target.value),p(a,e.target.value),localStorage.setItem("logFilterSearch",e.target.value),console.log("handleChangeSearch called with value:",e.target.value)},InputProps:{style:{height:"30px",padding:"0 0px"}}})]})]}),(0,De.jsx)("div",{style:{flex:"1",overflow:"auto",margin:"0px",padding:"0px"},children:(0,De.jsx)(ol,{})})]}):(0,De.jsx)(fl,{})};function Bx(e,t,r){const n=t.replace(/\\/g,"*");fetch(`./api/command/${e}/${n}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r}).then((e=>{if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);return e.json()})).then((e=>{})).catch((e=>{console.error("Error sending command:",e)}))}const Wx=(0,t.createContext)();function Vx(e){let{children:r}=e;const[n,o]=(0,t.useState)(!1),[a,i]=(0,t.useState)("");return(0,De.jsx)(Wx.Provider,{value:{loggedIn:n,logIn:async e=>{try{const t=await fetch("./api/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:e})});if(t.ok){const{valid:e}=await t.json();e?o(!0):i("Incorrect password!")}else console.error("Failed to log in:",t.statusText)}catch(t){console.error("Failed to log in:",t)}},errorMessage:a},children:r})}function Ux(){const[e,r]=(0,t.useState)(""),{loggedIn:n,logIn:o,errorMessage:a}=(0,t.useContext)(Wx),[i,s]=(0,t.useState)(null),[l,c]=(0,t.useState)(!1);(0,t.useEffect)((()=>{(async()=>{try{const e=await fetch("./api/settings");if(!e.ok)throw new Error("Network response was not ok");const t=await e.json();s(t.wssHost),c(t.ssl)}catch(e){console.error("From app.js error fetching /api/settings:",e)}})()}),[]);const u=t=>{t.preventDefault(),o(e)},d={display:"flex",justifyContent:"center",alignItems:"center",height:"100vh",backgroundColor:"#c4c2c2"},p={display:"flex",flexDirection:"column",maxWidth:"400px",margin:"0 auto",padding:"20px",gap:"20px",border:"1px solid #ccc",borderRadius:"10px",boxShadow:"2px 2px 5px rgba(0,0,0,0.3)",backgroundColor:"#5f8c9e"},f={margin:"10px 0",padding:"3px 3px",fontSize:"14px",width:"230px"},h=window.location.href.includes("/matterbridge/")?"/matterbridge":window.location.href.includes("/api/hassio_ingress/")?window.location.pathname:"/";return console.log(`Ingress check: window.location.href=${window.location.href} baseName=${h}`),n?(0,De.jsx)(bs,{wssHost:i,ssl:l,children:(0,De.jsx)(ws,{children:(0,De.jsx)(Ce,{basename:h,children:(0,De.jsxs)("div",{className:"MbfScreen",children:[(0,De.jsx)(rl,{}),(0,De.jsxs)(xe,{children:[(0,De.jsx)(ye,{path:"/",element:(0,De.jsx)(Ex,{})}),(0,De.jsx)(ye,{path:"/devices",element:(0,De.jsx)(jx,{})}),(0,De.jsx)(ye,{path:"/log",element:(0,De.jsx)(Lx,{})}),(0,De.jsx)(ye,{path:"/settings",element:(0,De.jsx)(Ix,{})}),(0,De.jsx)(ye,{path:"/test",element:(0,De.jsx)(zx,{})}),(0,De.jsx)(ye,{path:"*",element:(0,De.jsx)(ve,{to:"/"})})," "]})]})})})}):(0,De.jsx)("div",{style:d,children:(0,De.jsxs)("form",{onSubmit:u,style:p,children:[(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"20px"},children:[(0,De.jsx)("img",{src:"matterbridge 64x64.png",alt:"Matterbridge Logo",style:{height:"64px",width:"64px"}}),(0,De.jsx)("h3",{children:"Welcome to Matterbridge"})]}),(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:"20px"},children:[(0,De.jsx)("input",{type:"password",value:e,onChange:e=>r(e.target.value),style:f,placeholder:"password"}),(0,De.jsx)("button",{type:"submit",children:"Log in"})]}),(0,De.jsx)("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"center",margin:0,height:"30px"},children:a&&(0,De.jsx)("p",{style:{color:"red"},children:a})})]})})}const Hx=function(){const[e,r]=(0,t.useState)(!1),[n,o]=(0,t.useState)(null),[a,i]=(0,t.useState)(!1);(0,t.useEffect)((()=>{(async()=>{try{await(async()=>{try{const e=await fetch("./api/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:""})});if(!e.ok)throw new Error("Network response was not ok");!0===(await e.json()).valid&&r(!0)}catch(e){console.error("From app.js error fetching /api/login",e)}})()}catch(e){console.error("Error fetching API login:",e)}})()}),[]),(0,t.useEffect)((()=>{(async()=>{try{await(async()=>{try{const e=await fetch("./api/settings");if(!e.ok)throw new Error("Network response was not ok");const t=await e.json();o(t.wssHost),i(t.ssl)}catch(e){console.error("From app.js error fetching /api/settings:",e)}})()}catch(e){console.error("Error fetching API settings:",e)}})()}),[]);const s=window.location.href.includes("/matterbridge/")?"/matterbridge":window.location.href.includes("/api/hassio_ingress/")?window.location.pathname:"/";return console.log(`Ingress check: window.location.href=${window.location.href} baseName=${s}`),e?(0,De.jsx)(bs,{wssHost:n,ssl:a,children:(0,De.jsx)(ws,{children:(0,De.jsx)(Ce,{basename:s,children:(0,De.jsxs)("div",{className:"MbfScreen",children:[(0,De.jsx)(rl,{}),(0,De.jsxs)(xe,{children:[(0,De.jsx)(ye,{path:"/",element:(0,De.jsx)(Ex,{})}),(0,De.jsx)(ye,{path:"/devices",element:(0,De.jsx)(jx,{})}),(0,De.jsx)(ye,{path:"/log",element:(0,De.jsx)(Lx,{})}),(0,De.jsx)(ye,{path:"/settings",element:(0,De.jsx)(Ix,{})}),(0,De.jsx)(ye,{path:"/test",element:(0,De.jsx)(zx,{})}),(0,De.jsx)(ye,{path:"*",element:(0,De.jsx)(ve,{to:"/"})})," "]})]})})})}):(0,De.jsx)(Vx,{children:(0,De.jsx)(Ux,{})})},qx=e=>{e&&e instanceof Function&&r.e(453).then(r.bind(r,46453)).then((t=>{let{getCLS:r,getFID:n,getFCP:o,getLCP:a,getTTFB:i}=t;r(e),n(e),o(e),a(e),i(e)}))};o.createRoot(document.getElementById("root")).render((0,De.jsx)(t.StrictMode,{children:(0,De.jsx)(Hx,{})})),qx()})()})(); -//# sourceMappingURL=main.a14c87e7.js.map \ No newline at end of file + `),Si)})),Ci=t.forwardRef((function(e,t){const r=(0,dt.b)({props:e,name:"MuiCircularProgress"}),{className:n,color:o="primary",disableShrink:a=!1,size:i=40,style:s,thickness:l=3.6,value:c=0,variant:u="indeterminate"}=r,d=(0,Me.A)(r,hi),p=(0,Ne.A)({},r,{color:o,disableShrink:a,size:i,thickness:l,value:c,variant:u}),f=(e=>{const{classes:t,variant:r,color:n,disableShrink:o}=e,a={root:["root",r,`color${(0,pt.A)(n)}`],svg:["svg"],circle:["circle",`circle${(0,pt.A)(r)}`,o&&"circleDisableShrink"]};return(0,tt.A)(a,fi,t)})(p),h={},m={},g={};if("determinate"===u){const e=2*Math.PI*((xi-l)/2);h.strokeDasharray=e.toFixed(3),g["aria-valuenow"]=Math.round(c),h.strokeDashoffset=`${((100-c)/100*e).toFixed(3)}px`,m.transform="rotate(-90deg)"}return(0,De.jsx)(Ai,(0,Ne.A)({className:(0,Ze.A)(f.root,n),style:(0,Ne.A)({width:i,height:i},m,s),ownerState:p,ref:t,role:"progressbar"},g,d,{children:(0,De.jsx)(ki,{className:f.svg,ownerState:p,viewBox:"22 22 44 44",children:(0,De.jsx)($i,{className:f.circle,style:h,ownerState:p,cx:xi,cy:xi,r:(xi-l)/2,fill:"none",strokeWidth:l})})}))})),Ei=Ci;const ji=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{autoHideDuration:r=null,disableWindowBlurListener:n=!1,onClose:o,open:a,resumeHideDuration:i}=e,s=(0,et.A)();t.useEffect((()=>{if(a)return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)};function e(e){e.defaultPrevented||"Escape"!==e.key&&"Esc"!==e.key||null==o||o(e,"escapeKeyDown")}}),[a,o]);const l=(0,Xo.A)(((e,t)=>{null==o||o(e,t)})),c=(0,Xo.A)((e=>{o&&null!=e&&s.start(e,(()=>{l(null,"timeout")}))}));t.useEffect((()=>(a&&c(r),s.clear)),[a,r,c,s]);const u=s.clear,d=t.useCallback((()=>{null!=r&&c(null!=i?i:.5*r)}),[r,i,c]),p=e=>t=>{const r=e.onFocus;null==r||r(t),u()},f=e=>t=>{const r=e.onMouseEnter;null==r||r(t),u()},h=e=>t=>{const r=e.onMouseLeave;null==r||r(t),d()};return t.useEffect((()=>{if(!n&&a)return window.addEventListener("focus",d),window.addEventListener("blur",u),()=>{window.removeEventListener("focus",d),window.removeEventListener("blur",u)}}),[n,a,d,u]),{getRootProps:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=(0,Ne.A)({},tn(e),tn(t));return(0,Ne.A)({role:"presentation"},t,r,{onBlur:(n=r,e=>{const t=n.onBlur;null==t||t(e),d()}),onFocus:p(r),onMouseEnter:f(r),onMouseLeave:h(r)});var n},onClickAway:e=>{null==o||o(e,"clickaway")}}};function _i(e){return e.substring(2).toLowerCase()}function Pi(e){const{children:r,disableReactTree:n=!1,mouseEvent:o="onClick",onClickAway:a,touchEvent:i="onTouchEnd"}=e,s=t.useRef(!1),l=t.useRef(null),c=t.useRef(!1),u=t.useRef(!1);t.useEffect((()=>(setTimeout((()=>{c.current=!0}),0),()=>{c.current=!1})),[]);const d=(0,Tt.A)(r.ref,l),p=(0,Xo.A)((e=>{const t=u.current;u.current=!1;const r=(0,Ft.A)(l.current);if(!c.current||!l.current||"clientX"in e&&function(e,t){return t.documentElement.clientWidth-1:!r.documentElement.contains(e.target)||l.current.contains(e.target),o||!n&&t||a(e)})),f=e=>t=>{u.current=!0;const n=r.props[e];n&&n(t)},h={ref:d};return!1!==i&&(h[i]=f(i)),t.useEffect((()=>{if(!1!==i){const e=_i(i),t=(0,Ft.A)(l.current),r=()=>{s.current=!0};return t.addEventListener(e,p),t.addEventListener("touchmove",r),()=>{t.removeEventListener(e,p),t.removeEventListener("touchmove",r)}}}),[p,i]),!1!==o&&(h[o]=f(o)),t.useEffect((()=>{if(!1!==o){const e=_i(o),t=(0,Ft.A)(l.current);return t.addEventListener(e,p),()=>{t.removeEventListener(e,p)}}}),[p,o]),(0,De.jsx)(t.Fragment,{children:t.cloneElement(r,h)})}function Ri(e){return(0,dn.Ay)("MuiSnackbarContent",e)}(0,un.A)("MuiSnackbarContent",["root","message","action"]);const Oi=["action","className","message","role"],Ni=(0,at.Ay)(ma,{name:"MuiSnackbarContent",slot:"Root",overridesResolver:(e,t)=>t.root})((e=>{let{theme:t}=e;const r="light"===t.palette.mode?.8:.98,n=(0,rt.tL)(t.palette.background.default,r);return(0,Ne.A)({},t.typography.body2,{color:t.vars?t.vars.palette.SnackbarContent.color:t.palette.getContrastText(n),backgroundColor:t.vars?t.vars.palette.SnackbarContent.bg:n,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:(t.vars||t).shape.borderRadius,flexGrow:1,[t.breakpoints.up("sm")]:{flexGrow:"initial",minWidth:288}})})),Mi=(0,at.Ay)("div",{name:"MuiSnackbarContent",slot:"Message",overridesResolver:(e,t)=>t.message})({padding:"8px 0"}),Ti=(0,at.Ay)("div",{name:"MuiSnackbarContent",slot:"Action",overridesResolver:(e,t)=>t.action})({display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}),Ii=t.forwardRef((function(e,t){const r=(0,dt.b)({props:e,name:"MuiSnackbarContent"}),{action:n,className:o,message:a,role:i="alert"}=r,s=(0,Me.A)(r,Oi),l=r,c=(e=>{const{classes:t}=e;return(0,tt.A)({root:["root"],action:["action"],message:["message"]},Ri,t)})(l);return(0,De.jsxs)(Ni,(0,Ne.A)({role:i,square:!0,elevation:6,className:(0,Ze.A)(c.root,o),ownerState:l,ref:t},s,{children:[(0,De.jsx)(Mi,{className:c.message,ownerState:l,children:a}),n?(0,De.jsx)(Ti,{className:c.action,ownerState:l,children:n}):null]}))}));function Fi(e){return(0,dn.Ay)("MuiSnackbar",e)}(0,un.A)("MuiSnackbar",["root","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft"]);const Di=["onEnter","onExited"],zi=["action","anchorOrigin","autoHideDuration","children","className","ClickAwayListenerProps","ContentProps","disableWindowBlurListener","message","onBlur","onClose","onFocus","onMouseEnter","onMouseLeave","open","resumeHideDuration","TransitionComponent","transitionDuration","TransitionProps"],Li=(0,at.Ay)("div",{name:"MuiSnackbar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,t[`anchorOrigin${(0,pt.A)(r.anchorOrigin.vertical)}${(0,pt.A)(r.anchorOrigin.horizontal)}`]]}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({zIndex:(t.vars||t).zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center"},"top"===r.anchorOrigin.vertical?{top:8}:{bottom:8},"left"===r.anchorOrigin.horizontal&&{justifyContent:"flex-start"},"right"===r.anchorOrigin.horizontal&&{justifyContent:"flex-end"},{[t.breakpoints.up("sm")]:(0,Ne.A)({},"top"===r.anchorOrigin.vertical?{top:24}:{bottom:24},"center"===r.anchorOrigin.horizontal&&{left:"50%",right:"auto",transform:"translateX(-50%)"},"left"===r.anchorOrigin.horizontal&&{left:24,right:"auto"},"right"===r.anchorOrigin.horizontal&&{right:24,left:"auto"})})})),Bi=t.forwardRef((function(e,r){const n=(0,dt.b)({props:e,name:"MuiSnackbar"}),o=ut(),a={enter:o.transitions.duration.enteringScreen,exit:o.transitions.duration.leavingScreen},{action:i,anchorOrigin:{vertical:s,horizontal:l}={vertical:"bottom",horizontal:"left"},autoHideDuration:c=null,children:u,className:d,ClickAwayListenerProps:p,ContentProps:f,disableWindowBlurListener:h=!1,message:m,open:g,TransitionComponent:v=Nt,transitionDuration:y=a,TransitionProps:{onEnter:b,onExited:x}={}}=n,w=(0,Me.A)(n.TransitionProps,Di),S=(0,Me.A)(n,zi),A=(0,Ne.A)({},n,{anchorOrigin:{vertical:s,horizontal:l},autoHideDuration:c,disableWindowBlurListener:h,TransitionComponent:v,transitionDuration:y}),k=(e=>{const{classes:t,anchorOrigin:r}=e,n={root:["root",`anchorOrigin${(0,pt.A)(r.vertical)}${(0,pt.A)(r.horizontal)}`]};return(0,tt.A)(n,Fi,t)})(A),{getRootProps:$,onClickAway:C}=ji((0,Ne.A)({},A)),[E,j]=t.useState(!0),_=sn({elementType:Li,getSlotProps:$,externalForwardedProps:S,ownerState:A,additionalProps:{ref:r},className:[k.root,d]});return!g&&E?null:(0,De.jsx)(Pi,(0,Ne.A)({onClickAway:C},p,{children:(0,De.jsx)(Li,(0,Ne.A)({},_,{children:(0,De.jsx)(v,(0,Ne.A)({appear:!0,in:g,timeout:y,direction:"top"===s?"down":"up",onEnter:(e,t)=>{j(!1),b&&b(e,t)},onExited:e=>{j(!0),x&&x(e)}},w,{children:u||(0,De.jsx)(Ii,(0,Ne.A)({message:m,action:i},f))}))}))}))})),Wi=Bi,Vi=["className","elementType","ownerState","externalForwardedProps","getSlotOwnerState","internalForwardedProps"],Ui=["component","slots","slotProps"],Hi=["component"];function qi(e,t){const{className:r,elementType:n,ownerState:o,externalForwardedProps:a,getSlotOwnerState:i,internalForwardedProps:s}=t,l=(0,Me.A)(t,Vi),{component:c,slots:u={[e]:void 0},slotProps:d={[e]:void 0}}=a,p=(0,Me.A)(a,Ui),f=u[e]||n,h=on(d[e],o),m=nn((0,Ne.A)({className:r},l,{externalForwardedProps:"root"===e?p:void 0,externalSlotProps:h})),{props:{component:g},internalRef:v}=m,y=(0,Me.A)(m.props,Hi),b=(0,Tt.A)(v,null==h?void 0:h.ref,t.ref),x=i?i(y):{},w=(0,Ne.A)({},o,x),S="root"===e?g||c:g,A=ot(f,(0,Ne.A)({},"root"===e&&!c&&!u[e]&&s,"root"!==e&&!u[e]&&s,y,S&&{as:S},{ref:b}),w);return Object.keys(x).forEach((e=>{delete A[e]})),[f,A]}function Gi(e){return(0,dn.Ay)("MuiAlert",e)}const Ki=(0,un.A)("MuiAlert",["root","action","icon","message","filled","colorSuccess","colorInfo","colorWarning","colorError","filledSuccess","filledInfo","filledWarning","filledError","outlined","outlinedSuccess","outlinedInfo","outlinedWarning","outlinedError","standard","standardSuccess","standardInfo","standardWarning","standardError"]);var Xi=r(59662);const Qi=(0,Xi.A)((0,De.jsx)("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),Yi=(0,Xi.A)((0,De.jsx)("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),Ji=(0,Xi.A)((0,De.jsx)("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),Zi=(0,Xi.A)((0,De.jsx)("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined"),es=(0,Xi.A)((0,De.jsx)("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),ts=["action","children","className","closeText","color","components","componentsProps","icon","iconMapping","onClose","role","severity","slotProps","slots","variant"],rs=(0,at.Ay)(ma,{name:"MuiAlert",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,t[r.variant],t[`${r.variant}${(0,pt.A)(r.color||r.severity)}`]]}})((e=>{let{theme:t}=e;const r="light"===t.palette.mode?rt.e$:rt.a,n="light"===t.palette.mode?rt.a:rt.e$;return(0,Ne.A)({},t.typography.body2,{backgroundColor:"transparent",display:"flex",padding:"6px 16px",variants:[...Object.entries(t.palette).filter((e=>{let[,t]=e;return t.main&&t.light})).map((e=>{let[o]=e;return{props:{colorSeverity:o,variant:"standard"},style:{color:t.vars?t.vars.palette.Alert[`${o}Color`]:r(t.palette[o].light,.6),backgroundColor:t.vars?t.vars.palette.Alert[`${o}StandardBg`]:n(t.palette[o].light,.9),[`& .${Ki.icon}`]:t.vars?{color:t.vars.palette.Alert[`${o}IconColor`]}:{color:t.palette[o].main}}}})),...Object.entries(t.palette).filter((e=>{let[,t]=e;return t.main&&t.light})).map((e=>{let[n]=e;return{props:{colorSeverity:n,variant:"outlined"},style:{color:t.vars?t.vars.palette.Alert[`${n}Color`]:r(t.palette[n].light,.6),border:`1px solid ${(t.vars||t).palette[n].light}`,[`& .${Ki.icon}`]:t.vars?{color:t.vars.palette.Alert[`${n}IconColor`]}:{color:t.palette[n].main}}}})),...Object.entries(t.palette).filter((e=>{let[,t]=e;return t.main&&t.dark})).map((e=>{let[r]=e;return{props:{colorSeverity:r,variant:"filled"},style:(0,Ne.A)({fontWeight:t.typography.fontWeightMedium},t.vars?{color:t.vars.palette.Alert[`${r}FilledColor`],backgroundColor:t.vars.palette.Alert[`${r}FilledBg`]}:{backgroundColor:"dark"===t.palette.mode?t.palette[r].dark:t.palette[r].main,color:t.palette.getContrastText(t.palette[r].main)})}}))]})})),ns=(0,at.Ay)("div",{name:"MuiAlert",slot:"Icon",overridesResolver:(e,t)=>t.icon})({marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9}),os=(0,at.Ay)("div",{name:"MuiAlert",slot:"Message",overridesResolver:(e,t)=>t.message})({padding:"8px 0",minWidth:0,overflow:"auto"}),as=(0,at.Ay)("div",{name:"MuiAlert",slot:"Action",overridesResolver:(e,t)=>t.action})({display:"flex",alignItems:"flex-start",padding:"4px 0 0 16px",marginLeft:"auto",marginRight:-8}),is={success:(0,De.jsx)(Qi,{fontSize:"inherit"}),warning:(0,De.jsx)(Yi,{fontSize:"inherit"}),error:(0,De.jsx)(Ji,{fontSize:"inherit"}),info:(0,De.jsx)(Zi,{fontSize:"inherit"})},ss=t.forwardRef((function(e,t){const r=(0,dt.b)({props:e,name:"MuiAlert"}),{action:n,children:o,className:a,closeText:i="Close",color:s,components:l={},componentsProps:c={},icon:u,iconMapping:d=is,onClose:p,role:f="alert",severity:h="success",slotProps:m={},slots:g={},variant:v="standard"}=r,y=(0,Me.A)(r,ts),b=(0,Ne.A)({},r,{color:s,severity:h,variant:v,colorSeverity:s||h}),x=(e=>{const{variant:t,color:r,severity:n,classes:o}=e,a={root:["root",`color${(0,pt.A)(r||n)}`,`${t}${(0,pt.A)(r||n)}`,`${t}`],icon:["icon"],message:["message"],action:["action"]};return(0,tt.A)(a,Gi,o)})(b),w={slots:(0,Ne.A)({closeButton:l.CloseButton,closeIcon:l.CloseIcon},g),slotProps:(0,Ne.A)({},c,m)},[S,A]=qi("closeButton",{elementType:bo,externalForwardedProps:w,ownerState:b}),[k,$]=qi("closeIcon",{elementType:es,externalForwardedProps:w,ownerState:b});return(0,De.jsxs)(rs,(0,Ne.A)({role:f,elevation:0,ownerState:b,className:(0,Ze.A)(x.root,a),ref:t},y,{children:[!1!==u?(0,De.jsx)(ns,{ownerState:b,className:x.icon,children:u||d[h]||is[h]}):null,(0,De.jsx)(os,{ownerState:b,className:x.message,children:o}),null!=n?(0,De.jsx)(as,{ownerState:b,className:x.action,children:n}):null,null==n&&p?(0,De.jsx)(as,{ownerState:b,className:x.action,children:(0,De.jsx)(S,(0,Ne.A)({size:"small","aria-label":i,title:i,color:"inherit",onClick:p},A,{children:(0,De.jsx)(k,(0,Ne.A)({fontSize:"small"},$))}))}):null]}))}));var ls=r(27193),cs=r(56170),us=r(79790);const ds=(0,Xi.A)((0,De.jsx)("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreHoriz");var ps=r(94329),fs=r(41132),hs=r(45465),ms=r(60489),gs=r(62171);const vs=function(e,r){var n,o;const[a,i]=(0,t.useState)(null!==(n=localStorage.getItem("logFilterLevel"))&&void 0!==n?n:"info"),[s,l]=(0,t.useState)(null!==(o=localStorage.getItem("logFilterSearch"))&&void 0!==o?o:"*"),[c,u]=(0,t.useState)([]),d=(0,t.useRef)(null),p=(0,t.useRef)(1),f=(0,t.useRef)(a),h=(0,t.useRef)(s);(0,t.useEffect)((()=>{f.current=a}),[a]),(0,t.useEffect)((()=>{h.current=s}),[s]);const m=(0,t.useCallback)((e=>{d.current&&d.current.readyState===WebSocket.OPEN&&d.current.send(e)}),[]),g=(0,t.useCallback)(((e,t)=>{const r=`${e}`;u((e=>[...e,r+" - "+t]))}),[]),v=(0,t.useCallback)(((e,t)=>{i(e),l(t),g("WebSocket",`Filtering by log level "${e}" and log search "${t}"`)}),[]),y=(0,t.useCallback)((()=>{""!==e&&null!==e&&void 0!==e&&(e=window.location.href.replace(/^http/,"ws"),console.log(`WebSocketUse: window.location.host=${window.location.host} window.location.protocol=${window.location.protocol} window.location.href=${window.location.href} wssHost=${e}`),g("WebSocket",`Connecting to WebSocket: ${e}`),d.current=new WebSocket(e),d.current.onmessage=e=>{try{const t=JSON.parse(e.data);if(void 0===t.id||0!==t.id||!t.level||!t.time||!t.name||!t.message)return;if(["debug","info","notice","warn","error","fatal"].includes(t.level)){if("info"===f.current&&"debug"===t.level)return;if("notice"===f.current&&("debug"===t.level||"info"===t.level))return;if("warn"===f.current&&("debug"===t.level||"info"===t.level||"notice"===t.level))return;if("error"===f.current&&("debug"===t.level||"info"===t.level||"notice"===t.level||"warn"===t.level))return;if("fatal"===f.current&&("debug"===t.level||"info"===t.level||"notice"===t.level||"warn"===t.level||"error"===t.level))return}if("*"!==h.current&&""!==h.current&&!t.message.toLowerCase().includes(h.current.toLowerCase())&&!t.name.toLowerCase().includes(h.current.toLowerCase()))return;u((e=>{const r=`[${t.time}]`,n=`${t.level}`;var o;const a=[...e,`${n} - ${r} [${t.name}]: ${t.message}`];return a.length>1e3?a.slice(a.length-1e3):a}))}catch(t){console.error(`WebSocketUse error parsing message: ${t}`)}},d.current.onopen=()=>{g("WebSocket",`Connected to WebSocket: ${e}`),p.current=1},d.current.onclose=()=>{g("WebSocket",`Disconnected from WebSocket: ${e}`),g("WebSocket",`Reconnecting (attempt ${p.current} of 10) to WebSocket: ${e}`),1===p.current?b():p.current<10?setTimeout(b,1e3*p.current):g("WebSocket",`Reconnect attempts exceeded limit of 10 retries, refresh the page to reconnect to: ${e}`),p.current=p.current+1},d.current.onerror=t=>{g("WebSocket",`WebSocket error connecting to ${e}`)})}),[e,r]),b=(0,t.useCallback)((()=>{y()}),[y]);return(0,t.useEffect)((()=>(y(),()=>{d.current&&d.current.close()})),[y]),{messages:c,sendMessage:m,logMessage:g,setLogFilters:v}},ys=(0,t.createContext)();function bs(e){let{children:t,wssHost:r,ssl:n}=e;const{messages:o,sendMessage:a,logMessage:i,setLogFilters:s}=vs(r,n);return(0,De.jsx)(ys.Provider,{value:{messages:o,sendMessage:a,logMessage:i,setLogFilters:s},children:t})}const xs=(0,t.createContext)();function ws(e){let{children:r}=e;const[n,o]=(0,t.useState)(!1),[a,i]=(0,t.useState)({}),s=()=>{fetch("./api/settings").then((e=>e.json())).then((e=>{o(!0),i(e.matterbridgeInformation),localStorage.setItem("matterbridgeInformation",e.matterbridgeInformation)})).catch((e=>{console.error("From OnlineProvider error fetching settings:",e),o(!1)}))};return(0,t.useEffect)((()=>{s();const e=setInterval(s,1e4);return()=>clearInterval(e)}),[]),(0,De.jsx)(xs.Provider,{value:{online:n,setOnline:o},children:r})}var Ss=r(5844);function As(e){return(0,dn.Ay)("MuiDialog",e)}const ks=(0,un.A)("MuiDialog",["root","scrollPaper","scrollBody","container","paper","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","paperFullWidth","paperFullScreen"]);const $s=t.createContext({}),Cs=["aria-describedby","aria-labelledby","BackdropComponent","BackdropProps","children","className","disableEscapeKeyDown","fullScreen","fullWidth","maxWidth","onBackdropClick","onClick","onClose","open","PaperComponent","PaperProps","scroll","TransitionComponent","transitionDuration","TransitionProps"],Es=(0,at.Ay)(Ko,{name:"MuiDialog",slot:"Backdrop",overrides:(e,t)=>t.backdrop})({zIndex:-1}),js=(0,at.Ay)(ua,{name:"MuiDialog",slot:"Root",overridesResolver:(e,t)=>t.root})({"@media print":{position:"absolute !important"}}),_s=(0,at.Ay)("div",{name:"MuiDialog",slot:"Container",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.container,t[`scroll${(0,pt.A)(r.scroll)}`]]}})((e=>{let{ownerState:t}=e;return(0,Ne.A)({height:"100%","@media print":{height:"auto"},outline:0},"paper"===t.scroll&&{display:"flex",justifyContent:"center",alignItems:"center"},"body"===t.scroll&&{overflowY:"auto",overflowX:"hidden",textAlign:"center","&::after":{content:'""',display:"inline-block",verticalAlign:"middle",height:"100%",width:"0"}})})),Ps=(0,at.Ay)(ma,{name:"MuiDialog",slot:"Paper",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.paper,t[`scrollPaper${(0,pt.A)(r.scroll)}`],t[`paperWidth${(0,pt.A)(String(r.maxWidth))}`],r.fullWidth&&t.paperFullWidth,r.fullScreen&&t.paperFullScreen]}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({margin:32,position:"relative",overflowY:"auto","@media print":{overflowY:"visible",boxShadow:"none"}},"paper"===r.scroll&&{display:"flex",flexDirection:"column",maxHeight:"calc(100% - 64px)"},"body"===r.scroll&&{display:"inline-block",verticalAlign:"middle",textAlign:"left"},!r.maxWidth&&{maxWidth:"calc(100% - 64px)"},"xs"===r.maxWidth&&{maxWidth:"px"===t.breakpoints.unit?Math.max(t.breakpoints.values.xs,444):`max(${t.breakpoints.values.xs}${t.breakpoints.unit}, 444px)`,[`&.${ks.paperScrollBody}`]:{[t.breakpoints.down(Math.max(t.breakpoints.values.xs,444)+64)]:{maxWidth:"calc(100% - 64px)"}}},r.maxWidth&&"xs"!==r.maxWidth&&{maxWidth:`${t.breakpoints.values[r.maxWidth]}${t.breakpoints.unit}`,[`&.${ks.paperScrollBody}`]:{[t.breakpoints.down(t.breakpoints.values[r.maxWidth]+64)]:{maxWidth:"calc(100% - 64px)"}}},r.fullWidth&&{width:"calc(100% - 64px)"},r.fullScreen&&{margin:0,width:"100%",maxWidth:"100%",height:"100%",maxHeight:"none",borderRadius:0,[`&.${ks.paperScrollBody}`]:{margin:0,maxWidth:"100%"}})})),Rs=t.forwardRef((function(e,r){const n=(0,dt.b)({props:e,name:"MuiDialog"}),o=ut(),a={enter:o.transitions.duration.enteringScreen,exit:o.transitions.duration.leavingScreen},{"aria-describedby":i,"aria-labelledby":s,BackdropComponent:l,BackdropProps:c,children:u,className:d,disableEscapeKeyDown:p=!1,fullScreen:f=!1,fullWidth:h=!1,maxWidth:m="sm",onBackdropClick:g,onClick:v,onClose:y,open:b,PaperComponent:x=ma,PaperProps:w={},scroll:S="paper",TransitionComponent:A=Uo,transitionDuration:k=a,TransitionProps:$}=n,C=(0,Me.A)(n,Cs),E=(0,Ne.A)({},n,{disableEscapeKeyDown:p,fullScreen:f,fullWidth:h,maxWidth:m,scroll:S}),j=(e=>{const{classes:t,scroll:r,maxWidth:n,fullWidth:o,fullScreen:a}=e,i={root:["root"],container:["container",`scroll${(0,pt.A)(r)}`],paper:["paper",`paperScroll${(0,pt.A)(r)}`,`paperWidth${(0,pt.A)(String(n))}`,o&&"paperFullWidth",a&&"paperFullScreen"]};return(0,tt.A)(i,As,t)})(E),_=t.useRef(),P=(0,Ss.A)(s),R=t.useMemo((()=>({titleId:P})),[P]);return(0,De.jsx)(js,(0,Ne.A)({className:(0,Ze.A)(j.root,d),closeAfterTransition:!0,components:{Backdrop:Es},componentsProps:{backdrop:(0,Ne.A)({transitionDuration:k,as:l},c)},disableEscapeKeyDown:p,onClose:y,open:b,ref:r,onClick:e=>{v&&v(e),_.current&&(_.current=null,g&&g(e),y&&y(e,"backdropClick"))},ownerState:E},C,{children:(0,De.jsx)(A,(0,Ne.A)({appear:!0,in:b,timeout:k,role:"presentation"},$,{children:(0,De.jsx)(_s,{className:(0,Ze.A)(j.container),onMouseDown:e=>{_.current=e.target===e.currentTarget},ownerState:E,children:(0,De.jsx)(Ps,(0,Ne.A)({as:x,elevation:24,role:"dialog","aria-describedby":i,"aria-labelledby":P},w,{className:(0,Ze.A)(j.paper,w.className),ownerState:E,children:(0,De.jsx)($s.Provider,{value:R,children:u})}))})}))}))})),Os=Rs;function Ns(e){return(0,dn.Ay)("MuiDialogTitle",e)}const Ms=(0,un.A)("MuiDialogTitle",["root"]),Ts=["className","id"],Is=(0,at.Ay)(oi,{name:"MuiDialogTitle",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:"16px 24px",flex:"0 0 auto"}),Fs=t.forwardRef((function(e,r){const n=(0,dt.b)({props:e,name:"MuiDialogTitle"}),{className:o,id:a}=n,i=(0,Me.A)(n,Ts),s=n,l=(e=>{const{classes:t}=e;return(0,tt.A)({root:["root"]},Ns,t)})(s),{titleId:c=a}=t.useContext($s);return(0,De.jsx)(Is,(0,Ne.A)({component:"h2",className:(0,Ze.A)(l.root,o),ownerState:s,ref:r,variant:"h6",id:null!=a?a:c},i))})),Ds=Fs;function zs(e){return(0,dn.Ay)("MuiDialogContent",e)}(0,un.A)("MuiDialogContent",["root","dividers"]);const Ls=["className","dividers"],Bs=(0,at.Ay)("div",{name:"MuiDialogContent",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,r.dividers&&t.dividers]}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"20px 24px"},r.dividers?{padding:"16px 24px",borderTop:`1px solid ${(t.vars||t).palette.divider}`,borderBottom:`1px solid ${(t.vars||t).palette.divider}`}:{[`.${Ms.root} + &`]:{paddingTop:0}})})),Ws=t.forwardRef((function(e,t){const r=(0,dt.b)({props:e,name:"MuiDialogContent"}),{className:n,dividers:o=!1}=r,a=(0,Me.A)(r,Ls),i=(0,Ne.A)({},r,{dividers:o}),s=(e=>{const{classes:t,dividers:r}=e,n={root:["root",r&&"dividers"]};return(0,tt.A)(n,zs,t)})(i);return(0,De.jsx)(Bs,(0,Ne.A)({className:(0,Ze.A)(s.root,n),ownerState:i,ref:t},a))}));var Vs=r(13030);function Us(e){return(0,dn.Ay)("MuiButton",e)}const Hs=(0,un.A)("MuiButton",["root","text","textInherit","textPrimary","textSecondary","textSuccess","textError","textInfo","textWarning","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","outlinedSuccess","outlinedError","outlinedInfo","outlinedWarning","contained","containedInherit","containedPrimary","containedSecondary","containedSuccess","containedError","containedInfo","containedWarning","disableElevation","focusVisible","disabled","colorInherit","colorPrimary","colorSecondary","colorSuccess","colorError","colorInfo","colorWarning","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","icon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]);const qs=t.createContext({});const Gs=t.createContext(void 0),Ks=["children","color","component","className","disabled","disableElevation","disableFocusRipple","endIcon","focusVisibleClassName","fullWidth","size","startIcon","type","variant"],Xs=e=>(0,Ne.A)({},"small"===e.size&&{"& > *:nth-of-type(1)":{fontSize:18}},"medium"===e.size&&{"& > *:nth-of-type(1)":{fontSize:20}},"large"===e.size&&{"& > *:nth-of-type(1)":{fontSize:22}}),Qs=(0,at.Ay)(ho,{shouldForwardProp:e=>(0,ja.A)(e)||"classes"===e,name:"MuiButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,t[r.variant],t[`${r.variant}${(0,pt.A)(r.color)}`],t[`size${(0,pt.A)(r.size)}`],t[`${r.variant}Size${(0,pt.A)(r.size)}`],"inherit"===r.color&&t.colorInherit,r.disableElevation&&t.disableElevation,r.fullWidth&&t.fullWidth]}})((e=>{let{theme:t,ownerState:r}=e;var n,o;const a="light"===t.palette.mode?t.palette.grey[300]:t.palette.grey[800],i="light"===t.palette.mode?t.palette.grey.A100:t.palette.grey[700];return(0,Ne.A)({},t.typography.button,{minWidth:64,padding:"6px 16px",borderRadius:(t.vars||t).shape.borderRadius,transition:t.transitions.create(["background-color","box-shadow","border-color","color"],{duration:t.transitions.duration.short}),"&:hover":(0,Ne.A)({textDecoration:"none",backgroundColor:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.hoverOpacity})`:(0,rt.X4)(t.palette.text.primary,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"text"===r.variant&&"inherit"!==r.color&&{backgroundColor:t.vars?`rgba(${t.vars.palette[r.color].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:(0,rt.X4)(t.palette[r.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"outlined"===r.variant&&"inherit"!==r.color&&{border:`1px solid ${(t.vars||t).palette[r.color].main}`,backgroundColor:t.vars?`rgba(${t.vars.palette[r.color].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:(0,rt.X4)(t.palette[r.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"contained"===r.variant&&{backgroundColor:t.vars?t.vars.palette.Button.inheritContainedHoverBg:i,boxShadow:(t.vars||t).shadows[4],"@media (hover: none)":{boxShadow:(t.vars||t).shadows[2],backgroundColor:(t.vars||t).palette.grey[300]}},"contained"===r.variant&&"inherit"!==r.color&&{backgroundColor:(t.vars||t).palette[r.color].dark,"@media (hover: none)":{backgroundColor:(t.vars||t).palette[r.color].main}}),"&:active":(0,Ne.A)({},"contained"===r.variant&&{boxShadow:(t.vars||t).shadows[8]}),[`&.${Hs.focusVisible}`]:(0,Ne.A)({},"contained"===r.variant&&{boxShadow:(t.vars||t).shadows[6]}),[`&.${Hs.disabled}`]:(0,Ne.A)({color:(t.vars||t).palette.action.disabled},"outlined"===r.variant&&{border:`1px solid ${(t.vars||t).palette.action.disabledBackground}`},"contained"===r.variant&&{color:(t.vars||t).palette.action.disabled,boxShadow:(t.vars||t).shadows[0],backgroundColor:(t.vars||t).palette.action.disabledBackground})},"text"===r.variant&&{padding:"6px 8px"},"text"===r.variant&&"inherit"!==r.color&&{color:(t.vars||t).palette[r.color].main},"outlined"===r.variant&&{padding:"5px 15px",border:"1px solid currentColor"},"outlined"===r.variant&&"inherit"!==r.color&&{color:(t.vars||t).palette[r.color].main,border:t.vars?`1px solid rgba(${t.vars.palette[r.color].mainChannel} / 0.5)`:`1px solid ${(0,rt.X4)(t.palette[r.color].main,.5)}`},"contained"===r.variant&&{color:t.vars?t.vars.palette.text.primary:null==(n=(o=t.palette).getContrastText)?void 0:n.call(o,t.palette.grey[300]),backgroundColor:t.vars?t.vars.palette.Button.inheritContainedBg:a,boxShadow:(t.vars||t).shadows[2]},"contained"===r.variant&&"inherit"!==r.color&&{color:(t.vars||t).palette[r.color].contrastText,backgroundColor:(t.vars||t).palette[r.color].main},"inherit"===r.color&&{color:"inherit",borderColor:"currentColor"},"small"===r.size&&"text"===r.variant&&{padding:"4px 5px",fontSize:t.typography.pxToRem(13)},"large"===r.size&&"text"===r.variant&&{padding:"8px 11px",fontSize:t.typography.pxToRem(15)},"small"===r.size&&"outlined"===r.variant&&{padding:"3px 9px",fontSize:t.typography.pxToRem(13)},"large"===r.size&&"outlined"===r.variant&&{padding:"7px 21px",fontSize:t.typography.pxToRem(15)},"small"===r.size&&"contained"===r.variant&&{padding:"4px 10px",fontSize:t.typography.pxToRem(13)},"large"===r.size&&"contained"===r.variant&&{padding:"8px 22px",fontSize:t.typography.pxToRem(15)},r.fullWidth&&{width:"100%"})}),(e=>{let{ownerState:t}=e;return t.disableElevation&&{boxShadow:"none","&:hover":{boxShadow:"none"},[`&.${Hs.focusVisible}`]:{boxShadow:"none"},"&:active":{boxShadow:"none"},[`&.${Hs.disabled}`]:{boxShadow:"none"}}})),Ys=(0,at.Ay)("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.startIcon,t[`iconSize${(0,pt.A)(r.size)}`]]}})((e=>{let{ownerState:t}=e;return(0,Ne.A)({display:"inherit",marginRight:8,marginLeft:-4},"small"===t.size&&{marginLeft:-2},Xs(t))})),Js=(0,at.Ay)("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.endIcon,t[`iconSize${(0,pt.A)(r.size)}`]]}})((e=>{let{ownerState:t}=e;return(0,Ne.A)({display:"inherit",marginRight:-4,marginLeft:8},"small"===t.size&&{marginRight:-2},Xs(t))})),Zs=t.forwardRef((function(e,r){const n=t.useContext(qs),o=t.useContext(Gs),a=(0,Vs.A)(n,e),i=(0,dt.b)({props:a,name:"MuiButton"}),{children:s,color:l="primary",component:c="button",className:u,disabled:d=!1,disableElevation:p=!1,disableFocusRipple:f=!1,endIcon:h,focusVisibleClassName:m,fullWidth:g=!1,size:v="medium",startIcon:y,type:b,variant:x="text"}=i,w=(0,Me.A)(i,Ks),S=(0,Ne.A)({},i,{color:l,component:c,disabled:d,disableElevation:p,disableFocusRipple:f,fullWidth:g,size:v,type:b,variant:x}),A=(e=>{const{color:t,disableElevation:r,fullWidth:n,size:o,variant:a,classes:i}=e,s={root:["root",a,`${a}${(0,pt.A)(t)}`,`size${(0,pt.A)(o)}`,`${a}Size${(0,pt.A)(o)}`,`color${(0,pt.A)(t)}`,r&&"disableElevation",n&&"fullWidth"],label:["label"],startIcon:["icon","startIcon",`iconSize${(0,pt.A)(o)}`],endIcon:["icon","endIcon",`iconSize${(0,pt.A)(o)}`]},l=(0,tt.A)(s,Us,i);return(0,Ne.A)({},i,l)})(S),k=y&&(0,De.jsx)(Ys,{className:A.startIcon,ownerState:S,children:y}),$=h&&(0,De.jsx)(Js,{className:A.endIcon,ownerState:S,children:h}),C=o||"";return(0,De.jsxs)(Qs,(0,Ne.A)({ownerState:S,className:(0,Ze.A)(n.className,A.root,u,C),component:c,disabled:d,focusRipple:!f,focusVisibleClassName:(0,Ze.A)(A.focusVisible,m),ref:r,type:b},w,{classes:A,children:[k,s,$]}))}));function el(e){let{open:t,title:r,message:n,onConfirm:o,onCancel:a}=e;return(0,De.jsxs)(Os,{open:t,PaperProps:{style:{border:"2px solid #ddd",backgroundColor:"#c4c2c2",boxShadow:"5px 5px 10px #888"}},children:[(0,De.jsx)(Ds,{gap:"20px",children:(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"20px"},children:[(0,De.jsx)("img",{src:"matterbridge 32x32.png",alt:"Matterbridge Logo",style:{height:"32px",width:"32px"}}),(0,De.jsx)("h4",{style:{margin:0},children:r})]})}),(0,De.jsxs)(Ws,{children:[(0,De.jsx)("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"center",margin:"0",marginBottom:"20px",maxHeight:"350px",maxWidth:"350px"},children:(0,De.jsx)("p",{style:{flex:1,color:"black",margin:"0"},children:n})}),(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-around"},children:[(0,De.jsx)(Zs,{onClick:e=>{e.preventDefault(),o()},variant:"contained",color:"primary",size:"small",style:{color:"#ffffff"},children:"Confirm"}),(0,De.jsx)(Zs,{onClick:e=>{e.preventDefault(),a()},variant:"contained",color:"primary",size:"small",style:{color:"#ffffff"},children:"Cancel"})]})]})]})}const tl=(0,Oe.A)({components:{MuiTooltip:{defaultProps:{placement:"bottom",arrow:!0}}},palette:{primary:{main:"#4CAF50"}}});const rl=function(){const{online:e,setOnline:r}=(0,t.useContext)(xs),{messages:n,sendMessage:o,logMessage:a}=(0,t.useContext)(ys),[i,s]=(0,t.useState)(!1),[l,c]=(0,t.useState)(!1),[u,d]=(0,t.useState)(""),[p,f]=(0,t.useState)({}),[h,m]=(0,t.useState)(null),[g,v]=(0,t.useState)(null),[y,b]=(0,t.useState)(null),[x,w]=(0,t.useState)(null),S=()=>{c(!1)},A=(e,t)=>{d(e),l&&c(!1),c(!0),setTimeout((()=>{c(!1)}),1e3*t)},k=()=>{window.open("https://github.com/Luligu/matterbridge/blob/main/CHANGELOG.md","_blank")},$=()=>{a("Matterbridge","Updating matterbridge..."),Bx("update","now"),A("Updating matterbridge...",30)},C=()=>{a("Matterbridge","Restarting matterbridge..."),""===p.restartMode?Bx("restart","now"):Bx("shutdown","now"),A("Restarting matterbridge...",10)},E=()=>{a("Matterbridge","Shutting down matterbridge..."),Bx("shutdown","now"),A("Shutting down matterbridge...",10)},j=e=>{m(null),"download-mblog"===e?(a("Matterbridge","Downloading matterbridge log..."),A("Downloading matterbridge log...",5),window.location.href="./api/download-mblog"):"download-mjlog"===e?(a("Matterbridge","Downloading matter log..."),A("Downloading matter log...",5),window.location.href="./api/download-mjlog"):"download-mbstorage"===e?(a("Matterbridge","Downloading matterbridge storage..."),A("Downloading matterbridge storage...",5),window.location.href="./api/download-mbstorage"):"download-mjstorage"===e?(a("Matterbridge","Downloading matter storage..."),A("Downloading matter storage...",5),window.location.href="./api/download-mjstorage"):"download-backup"===e?(a("Matterbridge","Downloading backup..."),A("Downloading backup...",10),window.location.href="./api/download-backup"):"update"===e?$():"restart"===e?C():"shutdown"===e?E():"create-backup"===e?(a("Matterbridge","Creating backup..."),A("Creating backup...",10),Bx("backup","create")):"unregister"===e?(a("Matterbridge","Uregistering all bridged devices..."),A("Uregistering all bridged devices...",10),Bx("unregister","now")):"reset"===e?(a("Matterbridge","Resetting matterbridge commissioning..."),A("Resetting matterbridge commissioning...",10),Bx("reset","now")):"factoryreset"===e&&(a("Matterbridge","Factory reset of matterbridge..."),A("Factory reset of matterbridge...",10),Bx("factoryreset","now"))},_=()=>{v(null)},P=()=>{b(null)},R=()=>{w(null)},O=()=>{fetch("./api/settings").then((e=>e.json())).then((e=>{f(e.matterbridgeInformation),localStorage.setItem("matterbridgeInformation",e.matterbridgeInformation)})).catch((e=>{console.error("Error fetching settings:",e)}))};(0,t.useEffect)((()=>{O();const e=setInterval(O,6e4);return()=>clearInterval(e)}),[]);const[N,M]=(0,t.useState)(!1),[T,I]=(0,t.useState)(""),[F,D]=(0,t.useState)(""),[z,L]=(0,t.useState)(""),B=(e,t,r)=>{M(!0),I(e),D(t),L(r)};return(0,De.jsx)("div",{className:"header",style:{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},children:(0,De.jsxs)(Je,{theme:tl,children:[(0,De.jsxs)("div",{className:"header",style:{flex:1,display:"flex",flexDirection:"row",justifyContent:"flex-start",alignItems:"center"},children:[(0,De.jsx)("img",{src:"matterbridge 64x64.png",alt:"Matterbridge Logo",style:{height:"30px"}}),(0,De.jsx)("h2",{style:{fontSize:"22px"},children:"Matterbridge"}),(0,De.jsxs)("nav",{children:[(0,De.jsx)(_e,{to:"/",className:"nav-link",children:"Home"}),(0,De.jsx)(_e,{to:"/devices",className:"nav-link",children:"Devices"}),(0,De.jsx)(_e,{to:"/log",className:"nav-link",children:"Logs"}),(0,De.jsx)(_e,{to:"/settings",className:"nav-link",children:"Settings"})]})]}),(0,De.jsxs)("div",{className:"header",style:{flex:1,display:"flex",flexDirection:"row",justifyContent:"center",alignItems:"center"},children:[(0,De.jsx)(Ln,{title:"Matterbridge status",children:e?(0,De.jsx)("span",{className:"status-enabled",style:{cursor:"default"},children:"Online"}):(0,De.jsx)("span",{className:"status-disabled",style:{cursor:"default"},children:"Offline"})}),(0,De.jsx)(Ln,{title:"Sponsor Matterbridge and its plugins",children:(0,De.jsx)("span",{className:"status-sponsor",onClick:()=>{window.open("https://www.buymeacoffee.com/luligugithub","_blank")},children:"Sponsor"})}),void 0===p.matterbridgeLatestVersion||p.matterbridgeVersion===p.matterbridgeLatestVersion?(0,De.jsx)(Ln,{title:"Matterbridge version",children:(0,De.jsxs)("span",{className:"status-information",onClick:k,children:["v.",p.matterbridgeVersion]})}):(0,De.jsx)(Ln,{title:"New Matterbridge version available, click to install",children:(0,De.jsxs)("span",{className:"status-warning",onClick:$,children:["Update v.",p.matterbridgeVersion," to v.",p.matterbridgeLatestVersion]})}),!0===p.edge?(0,De.jsx)(Ln,{title:"Edge mode",children:(0,De.jsx)("span",{className:"status-information",style:{cursor:"default"},children:"edge"})}):null,""!==p.bridgeMode?(0,De.jsx)(Ln,{title:"Bridge mode",children:(0,De.jsx)("span",{className:"status-information",style:{cursor:"default"},children:p.bridgeMode})}):null,""!==p.restartMode?(0,De.jsx)(Ln,{title:"Restart mode",children:(0,De.jsx)("span",{className:"status-information",style:{cursor:"default"},children:p.restartMode})}):null]}),(0,De.jsxs)("div",{className:"header",style:{flex:1,display:"flex",flexDirection:"row",justifyContent:"flex-end",alignItems:"center",gap:"5px"},children:[(0,De.jsx)(Ln,{title:"Matterbridge help",children:(0,De.jsx)(bo,{onClick:e=>{window.open("https://github.com/Luligu/matterbridge/blob/main/README.md","_blank")},children:(0,De.jsx)(hs.A,{})})}),(0,De.jsx)(Ln,{title:"Matterbridge changelog",children:(0,De.jsx)(bo,{onClick:k,children:(0,De.jsx)(ms.A,{})})}),(0,De.jsx)(Ln,{title:"Update matterbridge",children:(0,De.jsx)(bo,{onClick:$,children:(0,De.jsx)(ls.A,{})})}),(0,De.jsx)(Ln,{title:"Restart matterbridge",children:(0,De.jsx)(bo,{onClick:C,children:(0,De.jsx)(cs.A,{})})}),""===p.restartMode?(0,De.jsx)(Ln,{title:"Shut down matterbridge",children:(0,De.jsx)(bo,{onClick:E,children:(0,De.jsx)(us.A,{})})}):null,(0,De.jsx)(Ln,{title:"Download, backup and more",children:(0,De.jsx)(bo,{onClick:e=>{m(e.currentTarget)},children:(0,De.jsx)(ds,{})})}),(0,De.jsxs)(Fa,{id:"command-menu",anchorEl:h,keepMounted:!0,open:Boolean(h),onClose:()=>j(""),sx:{"& .MuiPaper-root":{backgroundColor:"#e2e2e2"}},children:[(0,De.jsxs)(Ka,{onClick:()=>j("update"),children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(ls.A,{})}),(0,De.jsx)(si,{primary:"Update"})]}),(0,De.jsxs)(Ka,{onClick:()=>j("restart"),children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(cs.A,{})}),(0,De.jsx)(si,{primary:"Restart"})]}),""===p.restartMode?(0,De.jsxs)(Ka,{onClick:()=>j("shutdown"),children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(us.A,{})}),(0,De.jsx)(si,{primary:"Shutdown"})]}):null,(0,De.jsx)(pi,{}),(0,De.jsxs)(Ka,{onClick:e=>{b(e.currentTarget)},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(fs.A,{})}),(0,De.jsx)(si,{primary:"Download"})]}),(0,De.jsxs)(Fa,{id:"sub-menu-download",anchorEl:y,keepMounted:!0,open:Boolean(y),onClose:P,sx:{"& .MuiPaper-root":{backgroundColor:"#e2e2e2"}},children:[(0,De.jsxs)(Ka,{onClick:()=>{j("download-mblog"),P()},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(fs.A,{})}),(0,De.jsx)(si,{primary:"Matterbridge log"})]}),(0,De.jsxs)(Ka,{onClick:()=>{j("download-mjlog"),P()},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(fs.A,{})}),(0,De.jsx)(si,{primary:"Matter log"})]}),(0,De.jsxs)(Ka,{onClick:()=>{j("download-mbstorage"),P()},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(fs.A,{})}),(0,De.jsx)(si,{primary:"Matterbridge storage"})]}),(0,De.jsxs)(Ka,{onClick:()=>{j("download-mjstorage"),P()},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(fs.A,{})}),(0,De.jsx)(si,{primary:"Matter storage"})]})]}),(0,De.jsx)(pi,{}),(0,De.jsxs)(Ka,{onClick:e=>{v(e.currentTarget)},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(ps.A,{})}),(0,De.jsx)(si,{primary:"Backup"})]}),(0,De.jsxs)(Fa,{id:"sub-menu-backup",anchorEl:g,keepMounted:!0,open:Boolean(g),onClose:_,sx:{"& .MuiPaper-root":{backgroundColor:"#e2e2e2"}},children:[(0,De.jsxs)(Ka,{onClick:()=>{j("create-backup"),_()},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(ps.A,{})}),(0,De.jsx)(si,{primary:"Create backup"})]}),(0,De.jsxs)(Ka,{onClick:()=>{j("download-backup"),_()},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(ps.A,{})}),(0,De.jsx)(si,{primary:"Download backup"})]})]}),(0,De.jsx)(pi,{}),(0,De.jsxs)(Ka,{onClick:e=>{w(e.currentTarget)},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(gs.A,{})}),(0,De.jsx)(si,{primary:"Reset"})]}),(0,De.jsxs)(Fa,{id:"sub-menu-reset",anchorEl:x,keepMounted:!0,open:Boolean(x),onClose:R,sx:{"& .MuiPaper-root":{backgroundColor:"#e2e2e2"}},children:[(0,De.jsxs)(Ka,{onClick:()=>{R(),B("Reset all devices and shutdown","Are you sure you want to unregister all devices? This will temporarily remove all devices from the controller and you may loose the controller configuration.","unregister")},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(us.A,{})}),(0,De.jsx)(si,{primary:"Reset all devices..."})]}),(0,De.jsxs)(Ka,{onClick:()=>{R(),B("Reset commissioning and shutdown","Are you sure you want to reset the commissioning? You will have to manually remove Matterbridge from the controller.","reset")},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(us.A,{})}),(0,De.jsx)(si,{primary:"Reset commissioning..."})]}),(0,De.jsxs)(Ka,{onClick:()=>{R(),B("Factory reset and shutdown","Are you sure you want to factory reset Matterbridge? You will have to manually remove Matterbridge from the controller.","factoryreset")},children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(us.A,{})}),(0,De.jsx)(si,{primary:"Factory reset..."})]})]})]}),(0,De.jsx)(Ko,{sx:{color:"#fff",zIndex:e=>e.zIndex.drawer+1},open:i,onClick:()=>{s(!1)},children:(0,De.jsx)(Ei,{color:"inherit"})}),(0,De.jsx)(Wi,{anchorOrigin:{vertical:"bottom",horizontal:"right"},open:l,onClose:S,autoHideDuration:1e4,children:(0,De.jsx)(ss,{onClose:S,severity:"info",variant:"filled",sx:{width:"100%",bgcolor:"#4CAF50"},children:u})}),(0,De.jsx)(el,{open:N,title:T,message:F,onConfirm:()=>{M(!1),j(z)},onCancel:()=>{M(!1),m(null)}})]})]})})};function nl(e){let{status:t,enabledText:r="Enabled",disabledText:n,tooltipText:o,onClick:a}=e;return void 0===t?(0,De.jsx)("div",{style:{margin:"-2.5px"},children:(0,De.jsx)("div",{})}):void 0!==o?(0,De.jsxs)("div",{className:"tooltip-container",children:[(0,De.jsx)("div",{className:t?"status-enabled":"status-disabled",style:{cursor:"default"},onClick:a,children:t?r:null!==n&&void 0!==n?n:r}),(0,De.jsx)("span",{className:"tooltip-text",children:o})]}):(0,De.jsx)("div",{className:t?"status-enabled":"status-disabled",style:{cursor:"default"},children:t?r:null!==n&&void 0!==n?n:r})}const ol=function(){const{messages:e,sendMessage:r,logMessage:n,setLogFilters:o}=(0,t.useContext)(ys),[a,i]=(0,t.useState)(!1),s=(0,t.useRef)(null);return(0,t.useEffect)((()=>{a||(()=>{let e=!1;return("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)&&(e=!0),e})()||s.current.scrollIntoView({behavior:"smooth"})}),[e,a]),(0,De.jsx)("div",{style:{margin:"0px",padding:"0px"},children:(0,De.jsxs)("ul",{style:{margin:"0px",padding:"0px"},onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:[e.map(((e,t)=>(0,De.jsx)("li",{style:{wordWrap:"break-word",maxHeight:"200px",overflow:"hidden"},dangerouslySetInnerHTML:{__html:e}},t))),(0,De.jsx)("div",{ref:s})," "]})})};var al=r(13174),il=r(58812);const sl=["className","component"];var ll=r(79386);const cl=(0,un.A)("MuiBox",["root"]),ul=(0,Oe.A)(),dl=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{themeId:r,defaultTheme:n,defaultClassName:o="MuiBox-root",generateClassName:a}=e,i=(0,al.default)("div",{shouldForwardProp:e=>"theme"!==e&&"sx"!==e&&"as"!==e})(il.A),s=t.forwardRef((function(e,t){const s=lt(n),l=(0,Ja.A)(e),{className:c,component:u="div"}=l,d=(0,Me.A)(l,sl);return(0,De.jsx)(i,(0,Ne.A)({as:u,ref:t,className:(0,Ze.A)(c,a?a(o):o),theme:r&&s[r]||s},d))}));return s}({themeId:Qe.A,defaultTheme:ul,defaultClassName:cl.root,generateClassName:ll.A.generate}),pl=dl;function fl(){return(0,De.jsx)("div",{className:"main-background",style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh",color:"#333",fontSize:"20px",flexDirection:"column"},children:(0,De.jsxs)(pl,{sx:{display:"flex",alignItems:"center",flexDirection:"column"},children:[(0,De.jsx)(Ei,{}),(0,De.jsx)("div",{style:{marginTop:"20px"},children:"Connecting to Matterbridge..."})]})})}function hl(e){let{value:t,maxChars:r}=e,n=t;if(t.length>r&&r>3){const e=r-3;n=`${t.substring(0,Math.ceil(e/2))} \u2026 ${t.substring(t.length-Math.floor(e/2),t.length)}`}return t!==n?(0,De.jsx)(Ln,{title:t,placement:"top",PopperProps:{modifiers:[{name:"offset",options:{offset:[0,12]}}]},children:(0,De.jsx)("span",{children:n})}):(0,De.jsx)("span",{children:n})}function ml(e){let{systemInfo:t,compact:r}=e;const n=["totalMemory","osRelease","osArch"];if(r&&t.totalMemory){const e=t.totalMemory,r=t.freeMemory;t.freeMemory=`${r} / ${e}`,delete t.totalMemory}if(r&&t.osRelease){const e=t.osType,r=t.osRelease;t.osType=`${e} (${r})`,delete t.osRelease}if(r&&t.osArch){const e=t.osPlatform,r=t.osArch;t.osPlatform=`${e} (${r})`,delete t.osArch}return(0,De.jsx)("div",{className:"MbfWindowDiv",style:{minWidth:"302px"},children:(0,De.jsx)("div",{className:"MbfWindowDivTable",children:(0,De.jsxs)("table",{children:[(0,De.jsx)("thead",{children:(0,De.jsx)("tr",{children:(0,De.jsx)("th",{colSpan:"2",children:"System Information"})})}),(0,De.jsx)("tbody",{children:Object.entries(t).filter((e=>{let[t,r]=e;return!n.includes(t)})).map(((e,t)=>{let[r,n]=e;return(0,De.jsxs)("tr",{className:t%2===0?"table-content-even":"table-content-odd",style:{borderTop:"1px solid #ddd"},children:[(0,De.jsx)("td",{children:r}),(0,De.jsx)("td",{children:(0,De.jsx)(hl,{value:"string"!==typeof n?n.toString():n,maxChars:26})})]},r)}))})]})})})}function gl(e){let{matterbridgeInfo:t}=e;const r=["matterbridgeVersion","matterbridgeLatestVersion","matterFileLogger","fileLogger","matterLoggerLevel","loggerLevel","bridgeMode","restartMode","matterbridgeFabricInformations","matterbridgeSessionInformations","restartRequired","refreshRequired","mattermdnsinterface","matteripv4address","matteripv6address"];return"childbridge"===t.bridgeMode&&r.push("matterbridgePaired","matterbridgeConnected"),(0,De.jsx)("div",{className:"MbfWindowDiv",style:{minWidth:"302px"},children:(0,De.jsx)("div",{className:"MbfWindowDivTable",children:(0,De.jsxs)("table",{children:[(0,De.jsx)("thead",{children:(0,De.jsx)("tr",{children:(0,De.jsx)("th",{colSpan:"2",children:"Matterbridge Information"})})}),(0,De.jsx)("tbody",{children:Object.entries(t).filter((e=>{let[t,n]=e;return!r.includes(t)&&void 0!==n&&""!==n})).map(((e,t)=>{let[r,n]=e;return(0,De.jsxs)("tr",{className:t%2===0?"table-content-even":"table-content-odd",style:{borderTop:"1px solid #ddd"},children:[(0,De.jsx)("td",{children:r.replace("matterbridgeConnected","connected").replace("matterbridgePaired","paired").replace("homeDirectory","home").replace("rootDirectory","root").replace("matterbridgeDirectory","storage").replace("matterbridgePluginDirectory","plugins").replace("globalModulesDirectory","modules")}),(0,De.jsx)("td",{children:(0,De.jsx)(hl,{value:"string"!==typeof n?n.toString():n,maxChars:30})})]},r)}))})]})})})}var vl=r(19172),yl=r(17868),bl=r(83468);const xl=["onChange","maxRows","minRows","style","value"];function wl(e){return parseInt(e,10)||0}const Sl={visibility:"hidden",position:"absolute",overflow:"hidden",height:0,top:0,left:0,transform:"translateZ(0)"};const Al=t.forwardRef((function(e,r){const{onChange:n,maxRows:o,minRows:a=1,style:i,value:s}=e,l=(0,Me.A)(e,xl),{current:c}=t.useRef(null!=s),u=t.useRef(null),d=(0,Tt.A)(r,u),p=t.useRef(null),f=t.useRef(null),h=t.useCallback((()=>{const t=u.current,r=(0,Yo.A)(t).getComputedStyle(t);if("0px"===r.width)return{outerHeightStyle:0,overflowing:!1};const n=f.current;n.style.width=r.width,n.value=t.value||e.placeholder||"x","\n"===n.value.slice(-1)&&(n.value+=" ");const i=r.boxSizing,s=wl(r.paddingBottom)+wl(r.paddingTop),l=wl(r.borderBottomWidth)+wl(r.borderTopWidth),c=n.scrollHeight;n.value="x";const d=n.scrollHeight;let p=c;a&&(p=Math.max(Number(a)*d,p)),o&&(p=Math.min(Number(o)*d,p)),p=Math.max(p,d);return{outerHeightStyle:p+("border-box"===i?s+l:0),overflowing:Math.abs(p-c)<=1}}),[o,a,e.placeholder]),m=t.useCallback((()=>{const e=h();if(void 0===(t=e)||null===t||0===Object.keys(t).length||0===t.outerHeightStyle&&!t.overflowing)return;var t;const r=e.outerHeightStyle,n=u.current;p.current!==r&&(p.current=r,n.style.height=`${r}px`),n.style.overflow=e.overflowing?"hidden":""}),[h]);(0,It.A)((()=>{const e=()=>{m()};let t;const r=(0,bl.A)(e),n=u.current,o=(0,Yo.A)(n);let a;return o.addEventListener("resize",r),"undefined"!==typeof ResizeObserver&&(a=new ResizeObserver(e),a.observe(n)),()=>{r.clear(),cancelAnimationFrame(t),o.removeEventListener("resize",r),a&&a.disconnect()}}),[h,m]),(0,It.A)((()=>{m()}));return(0,De.jsxs)(t.Fragment,{children:[(0,De.jsx)("textarea",(0,Ne.A)({value:s,onChange:e=>{c||m(),n&&n(e)},ref:d,rows:a,style:i},l)),(0,De.jsx)("textarea",{"aria-hidden":!0,className:e.className,readOnly:!0,ref:f,tabIndex:-1,style:(0,Ne.A)({},Sl,i,{paddingTop:0,paddingBottom:0})})]})})),kl=Al;function $l(e){let{props:t,states:r,muiFormControl:n}=e;return r.reduce(((e,r)=>(e[r]=t[r],n&&"undefined"===typeof t[r]&&(e[r]=n[r]),e)),{})}const Cl=t.createContext(void 0);function El(){return t.useContext(Cl)}var jl=r(70869);const _l=function(e){let{styles:t,themeId:r,defaultTheme:n={}}=e;const o=lt(n),a="function"===typeof t?t(r&&o[r]||o):t;return(0,De.jsx)(jl.A,{styles:a})};const Pl=function(e){return(0,De.jsx)(_l,(0,Ne.A)({},e,{defaultTheme:ct.A,themeId:Qe.A}))};function Rl(e){return null!=e&&!(Array.isArray(e)&&0===e.length)}function Ol(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e&&(Rl(e.value)&&""!==e.value||t&&Rl(e.defaultValue)&&""!==e.defaultValue)}function Nl(e){return(0,dn.Ay)("MuiInputBase",e)}const Ml=(0,un.A)("MuiInputBase",["root","formControl","focused","disabled","adornedStart","adornedEnd","error","sizeSmall","multiline","colorSecondary","fullWidth","hiddenLabel","readOnly","input","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel"]),Tl=["aria-describedby","autoComplete","autoFocus","className","color","components","componentsProps","defaultValue","disabled","disableInjectingGlobalStyles","endAdornment","error","fullWidth","id","inputComponent","inputProps","inputRef","margin","maxRows","minRows","multiline","name","onBlur","onChange","onClick","onFocus","onKeyDown","onKeyUp","placeholder","readOnly","renderSuffix","rows","size","slotProps","slots","startAdornment","type","value"],Il=(e,t)=>{const{ownerState:r}=e;return[t.root,r.formControl&&t.formControl,r.startAdornment&&t.adornedStart,r.endAdornment&&t.adornedEnd,r.error&&t.error,"small"===r.size&&t.sizeSmall,r.multiline&&t.multiline,r.color&&t[`color${(0,pt.A)(r.color)}`],r.fullWidth&&t.fullWidth,r.hiddenLabel&&t.hiddenLabel]},Fl=(e,t)=>{const{ownerState:r}=e;return[t.input,"small"===r.size&&t.inputSizeSmall,r.multiline&&t.inputMultiline,"search"===r.type&&t.inputTypeSearch,r.startAdornment&&t.inputAdornedStart,r.endAdornment&&t.inputAdornedEnd,r.hiddenLabel&&t.inputHiddenLabel]},Dl=(0,at.Ay)("div",{name:"MuiInputBase",slot:"Root",overridesResolver:Il})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({},t.typography.body1,{color:(t.vars||t).palette.text.primary,lineHeight:"1.4375em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center",[`&.${Ml.disabled}`]:{color:(t.vars||t).palette.text.disabled,cursor:"default"}},r.multiline&&(0,Ne.A)({padding:"4px 0 5px"},"small"===r.size&&{paddingTop:1}),r.fullWidth&&{width:"100%"})})),zl=(0,at.Ay)("input",{name:"MuiInputBase",slot:"Input",overridesResolver:Fl})((e=>{let{theme:t,ownerState:r}=e;const n="light"===t.palette.mode,o=(0,Ne.A)({color:"currentColor"},t.vars?{opacity:t.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5},{transition:t.transitions.create("opacity",{duration:t.transitions.duration.shorter})}),a={opacity:"0 !important"},i=t.vars?{opacity:t.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5};return(0,Ne.A)({font:"inherit",letterSpacing:"inherit",color:"currentColor",padding:"4px 0 5px",border:0,boxSizing:"content-box",background:"none",height:"1.4375em",margin:0,WebkitTapHighlightColor:"transparent",display:"block",minWidth:0,width:"100%",animationName:"mui-auto-fill-cancel",animationDuration:"10ms","&::-webkit-input-placeholder":o,"&::-moz-placeholder":o,"&:-ms-input-placeholder":o,"&::-ms-input-placeholder":o,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{WebkitAppearance:"none"},[`label[data-shrink=false] + .${Ml.formControl} &`]:{"&::-webkit-input-placeholder":a,"&::-moz-placeholder":a,"&:-ms-input-placeholder":a,"&::-ms-input-placeholder":a,"&:focus::-webkit-input-placeholder":i,"&:focus::-moz-placeholder":i,"&:focus:-ms-input-placeholder":i,"&:focus::-ms-input-placeholder":i},[`&.${Ml.disabled}`]:{opacity:1,WebkitTextFillColor:(t.vars||t).palette.text.disabled},"&:-webkit-autofill":{animationDuration:"5000s",animationName:"mui-auto-fill"}},"small"===r.size&&{paddingTop:1},r.multiline&&{height:"auto",resize:"none",padding:0,paddingTop:0},"search"===r.type&&{MozAppearance:"textfield"})})),Ll=(0,De.jsx)(Pl,{styles:{"@keyframes mui-auto-fill":{from:{display:"block"}},"@keyframes mui-auto-fill-cancel":{from:{display:"block"}}}}),Bl=t.forwardRef((function(e,r){var n;const o=(0,dt.b)({props:e,name:"MuiInputBase"}),{"aria-describedby":a,autoComplete:i,autoFocus:s,className:l,components:c={},componentsProps:u={},defaultValue:d,disabled:p,disableInjectingGlobalStyles:f,endAdornment:h,fullWidth:m=!1,id:g,inputComponent:v="input",inputProps:y={},inputRef:b,maxRows:x,minRows:w,multiline:S=!1,name:A,onBlur:k,onChange:$,onClick:C,onFocus:E,onKeyDown:j,onKeyUp:_,placeholder:P,readOnly:R,renderSuffix:O,rows:N,slotProps:M={},slots:T={},startAdornment:I,type:F="text",value:D}=o,z=(0,Me.A)(o,Tl),L=null!=y.value?y.value:D,{current:B}=t.useRef(null!=L),W=t.useRef(),V=t.useCallback((e=>{0}),[]),U=(0,Et.A)(W,b,y.ref,V),[H,q]=t.useState(!1),G=El();const K=$l({props:o,muiFormControl:G,states:["color","disabled","error","hiddenLabel","size","required","filled"]});K.focused=G?G.focused:H,t.useEffect((()=>{!G&&p&&H&&(q(!1),k&&k())}),[G,p,H,k]);const X=G&&G.onFilled,Q=G&&G.onEmpty,Y=t.useCallback((e=>{Ol(e)?X&&X():Q&&Q()}),[X,Q]);(0,jo.A)((()=>{B&&Y({value:L})}),[L,Y,B]);t.useEffect((()=>{Y(W.current)}),[]);let J=v,Z=y;S&&"input"===J&&(Z=N?(0,Ne.A)({type:void 0,minRows:N,maxRows:N},Z):(0,Ne.A)({type:void 0,maxRows:x,minRows:w},Z),J=kl);t.useEffect((()=>{G&&G.setAdornedStart(Boolean(I))}),[G,I]);const ee=(0,Ne.A)({},o,{color:K.color||"primary",disabled:K.disabled,endAdornment:h,error:K.error,focused:K.focused,formControl:G,fullWidth:m,hiddenLabel:K.hiddenLabel,multiline:S,size:K.size,startAdornment:I,type:F}),te=(e=>{const{classes:t,color:r,disabled:n,error:o,endAdornment:a,focused:i,formControl:s,fullWidth:l,hiddenLabel:c,multiline:u,readOnly:d,size:p,startAdornment:f,type:h}=e,m={root:["root",`color${(0,pt.A)(r)}`,n&&"disabled",o&&"error",l&&"fullWidth",i&&"focused",s&&"formControl",p&&"medium"!==p&&`size${(0,pt.A)(p)}`,u&&"multiline",f&&"adornedStart",a&&"adornedEnd",c&&"hiddenLabel",d&&"readOnly"],input:["input",n&&"disabled","search"===h&&"inputTypeSearch",u&&"inputMultiline","small"===p&&"inputSizeSmall",c&&"inputHiddenLabel",f&&"inputAdornedStart",a&&"inputAdornedEnd",d&&"readOnly"]};return(0,tt.A)(m,Nl,t)})(ee),re=T.root||c.Root||Dl,ne=M.root||u.root||{},oe=T.input||c.Input||zl;return Z=(0,Ne.A)({},Z,null!=(n=M.input)?n:u.input),(0,De.jsxs)(t.Fragment,{children:[!f&&Ll,(0,De.jsxs)(re,(0,Ne.A)({},ne,!nt(re)&&{ownerState:(0,Ne.A)({},ee,ne.ownerState)},{ref:r,onClick:e=>{W.current&&e.currentTarget===e.target&&W.current.focus(),C&&C(e)}},z,{className:(0,Ze.A)(te.root,ne.className,l,R&&"MuiInputBase-readOnly"),children:[I,(0,De.jsx)(Cl.Provider,{value:null,children:(0,De.jsx)(oe,(0,Ne.A)({ownerState:ee,"aria-invalid":K.error,"aria-describedby":a,autoComplete:i,autoFocus:s,defaultValue:d,disabled:K.disabled,id:g,onAnimationStart:e=>{Y("mui-auto-fill-cancel"===e.animationName?W.current:{value:"x"})},name:A,placeholder:P,readOnly:R,required:K.required,rows:N,value:L,onKeyDown:j,onKeyUp:_,type:F},Z,!nt(oe)&&{as:J,ownerState:(0,Ne.A)({},ee,Z.ownerState)},{ref:U,className:(0,Ze.A)(te.input,Z.className,R&&"MuiInputBase-readOnly"),onBlur:e=>{k&&k(e),y.onBlur&&y.onBlur(e),G&&G.onBlur?G.onBlur(e):q(!1)},onChange:function(e){if(!B){const t=e.target||W.current;if(null==t)throw new Error((0,yl.A)(1));Y({value:t.value})}for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{K.disabled?e.stopPropagation():(E&&E(e),y.onFocus&&y.onFocus(e),G&&G.onFocus?G.onFocus(e):q(!0))}}))}),h,O?O((0,Ne.A)({},K,{startAdornment:I})):null]}))]})})),Wl=Bl;function Vl(e){return(0,dn.Ay)("MuiInput",e)}const Ul=(0,Ne.A)({},Ml,(0,un.A)("MuiInput",["root","underline","input"])),Hl=["disableUnderline","components","componentsProps","fullWidth","inputComponent","multiline","slotProps","slots","type"],ql=(0,at.Ay)(Dl,{shouldForwardProp:e=>(0,ja.A)(e)||"classes"===e,name:"MuiInput",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[...Il(e,t),!r.disableUnderline&&t.underline]}})((e=>{let{theme:t,ownerState:r}=e;let n="light"===t.palette.mode?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return t.vars&&(n=`rgba(${t.vars.palette.common.onBackgroundChannel} / ${t.vars.opacity.inputUnderline})`),(0,Ne.A)({position:"relative"},r.formControl&&{"label + &":{marginTop:16}},!r.disableUnderline&&{"&::after":{borderBottom:`2px solid ${(t.vars||t).palette[r.color].main}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:t.transitions.create("transform",{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${Ul.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${Ul.error}`]:{"&::before, &::after":{borderBottomColor:(t.vars||t).palette.error.main}},"&::before":{borderBottom:`1px solid ${n}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:t.transitions.create("border-bottom-color",{duration:t.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${Ul.disabled}, .${Ul.error}):before`]:{borderBottom:`2px solid ${(t.vars||t).palette.text.primary}`,"@media (hover: none)":{borderBottom:`1px solid ${n}`}},[`&.${Ul.disabled}:before`]:{borderBottomStyle:"dotted"}})})),Gl=(0,at.Ay)(zl,{name:"MuiInput",slot:"Input",overridesResolver:Fl})({}),Kl=t.forwardRef((function(e,t){var r,n,o,a;const i=(0,dt.b)({props:e,name:"MuiInput"}),{disableUnderline:s,components:l={},componentsProps:c,fullWidth:u=!1,inputComponent:d="input",multiline:p=!1,slotProps:f,slots:h={},type:m="text"}=i,g=(0,Me.A)(i,Hl),v=(e=>{const{classes:t,disableUnderline:r}=e,n={root:["root",!r&&"underline"],input:["input"]},o=(0,tt.A)(n,Vl,t);return(0,Ne.A)({},t,o)})(i),y={root:{ownerState:{disableUnderline:s}}},b=(null!=f?f:c)?(0,vl.A)(null!=f?f:c,y):y,x=null!=(r=null!=(n=h.root)?n:l.Root)?r:ql,w=null!=(o=null!=(a=h.input)?a:l.Input)?o:Gl;return(0,De.jsx)(Wl,(0,Ne.A)({slots:{root:x,input:w},slotProps:b,fullWidth:u,inputComponent:d,multiline:p,ref:t,type:m},g,{classes:v}))}));Kl.muiName="Input";const Xl=Kl;function Ql(e){return(0,dn.Ay)("MuiFilledInput",e)}const Yl=(0,Ne.A)({},Ml,(0,un.A)("MuiFilledInput",["root","underline","input"])),Jl=["disableUnderline","components","componentsProps","fullWidth","hiddenLabel","inputComponent","multiline","slotProps","slots","type"],Zl=(0,at.Ay)(Dl,{shouldForwardProp:e=>(0,ja.A)(e)||"classes"===e,name:"MuiFilledInput",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[...Il(e,t),!r.disableUnderline&&t.underline]}})((e=>{let{theme:t,ownerState:r}=e;var n;const o="light"===t.palette.mode,a=o?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)",i=o?"rgba(0, 0, 0, 0.06)":"rgba(255, 255, 255, 0.09)",s=o?"rgba(0, 0, 0, 0.09)":"rgba(255, 255, 255, 0.13)",l=o?"rgba(0, 0, 0, 0.12)":"rgba(255, 255, 255, 0.12)";return(0,Ne.A)({position:"relative",backgroundColor:t.vars?t.vars.palette.FilledInput.bg:i,borderTopLeftRadius:(t.vars||t).shape.borderRadius,borderTopRightRadius:(t.vars||t).shape.borderRadius,transition:t.transitions.create("background-color",{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut}),"&:hover":{backgroundColor:t.vars?t.vars.palette.FilledInput.hoverBg:s,"@media (hover: none)":{backgroundColor:t.vars?t.vars.palette.FilledInput.bg:i}},[`&.${Yl.focused}`]:{backgroundColor:t.vars?t.vars.palette.FilledInput.bg:i},[`&.${Yl.disabled}`]:{backgroundColor:t.vars?t.vars.palette.FilledInput.disabledBg:l}},!r.disableUnderline&&{"&::after":{borderBottom:`2px solid ${null==(n=(t.vars||t).palette[r.color||"primary"])?void 0:n.main}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:t.transitions.create("transform",{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${Yl.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${Yl.error}`]:{"&::before, &::after":{borderBottomColor:(t.vars||t).palette.error.main}},"&::before":{borderBottom:`1px solid ${t.vars?`rgba(${t.vars.palette.common.onBackgroundChannel} / ${t.vars.opacity.inputUnderline})`:a}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:t.transitions.create("border-bottom-color",{duration:t.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${Yl.disabled}, .${Yl.error}):before`]:{borderBottom:`1px solid ${(t.vars||t).palette.text.primary}`},[`&.${Yl.disabled}:before`]:{borderBottomStyle:"dotted"}},r.startAdornment&&{paddingLeft:12},r.endAdornment&&{paddingRight:12},r.multiline&&(0,Ne.A)({padding:"25px 12px 8px"},"small"===r.size&&{paddingTop:21,paddingBottom:4},r.hiddenLabel&&{paddingTop:16,paddingBottom:17},r.hiddenLabel&&"small"===r.size&&{paddingTop:8,paddingBottom:9}))})),ec=(0,at.Ay)(zl,{name:"MuiFilledInput",slot:"Input",overridesResolver:Fl})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({paddingTop:25,paddingRight:12,paddingBottom:8,paddingLeft:12},!t.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:"light"===t.palette.mode?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:"light"===t.palette.mode?null:"#fff",caretColor:"light"===t.palette.mode?null:"#fff",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"}},t.vars&&{"&:-webkit-autofill":{borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"},[t.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},"small"===r.size&&{paddingTop:21,paddingBottom:4},r.hiddenLabel&&{paddingTop:16,paddingBottom:17},r.startAdornment&&{paddingLeft:0},r.endAdornment&&{paddingRight:0},r.hiddenLabel&&"small"===r.size&&{paddingTop:8,paddingBottom:9},r.multiline&&{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:0})})),tc=t.forwardRef((function(e,t){var r,n,o,a;const i=(0,dt.b)({props:e,name:"MuiFilledInput"}),{components:s={},componentsProps:l,fullWidth:c=!1,inputComponent:u="input",multiline:d=!1,slotProps:p,slots:f={},type:h="text"}=i,m=(0,Me.A)(i,Jl),g=(0,Ne.A)({},i,{fullWidth:c,inputComponent:u,multiline:d,type:h}),v=(e=>{const{classes:t,disableUnderline:r}=e,n={root:["root",!r&&"underline"],input:["input"]},o=(0,tt.A)(n,Ql,t);return(0,Ne.A)({},t,o)})(i),y={root:{ownerState:g},input:{ownerState:g}},b=(null!=p?p:l)?(0,vl.A)(y,null!=p?p:l):y,x=null!=(r=null!=(n=f.root)?n:s.Root)?r:Zl,w=null!=(o=null!=(a=f.input)?a:s.Input)?o:ec;return(0,De.jsx)(Wl,(0,Ne.A)({slots:{root:x,input:w},componentsProps:b,fullWidth:c,inputComponent:u,multiline:d,ref:t,type:h},m,{classes:v}))}));tc.muiName="Input";const rc=tc;var nc;const oc=["children","classes","className","label","notched"],ac=(0,at.Ay)("fieldset",{shouldForwardProp:ja.A})({textAlign:"left",position:"absolute",bottom:0,right:0,top:-5,left:0,margin:0,padding:"0 8px",pointerEvents:"none",borderRadius:"inherit",borderStyle:"solid",borderWidth:1,overflow:"hidden",minWidth:"0%"}),ic=(0,at.Ay)("legend",{shouldForwardProp:ja.A})((e=>{let{ownerState:t,theme:r}=e;return(0,Ne.A)({float:"unset",width:"auto",overflow:"hidden"},!t.withLabel&&{padding:0,lineHeight:"11px",transition:r.transitions.create("width",{duration:150,easing:r.transitions.easing.easeOut})},t.withLabel&&(0,Ne.A)({display:"block",padding:0,height:11,fontSize:"0.75em",visibility:"hidden",maxWidth:.01,transition:r.transitions.create("max-width",{duration:50,easing:r.transitions.easing.easeOut}),whiteSpace:"nowrap","& > span":{paddingLeft:5,paddingRight:5,display:"inline-block",opacity:0,visibility:"visible"}},t.notched&&{maxWidth:"100%",transition:r.transitions.create("max-width",{duration:100,easing:r.transitions.easing.easeOut,delay:50})}))}));function sc(e){return(0,dn.Ay)("MuiOutlinedInput",e)}const lc=(0,Ne.A)({},Ml,(0,un.A)("MuiOutlinedInput",["root","notchedOutline","input"])),cc=["components","fullWidth","inputComponent","label","multiline","notched","slots","type"],uc=(0,at.Ay)(Dl,{shouldForwardProp:e=>(0,ja.A)(e)||"classes"===e,name:"MuiOutlinedInput",slot:"Root",overridesResolver:Il})((e=>{let{theme:t,ownerState:r}=e;const n="light"===t.palette.mode?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return(0,Ne.A)({position:"relative",borderRadius:(t.vars||t).shape.borderRadius,[`&:hover .${lc.notchedOutline}`]:{borderColor:(t.vars||t).palette.text.primary},"@media (hover: none)":{[`&:hover .${lc.notchedOutline}`]:{borderColor:t.vars?`rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:n}},[`&.${lc.focused} .${lc.notchedOutline}`]:{borderColor:(t.vars||t).palette[r.color].main,borderWidth:2},[`&.${lc.error} .${lc.notchedOutline}`]:{borderColor:(t.vars||t).palette.error.main},[`&.${lc.disabled} .${lc.notchedOutline}`]:{borderColor:(t.vars||t).palette.action.disabled}},r.startAdornment&&{paddingLeft:14},r.endAdornment&&{paddingRight:14},r.multiline&&(0,Ne.A)({padding:"16.5px 14px"},"small"===r.size&&{padding:"8.5px 14px"}))})),dc=(0,at.Ay)((function(e){const{className:t,label:r,notched:n}=e,o=(0,Me.A)(e,oc),a=null!=r&&""!==r,i=(0,Ne.A)({},e,{notched:n,withLabel:a});return(0,De.jsx)(ac,(0,Ne.A)({"aria-hidden":!0,className:t,ownerState:i},o,{children:(0,De.jsx)(ic,{ownerState:i,children:a?(0,De.jsx)("span",{children:r}):nc||(nc=(0,De.jsx)("span",{className:"notranslate",children:"\u200b"}))})}))}),{name:"MuiOutlinedInput",slot:"NotchedOutline",overridesResolver:(e,t)=>t.notchedOutline})((e=>{let{theme:t}=e;const r="light"===t.palette.mode?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{borderColor:t.vars?`rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:r}})),pc=(0,at.Ay)(zl,{name:"MuiOutlinedInput",slot:"Input",overridesResolver:Fl})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({padding:"16.5px 14px"},!t.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:"light"===t.palette.mode?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:"light"===t.palette.mode?null:"#fff",caretColor:"light"===t.palette.mode?null:"#fff",borderRadius:"inherit"}},t.vars&&{"&:-webkit-autofill":{borderRadius:"inherit"},[t.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},"small"===r.size&&{padding:"8.5px 14px"},r.multiline&&{padding:0},r.startAdornment&&{paddingLeft:0},r.endAdornment&&{paddingRight:0})})),fc=t.forwardRef((function(e,r){var n,o,a,i,s;const l=(0,dt.b)({props:e,name:"MuiOutlinedInput"}),{components:c={},fullWidth:u=!1,inputComponent:d="input",label:p,multiline:f=!1,notched:h,slots:m={},type:g="text"}=l,v=(0,Me.A)(l,cc),y=(e=>{const{classes:t}=e,r=(0,tt.A)({root:["root"],notchedOutline:["notchedOutline"],input:["input"]},sc,t);return(0,Ne.A)({},t,r)})(l),b=El(),x=$l({props:l,muiFormControl:b,states:["color","disabled","error","focused","hiddenLabel","size","required"]}),w=(0,Ne.A)({},l,{color:x.color||"primary",disabled:x.disabled,error:x.error,focused:x.focused,formControl:b,fullWidth:u,hiddenLabel:x.hiddenLabel,multiline:f,size:x.size,type:g}),S=null!=(n=null!=(o=m.root)?o:c.Root)?n:uc,A=null!=(a=null!=(i=m.input)?i:c.Input)?a:pc;return(0,De.jsx)(Wl,(0,Ne.A)({slots:{root:S,input:A},renderSuffix:e=>(0,De.jsx)(dc,{ownerState:w,className:y.notchedOutline,label:null!=p&&""!==p&&x.required?s||(s=(0,De.jsxs)(t.Fragment,{children:[p,"\u2009","*"]})):p,notched:"undefined"!==typeof h?h:Boolean(e.startAdornment||e.filled||e.focused)}),fullWidth:u,inputComponent:d,multiline:f,ref:r,type:g},v,{classes:(0,Ne.A)({},y,{notchedOutline:null})}))}));fc.muiName="Input";const hc=fc;function mc(e){return(0,dn.Ay)("MuiFormLabel",e)}const gc=(0,un.A)("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]),vc=["children","className","color","component","disabled","error","filled","focused","required"],yc=(0,at.Ay)("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return(0,Ne.A)({},t.root,"secondary"===r.color&&t.colorSecondary,r.filled&&t.filled)}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({color:(t.vars||t).palette.text.secondary},t.typography.body1,{lineHeight:"1.4375em",padding:0,position:"relative",[`&.${gc.focused}`]:{color:(t.vars||t).palette[r.color].main},[`&.${gc.disabled}`]:{color:(t.vars||t).palette.text.disabled},[`&.${gc.error}`]:{color:(t.vars||t).palette.error.main}})})),bc=(0,at.Ay)("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:(e,t)=>t.asterisk})((e=>{let{theme:t}=e;return{[`&.${gc.error}`]:{color:(t.vars||t).palette.error.main}}})),xc=t.forwardRef((function(e,t){const r=(0,dt.b)({props:e,name:"MuiFormLabel"}),{children:n,className:o,component:a="label"}=r,i=(0,Me.A)(r,vc),s=$l({props:r,muiFormControl:El(),states:["color","required","focused","disabled","error","filled"]}),l=(0,Ne.A)({},r,{color:s.color||"primary",component:a,disabled:s.disabled,error:s.error,filled:s.filled,focused:s.focused,required:s.required}),c=(e=>{const{classes:t,color:r,focused:n,disabled:o,error:a,filled:i,required:s}=e,l={root:["root",`color${(0,pt.A)(r)}`,o&&"disabled",a&&"error",i&&"filled",n&&"focused",s&&"required"],asterisk:["asterisk",a&&"error"]};return(0,tt.A)(l,mc,t)})(l);return(0,De.jsxs)(yc,(0,Ne.A)({as:a,ownerState:l,className:(0,Ze.A)(c.root,o),ref:t},i,{children:[n,s.required&&(0,De.jsxs)(bc,{ownerState:l,"aria-hidden":!0,className:c.asterisk,children:["\u2009","*"]})]}))}));function wc(e){return(0,dn.Ay)("MuiInputLabel",e)}(0,un.A)("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);const Sc=["disableAnimation","margin","shrink","variant","className"],Ac=(0,at.Ay)(xc,{shouldForwardProp:e=>(0,ja.A)(e)||"classes"===e,name:"MuiInputLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[{[`& .${gc.asterisk}`]:t.asterisk},t.root,r.formControl&&t.formControl,"small"===r.size&&t.sizeSmall,r.shrink&&t.shrink,!r.disableAnimation&&t.animated,r.focused&&t.focused,t[r.variant]]}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%"},r.formControl&&{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"},"small"===r.size&&{transform:"translate(0, 17px) scale(1)"},r.shrink&&{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"},!r.disableAnimation&&{transition:t.transitions.create(["color","transform","max-width"],{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut})},"filled"===r.variant&&(0,Ne.A)({zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===r.size&&{transform:"translate(12px, 13px) scale(1)"},r.shrink&&(0,Ne.A)({userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"},"small"===r.size&&{transform:"translate(12px, 4px) scale(0.75)"})),"outlined"===r.variant&&(0,Ne.A)({zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===r.size&&{transform:"translate(14px, 9px) scale(1)"},r.shrink&&{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}))})),kc=t.forwardRef((function(e,t){const r=(0,dt.b)({name:"MuiInputLabel",props:e}),{disableAnimation:n=!1,shrink:o,className:a}=r,i=(0,Me.A)(r,Sc),s=El();let l=o;"undefined"===typeof l&&s&&(l=s.filled||s.focused||s.adornedStart);const c=$l({props:r,muiFormControl:s,states:["size","variant","required","focused"]}),u=(0,Ne.A)({},r,{disableAnimation:n,formControl:s,shrink:l,size:c.size,variant:c.variant,required:c.required,focused:c.focused}),d=(e=>{const{classes:t,formControl:r,size:n,shrink:o,disableAnimation:a,variant:i,required:s}=e,l={root:["root",r&&"formControl",!a&&"animated",o&&"shrink",n&&"normal"!==n&&`size${(0,pt.A)(n)}`,i],asterisk:[s&&"asterisk"]},c=(0,tt.A)(l,wc,t);return(0,Ne.A)({},t,c)})(u);return(0,De.jsx)(Ac,(0,Ne.A)({"data-shrink":l,ownerState:u,ref:t,className:(0,Ze.A)(d.root,a)},i,{classes:d}))}));var $c=r(27328);function Cc(e){return(0,dn.Ay)("MuiFormControl",e)}(0,un.A)("MuiFormControl",["root","marginNone","marginNormal","marginDense","fullWidth","disabled"]);const Ec=["children","className","color","component","disabled","error","focused","fullWidth","hiddenLabel","margin","required","size","variant"],jc=(0,at.Ay)("div",{name:"MuiFormControl",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return(0,Ne.A)({},t.root,t[`margin${(0,pt.A)(r.margin)}`],r.fullWidth&&t.fullWidth)}})((e=>{let{ownerState:t}=e;return(0,Ne.A)({display:"inline-flex",flexDirection:"column",position:"relative",minWidth:0,padding:0,margin:0,border:0,verticalAlign:"top"},"normal"===t.margin&&{marginTop:16,marginBottom:8},"dense"===t.margin&&{marginTop:8,marginBottom:4},t.fullWidth&&{width:"100%"})})),_c=t.forwardRef((function(e,r){const n=(0,dt.b)({props:e,name:"MuiFormControl"}),{children:o,className:a,color:i="primary",component:s="div",disabled:l=!1,error:c=!1,focused:u,fullWidth:d=!1,hiddenLabel:p=!1,margin:f="none",required:h=!1,size:m="medium",variant:g="outlined"}=n,v=(0,Me.A)(n,Ec),y=(0,Ne.A)({},n,{color:i,component:s,disabled:l,error:c,fullWidth:d,hiddenLabel:p,margin:f,required:h,size:m,variant:g}),b=(e=>{const{classes:t,margin:r,fullWidth:n}=e,o={root:["root","none"!==r&&`margin${(0,pt.A)(r)}`,n&&"fullWidth"]};return(0,tt.A)(o,Cc,t)})(y),[x,w]=t.useState((()=>{let e=!1;return o&&t.Children.forEach(o,(t=>{if(!(0,$c.A)(t,["Input","Select"]))return;const r=(0,$c.A)(t,["Select"])?t.props.input:t;r&&r.props.startAdornment&&(e=!0)})),e})),[S,A]=t.useState((()=>{let e=!1;return o&&t.Children.forEach(o,(t=>{(0,$c.A)(t,["Input","Select"])&&(Ol(t.props,!0)||Ol(t.props.inputProps,!0))&&(e=!0)})),e})),[k,$]=t.useState(!1);l&&k&&$(!1);const C=void 0===u||l?k:u;let E;const j=t.useMemo((()=>({adornedStart:x,setAdornedStart:w,color:i,disabled:l,error:c,filled:S,focused:C,fullWidth:d,hiddenLabel:p,size:m,onBlur:()=>{$(!1)},onEmpty:()=>{A(!1)},onFilled:()=>{A(!0)},onFocus:()=>{$(!0)},registerEffect:E,required:h,variant:g})),[x,i,l,c,S,C,d,p,E,h,m,g]);return(0,De.jsx)(Cl.Provider,{value:j,children:(0,De.jsx)(jc,(0,Ne.A)({as:s,ownerState:y,className:(0,Ze.A)(b.root,a),ref:r},v,{children:o}))})}));function Pc(e){return(0,dn.Ay)("MuiFormHelperText",e)}const Rc=(0,un.A)("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]);var Oc;const Nc=["children","className","component","disabled","error","filled","focused","margin","required","variant"],Mc=(0,at.Ay)("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,r.size&&t[`size${(0,pt.A)(r.size)}`],r.contained&&t.contained,r.filled&&t.filled]}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({color:(t.vars||t).palette.text.secondary},t.typography.caption,{textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0,[`&.${Rc.disabled}`]:{color:(t.vars||t).palette.text.disabled},[`&.${Rc.error}`]:{color:(t.vars||t).palette.error.main}},"small"===r.size&&{marginTop:4},r.contained&&{marginLeft:14,marginRight:14})})),Tc=t.forwardRef((function(e,t){const r=(0,dt.b)({props:e,name:"MuiFormHelperText"}),{children:n,className:o,component:a="p"}=r,i=(0,Me.A)(r,Nc),s=$l({props:r,muiFormControl:El(),states:["variant","size","disabled","error","filled","focused","required"]}),l=(0,Ne.A)({},r,{component:a,contained:"filled"===s.variant||"outlined"===s.variant,variant:s.variant,size:s.size,disabled:s.disabled,error:s.error,filled:s.filled,focused:s.focused,required:s.required}),c=(e=>{const{classes:t,contained:r,size:n,disabled:o,error:a,filled:i,focused:s,required:l}=e,c={root:["root",o&&"disabled",a&&"error",n&&`size${(0,pt.A)(n)}`,r&&"contained",s&&"focused",i&&"filled",l&&"required"]};return(0,tt.A)(c,Pc,t)})(l);return(0,De.jsx)(Mc,(0,Ne.A)({as:a,ownerState:l,className:(0,Ze.A)(c.root,o),ref:t},i,{children:" "===n?Oc||(Oc=(0,De.jsx)("span",{className:"notranslate",children:"\u200b"})):n}))}));function Ic(e){return(0,dn.Ay)("MuiNativeSelect",e)}const Fc=(0,un.A)("MuiNativeSelect",["root","select","multiple","filled","outlined","standard","disabled","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]),Dc=["className","disabled","error","IconComponent","inputRef","variant"],zc=e=>{let{ownerState:t,theme:r}=e;return(0,Ne.A)({MozAppearance:"none",WebkitAppearance:"none",userSelect:"none",borderRadius:0,cursor:"pointer","&:focus":(0,Ne.A)({},r.vars?{backgroundColor:`rgba(${r.vars.palette.common.onBackgroundChannel} / 0.05)`}:{backgroundColor:"light"===r.palette.mode?"rgba(0, 0, 0, 0.05)":"rgba(255, 255, 255, 0.05)"},{borderRadius:0}),"&::-ms-expand":{display:"none"},[`&.${Fc.disabled}`]:{cursor:"default"},"&[multiple]":{height:"auto"},"&:not([multiple]) option, &:not([multiple]) optgroup":{backgroundColor:(r.vars||r).palette.background.paper},"&&&":{paddingRight:24,minWidth:16}},"filled"===t.variant&&{"&&&":{paddingRight:32}},"outlined"===t.variant&&{borderRadius:(r.vars||r).shape.borderRadius,"&:focus":{borderRadius:(r.vars||r).shape.borderRadius},"&&&":{paddingRight:32}})},Lc=(0,at.Ay)("select",{name:"MuiNativeSelect",slot:"Select",shouldForwardProp:ja.A,overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.select,t[r.variant],r.error&&t.error,{[`&.${Fc.multiple}`]:t.multiple}]}})(zc),Bc=e=>{let{ownerState:t,theme:r}=e;return(0,Ne.A)({position:"absolute",right:0,top:"calc(50% - .5em)",pointerEvents:"none",color:(r.vars||r).palette.action.active,[`&.${Fc.disabled}`]:{color:(r.vars||r).palette.action.disabled}},t.open&&{transform:"rotate(180deg)"},"filled"===t.variant&&{right:7},"outlined"===t.variant&&{right:7})},Wc=(0,at.Ay)("svg",{name:"MuiNativeSelect",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.icon,r.variant&&t[`icon${(0,pt.A)(r.variant)}`],r.open&&t.iconOpen]}})(Bc),Vc=t.forwardRef((function(e,r){const{className:n,disabled:o,error:a,IconComponent:i,inputRef:s,variant:l="standard"}=e,c=(0,Me.A)(e,Dc),u=(0,Ne.A)({},e,{disabled:o,variant:l,error:a}),d=(e=>{const{classes:t,variant:r,disabled:n,multiple:o,open:a,error:i}=e,s={select:["select",r,n&&"disabled",o&&"multiple",i&&"error"],icon:["icon",`icon${(0,pt.A)(r)}`,a&&"iconOpen",n&&"disabled"]};return(0,tt.A)(s,Ic,t)})(u);return(0,De.jsxs)(t.Fragment,{children:[(0,De.jsx)(Lc,(0,Ne.A)({ownerState:u,className:(0,Ze.A)(d.select,n),disabled:o,ref:s||r},c)),e.multiple?null:(0,De.jsx)(Wc,{as:i,ownerState:u,className:d.icon})]})}));var Uc=r(47123);function Hc(e){return(0,dn.Ay)("MuiSelect",e)}const qc=(0,un.A)("MuiSelect",["root","select","multiple","filled","outlined","standard","disabled","focused","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]);var Gc;const Kc=["aria-describedby","aria-label","autoFocus","autoWidth","children","className","defaultOpen","defaultValue","disabled","displayEmpty","error","IconComponent","inputRef","labelId","MenuProps","multiple","name","onBlur","onChange","onClose","onFocus","onOpen","open","readOnly","renderValue","SelectDisplayProps","tabIndex","type","value","variant"],Xc=(0,at.Ay)("div",{name:"MuiSelect",slot:"Select",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[{[`&.${qc.select}`]:t.select},{[`&.${qc.select}`]:t[r.variant]},{[`&.${qc.error}`]:t.error},{[`&.${qc.multiple}`]:t.multiple}]}})(zc,{[`&.${qc.select}`]:{height:"auto",minHeight:"1.4375em",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}}),Qc=(0,at.Ay)("svg",{name:"MuiSelect",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.icon,r.variant&&t[`icon${(0,pt.A)(r.variant)}`],r.open&&t.iconOpen]}})(Bc),Yc=(0,at.Ay)("input",{shouldForwardProp:e=>(0,Uc.A)(e)&&"classes"!==e,name:"MuiSelect",slot:"NativeInput",overridesResolver:(e,t)=>t.nativeInput})({bottom:0,left:0,position:"absolute",opacity:0,pointerEvents:"none",width:"100%",boxSizing:"border-box"});function Jc(e,t){return"object"===typeof t&&null!==t?e===t:String(e)===String(t)}function Zc(e){return null==e||"string"===typeof e&&!e.trim()}const eu=t.forwardRef((function(e,r){var n;const{"aria-describedby":o,"aria-label":a,autoFocus:i,autoWidth:s,children:l,className:c,defaultOpen:u,defaultValue:d,disabled:p,displayEmpty:f,error:h=!1,IconComponent:m,inputRef:g,labelId:v,MenuProps:y={},multiple:b,name:x,onBlur:w,onChange:S,onClose:A,onFocus:k,onOpen:$,open:C,readOnly:E,renderValue:j,SelectDisplayProps:_={},tabIndex:P,value:R,variant:O="standard"}=e,N=(0,Me.A)(e,Kc),[M,T]=(0,jn.A)({controlled:R,default:d,name:"Select"}),[I,F]=(0,jn.A)({controlled:C,default:u,name:"Select"}),D=t.useRef(null),z=t.useRef(null),[L,B]=t.useState(null),{current:W}=t.useRef(null!=C),[V,U]=t.useState(),H=(0,Et.A)(r,g),q=t.useCallback((e=>{z.current=e,e&&B(e)}),[]),G=null==L?void 0:L.parentNode;t.useImperativeHandle(H,(()=>({focus:()=>{z.current.focus()},node:D.current,value:M})),[M]),t.useEffect((()=>{u&&I&&L&&!W&&(U(s?null:G.clientWidth),z.current.focus())}),[L,s]),t.useEffect((()=>{i&&z.current.focus()}),[i]),t.useEffect((()=>{if(!v)return;const e=(0,xo.A)(z.current).getElementById(v);if(e){const t=()=>{getSelection().isCollapsed&&z.current.focus()};return e.addEventListener("click",t),()=>{e.removeEventListener("click",t)}}}),[v]);const K=(e,t)=>{e?$&&$(t):A&&A(t),W||(U(s?null:G.clientWidth),F(e))},X=t.Children.toArray(l),Q=e=>t=>{let r;if(t.currentTarget.hasAttribute("tabindex")){if(b){r=Array.isArray(M)?M.slice():[];const t=M.indexOf(e.props.value);-1===t?r.push(e.props.value):r.splice(t,1)}else r=e.props.value;if(e.props.onClick&&e.props.onClick(t),M!==r&&(T(r),S)){const n=t.nativeEvent||t,o=new n.constructor(n.type,n);Object.defineProperty(o,"target",{writable:!0,value:{value:r,name:x}}),S(o,e)}b||K(!1,t)}},Y=null!==L&&I;let J,Z;delete N["aria-invalid"];const ee=[];let te=!1,re=!1;(Ol({value:M})||f)&&(j?J=j(M):te=!0);const ne=X.map((e=>{if(!t.isValidElement(e))return null;let r;if(b){if(!Array.isArray(M))throw new Error((0,yl.A)(2));r=M.some((t=>Jc(t,e.props.value))),r&&te&&ee.push(e.props.children)}else r=Jc(M,e.props.value),r&&te&&(Z=e.props.children);return r&&(re=!0),t.cloneElement(e,{"aria-selected":r?"true":"false",onClick:Q(e),onKeyUp:t=>{" "===t.key&&t.preventDefault(),e.props.onKeyUp&&e.props.onKeyUp(t)},role:"option",selected:r,value:void 0,"data-value":e.props.value})}));te&&(J=b?0===ee.length?null:ee.reduce(((e,t,r)=>(e.push(t),r{const{classes:t,variant:r,disabled:n,multiple:o,open:a,error:i}=e,s={select:["select",r,n&&"disabled",o&&"multiple",i&&"error"],icon:["icon",`icon${(0,pt.A)(r)}`,a&&"iconOpen",n&&"disabled"],nativeInput:["nativeInput"]};return(0,tt.A)(s,Hc,t)})(se),ce=(0,Ne.A)({},y.PaperProps,null==(n=y.slotProps)?void 0:n.paper),ue=(0,Ss.A)();return(0,De.jsxs)(t.Fragment,{children:[(0,De.jsx)(Xc,(0,Ne.A)({ref:q,tabIndex:oe,role:"combobox","aria-controls":ue,"aria-disabled":p?"true":void 0,"aria-expanded":Y?"true":"false","aria-haspopup":"listbox","aria-label":a,"aria-labelledby":[v,ie].filter(Boolean).join(" ")||void 0,"aria-describedby":o,onKeyDown:e=>{if(!E){-1!==[" ","ArrowUp","ArrowDown","Enter"].indexOf(e.key)&&(e.preventDefault(),K(!0,e))}},onMouseDown:p||E?null:e=>{0===e.button&&(e.preventDefault(),z.current.focus(),K(!0,e))},onBlur:e=>{!Y&&w&&(Object.defineProperty(e,"target",{writable:!0,value:{value:M,name:x}}),w(e))},onFocus:k},_,{ownerState:se,className:(0,Ze.A)(_.className,le.select,c),id:ie,children:Zc(J)?Gc||(Gc=(0,De.jsx)("span",{className:"notranslate",children:"\u200b"})):J})),(0,De.jsx)(Yc,(0,Ne.A)({"aria-invalid":h,value:Array.isArray(M)?M.join(","):M,name:x,ref:D,"aria-hidden":!0,onChange:e=>{const t=X.find((t=>t.props.value===e.target.value));void 0!==t&&(T(t.props.value),S&&S(e,t))},tabIndex:-1,disabled:p,className:le.nativeInput,autoFocus:i,ownerState:se},N)),(0,De.jsx)(Qc,{as:m,className:le.icon,ownerState:se}),(0,De.jsx)(Fa,(0,Ne.A)({id:`menu-${x||""}`,anchorEl:G,open:Y,onClose:e=>{K(!1,e)},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"}},y,{MenuListProps:(0,Ne.A)({"aria-labelledby":v,role:"listbox","aria-multiselectable":b?"true":void 0,disableListWrap:!0,id:ue},y.MenuListProps),slotProps:(0,Ne.A)({},y.slotProps,{paper:(0,Ne.A)({},ce,{style:(0,Ne.A)({minWidth:ae},null!=ce?ce.style:null)})}),children:ne}))]})})),tu=eu,ru=(0,Xi.A)((0,De.jsx)("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown"),nu=["autoWidth","children","classes","className","defaultOpen","displayEmpty","IconComponent","id","input","inputProps","label","labelId","MenuProps","multiple","native","onClose","onOpen","open","renderValue","SelectDisplayProps","variant"],ou=["root"],au={name:"MuiSelect",overridesResolver:(e,t)=>t.root,shouldForwardProp:e=>(0,ja.A)(e)&&"variant"!==e,slot:"Root"},iu=(0,at.Ay)(Xl,au)(""),su=(0,at.Ay)(hc,au)(""),lu=(0,at.Ay)(rc,au)(""),cu=t.forwardRef((function(e,r){const n=(0,dt.b)({name:"MuiSelect",props:e}),{autoWidth:o=!1,children:a,classes:i={},className:s,defaultOpen:l=!1,displayEmpty:c=!1,IconComponent:u=ru,id:d,input:p,inputProps:f,label:h,labelId:m,MenuProps:g,multiple:v=!1,native:y=!1,onClose:b,onOpen:x,open:w,renderValue:S,SelectDisplayProps:A,variant:k="outlined"}=n,$=(0,Me.A)(n,nu),C=y?Vc:tu,E=$l({props:n,muiFormControl:El(),states:["variant","error"]}),j=E.variant||k,_=(0,Ne.A)({},n,{variant:j,classes:i}),P=(e=>{const{classes:t}=e;return t})(_),R=(0,Me.A)(P,ou),O=p||{standard:(0,De.jsx)(iu,{ownerState:_}),outlined:(0,De.jsx)(su,{label:h,ownerState:_}),filled:(0,De.jsx)(lu,{ownerState:_})}[j],N=(0,Et.A)(r,O.ref);return(0,De.jsx)(t.Fragment,{children:t.cloneElement(O,(0,Ne.A)({inputComponent:C,inputProps:(0,Ne.A)({children:a,error:E.error,IconComponent:u,variant:j,type:void 0,multiple:v},y?{id:d}:{autoWidth:o,defaultOpen:l,displayEmpty:c,labelId:m,MenuProps:g,onClose:b,onOpen:x,open:w,renderValue:S,SelectDisplayProps:(0,Ne.A)({id:d},A)},f,{classes:f?(0,vl.A)(R,f.classes):R},p?p.props.inputProps:{})},(v&&y||c)&&"outlined"===j?{notched:!0}:{},{ref:N,className:(0,Ze.A)(O.props.className,s,P.root)},!p&&{variant:j},$))})}));cu.muiName="Select";const uu=cu;function du(e){return(0,dn.Ay)("MuiTextField",e)}(0,un.A)("MuiTextField",["root"]);const pu=["autoComplete","autoFocus","children","className","color","defaultValue","disabled","error","FormHelperTextProps","fullWidth","helperText","id","InputLabelProps","inputProps","InputProps","inputRef","label","maxRows","minRows","multiline","name","onBlur","onChange","onFocus","placeholder","required","rows","select","SelectProps","type","value","variant"],fu={standard:Xl,filled:rc,outlined:hc},hu=(0,at.Ay)(_c,{name:"MuiTextField",slot:"Root",overridesResolver:(e,t)=>t.root})({}),mu=t.forwardRef((function(e,t){const r=(0,dt.b)({props:e,name:"MuiTextField"}),{autoComplete:n,autoFocus:o=!1,children:a,className:i,color:s="primary",defaultValue:l,disabled:c=!1,error:u=!1,FormHelperTextProps:d,fullWidth:p=!1,helperText:f,id:h,InputLabelProps:m,inputProps:g,InputProps:v,inputRef:y,label:b,maxRows:x,minRows:w,multiline:S=!1,name:A,onBlur:k,onChange:$,onFocus:C,placeholder:E,required:j=!1,rows:_,select:P=!1,SelectProps:R,type:O,value:N,variant:M="outlined"}=r,T=(0,Me.A)(r,pu),I=(0,Ne.A)({},r,{autoFocus:o,color:s,disabled:c,error:u,fullWidth:p,multiline:S,required:j,select:P,variant:M}),F=(e=>{const{classes:t}=e;return(0,tt.A)({root:["root"]},du,t)})(I);const D={};"outlined"===M&&(m&&"undefined"!==typeof m.shrink&&(D.notched=m.shrink),D.label=b),P&&(R&&R.native||(D.id=void 0),D["aria-describedby"]=void 0);const z=(0,Ss.A)(h),L=f&&z?`${z}-helper-text`:void 0,B=b&&z?`${z}-label`:void 0,W=fu[M],V=(0,De.jsx)(W,(0,Ne.A)({"aria-describedby":L,autoComplete:n,autoFocus:o,defaultValue:l,fullWidth:p,multiline:S,name:A,rows:_,maxRows:x,minRows:w,type:O,value:N,id:z,inputRef:y,onBlur:k,onChange:$,onFocus:C,placeholder:E,inputProps:g},D,v));return(0,De.jsxs)(hu,(0,Ne.A)({className:(0,Ze.A)(F.root,i),disabled:c,error:u,fullWidth:p,ref:t,required:j,color:s,variant:M,ownerState:I},T,{children:[null!=b&&""!==b&&(0,De.jsx)(kc,(0,Ne.A)({htmlFor:z,id:B},m,{children:b})),P?(0,De.jsx)(uu,(0,Ne.A)({"aria-describedby":L,id:z,labelId:B,value:N,input:V},R,{children:a})):V,f&&(0,De.jsx)(Tc,(0,Ne.A)({id:L},d,{children:f}))]}))})),gu=(0,Xi.A)((0,De.jsx)("path",{d:"M15 21h-2v-2h2zm-2-7h-2v5h2zm8-2h-2v4h2zm-2-2h-2v2h2zM7 12H5v2h2zm-2-2H3v2h2zm7-5h2V3h-2zm-7.5-.5v3h3v-3zM9 9H3V3h6zm-4.5 7.5v3h3v-3zM9 21H3v-6h6zm7.5-16.5v3h3v-3zM21 9h-6V3h6zm-2 10v-3h-4v2h2v3h4v-2zm-2-7h-4v2h4zm-4-2H7v2h2v2h2v-2h2zm1-1V7h-2V5h-2v4zM6.75 5.25h-1.5v1.5h1.5zm0 12h-1.5v1.5h1.5zm12-12h-1.5v1.5h1.5z"}),"QrCode2"),vu=(0,Xi.A)((0,De.jsx)("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings"),yu=(0,Xi.A)((0,De.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zm2.46-7.12 1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"}),"DeleteForever"),bu=(0,Xi.A)((0,De.jsx)("path",{d:"M21.19 21.19 2.81 2.81 1.39 4.22l2.27 2.27C2.61 8.07 2 9.96 2 12c0 5.52 4.48 10 10 10 2.04 0 3.93-.61 5.51-1.66l2.27 2.27zm-10.6-4.59-4.24-4.24 1.41-1.41 2.83 2.83.18-.18 1.41 1.41zm3-5.84-7.1-7.1C8.07 2.61 9.96 2 12 2c5.52 0 10 4.48 10 10 0 2.04-.61 3.93-1.66 5.51L15 12.17l2.65-2.65-1.41-1.41z"}),"Unpublished"),xu=(0,Xi.A)((0,De.jsx)("path",{d:"m17.66 9.53-7.07 7.07-4.24-4.24 1.41-1.41 2.83 2.83 5.66-5.66zM4 12c0-2.33 1.02-4.42 2.62-5.88L9 8.5v-6H3l2.2 2.2C3.24 6.52 2 9.11 2 12c0 5.19 3.95 9.45 9 9.95v-2.02c-3.94-.49-7-3.86-7-7.93m18 0c0-5.19-3.95-9.45-9-9.95v2.02c3.94.49 7 3.86 7 7.93 0 2.33-1.02 4.42-2.62 5.88L15 15.5v6h6l-2.2-2.2c1.96-1.82 3.2-4.41 3.2-7.3"}),"PublishedWithChanges"),wu=(0,Xi.A)((0,De.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 17h-2v-2h2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25"}),"Help"),Su=(0,Xi.A)((0,De.jsx)("path",{d:"M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-7 9h-2V5h2zm0 4h-2v-2h2z"}),"Announcement"),Au=(0,Xi.A)((0,De.jsx)("path",{d:"m12 21.35-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54z"}),"Favorite"),ku=(0,Xi.A)((0,De.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert"),$u=(0,Xi.A)((0,De.jsx)("path",{d:"M5 20h14v-2H5zM19 9h-4V3H9v6H5l7 7z"}),"Download"),Cu=(0,Xi.A)((0,De.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add");function Eu(e){return!("undefined"!==typeof File&&e instanceof File)&&(!("undefined"!==typeof Date&&e instanceof Date)&&("object"===typeof e&&null!==e&&!Array.isArray(e)))}function ju(e){if(""===e)return;if(null===e)return null;if(/\.$/.test(e))return e;if(/\.0$/.test(e))return e;if(/\.\d*0$/.test(e))return e;const t=Number(e);return"number"===typeof t&&!Number.isNaN(t)?t:e}const _u="__additional_property",Pu="additionalProperties",Ru="allOf",Ou="anyOf",Nu="const",Mu="default",Tu="dependencies",Iu="enum",Fu="__errors",Du="$id",zu="if",Lu="items",Bu="$name",Wu="oneOf",Vu="properties",Uu="required",Hu="submitButtonOptions",qu="$ref",Gu="__rjsf_additionalProperties",Ku="__rjsf_rootSchema",Xu="ui:widget",Qu="ui:options";function Yu(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).filter((e=>0===e.indexOf("ui:"))).reduce(((t,r)=>{const n=e[r];return r===Xu&&Eu(n)?(console.error("Setting options via ui:widget object is no longer supported, use ui:options instead"),t):r===Qu&&Eu(n)?{...t,...n}:{...t,[r.substring(3)]:n}}),{...t})}function Ju(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;if(!e.additionalProperties)return!1;const{expandable:n=!0}=Yu(t);return!1===n?n:void 0===e.maxProperties||!r||Object.keys(r).length({...e,[r]:td(t)})),t);if(ed()(e)){const r=e;return Object.keys(r).reduce(((e,t)=>({...e,[t]:td(r[t])})),t)}return t}var rd=r(56641),nd=r.n(rd);function od(e,t){return nd()(e,t,((e,t)=>{if("function"===typeof e&&"function"===typeof t)return!0}))}var ad=r(33097),id=r.n(ad),sd=r(54320),ld=r.n(sd),cd=r(45492),ud=r(1488),dd=r.n(ud);function pd(e,t){const r=t[e];return[dd()(t,[e]),r]}function fd(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const n=e||"";let o;if(!n.startsWith("#"))throw new Error(`Could not find a definition for ${e}.`);o=decodeURIComponent(n.substring(1));const a=cd.get(t,o);if(void 0===a)throw new Error(`Could not find a definition for ${e}.`);const i=a[qu];if(i){if(r.includes(i)){if(1===r.length)throw new Error(`Definition for ${e} is a circular reference`);const[t,...o]=r,a=[...o,n,t].join(" -> ");throw new Error(`Definition for ${t} contains a circular reference through ${a}`)}const[o,s]=pd(qu,a),l=fd(s,t,[...r,n]);return Object.keys(o).length>0?{...o,...l}:l}return a}function hd(e){return fd(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},[])}var md=r(62117),gd=r.n(md),vd=r(79160),yd=r.n(vd),bd=r(46686),xd=r.n(bd),wd=r(90620),Sd=r.n(wd),Ad=r(12759),kd=r.n(Ad),$d=r(71247),Cd=r.n($d);function Ed(e,t,r){var n;if(e&&r){const o=id()(e,r);if(void 0===o)return;for(let e=0;e({required:[e]})))};let o;if(a.anyOf){const{...e}=a;e.allOf?e.allOf=e.allOf.slice():e.allOf=[],e.allOf.push(r),o=e}else o=Object.assign({},a,r);if(delete o.required,e.isValid(o,t,n))return i}else if(e.isValid(a,t,n))return i}return 0}function _d(e,t,r,n,o){return jd(e,t,r,n,o)}var Pd=r(19853),Rd=r.n(Pd),Od=r(69613),Nd=r.n(Od),Md=r(22717),Td=r.n(Md),Id=r(34677),Fd=r.n(Id),Dd=r(63517),zd=r.n(Dd),Ld=r(9376),Bd=r.n(Ld),Wd=r(52093),Vd=r.n(Wd);function Ud(e){let t;const r=id()(e,"discriminator.propertyName",void 0);return Sd()(r)?t=r:void 0!==r&&console.warn(`Expecting discriminator to be a string, got "${typeof r}" instead`),t}function Hd(e){return Array.isArray(e)?"array":"string"===typeof e?"string":null==e?"null":"boolean"===typeof e?"boolean":isNaN(e)?"object"===typeof e?"object":"string":"number"}var qd=r(30450),Gd=r.n(qd);function Kd(e){let{type:t}=e;return!t&&e.const?Hd(e.const):!t&&e.enum?"string":t||!e.properties&&!e.additionalProperties?(Array.isArray(t)&&(t=2===t.length&&t.includes("null")?t.find((e=>"null"!==e)):t[0]),t):"object"}function Xd(e,t){const r=Object.assign({},e);return Object.keys(t).reduce(((r,n)=>{const o=e?e[n]:{},a=t[n];return e&&n in e&&Eu(a)?r[n]=Xd(o,a):e&&t&&("object"===Kd(e)||"object"===Kd(t))&&n===Uu&&Array.isArray(o)&&Array.isArray(a)?r[n]=Gd()(o,a):r[n]=a,r}),r)}function Qd(e,t){return ep(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},arguments.length>3?arguments[3]:void 0,void 0,void 0,arguments.length>4?arguments[4]:void 0)[0]}function Yd(e){const t=e.reduce(((e,t)=>t.length>1?t.flatMap((t=>Cd()(e.length,(r=>[...e[r]].concat(t))))):(e.forEach((e=>e.push(t[0]))),e)),[[]]);return t}function Jd(e,t,r,n,o,a,i){const s=Zd(t,r,o);return s!==t?ep(e,s,r,a,n,o,i):[t]}function Zd(e,t,r){if(!Eu(e))return e;let n=e;if(qu in n){const{$ref:e,...o}=n;if(r.includes(e))return n;r.push(e);n={...hd(e,t),...o}}if(Vu in n){const e=[],o=Td()(n[Vu],((n,o,a)=>{const i=[...r];n[a]=Zd(o,t,i),e.push(i)}),{});Fd()(r,Bd()(zd()(e))),n={...n,[Vu]:o}}return Lu in n&&!Array.isArray(n.items)&&"boolean"!==typeof n.items&&(n={...n,items:Zd(n.items,t,r)}),Rd()(e,n)?e:n}function ep(e,t,r,n){let o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],i=arguments.length>6?arguments[6]:void 0;if(!Eu(t))return[{}];const s=function(e,t,r,n,o,a,i){const s=Jd(e,t,r,n,o,a);if(s.length>1||s[0]!==t)return s;if(Tu in t)return tp(e,t,r,n,o,a).flatMap((t=>ep(e,t,r,a,n,o,i)));if(Ru in t&&Array.isArray(t.allOf))return Yd(t.allOf.map((t=>ep(e,t,r,a,n,o,i)))).map((e=>({...t,allOf:e})));return[t]}(e,t,r,o,a,n);return s.flatMap((t=>{var s;let l=t;if(zu in l)return function(e,t,r,n,o,a,i){const{if:s,then:l,else:c,...u}=t,d=e.isValid(s,a||{},r);let p=[u],f=[];if(n)l&&"boolean"!==typeof l&&(f=f.concat(ep(e,l,r,a,n,o,i))),c&&"boolean"!==typeof c&&(f=f.concat(ep(e,c,r,a,n,o,i)));else{const t=d?l:c;t&&"boolean"!==typeof t&&(f=f.concat(ep(e,t,r,a,n,o,i)))}return f.length&&(p=f.map((e=>Xd(u,e)))),p.flatMap((t=>ep(e,t,r,a,n,o,i)))}(e,l,r,o,a,n,i);if(Ru in l){if(o){const{allOf:e,...t}=l;return[...e,t]}try{const e=[],t=[];null===(s=l.allOf)||void 0===s||s.forEach((r=>{"object"===typeof r&&r.contains?e.push(r):t.push(r)})),e.length&&(l={...l,allOf:t}),l=i?i(l):Vd()(l,{deep:!1}),e.length&&(l.allOf=e)}catch(Bf){console.warn("could not merge subschemas in allOf:\n",Bf);const{allOf:t,...r}=l;return r}}return Pu in l&&!1!==l.additionalProperties?function(e,t,r,n){const o={...t,properties:{...t.properties}},a=n&&Eu(n)?n:{};return Object.keys(a).forEach((t=>{if(t in o.properties)return;let n={};n="boolean"!==typeof o.additionalProperties?qu in o.additionalProperties?Qd(e,{$ref:id()(o.additionalProperties,[qu])},r,a):"type"in o.additionalProperties?{...o.additionalProperties}:Ou in o.additionalProperties||Wu in o.additionalProperties?{type:"object",...o.additionalProperties}:{type:Hd(id()(a,[t]))}:{type:Hd(id()(a,[t]))},o.properties[t]=n,Nd()(o.properties,[t,_u],!0)})),o}(e,l,r,n):l}))}function tp(e,t,r,n,o,a,i){const{dependencies:s,...l}=t,c=function(e,t,r,n,o){let a;const{oneOf:i,anyOf:s,...l}=t;if(Array.isArray(i)?a=i:Array.isArray(s)&&(a=s),a){const i=void 0===o&&n?{}:o,s=Ud(t);a=a.map((e=>Zd(e,r,[])));const c=_d(e,i,a,r,s);if(n)return a.map((e=>Xd(l,e)));t=Xd(l,a[c])}return[t]}(e,l,r,n,a);return c.flatMap((t=>rp(e,s,t,r,n,o,a,i)))}function rp(e,t,r,n,o,a,i,s){let l=[r];for(const c in t){if(!o&&void 0===id()(i,[c]))continue;if(r.properties&&!(c in r.properties))continue;const[u,d]=pd(c,t);return Array.isArray(d)?l[0]=np(r,d):Eu(d)&&(l=op(e,r,n,c,d,o,a,i,s)),l.flatMap((t=>rp(e,u,t,n,o,a,i,s)))}return l}function np(e,t){if(!t)return e;const r=Array.isArray(e.required)?Array.from(new Set([...e.required,...t])):t;return{...e,required:r}}function op(e,t,r,n,o,a,i,s,l){return ep(e,o,r,s,a,i,l).flatMap((o=>{const{oneOf:c,...u}=o;if(t=Xd(t,u),void 0===c)return t;return Yd(c.map((t=>"boolean"!==typeof t&&qu in t?Jd(e,t,r,a,i,s):[t]))).flatMap((o=>function(e,t,r,n,o,a,i,s,l){const c=o.filter((t=>{if("boolean"===typeof t||!t||!t.properties)return!1;const{[n]:o}=t.properties;if(o){const t={type:"object",properties:{[n]:o}};return e.isValid(t,s,r)||a}return!1}));if(!a&&1!==c.length)return console.warn("ignoring oneOf in dependencies because there isn't exactly one subschema that is valid"),[t];return c.flatMap((o=>{const c=o,[u]=pd(n,c.properties),d={...c,properties:u};return ep(e,d,r,s,a,i,l).map((e=>Xd(t,e)))}))}(e,t,r,n,o,a,i,s,l)))}))}const ap={type:"object",$id:"_$junk_option_schema_id$_",properties:{__not_really_there__:{type:"number"}}};function ip(e,t,r,n){let o=0;return r&&(xd()(r.properties)?o+=kd()(r.properties,((r,o,a)=>{const i=id()(n,a);if("boolean"===typeof o)return r;if(gd()(o,qu)){const n=Qd(e,o,t,i);return r+ip(e,t,n,i||{})}if((gd()(o,Wu)||gd()(o,Ou))&&i){const n=gd()(o,Wu)?Wu:Ou,a=Ud(o);return r+sp(e,t,i,id()(o,n),-1,a)}if("object"===o.type)return xd()(i)&&(r+=1),r+ip(e,t,o,i);if(o.type===Hd(i)){let e=r+1;return o.default?e+=i===o.default?1:-1:o.const&&(e+=i===o.const?1:-1),e}return r}),0):Sd()(r.type)&&r.type===Hd(n)&&(o+=1)),o}function sp(e,t,r,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1,a=arguments.length>5?arguments[5]:void 0;const i=n.map((e=>Zd(e,t,[]))),s=Ed(r,n,a);if(yd()(s))return s;const l=i.reduce(((n,o,i)=>(1===_d(e,r,[ap,o],t,a)&&n.push(i),n)),[]);if(1===l.length)return l[0];l.length||Cd()(i.length,(e=>l.push(e)));const c=new Set,{bestIndex:u}=l.reduce(((n,o)=>{const{bestScore:a}=n,s=i[o],l=ip(e,t,s,r);return c.add(l),l>a?{bestIndex:o,bestScore:l}:n}),{bestIndex:o,bestScore:0});return 1===c.size&&o>=0?o:u}function lp(e){return Array.isArray(e.items)&&e.items.length>0&&e.items.every((e=>Eu(e)))}function cp(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(t)){const o=Array.isArray(e)?e:[],a=t.map(((e,t)=>o[t]?cp(o[t],e,r,n):e));return r&&a.length(o[a]=cp(e?id()(e,a):{},id()(t,a),r,n),o)),o)}return n&&void 0===t?e:t}function up(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return Object.keys(t).reduce(((n,o)=>{const a=e?e[o]:{},i=t[o];if(e&&o in e&&Eu(i))n[o]=up(a,i,r);else if(r&&Array.isArray(a)&&Array.isArray(i)){let e=i;"preventDuplicates"===r&&(e=i.reduce(((e,t)=>(a.includes(t)||e.push(t),e)),[])),n[o]=a.concat(e)}else n[o]=i;return n}),Object.assign({},e))}function dp(e){return Array.isArray(e.enum)&&1===e.enum.length||Nu in e}function pp(e,t){const r=Qd(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},void 0),n=r.oneOf||r.anyOf;return!!Array.isArray(r.enum)||!!Array.isArray(n)&&n.every((e=>"boolean"!==typeof e&&dp(e)))}function fp(e,t,r){return!(!t.uniqueItems||!t.items||"boolean"===typeof t.items)&&pp(e,t.items,r)}var hp;function mp(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:hp.Ignore,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;if(r>=0){if(Array.isArray(e.items)&&r5&&void 0!==arguments[5]?arguments[5]:[],i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},s=arguments.length>7&&void 0!==arguments[7]&&arguments[7];const{emptyObjectFields:l="populateAllDefaults"}=i;if(n||s)e[t]=r;else if("skipDefaults"!==l)if(Eu(r)){const n=void 0===o?a.includes(t):o;"skipEmptyDefaults"===l?ld()(r)||(e[t]=r):ld()(r)&&!a.includes(t)||!n&&"populateRequiredDefaults"===l||(e[t]=r)}else void 0===r||"populateAllDefaults"!==l&&"skipEmptyDefaults"!==l&&!a.includes(t)||(e[t]=r)}function vp(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{parentDefaults:n,rawFormData:o,rootSchema:a={},includeUndefinedValues:i=!1,_recurseList:s=[],experimental_defaultFormStateBehavior:l,experimental_customMergeAllOf:c,required:u}=r,d=Eu(o)?o:{},p=Eu(t)?t:{};let f=n,h=null,m=s;if(dp(p))f=p.const;else if(Eu(f)&&Eu(p.default))f=up(f,p.default);else if(Mu in p)f=p.default;else if(qu in p){const e=p[qu];s.includes(e)||(m=s.concat(e),h=hd(e,a))}else if(Tu in p){const t={...yp(e,p,r,f),...d};h=tp(e,p,a,!1,[],t,c)[0]}else if(lp(p))f=p.items.map(((t,r)=>vp(e,t,{rootSchema:a,includeUndefinedValues:i,_recurseList:s,experimental_defaultFormStateBehavior:l,parentDefaults:Array.isArray(n)?n[r]:void 0,rawFormData:d,required:u})));else if(Wu in p){const{oneOf:t,...r}=p;if(0===t.length)return;const n=Ud(p);h=t[sp(e,a,ld()(d)?void 0:d,t,0,n)],h=Xd(r,h)}else if(Ou in p){const{anyOf:t,...r}=p;if(0===t.length)return;const n=Ud(p);h=t[sp(e,a,ld()(d)?void 0:d,t,0,n)],h=Xd(r,h)}if(h)return vp(e,h,{rootSchema:a,includeUndefinedValues:i,_recurseList:m,experimental_defaultFormStateBehavior:l,parentDefaults:f,rawFormData:d,required:u});void 0===f&&(f=p.default);const g=yp(e,p,r,f);return null!==g&&void 0!==g?g:f}function yp(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0;switch(Kd(t)){case"object":return function(e,t){let{rawFormData:r,rootSchema:n={},includeUndefinedValues:o=!1,_recurseList:a=[],experimental_defaultFormStateBehavior:i,experimental_customMergeAllOf:s,required:l}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},c=arguments.length>3?arguments[3]:void 0;{const u=Eu(r)?r:{},d=t,p="populateDefaults"===(null===i||void 0===i?void 0:i.allOf)&&Ru in d?Qd(e,d,n,u,s):d,f=p[Nu],h=Object.keys(p.properties||{}).reduce(((t,r)=>{var d;const h=id()(p,[Vu,r]),m=Eu(f)&&void 0!==f[r],g=Eu(h)&&Nu in h||m;return gp(t,r,vp(e,h,{rootSchema:n,_recurseList:a,experimental_defaultFormStateBehavior:i,experimental_customMergeAllOf:s,includeUndefinedValues:!0===o,parentDefaults:id()(c,[r]),rawFormData:id()(u,[r]),required:null===(d=p.required)||void 0===d?void 0:d.includes(r)}),o,l,p.required,i,g),t}),{});if(p.additionalProperties){const t=Eu(p.additionalProperties)?p.additionalProperties:{},r=new Set;Eu(c)&&Object.keys(c).filter((e=>!p.properties||!p.properties[e])).forEach((e=>r.add(e)));const s=[];Object.keys(u).filter((e=>!p.properties||!p.properties[e])).forEach((e=>{r.add(e),s.push(e)})),r.forEach((r=>{var d;const f=vp(e,t,{rootSchema:n,_recurseList:a,experimental_defaultFormStateBehavior:i,includeUndefinedValues:!0===o,parentDefaults:id()(c,[r]),rawFormData:id()(u,[r]),required:null===(d=p.required)||void 0===d?void 0:d.includes(r)});gp(h,r,f,o,l,s)}))}return h}}(e,t,r,n);case"array":return function(e,t){let{rawFormData:r,rootSchema:n={},_recurseList:o=[],experimental_defaultFormStateBehavior:a,required:i}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3?arguments[3]:void 0;var l,c;const u=t,d=null!==(l=null===a||void 0===a?void 0:a.arrayMinItems)&&void 0!==l?l:{},{populate:p,mergeExtraDefaults:f}=d,h="never"===p,m="requiredOnly"===p,g="all"===p||!h&&!m,v=null!==(c=null===d||void 0===d?void 0:d.computeSkipPopulate)&&void 0!==c?c:()=>!1,y="skipEmptyDefaults"===(null===a||void 0===a?void 0:a.emptyObjectFields)?void 0:[];if(Array.isArray(s)&&(s=s.map(((t,r)=>{const s=mp(u,hp.Fallback,r);return vp(e,s,{rootSchema:n,_recurseList:o,experimental_defaultFormStateBehavior:a,parentDefaults:t,required:i})}))),Array.isArray(r)){const t=mp(u);if(h)s=r;else{const l=r.map(((r,l)=>vp(e,t,{rootSchema:n,_recurseList:o,experimental_defaultFormStateBehavior:a,rawFormData:r,parentDefaults:id()(s,[l]),required:i})));s=cp(s,l,(m&&i||g)&&f)}}if(!1===(Eu(u)&&Nu in u)){if(h)return null!==s&&void 0!==s?s:y;if(m&&!i)return s||void 0}const b=Array.isArray(s)?s.length:0;if(!u.minItems||fp(e,u,n)||v(e,u,n)||u.minItems<=b)return s||y;const x=s||[],w=mp(u,hp.Invert),S=w.default,A=new Array(u.minItems-b).fill(vp(e,w,{parentDefaults:S,rootSchema:n,_recurseList:o,experimental_defaultFormStateBehavior:a,required:i}));return x.concat(A)}(e,t,r,n)}}function bp(e,t,r,n){let o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5?arguments[5]:void 0,i=arguments.length>6?arguments[6]:void 0;if(!Eu(t))throw new Error("Invalid schema: "+t);const s=vp(e,Qd(e,t,n,r,i),{rootSchema:n,includeUndefinedValues:o,experimental_defaultFormStateBehavior:a,experimental_customMergeAllOf:i,rawFormData:r});if(void 0===r||null===r||"number"===typeof r&&isNaN(r))return s;const{mergeDefaultsIntoFormData:l,arrayMinItems:c={}}=a||{},{mergeExtraDefaults:u}=c,d="useDefaultIfFormDataUndefined"===l;return Eu(r)||Array.isArray(r)?cp(s,r,u,d):r}function xp(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return"widget"in Yu(e)&&"hidden"!==Yu(e).widget}function wp(e,t){let r=arguments.length>3?arguments[3]:void 0;if("files"===(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{})[Xu])return!0;if(t.items){const n=Qd(e,t.items,r);return"string"===n.type&&"data-url"===n.format}return!1}!function(e){e[e.Ignore=0]="Ignore",e[e.Invert=1]="Invert",e[e.Fallback=2]="Fallback"}(hp||(hp={}));const Sp=Symbol("no Value");function Ap(e,t,r,n){let o,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};if(gd()(r,Vu)){const i={};if(gd()(n,Vu)){const e=id()(n,Vu,{});Object.keys(e).forEach((e=>{gd()(a,e)&&(i[e]=void 0)}))}const s=Object.keys(id()(r,Vu,{})),l={};s.forEach((o=>{const s=id()(a,o);let c=id()(n,[Vu,o],{}),u=id()(r,[Vu,o],{});gd()(c,qu)&&(c=Qd(e,c,t,s)),gd()(u,qu)&&(u=Qd(e,u,t,s));const d=id()(c,"type"),p=id()(u,"type");if(!d||d===p)if(gd()(i,o)&&delete i[o],"object"===p||"array"===p&&Array.isArray(s)){const r=Ap(e,t,u,c,s);void 0===r&&"array"!==p||(l[o]=r)}else{const e=id()(u,"default",Sp),t=id()(c,"default",Sp);e!==Sp&&e!==s&&(t===s?i[o]=e:!0===id()(u,"readOnly")&&(i[o]=void 0));const r=id()(u,"const",Sp),n=id()(c,"const",Sp);r!==Sp&&r!==s&&(i[o]=n===s?r:void 0)}})),o={..."string"==typeof a||Array.isArray(a)?void 0:a,...i,...l}}else if("array"===id()(n,"type")&&"array"===id()(r,"type")&&Array.isArray(a)){let i=id()(n,"items"),s=id()(r,"items");if("object"!==typeof i||"object"!==typeof s||Array.isArray(i)||Array.isArray(s))"boolean"===typeof i&&"boolean"===typeof s&&i===s&&(o=a);else{gd()(i,qu)&&(i=Qd(e,i,t,a)),gd()(s,qu)&&(s=Qd(e,s,t,a));const n=id()(i,"type"),l=id()(s,"type");if(!n||n===l){const n=id()(r,"maxItems",-1);o="object"===l?a.reduce(((r,o)=>{const a=Ap(e,t,s,i,o);return void 0!==a&&(n<0||r.length0&&a.length>n?a.slice(0,n):a}}}return o}function kp(e,t,r,n,o,a,i){let s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:[],l=arguments.length>8?arguments[8]:void 0;if(qu in t||Tu in t||Ru in t){const c=Qd(e,t,a,i);if(-1===s.findIndex((e=>Rd()(e,c))))return kp(e,c,r,n,o,a,i,s.concat(c),l)}if(Lu in t&&!id()(t,[Lu,qu]))return kp(e,id()(t,Lu),r,n,o,a,i,s,l);const c={$id:o||r};if("object"===Kd(t)&&Vu in t)for(const u in t.properties){const o=id()(t,[Vu,u]),d=c[Du]+n+u;c[u]=kp(e,Eu(o)?o:{},r,n,d,a,id()(i,[u]),s,l)}return c}function $p(e,t,r,n,o){return kp(e,t,arguments.length>5&&void 0!==arguments[5]?arguments[5]:"root",arguments.length>6&&void 0!==arguments[6]?arguments[6]:"_",r,n,o,void 0,arguments.length>7?arguments[7]:void 0)}function Cp(e,t,r,n,o){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[];if(qu in t||Tu in t||Ru in t){const i=Qd(e,t,n,o);if(-1===a.findIndex((e=>Rd()(e,i))))return Cp(e,i,r,n,o,a.concat(i))}let i={[Bu]:r.replace(/^\./,"")};if(Wu in t||Ou in t){const s=Wu in t?t.oneOf:t.anyOf,l=Ud(t),c=s[sp(e,n,o,s,0,l)];i={...i,...Cp(e,c,r,n,o,a)}}if(Pu in t&&!1!==t[Pu]&&Nd()(i,Gu,!0),Lu in t&&Array.isArray(o)){const{items:s,additionalItems:l}=t;Array.isArray(s)?o.forEach(((t,o)=>{s[o]?i[o]=Cp(e,s[o],`${r}.${o}`,n,t,a):l?i[o]=Cp(e,l,`${r}.${o}`,n,t,a):console.warn(`Unable to generate path schema for "${r}.${o}". No schema defined for it`)})):o.forEach(((t,o)=>{i[o]=Cp(e,s,`${r}.${o}`,n,t,a)}))}else if(Vu in t)for(const s in t.properties){const l=id()(t,[Vu,s]);i[s]=Cp(e,l,`${r}.${s}`,n,id()(o,[s]),a)}return i}function Ep(e,t){return Cp(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",arguments.length>3?arguments[3]:void 0,arguments.length>4?arguments[4]:void 0)}class jp{constructor(e,t,r,n){this.rootSchema=t,this.validator=e,this.experimental_defaultFormStateBehavior=r,this.experimental_customMergeAllOf=n}getValidator(){return this.validator}doesSchemaUtilsDiffer(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0;return!(!e||!t)&&(this.validator!==e||!od(this.rootSchema,t)||!od(this.experimental_defaultFormStateBehavior,r)||this.experimental_customMergeAllOf!==n)}getDefaultFormState(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return bp(this.validator,e,t,this.rootSchema,r,this.experimental_defaultFormStateBehavior,this.experimental_customMergeAllOf)}getDisplayLabel(e,t,r){return function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0;const o=Yu(r,arguments.length>4?arguments[4]:void 0),{label:a=!0}=o;let i=!!a;const s=Kd(t);return"array"===s&&(i=fp(e,t,n)||wp(e,t,r,n)||xp(r)),"object"===s&&(i=!1),"boolean"!==s||r[Xu]||(i=!1),r["ui:field"]&&(i=!1),i}(this.validator,e,t,this.rootSchema,r)}getClosestMatchingOption(e,t,r,n){return sp(this.validator,this.rootSchema,e,t,r,n)}getFirstMatchingOption(e,t,r){return _d(this.validator,e,t,this.rootSchema,r)}getMatchingOption(e,t,r){return jd(this.validator,e,t,this.rootSchema,r)}isFilesArray(e,t){return wp(this.validator,e,t,this.rootSchema)}isMultiSelect(e){return fp(this.validator,e,this.rootSchema)}isSelect(e){return pp(this.validator,e,this.rootSchema)}mergeValidationData(e,t){return function(e,t,r){if(!r)return t;const{errors:n,errorSchema:o}=t;let a=e.toErrorList(r),i=r;return ld()(o)||(i=up(o,r,!0),a=[...n].concat(a)),{errorSchema:i,errors:a}}(this.validator,e,t)}retrieveSchema(e,t){return Qd(this.validator,e,this.rootSchema,t,this.experimental_customMergeAllOf)}sanitizeDataForNewSchema(e,t,r){return Ap(this.validator,this.rootSchema,e,t,r)}toIdSchema(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"root",o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"_";return $p(this.validator,e,t,this.rootSchema,r,n,o,this.experimental_customMergeAllOf)}toPathSchema(e,t,r){return Ep(this.validator,e,t,this.rootSchema,r)}}function _p(e,t){let r=String(e);for(;r.length 0, got one of each`);if(e>t)return Pp(t,e).reverse();const r=[];for(let n=e;n<=t;n++)r.push({value:n,label:_p(n,2)});return r}function Rp(e,t){return function(e,t){let r=e;if(Array.isArray(t)){const e=r.split(/(%\d)/);t.forEach(((t,r)=>{const n=e.findIndex((e=>e===`%${r+1}`));n>=0&&(e[n]=t)})),r=e.join("")}return r}(e,t)}function Op(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0;if(Array.isArray(e))return e.map((e=>Op(e,t))).filter((e=>e!==r));const n=""===e||null===e?-1:Number(e),o=t[n];return o?o.value:r}function Np(e,t){const r=Op(e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:[]);return Array.isArray(t)?t.filter((e=>!Rd()(e,r))):Rd()(r,t)?void 0:t}function Mp(e,t){return Array.isArray(t)?t.some((t=>Rd()(t,e))):Rd()(t,e)}function Tp(e){let t=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]).map(((t,r)=>Mp(t.value,e)?String(r):void 0)).filter((e=>"undefined"!==typeof e));return t?r:r[0]}var Ip=r(79686),Fp=r.n(Ip);function Dp(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const n=Op(e,r);if(!Fp()(n)){const e=r.findIndex((e=>n===e.value)),o=r.map((e=>{let{value:t}=e;return t}));return t.slice(0,e).concat(n,t.slice(e)).sort(((e,t)=>Number(o.indexOf(e)>o.indexOf(t))))}return t}var zp=r(56434),Lp=r.n(zp),Bp=r(929),Wp=r.n(Bp);class Vp{constructor(e){this.errorSchema={},this.resetAllErrors(e)}get ErrorSchema(){return this.errorSchema}getOrCreateErrorBlock(e){let t=Array.isArray(e)&&e.length>0||"string"===typeof e?id()(this.errorSchema,e):this.errorSchema;return!t&&e&&(t={},Wp()(this.errorSchema,e,t,Object)),t}resetAllErrors(e){return this.errorSchema=e?Lp()(e):{},this}addErrors(e,t){const r=this.getOrCreateErrorBlock(t);let n=id()(r,Fu);return Array.isArray(n)||(n=[],r[Fu]=n),Array.isArray(e)?n.push(...e):n.push(e),this}setErrors(e,t){const r=this.getOrCreateErrorBlock(t),n=Array.isArray(e)?[...e]:[e];return Nd()(r,Fu,n),this}clearErrors(e){const t=this.getOrCreateErrorBlock(e);return Nd()(t,Fu,[]),this}}function Up(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[1900,(new Date).getFullYear()+2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"YMD";const{day:o,month:a,year:i,hour:s,minute:l,second:c}=e,u={type:"day",range:[1,31],value:o},d={type:"month",range:[1,12],value:a},p={type:"year",range:r,value:i},f=[];switch(n){case"MDY":f.push(d,u,p);break;case"DMY":f.push(u,d,p);break;default:f.push(p,d,u)}return t&&f.push({type:"hour",range:[0,23],value:s},{type:"minute",range:[0,59],value:l},{type:"second",range:[0,59],value:c}),f}function Hp(e){const t={};return e.multipleOf&&(t.step=e.multipleOf),(e.minimum||0===e.minimum)&&(t.min=e.minimum),(e.maximum||0===e.maximum)&&(t.max=e.maximum),t}function qp(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const o={type:t||"text",...Hp(e)};return r.inputType?o.type=r.inputType:t||("number"===e.type?(o.type="number",n&&void 0===o.step&&(o.step="any")):"integer"===e.type&&(o.type="number",void 0===o.step&&(o.step=1))),r.autocomplete&&(o.autoComplete=r.autocomplete),o}const Gp={props:{disabled:!1},submitText:"Submit",norender:!1};function Kp(){const e=Yu(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{});if(e&&e[Hu]){const t=e[Hu];return{...Gp,...t}}return Gp}function Xp(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{templates:n}=t;return"ButtonTemplates"===e?n[e]:r[e]||n[e]}var Qp=r(31697);const Yp={boolean:{checkbox:"CheckboxWidget",radio:"RadioWidget",select:"SelectWidget",hidden:"HiddenWidget"},string:{text:"TextWidget",password:"PasswordWidget",email:"EmailWidget",hostname:"TextWidget",ipv4:"TextWidget",ipv6:"TextWidget",uri:"URLWidget","data-url":"FileWidget",radio:"RadioWidget",select:"SelectWidget",textarea:"TextareaWidget",hidden:"HiddenWidget",date:"DateWidget",datetime:"DateTimeWidget","date-time":"DateTimeWidget","alt-date":"AltDateWidget","alt-datetime":"AltDateTimeWidget",time:"TimeWidget",color:"ColorWidget",file:"FileWidget"},number:{text:"TextWidget",select:"SelectWidget",updown:"UpDownWidget",range:"RangeWidget",radio:"RadioWidget",hidden:"HiddenWidget"},integer:{text:"TextWidget",select:"SelectWidget",updown:"UpDownWidget",range:"RangeWidget",radio:"RadioWidget",hidden:"HiddenWidget"},array:{select:"SelectWidget",checkboxes:"CheckboxesWidget",files:"FileWidget",hidden:"HiddenWidget"}};function Jp(e,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o=Kd(e);if("function"===typeof r||r&&Qp.isForwardRef((0,t.createElement)(r))||Qp.isMemo(r))return function(e){let t=id()(e,"MergedWidget");if(!t){const r=e.defaultProps&&e.defaultProps.options||{};t=t=>{let{options:n,...o}=t;return(0,De.jsx)(e,{options:{...r,...n},...o})},Nd()(e,"MergedWidget",t)}return t}(r);if("string"!==typeof r)throw new Error("Unsupported widget definition: "+typeof r);if(r in n){return Jp(e,n[r],n)}if("string"===typeof o){if(!(o in Yp))throw new Error(`No widget for type '${o}'`);if(r in Yp[o]){return Jp(e,n[Yp[o][r]],n)}}throw new Error(`No widget '${r}' for type '${o}'`)}function Zp(e,t){return`${Sd()(e)?e:e[Du]}__${t}`}function ef(e){return Zp(e,"description")}function tf(e){return Zp(e,"error")}function rf(e){return Zp(e,"examples")}function nf(e){return Zp(e,"help")}function of(e){return Zp(e,"title")}function af(e){const t=arguments.length>1&&void 0!==arguments[1]&&arguments[1]?` ${rf(e)}`:"";return`${tf(e)} ${ef(e)} ${nf(e)}${t}`}function sf(e,t){return`${e}-${t}`}function lf(e,t,r){return t?r:e}function cf(e,t){const r=e;if(e.enum){let n;if(t){const{enumNames:e}=Yu(t);n=e}return!n&&r.enumNames&&(n=r.enumNames),e.enum.map(((e,t)=>({label:(null===n||void 0===n?void 0:n[t])||String(e),value:e})))}let n,o;return e.anyOf?(n=e.anyOf,o=null===t||void 0===t?void 0:t.anyOf):e.oneOf&&(n=e.oneOf,o=null===t||void 0===t?void 0:t.oneOf),n&&n.map(((e,t)=>{const{title:r}=Yu(null===o||void 0===o?void 0:o[t]),n=e,a=function(e){if(Iu in e&&Array.isArray(e.enum)&&1===e.enum.length)return e.enum[0];if(Nu in e)return e.const;throw new Error("schema cannot be inferred as a constant")}(n);return{schema:n,label:r||n.title||String(a),value:a}}))}function uf(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!e)return{year:-1,month:-1,day:-1,hour:t?-1:0,minute:t?-1:0,second:t?-1:0};const r=new Date(e);if(Number.isNaN(r.getTime()))throw new Error("Unable to parse date "+e);return{year:r.getUTCFullYear(),month:r.getUTCMonth()+1,day:r.getUTCDate(),hour:t?r.getUTCHours():0,minute:t?r.getUTCMinutes():0,second:t?r.getUTCSeconds():0}}function df(e){if(e.const)return!0;if(e.enum&&1===e.enum.length&&!0===e.enum[0])return!0;if(e.anyOf&&1===e.anyOf.length)return df(e.anyOf[0]);if(e.oneOf&&1===e.oneOf.length)return df(e.oneOf[0]);if(e.allOf){const t=e=>df(e);return e.allOf.some(t)}return!1}function pf(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const{year:r,month:n,day:o,hour:a=0,minute:i=0,second:s=0}=e,l=Date.UTC(r,n-1,o,a,i,s),c=new Date(l).toJSON();return t?c:c.slice(0,10)}function ff(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e)return[];let r=[];return Fu in e&&(r=r.concat(e[Fu].map((e=>{const r=`.${t.join(".")}`;return{property:r,message:e,stack:`${r} ${e}`}})))),Object.keys(e).reduce(((r,n)=>{if(n!==Fu){const o=e[n];ed()(o)&&(r=r.concat(ff(o,[...t,n])))}return r}),r)}var hf,mf=r(615),gf=r.n(mf);function vf(e){return Object.keys(e).reduce(((t,r)=>{if("addError"===r)return t;{const n=e[r];return ed()(n)?{...t,[r]:vf(n)}:{...t,[r]:n}}}),{})}function yf(e){if(!e)return"";const t=new Date(e);return`${_p(t.getFullYear(),4)}-${_p(t.getMonth()+1,2)}-${_p(t.getDate(),2)}T${_p(t.getHours(),2)}:${_p(t.getMinutes(),2)}:${_p(t.getSeconds(),2)}.${_p(t.getMilliseconds(),3)}`}function bf(e,t){if(!t)return e;const{errors:r,errorSchema:n}=e;let o=ff(t),a=t;return ld()(n)||(a=up(n,t,!0),o=[...r].concat(o)),{errorSchema:a,errors:o}}function xf(e){return Array.isArray(e)?function(e){for(let t=0;t0&&void 0!==arguments[0]?arguments[0]:21;return crypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>e+=(t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t>62?"-":"_"),"")};function Cf(){return $f()}function Ef(e){return Array.isArray(e)?e.map((e=>({key:Cf(),item:e}))):[]}function jf(e){return Array.isArray(e)?e.map((e=>e.item)):[]}class _f extends t.Component{constructor(e){super(e),this._getNewFormDataRow=()=>{const{schema:e,registry:t}=this.props,{schemaUtils:r}=t;let n=e.items;return lp(e)&&function(e){return!0===e.additionalItems&&console.warn("additionalItems=true is currently not supported"),Eu(e.additionalItems)}(e)&&(n=e.additionalItems),r.getDefaultFormState(n)},this.onAddClick=e=>{this._handleAddClick(e)},this.onAddIndexClick=e=>t=>{this._handleAddClick(t,e)},this.onCopyIndexClick=e=>t=>{t&&t.preventDefault();const{onChange:r,errorSchema:n}=this.props,{keyedFormData:o}=this.state;let a;if(n){a={};for(const t in n){const r=parseInt(t);r<=e?Nd()(a,[r],n[t]):r>e&&Nd()(a,[r+1],n[t])}}const i={key:Cf(),item:Lp()(o[e].item)},s=[...o];void 0!==e?s.splice(e+1,0,i):s.push(i),this.setState({keyedFormData:s,updatedKeyedFormData:!0},(()=>r(jf(s),a)))},this.onDropIndexClick=e=>t=>{t&&t.preventDefault();const{onChange:r,errorSchema:n}=this.props,{keyedFormData:o}=this.state;let a;if(n){a={};for(const t in n){const r=parseInt(t);re&&Nd()(a,[r-1],n[t])}}const i=o.filter(((t,r)=>r!==e));this.setState({keyedFormData:i,updatedKeyedFormData:!0},(()=>r(jf(i),a)))},this.onReorderClick=(e,t)=>r=>{r&&(r.preventDefault(),r.currentTarget.blur());const{onChange:n,errorSchema:o}=this.props;let a;if(o){a={};for(const r in o){const n=parseInt(r);n==e?Nd()(a,[t],o[e]):n==t?Nd()(a,[e],o[t]):Nd()(a,[r],o[n])}}const{keyedFormData:i}=this.state;const s=function(){const r=i.slice();return r.splice(e,1),r.splice(t,0,i[e]),r}();this.setState({keyedFormData:s},(()=>n(jf(s),a)))},this.onChangeForIndex=e=>(t,r,n)=>{const{formData:o,onChange:a,errorSchema:i}=this.props,s=(Array.isArray(o)?o:[]).map(((r,n)=>e===n?"undefined"===typeof t?null:t:r));a(s,i&&i&&{...i,[e]:r},n)},this.onSelectChange=e=>{const{onChange:t,idSchema:r}=this.props;t(e,void 0,r&&r.$id)};const{formData:t=[]}=e,r=Ef(t);this.state={keyedFormData:r,updatedKeyedFormData:!1}}static getDerivedStateFromProps(e,t){if(t.updatedKeyedFormData)return{updatedKeyedFormData:!1};const r=Array.isArray(e.formData)?e.formData:[],n=t.keyedFormData||[];return{keyedFormData:r.length===n.length?n.map(((e,t)=>({key:e.key,item:r[t]}))):Ef(r)}}get itemTitle(){const{schema:e,registry:t}=this.props,{translateString:r}=t;return id()(e,[Lu,"title"],id()(e,[Lu,"description"],r(hf.ArrayItemTitle)))}isItemRequired(e){return Array.isArray(e.type)?!e.type.includes("null"):"null"!==e.type}canAddItem(e){const{schema:t,uiSchema:r,registry:n}=this.props;let{addable:o}=Yu(r,n.globalUiOptions);return!1!==o&&(o=void 0===t.maxItems||e.length=t&&Nd()(a,[r+1],n[e])}}const i={key:Cf(),item:this._getNewFormDataRow()},s=[...o];void 0!==t?s.splice(t,0,i):s.push(i),this.setState({keyedFormData:s,updatedKeyedFormData:!0},(()=>r(jf(s),a)))}render(){const{schema:e,uiSchema:t,idSchema:r,registry:n}=this.props,{schemaUtils:o,translateString:a}=n;if(!(Lu in e)){const o=Xp("UnsupportedFieldTemplate",n,Yu(t));return(0,De.jsx)(o,{schema:e,idSchema:r,reason:a(hf.MissingItems),registry:n})}return o.isMultiSelect(e)?this.renderMultiSelect():xp(t)?this.renderCustomWidget():lp(e)?this.renderFixedArray():o.isFilesArray(e,t)?this.renderFiles():this.renderNormalArray()}renderNormalArray(){const{schema:e,uiSchema:t={},errorSchema:r,idSchema:n,name:o,title:a,disabled:i=!1,readonly:s=!1,autofocus:l=!1,required:c=!1,registry:u,onBlur:d,onFocus:p,idPrefix:f,idSeparator:h="_",rawErrors:m}=this.props,{keyedFormData:g}=this.state,v=e.title||a||o,{schemaUtils:y,formContext:b}=u,x=Yu(t),w=xd()(e.items)?e.items:{},S=y.retrieveSchema(w),A=jf(this.state.keyedFormData),k=this.canAddItem(A),$={canAdd:k,items:g.map(((e,a)=>{const{key:i,item:s}=e,c=s,u=y.retrieveSchema(w,c),b=r?r[a]:void 0,x=n.$id+h+a,S=y.toIdSchema(u,x,c,f,h);return this.renderArrayFieldItem({key:i,index:a,name:o&&`${o}-${a}`,title:v?`${v}-${a+1}`:void 0,canAdd:k,canMoveUp:a>0,canMoveDown:aw.retrieveSchema(e,r[t]))),k=xd()(e.additionalItems)?w.retrieveSchema(e.additionalItems,r):null;(!y||y.length{const{key:c,item:u}=r,p=u,f=l>=A.length,x=(f&&xd()(e.additionalItems)?w.retrieveSchema(e.additionalItems,p):A[l])||{},S=i.$id+a+l,k=w.toIdSchema(x,S,p,o,a),C=f?t.additionalItems||{}:Array.isArray(t.items)?t.items[l]:t.items||{},E=n?n[l]:void 0;return this.renderArrayFieldItem({key:c,index:l,name:s&&`${s}-${l}`,title:b?`${b}-${l+1}`:void 0,canAdd:$,canRemove:f,canMoveUp:l>=A.length+1,canMoveDown:f&&lM[e])),{children:(0,De.jsx)(P,{name:n,title:y,index:r,schema:l,uiSchema:u,formData:c,formContext:C,errorSchema:p,idPrefix:w,idSeparator:S,idSchema:d,required:this.isItemRequired(l),onChange:this.onChangeForIndex(r),onBlur:h,onFocus:m,registry:$,disabled:b,readonly:A,hideError:x,autofocus:f,rawErrors:g}),className:"array-item",disabled:b,canAdd:o,hasCopy:M.copy,hasToolbar:M.toolbar,hasMoveUp:M.moveUp,hasMoveDown:M.moveDown,hasRemove:M.remove,index:r,totalItems:v,key:t,onAddIndexClick:this.onAddIndexClick,onCopyIndexClick:this.onCopyIndexClick,onDropIndexClick:this.onDropIndexClick,onReorderClick:this.onReorderClick,readonly:A,registry:$,schema:l,uiSchema:u}}}const Pf=_f;const Rf=function(e){var t,r,n;const{schema:o,name:a,uiSchema:i,idSchema:s,formData:l,registry:c,required:u,disabled:d,readonly:p,hideError:f,autofocus:h,title:m,onChange:g,onFocus:v,onBlur:y,rawErrors:b}=e,{title:x}=o,{widgets:w,formContext:S,translateString:A,globalUiOptions:k}=c,{widget:$="checkbox",title:C,label:E=!0,...j}=Yu(i,k),_=Jp(o,$,w),P=A(hf.YesLabel),R=A(hf.NoLabel);let O;const N=null!==(r=null!==(t=null!==C&&void 0!==C?C:x)&&void 0!==t?t:m)&&void 0!==r?r:a;if(Array.isArray(o.oneOf))O=cf({oneOf:o.oneOf.map((e=>{if(xd()(e))return{...e,title:e.title||(!0===e.const?P:R)}})).filter((e=>e))},i);else{const e=o,t=null!==(n=o.enum)&&void 0!==n?n:[!0,!1];O=!e.enumNames&&2===t.length&&t.every((e=>"boolean"===typeof e))?[{value:t[0],label:t[0]?P:R},{value:t[1],label:t[1]?P:R}]:cf({enum:t,enumNames:e.enumNames},i)}return(0,De.jsx)(_,{options:{...j,enumOptions:O},schema:o,uiSchema:i,id:s.$id,name:a,onChange:g,onFocus:v,onBlur:y,label:N,hideLabel:!E,value:l,required:u,disabled:d,readonly:p,hideError:f,registry:c,formContext:S,autofocus:h,rawErrors:b})};class Of extends t.Component{constructor(e){super(e),this.onOptionChange=e=>{const{selectedOption:t,retrievedOptions:r}=this.state,{formData:n,onChange:o,registry:a}=this.props,{schemaUtils:i}=a,s=void 0!==e?parseInt(e,10):-1;if(s===t)return;const l=s>=0?r[s]:void 0,c=t>=0?r[t]:void 0;let u=i.sanitizeDataForNewSchema(l,c,n);u&&l&&(u=i.getDefaultFormState(l,u,"excludeObjectChildren")),this.setState({selectedOption:s},(()=>{o(u,void 0,this.getFieldId())}))};const{formData:t,options:r,registry:{schemaUtils:n}}=this.props,o=r.map((e=>n.retrieveSchema(e,t)));this.state={retrievedOptions:o,selectedOption:this.getMatchingOption(0,t,o)}}componentDidUpdate(e,t){const{formData:r,options:n,idSchema:o}=this.props,{selectedOption:a}=this.state;let i=this.state;if(!od(e.options,n)){const{registry:{schemaUtils:e}}=this.props;i={selectedOption:a,retrievedOptions:n.map((t=>e.retrieveSchema(t,r)))}}if(!od(r,e.formData)&&o.$id===e.idSchema.$id){const{retrievedOptions:e}=i,n=this.getMatchingOption(a,r,e);t&&n!==a&&(i={selectedOption:n,retrievedOptions:e})}i!==this.state&&this.setState(i)}getMatchingOption(e,t,r){const{schema:n,registry:{schemaUtils:o}}=this.props,a=Ud(n);return o.getClosestMatchingOption(t,r,e,a)}getFieldId(){const{idSchema:e,schema:t}=this.props;return`${e.$id}${t.oneOf?"__oneof_select":"__anyof_select"}`}render(){const{name:e,disabled:t=!1,errorSchema:r={},formContext:n,onBlur:o,onFocus:a,registry:i,schema:s,uiSchema:l}=this.props,{widgets:c,fields:u,translateString:d,globalUiOptions:p,schemaUtils:f}=i,{SchemaField:h}=u,{selectedOption:m,retrievedOptions:g}=this.state,{widget:v="select",placeholder:y,autofocus:b,autocomplete:x,title:w=s.title,...S}=Yu(l,p),A=Jp({type:"number"},v,c),k=id()(r,Fu,[]),$=dd()(r,[Fu]),C=f.getDisplayLabel(s,l,p),E=m>=0&&g[m]||null;let j;if(E){const{required:e}=s;j=e?Xd({required:e},E):E}let _=[];Wu in s&&l&&Wu in l?Array.isArray(l[Wu])?_=l[Wu]:console.warn(`uiSchema.oneOf is not an array for "${w||e}"`):Ou in s&&l&&Ou in l&&(Array.isArray(l[Ou])?_=l[Ou]:console.warn(`uiSchema.anyOf is not an array for "${w||e}"`));let P=l;m>=0&&_.length>m&&(P=_[m]);const R=w?hf.TitleOptionPrefix:hf.OptionPrefix,O=w?[w]:[],N=g.map(((e,t)=>{const{title:r=e.title}=Yu(_[t]);return{label:r||d(R,O.concat(String(t+1))),value:t}}));return(0,De.jsxs)("div",{className:"panel panel-default panel-body",children:[(0,De.jsx)("div",{className:"form-group",children:(0,De.jsx)(A,{id:this.getFieldId(),name:`${e}${s.oneOf?"__oneof_select":"__anyof_select"}`,schema:{type:"number",default:0},onChange:this.onOptionChange,onBlur:o,onFocus:a,disabled:t||ld()(N),multiple:!1,rawErrors:k,errorSchema:$,value:m>=0?m:void 0,options:{enumOptions:N,...S},registry:i,formContext:n,placeholder:y,autocomplete:x,autofocus:b,label:null!==w&&void 0!==w?w:e,hideLabel:!C})}),j&&(0,De.jsx)(h,{...this.props,schema:j,uiSchema:P})]})}}const Nf=Of,Mf=/\.([0-9]*0)*$/,Tf=/[0.]0*$/;const If=function(e){const{registry:r,onChange:n,formData:o,value:a}=e,[i,s]=(0,t.useState)(a),{StringField:l}=r.fields;let c=o;const u=(0,t.useCallback)((e=>{s(e),"."===`${e}`.charAt(0)&&(e=`0${e}`);const t="string"===typeof e&&e.match(Mf)?ju(e.replace(Tf,"")):ju(e);n(t)}),[n]);if("string"===typeof i&&"number"===typeof c){const e=new RegExp(`^(${String(c).replace(".","\\.")})?\\.?0*$`);i.match(e)&&(c=i)}return(0,De.jsx)(l,{...e,formData:c,onChange:u})};function Ff(){return Ff=Object.assign?Object.assign.bind():function(e){for(var t=1;t(e[t.toLowerCase()]=t,e)),{for:"htmlFor"}),Vf={amp:"&",apos:"'",gt:">",lt:"<",nbsp:"\xa0",quot:"\u201c"},Uf=["style","script"],Hf=/([-A-Z0-9_:]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|(?:\{((?:\\.|{[^}]*?}|[^}])*)\})))?/gi,qf=/mailto:/i,Gf=/\n{2,}$/,Kf=/^(\s*>[\s\S]*?)(?=\n{2,})/,Xf=/^ *> ?/gm,Qf=/^ {2,}\n/,Yf=/^(?:( *[-*_])){3,} *(?:\n *)+\n/,Jf=/^\s*(`{3,}|~{3,}) *(\S+)?([^\n]*?)?\n([\s\S]+?)\s*\1 *(?:\n *)*\n?/,Zf=/^(?: {4}[^\n]+\n*)+(?:\n *)+\n?/,eh=/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,th=/^(?:\n *)*\n/,rh=/\r\n?/g,nh=/^\[\^([^\]]+)](:(.*)((\n+ {4,}.*)|(\n(?!\[\^).+))*)/,oh=/^\[\^([^\]]+)]/,ah=/\f/g,ih=/^---[ \t]*\n(.|\n)*\n---[ \t]*\n/,sh=/^\s*?\[(x|\s)\]/,lh=/^ *(#{1,6}) *([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,ch=/^ *(#{1,6}) +([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,uh=/^([^\n]+)\n *(=|-){3,} *(?:\n *)+\n/,dh=/^ *(?!<[a-z][^ >/]* ?\/>)<([a-z][^ >/]*) ?((?:[^>]*[^/])?)>\n?(\s*(?:<\1[^>]*?>[\s\S]*?<\/\1>|(?!<\1\b)[\s\S])*?)<\/\1>(?!<\/\1>)\n*/i,ph=/&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-fA-F]{1,6});/gi,fh=/^)/,hh=/^(data|aria|x)-[a-z_][a-z\d_.-]*$/,mh=/^ *<([a-z][a-z0-9:]*)(?:\s+((?:<.*?>|[^>])*))?\/?>(?!<\/\1>)(\s*\n)?/i,gh=/^\{.*\}$/,vh=/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,yh=/^<([^ >]+@[^ >]+)>/,bh=/^<([^ >]+:\/[^ >]+)>/,xh=/-([a-z])?/gi,wh=/^(.*\|.*)\n(?: *(\|? *[-:]+ *\|[-| :]*)\n((?:.*\|.*\n)*))?\n?/,Sh=/^\[([^\]]*)\]:\s+]+)>?\s*("([^"]*)")?/,Ah=/^!\[([^\]]*)\] ?\[([^\]]*)\]/,kh=/^\[([^\]]*)\] ?\[([^\]]*)\]/,$h=/(\[|\])/g,Ch=/(\n|^[-*]\s|^#|^ {2,}|^-{2,}|^>\s)/,Eh=/\t/g,jh=/(^ *\||\| *$)/g,_h=/^ *:-+: *$/,Ph=/^ *:-+ *$/,Rh=/^ *-+: *$/,Oh="((?:\\[.*?\\][([].*?[)\\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~~.*?~~|==.*?==|.|\\n)*?)",Nh=new RegExp(`^([*_])\\1${Oh}\\1\\1(?!\\1)`),Mh=new RegExp(`^([*_])${Oh}\\1(?!\\1|\\w)`),Th=new RegExp(`^==${Oh}==`),Ih=new RegExp(`^~~${Oh}~~`),Fh=/^\\([^0-9A-Za-z\s])/,Dh=/^[\s\S]+?(?=[^0-9A-Z\s\u00c0-\uffff&#;.()'"]|\d+\.|\n\n| {2,}\n|\w+:\S|$)/i,zh=/^\n+/,Lh=/^([ \t]*)/,Bh=/\\([^\\])/g,Wh=/ *\n+$/,Vh=/(?:^|\n)( *)$/,Uh="(?:\\d+\\.)",Hh="(?:[*+-])";function qh(e){return"( *)("+(1===e?Uh:Hh)+") +"}const Gh=qh(1),Kh=qh(2);function Xh(e){return new RegExp("^"+(1===e?Gh:Kh))}const Qh=Xh(1),Yh=Xh(2);function Jh(e){return new RegExp("^"+(1===e?Gh:Kh)+"[^\\n]*(?:\\n(?!\\1"+(1===e?Uh:Hh)+" )[^\\n]*)*(\\n|$)","gm")}const Zh=Jh(1),em=Jh(2);function tm(e){const t=1===e?Uh:Hh;return new RegExp("^( *)("+t+") [\\s\\S]+?(?:\\n{2,}(?! )(?!\\1"+t+" (?!"+t+" ))\\n*|\\s*\\n*$)")}const rm=tm(1),nm=tm(2);function om(e,t){const r=1===t,n=r?rm:nm,o=r?Zh:em,a=r?Qh:Yh;return{match(e,t,r){const o=Vh.exec(r);return o&&(t.list||!t.inline&&!t.simple)?n.exec(e=o[1]+e):null},order:1,parse(e,t,n){const i=r?+e[2]:void 0,s=e[0].replace(Gf,"\n").match(o);let l=!1;return{items:s.map((function(e,r){const o=a.exec(e)[0].length,i=new RegExp("^ {1,"+o+"}","gm"),c=e.replace(i,"").replace(a,""),u=r===s.length-1,d=-1!==c.indexOf("\n\n")||u&&l;l=d;const p=n.inline,f=n.list;let h;n.list=!0,d?(n.inline=!1,h=c.replace(Wh,"\n\n")):(n.inline=!0,h=c.replace(Wh,""));const m=t(h,n);return n.inline=p,n.list=f,m})),ordered:r,start:i}},render:(t,r,n)=>e(t.ordered?"ol":"ul",{key:n.key,start:"20"===t.type?t.start:void 0},t.items.map((function(t,o){return e("li",{key:o},r(t,n))})))}}const am=new RegExp("^\\[((?:\\[[^\\]]*\\]|[^\\[\\]]|\\](?=[^\\[]*\\]))*)\\]\\(\\s*?(?:\\s+['\"]([\\s\\S]*?)['\"])?\\s*\\)"),im=/^!\[(.*?)\]\( *((?:\([^)]*\)|[^() ])*) *"?([^)"]*)?"?\)/,sm=[Kf,Jf,Zf,lh,uh,ch,fh,wh,Zh,rm,em,nm],lm=[...sm,/^[^\n]+(?: \n|\n{2,})/,dh,mh];function cm(e){return e.replace(/[\xc0\xc1\xc2\xc3\xc4\xc5\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xc6]/g,"a").replace(/[\xe7\xc7]/g,"c").replace(/[\xf0\xd0]/g,"d").replace(/[\xc8\xc9\xca\xcb\xe9\xe8\xea\xeb]/g,"e").replace(/[\xcf\xef\xce\xee\xcd\xed\xcc\xec]/g,"i").replace(/[\xd1\xf1]/g,"n").replace(/[\xf8\xd8\u0153\u0152\xd5\xf5\xd4\xf4\xd3\xf3\xd2\xf2]/g,"o").replace(/[\xdc\xfc\xdb\xfb\xda\xfa\xd9\xf9]/g,"u").replace(/[\u0178\xff\xdd\xfd]/g,"y").replace(/[^a-z0-9- ]/gi,"").replace(/ /gi,"-").toLowerCase()}function um(e){return Rh.test(e)?"right":_h.test(e)?"center":Ph.test(e)?"left":null}function dm(e,t,r,n){const o=r.inTable;r.inTable=!0;let a=e.trim().split(/( *(?:`[^`]*`|<.*?>.*?<\/.*?>(?!<\/.*?>)|\\\||\|) *)/).reduce(((e,o)=>("|"===o.trim()?e.push(n?{type:"26"}:{type:"27",text:o}):""!==o&&e.push.apply(e,t(o,r)),e)),[]);r.inTable=o;let i=[[]];return a.forEach((function(e,t){"26"===e.type?0!==t&&t!==a.length-1&&i.push([]):("27"!==e.type||null!=a[t+1]&&"26"!==a[t+1].type||(e.text=e.text.trimEnd()),i[i.length-1].push(e))})),i}function pm(e,t,r){r.inline=!0;const n=e[2]?e[2].replace(jh,"").split("|").map(um):[],o=e[3]?function(e,t,r){return e.trim().split("\n").map((function(e){return dm(e,t,r,!0)}))}(e[3],t,r):[],a=dm(e[1],t,r,!!o.length);return r.inline=!1,o.length?{align:n,cells:o,header:a,type:"25"}:{children:a,type:"21"}}function fm(e,t){return null==e.align[t]?{}:{textAlign:e.align[t]}}function hm(e){return function(t,r){return r.inline?e.exec(t):null}}function mm(e){return function(t,r){return r.inline||r.simple?e.exec(t):null}}function gm(e){return function(t,r){return r.inline||r.simple?null:e.exec(t)}}function vm(e){return function(t){return e.exec(t)}}function ym(e,t,r){if(t.inline||t.simple)return null;if(r&&!r.endsWith("\n"))return null;let n="";e.split("\n").every((e=>!sm.some((t=>t.test(e)))&&(n+=e+"\n",e.trim())));const o=n.trimEnd();return""==o?null:[n,o]}function bm(e){try{if(decodeURIComponent(e).replace(/[^A-Za-z0-9/:]/g,"").match(/^\s*(javascript|vbscript|data(?!:image)):/i))return}catch(e){return null}return e}function xm(e){return e.replace(Bh,"$1")}function wm(e,t,r){const n=r.inline||!1,o=r.simple||!1;r.inline=!0,r.simple=!0;const a=e(t,r);return r.inline=n,r.simple=o,a}function Sm(e,t,r){const n=r.inline||!1,o=r.simple||!1;r.inline=!1,r.simple=!0;const a=e(t,r);return r.inline=n,r.simple=o,a}function Am(e,t,r){const n=r.inline||!1;r.inline=!1;const o=e(t,r);return r.inline=n,o}const km=(e,t,r)=>({children:wm(t,e[1],r)});function $m(){return{}}function Cm(){return null}function Em(){for(var e=arguments.length,t=new Array(e),r=0;r0&&void 0!==arguments[0]?arguments[0]:"",r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r.overrides=r.overrides||{},r.slugify=r.slugify||cm,r.namedCodesToUnicode=r.namedCodesToUnicode?Ff({},Vf,r.namedCodesToUnicode):Vf;const n=r.createElement||t.createElement;function o(e,t){const o=jm(r.overrides,`${e}.props`,{});for(var a=arguments.length,i=new Array(a>2?a-2:0),s=2;s1||r.forceWrapper)s=a;else{if(1===a.length)return s=a[0],"string"==typeof s?o("span",{key:"outer"},s):s;s=null}return t.createElement(i,{key:"outer"},s)}function i(e){const r=e.match(Hf);return r?r.reduce((function(e,r,n){const o=r.indexOf("=");if(-1!==o){const i=function(e){return-1!==e.indexOf("-")&&null===e.match(hh)&&(e=e.replace(xh,(function(e,t){return t.toUpperCase()}))),e}(r.slice(0,o)).trim(),s=function(e){const t=e[0];return('"'===t||"'"===t)&&e.length>=2&&e[e.length-1]===t?e.slice(1,-1):e}(r.slice(o+1).trim()),l=Wf[i]||i,c=e[l]=function(e,t){return"style"===e?t.split(/;\s?/).reduce((function(e,t){const r=t.slice(0,t.indexOf(":"));return e[r.trim().replace(/(-[a-z])/g,(e=>e[1].toUpperCase()))]=t.slice(r.length+1).trim(),e}),{}):"href"===e||"src"===e?bm(t):(t.match(gh)&&(t=t.slice(1,t.length-1)),"true"===t||"false"!==t&&t)}(i,s);"string"==typeof c&&(dh.test(c)||mh.test(c))&&(e[l]=t.cloneElement(a(c.trim()),{key:n}))}else"style"!==r&&(e[Wf[r]||r]=!0);return e}),{}):null}const s=[],l={},c={0:{match:gm(Kf),order:1,parse:(e,t,r)=>({children:t(e[0].replace(Xf,""),r)}),render:(e,t,r)=>o("blockquote",{key:r.key},t(e.children,r))},1:{match:vm(Qf),order:1,parse:$m,render:(e,t,r)=>o("br",{key:r.key})},2:{match:gm(Yf),order:1,parse:$m,render:(e,t,r)=>o("hr",{key:r.key})},3:{match:gm(Zf),order:0,parse:e=>({lang:void 0,text:e[0].replace(/^ {4}/gm,"").replace(/\n+$/,"")}),render:(e,t,r)=>o("pre",{key:r.key},o("code",Ff({},e.attrs,{className:e.lang?`lang-${e.lang}`:""}),e.text))},4:{match:gm(Jf),order:0,parse:e=>({attrs:i(e[3]||""),lang:e[2]||void 0,text:e[4],type:"3"})},5:{match:mm(eh),order:3,parse:e=>({text:e[2]}),render:(e,t,r)=>o("code",{key:r.key},e.text)},6:{match:gm(nh),order:0,parse:e=>(s.push({footnote:e[2],identifier:e[1]}),{}),render:Cm},7:{match:hm(oh),order:1,parse:e=>({target:`#${r.slugify(e[1])}`,text:e[1]}),render:(e,t,r)=>o("a",{key:r.key,href:bm(e.target)},o("sup",{key:r.key},e.text))},8:{match:hm(sh),order:1,parse:e=>({completed:"x"===e[1].toLowerCase()}),render:(e,t,r)=>o("input",{checked:e.completed,key:r.key,readOnly:!0,type:"checkbox"})},9:{match:gm(r.enforceAtxHeadings?ch:lh),order:1,parse:(e,t,n)=>({children:wm(t,e[2],n),id:r.slugify(e[2]),level:e[1].length}),render:(e,t,r)=>o(`h${e.level}`,{id:e.id,key:r.key},t(e.children,r))},10:{match:gm(uh),order:0,parse:(e,t,r)=>({children:wm(t,e[1],r),level:"="===e[2]?1:2,type:"9"})},11:{match:vm(dh),order:1,parse(e,t,r){const[,n]=e[3].match(Lh),o=new RegExp(`^${n}`,"gm"),a=e[3].replace(o,""),s=(l=a,lm.some((e=>e.test(l)))?Am:wm);var l;const c=e[1].toLowerCase(),u=-1!==Uf.indexOf(c),d={attrs:i(e[2]),noInnerParse:u,tag:(u?c:e[1]).trim()};return r.inAnchor=r.inAnchor||"a"===c,u?d.text=e[3]:d.children=s(t,a,r),r.inAnchor=!1,d},render:(e,t,r)=>o(e.tag,Ff({key:r.key},e.attrs),e.text||t(e.children,r))},13:{match:vm(mh),order:1,parse:e=>({attrs:i(e[2]||""),tag:e[1].trim()}),render:(e,t,r)=>o(e.tag,Ff({},e.attrs,{key:r.key}))},12:{match:vm(fh),order:1,parse:()=>({}),render:Cm},14:{match:mm(im),order:1,parse:e=>({alt:e[1],target:xm(e[2]),title:e[3]}),render:(e,t,r)=>o("img",{key:r.key,alt:e.alt||void 0,title:e.title||void 0,src:bm(e.target)})},15:{match:hm(am),order:3,parse:(e,t,r)=>({children:Sm(t,e[1],r),target:xm(e[2]),title:e[3]}),render:(e,t,r)=>o("a",{key:r.key,href:bm(e.target),title:e.title},t(e.children,r))},16:{match:hm(bh),order:0,parse:e=>({children:[{text:e[1],type:"27"}],target:e[1],type:"15"})},17:{match:(e,t)=>t.inAnchor?null:hm(vh)(e,t),order:0,parse:e=>({children:[{text:e[1],type:"27"}],target:e[1],title:void 0,type:"15"})},18:{match:hm(yh),order:0,parse(e){let t=e[1],r=e[1];return qf.test(r)||(r="mailto:"+r),{children:[{text:t.replace("mailto:",""),type:"27"}],target:r,type:"15"}}},20:om(o,1),33:om(o,2),19:{match:gm(th),order:3,parse:$m,render:()=>"\n"},21:{match:ym,order:3,parse:km,render:(e,t,r)=>o("p",{key:r.key},t(e.children,r))},22:{match:hm(Sh),order:0,parse:e=>(l[e[1]]={target:e[2],title:e[4]},{}),render:Cm},23:{match:mm(Ah),order:0,parse:e=>({alt:e[1]||void 0,ref:e[2]}),render:(e,t,r)=>l[e.ref]?o("img",{key:r.key,alt:e.alt,src:bm(l[e.ref].target),title:l[e.ref].title}):null},24:{match:hm(kh),order:0,parse:(e,t,r)=>({children:t(e[1],r),fallbackChildren:t(e[0].replace($h,"\\$1"),r),ref:e[2]}),render:(e,t,r)=>l[e.ref]?o("a",{key:r.key,href:bm(l[e.ref].target),title:l[e.ref].title},t(e.children,r)):o("span",{key:r.key},t(e.fallbackChildren,r))},25:{match:gm(wh),order:1,parse:pm,render(e,t,r){const n=e;return o("table",{key:r.key},o("thead",null,o("tr",null,n.header.map((function(e,a){return o("th",{key:a,style:fm(n,a)},t(e,r))})))),o("tbody",null,n.cells.map((function(e,a){return o("tr",{key:a},e.map((function(e,a){return o("td",{key:a,style:fm(n,a)},t(e,r))})))}))))}},27:{match:vm(Dh),order:4,parse:e=>({text:e[0].replace(ph,((e,t)=>r.namedCodesToUnicode[t]?r.namedCodesToUnicode[t]:e))}),render:e=>e.text},28:{match:mm(Nh),order:2,parse:(e,t,r)=>({children:t(e[2],r)}),render:(e,t,r)=>o("strong",{key:r.key},t(e.children,r))},29:{match:mm(Mh),order:3,parse:(e,t,r)=>({children:t(e[2],r)}),render:(e,t,r)=>o("em",{key:r.key},t(e.children,r))},30:{match:mm(Fh),order:1,parse:e=>({text:e[1],type:"27"})},31:{match:mm(Th),order:3,parse:km,render:(e,t,r)=>o("mark",{key:r.key},t(e.children,r))},32:{match:mm(Ih),order:3,parse:km,render:(e,t,r)=>o("del",{key:r.key},t(e.children,r))}};!0===r.disableParsingRawHTML&&(delete c[11],delete c[13]);const u=function(e){let t=Object.keys(e);function r(n,o){let a=[],i="";for(;n;){let s=0;for(;sa(r,n,o)),r,n,o):a(r,n,o)}}(c,r.renderRule),function e(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Array.isArray(t)){const n=r.key,o=[];let a=!1;for(let i=0;i{let{children:r="",options:n}=e,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,Df);return t.cloneElement(_m(r,n),o)};var Rm=r(16940),Om=r.n(Rm);class Nm extends t.Component{constructor(){var e;super(...arguments),e=this,this.state={wasPropertyKeyModified:!1,additionalProperties:{}},this.onPropertyChange=function(t){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return(n,o,a)=>{const{formData:i,onChange:s,errorSchema:l}=e.props;void 0===n&&r&&(n="");s({...i,[t]:n},l&&l&&{...l,[t]:o},a)}},this.onDropPropertyClick=e=>t=>{t.preventDefault();const{onChange:r,formData:n}=this.props,o={...n};Om()(o,e),r(o)},this.getAvailableKey=(e,t)=>{const{uiSchema:r,registry:n}=this.props,{duplicateKeySuffixSeparator:o="-"}=Yu(r,n.globalUiOptions);let a=0,i=e;for(;gd()(t,i);)i=`${e}${o}${++a}`;return i},this.onKeyChange=e=>(t,r)=>{if(e===t)return;const{formData:n,onChange:o,errorSchema:a}=this.props;t=this.getAvailableKey(t,n);const i={...n},s={[e]:t},l=Object.keys(i).map((e=>({[s[e]||e]:i[e]}))),c=Object.assign({},...l);this.setState({wasPropertyKeyModified:!0}),o(c,a&&a&&{...a,[t]:r})},this.handleAddClick=e=>()=>{var t;if(!e.additionalProperties)return;const{formData:r,onChange:n,registry:o}=this.props,a={...r};let i,s,l;if(xd()(e.additionalProperties)){i=e.additionalProperties.type,s=e.additionalProperties.const,l=e.additionalProperties.default;let t=e.additionalProperties;if(qu in t){const{schemaUtils:e}=o;t=e.retrieveSchema({$ref:t[qu]},r),i=t.type,s=t.const,l=t.default}i||!(Ou in t)&&!(Wu in t)||(i="object")}const c=this.getAvailableKey("newKey",a),u=null!==(t=null!==s&&void 0!==s?s:l)&&void 0!==t?t:this.getDefaultValue(i);Nd()(a,c,u),n(a)}}isRequired(e){const{schema:t}=this.props;return Array.isArray(t.required)&&-1!==t.required.indexOf(e)}getDefaultValue(e){const{registry:{translateString:t}}=this.props;switch(e){case"array":return[];case"boolean":return!1;case"null":return null;case"number":return 0;case"object":return{};default:return t(hf.NewStringDefault)}}render(){var e,t,r,n;const{schema:o,uiSchema:a={},formData:i,errorSchema:s,idSchema:l,name:c,required:u=!1,disabled:d,readonly:p,hideError:f,idPrefix:h,idSeparator:m,onBlur:g,onFocus:v,registry:y,title:b}=this.props,{fields:x,formContext:w,schemaUtils:S,translateString:A,globalUiOptions:k}=y,{SchemaField:$}=x,C=S.retrieveSchema(o,i),E=Yu(a,k),{properties:j={}}=C,_=null!==(r=null!==(t=null!==(e=E.title)&&void 0!==e?e:C.title)&&void 0!==t?t:b)&&void 0!==r?r:c,P=null!==(n=E.description)&&void 0!==n?n:C.description;let R;try{R=function(e,t){if(!Array.isArray(t))return e;const r=e=>e.reduce(((e,t)=>(e[t]=!0,e)),{}),n=r(e),o=t.filter((e=>"*"===e||n[e])),a=r(o),i=e.filter((e=>!a[e])),s=o.indexOf("*");if(-1===s){if(i.length)throw new Error("uiSchema order list does not contain "+((l=i).length>1?`properties '${l.join("', '")}'`:`property '${l[0]}'`));return o}var l;if(s!==o.lastIndexOf("*"))throw new Error("uiSchema order list contains more than one wildcard item");const c=[...o];return c.splice(s,1,...i),c}(Object.keys(j),E.order)}catch(M){return(0,De.jsxs)("div",{children:[(0,De.jsx)("p",{className:"config-error",style:{color:"red"},children:(0,De.jsx)(Pm,{options:{disableParsingRawHTML:!0},children:A(hf.InvalidObjectField,[c||"root",M.message])})}),(0,De.jsx)("pre",{children:JSON.stringify(C)})]})}const O=Xp("ObjectFieldTemplate",y,E),N={title:!1===E.label?"":_,description:!1===E.label?void 0:P,properties:R.map((e=>{const t=gd()(C,[Vu,e,_u]),r=t?a.additionalProperties:a[e],n="hidden"===Yu(r).widget,o=id()(l,[e],{});return{content:(0,De.jsx)($,{name:e,required:this.isRequired(e),schema:id()(C,[Vu,e],{}),uiSchema:r,errorSchema:id()(s,e),idSchema:o,idPrefix:h,idSeparator:m,formData:id()(i,e),formContext:w,wasPropertyKeyModified:this.state.wasPropertyKeyModified,onKeyChange:this.onKeyChange(e),onChange:this.onPropertyChange(e,t),onBlur:g,onFocus:v,registry:y,disabled:d,readonly:p,hideError:f,onDropPropertyClick:this.onDropPropertyClick},e),name:e,readonly:p,disabled:d,required:u,hidden:n}})),readonly:p,disabled:d,required:u,idSchema:l,uiSchema:a,errorSchema:s,schema:C,formData:i,formContext:w,registry:y};return(0,De.jsx)(O,{...N,onAddClick:this.handleAddClick})}}const Mm=Nm,Tm={array:"ArrayField",boolean:"BooleanField",integer:"NumberField",number:"NumberField",object:"ObjectField",string:"StringField",null:"NullField"};function Im(e){var r,n,o;const{schema:a,idSchema:i,uiSchema:s,formData:l,errorSchema:c,idPrefix:u,idSeparator:d,name:p,onChange:f,onKeyChange:h,onDropPropertyClick:m,required:g,registry:v,wasPropertyKeyModified:y=!1}=e,{formContext:b,schemaUtils:x,globalUiOptions:w}=v,S=Yu(s,w),A=Xp("FieldTemplate",v,S),k=Xp("DescriptionFieldTemplate",v,S),$=Xp("FieldHelpTemplate",v,S),C=Xp("FieldErrorTemplate",v,S),E=x.retrieveSchema(a,l),j=i[Du],_=up(x.toIdSchema(E,j,l,u,d),i),P=(0,t.useCallback)(((e,t,r)=>f(e,t,r||j)),[j,f]),R=function(e,t,r,n){const o=t.field,{fields:a,translateString:i}=n;if("function"===typeof o)return o;if("string"===typeof o&&o in a)return a[o];const s=Kd(e),l=Array.isArray(s)?s[0]:s||"",c=e.$id;let u=Tm[l];return c&&c in a&&(u=c),u||!e.anyOf&&!e.oneOf?u in a?a[u]:()=>{const o=Xp("UnsupportedFieldTemplate",n,t);return(0,De.jsx)(o,{schema:e,idSchema:r,reason:i(hf.UnknownFieldType,[String(e.type)]),registry:n})}:()=>null}(E,S,_,v),O=Boolean(null!==(r=S.disabled)&&void 0!==r?r:e.disabled),N=Boolean(null!==(n=S.readonly)&&void 0!==n?n:e.readonly||e.schema.const||e.schema.readOnly||E.readOnly),M=S.hideError,T=void 0===M?e.hideError:Boolean(M),I=Boolean(null!==(o=S.autofocus)&&void 0!==o?o:e.autofocus);if(0===Object.keys(E).length)return null;const F=x.getDisplayLabel(E,s,w),{__errors:D,...z}=c||{},L=dd()(s,["ui:classNames","classNames","ui:style"]);Qu in L&&(L[Qu]=dd()(L[Qu],["classNames","style"]));const B=(0,De.jsx)(R,{...e,onChange:P,idSchema:_,schema:E,uiSchema:L,disabled:O,readonly:N,hideError:T,autofocus:I,errorSchema:z,formContext:b,rawErrors:D}),W=_[Du];let V;V=y||_u in E?p:S.title||e.schema.title||E.title||e.title||p;const U=S.description||e.schema.description||E.description||"",H=S.enableMarkdownInDescription?(0,De.jsx)(Pm,{options:{disableParsingRawHTML:!0},children:U}):U,q=S.help,G="hidden"===S.widget,K=["form-group","field",`field-${Kd(E)}`];!T&&D&&D.length>0&&K.push("field-error has-error has-danger"),(null===s||void 0===s?void 0:s.classNames)&&K.push(s.classNames),S.classNames&&K.push(S.classNames);const X=(0,De.jsx)($,{help:q,idSchema:_,schema:E,uiSchema:s,hasErrors:!T&&D&&D.length>0,registry:v}),Q=T||(E.anyOf||E.oneOf)&&!x.isSelect(E)?void 0:(0,De.jsx)(C,{errors:D,errorSchema:c,idSchema:_,schema:E,uiSchema:s,registry:v}),Y={description:(0,De.jsx)(k,{id:ef(W),description:H,schema:E,uiSchema:s,registry:v}),rawDescription:U,help:X,rawHelp:"string"===typeof q?q:void 0,errors:Q,rawErrors:T?void 0:D,id:W,label:V,hidden:G,onChange:f,onKeyChange:h,onDropPropertyClick:m,required:g,disabled:O,readonly:N,hideError:T,displayLabel:F,classNames:K.join(" ").trim(),style:S.style,formContext:b,formData:l,schema:E,uiSchema:s,registry:v},J=v.fields.AnyOfField,Z=v.fields.OneOfField,ee=(null===s||void 0===s?void 0:s["ui:field"])&&!0===(null===s||void 0===s?void 0:s["ui:fieldReplacesAnyOrOneOf"]);return(0,De.jsx)(A,{...Y,children:(0,De.jsxs)(De.Fragment,{children:[B,E.anyOf&&!ee&&!x.isSelect(E)&&(0,De.jsx)(J,{name:p,disabled:O,readonly:N,hideError:T,errorSchema:c,formData:l,formContext:b,idPrefix:u,idSchema:_,idSeparator:d,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,options:E.anyOf.map((e=>x.retrieveSchema(xd()(e)?e:{},l))),registry:v,required:g,schema:E,uiSchema:s}),E.oneOf&&!ee&&!x.isSelect(E)&&(0,De.jsx)(Z,{name:p,disabled:O,readonly:N,hideError:T,errorSchema:c,formData:l,formContext:b,idPrefix:u,idSchema:_,idSeparator:d,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,options:E.oneOf.map((e=>x.retrieveSchema(xd()(e)?e:{},l))),registry:v,required:g,schema:E,uiSchema:s})]})})}class Fm extends t.Component{shouldComponentUpdate(e){return!od(this.props,e)}render(){return(0,De.jsx)(Im,{...this.props})}}const Dm=Fm;const zm=function(e){var t;const{schema:r,name:n,uiSchema:o,idSchema:a,formData:i,required:s,disabled:l=!1,readonly:c=!1,autofocus:u=!1,onChange:d,onBlur:p,onFocus:f,registry:h,rawErrors:m,hideError:g}=e,{title:v,format:y}=r,{widgets:b,formContext:x,schemaUtils:w,globalUiOptions:S}=h,A=w.isSelect(r)?cf(r,o):void 0;let k=A?"select":"text";y&&function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{return Jp(e,t,r),!0}catch(Bf){const t=Bf;if(t.message&&(t.message.startsWith("No widget")||t.message.startsWith("Unsupported widget")))return!1;throw Bf}}(r,y,b)&&(k=y);const{widget:$=k,placeholder:C="",title:E,...j}=Yu(o),_=w.getDisplayLabel(r,o,S),P=null!==(t=null!==E&&void 0!==E?E:v)&&void 0!==t?t:n,R=Jp(r,$,b);return(0,De.jsx)(R,{options:{...j,enumOptions:A},schema:r,uiSchema:o,id:a.$id,name:n,label:P,hideLabel:!_,hideError:g,value:i,onChange:d,onBlur:p,onFocus:f,required:s,disabled:l,readonly:c,formContext:x,autofocus:u,registry:h,placeholder:C,rawErrors:m})};const Lm=function(e){const{formData:r,onChange:n}=e;return(0,t.useEffect)((()=>{void 0===r&&n(null)}),[r,n]),null};const Bm=function(){return{AnyOfField:Nf,ArrayField:Pf,BooleanField:Rf,NumberField:If,ObjectField:Mm,OneOfField:Nf,SchemaField:Dm,StringField:zm,NullField:Lm}};function Wm(e){const{idSchema:t,description:r,registry:n,schema:o,uiSchema:a}=e,i=Yu(a,n.globalUiOptions),{label:s=!0}=i;if(!r||!s)return null;const l=Xp("DescriptionFieldTemplate",n,i);return(0,De.jsx)(l,{id:ef(t),description:r,schema:o,uiSchema:a,registry:n})}function Vm(e){const{children:t,className:r,disabled:n,hasToolbar:o,hasMoveDown:a,hasMoveUp:i,hasRemove:s,hasCopy:l,index:c,onCopyIndexClick:u,onDropIndexClick:d,onReorderClick:p,readonly:f,registry:h,uiSchema:m}=e,{CopyButton:g,MoveDownButton:v,MoveUpButton:y,RemoveButton:b}=h.templates.ButtonTemplates,x={flex:1,paddingLeft:6,paddingRight:6,fontWeight:"bold"};return(0,De.jsxs)("div",{className:r,children:[(0,De.jsx)("div",{className:o?"col-xs-9":"col-xs-12",children:t}),o&&(0,De.jsx)("div",{className:"col-xs-3 array-item-toolbox",children:(0,De.jsxs)("div",{className:"btn-group",style:{display:"flex",justifyContent:"space-around"},children:[(i||a)&&(0,De.jsx)(y,{style:x,disabled:n||f||!i,onClick:p(c,c-1),uiSchema:m,registry:h}),(i||a)&&(0,De.jsx)(v,{style:x,disabled:n||f||!a,onClick:p(c,c+1),uiSchema:m,registry:h}),l&&(0,De.jsx)(g,{style:x,disabled:n||f,onClick:u(c),uiSchema:m,registry:h}),s&&(0,De.jsx)(b,{style:x,disabled:n||f,onClick:d(c),uiSchema:m,registry:h})]})})]})}function Um(e){const{canAdd:t,className:r,disabled:n,idSchema:o,uiSchema:a,items:i,onAddClick:s,readonly:l,registry:c,required:u,schema:d,title:p}=e,f=Yu(a),h=Xp("ArrayFieldDescriptionTemplate",c,f),m=Xp("ArrayFieldItemTemplate",c,f),g=Xp("ArrayFieldTitleTemplate",c,f),{ButtonTemplates:{AddButton:v}}=c.templates;return(0,De.jsxs)("fieldset",{className:r,id:o.$id,children:[(0,De.jsx)(g,{idSchema:o,title:f.title||p,required:u,schema:d,uiSchema:a,registry:c}),(0,De.jsx)(h,{idSchema:o,description:f.description||d.description,schema:d,uiSchema:a,registry:c}),(0,De.jsx)("div",{className:"row array-item-list",children:i&&i.map((e=>{let{key:t,...r}=e;return(0,De.jsx)(m,{...r},t)}))}),t&&(0,De.jsx)(v,{className:"array-item-add",onClick:s,disabled:n||l,uiSchema:a,registry:c})]})}function Hm(e){const{idSchema:t,title:r,schema:n,uiSchema:o,required:a,registry:i}=e,s=Yu(o,i.globalUiOptions),{label:l=!0}=s;if(!r||!l)return null;const c=Xp("TitleFieldTemplate",i,s);return(0,De.jsx)(c,{id:of(t),title:r,required:a,schema:n,uiSchema:o,registry:i})}function qm(e){const{id:r,name:n,value:o,readonly:a,disabled:i,autofocus:s,onBlur:l,onFocus:c,onChange:u,onChangeOverride:d,options:p,schema:f,uiSchema:h,formContext:m,registry:g,rawErrors:v,type:y,hideLabel:b,hideError:x,...w}=e;if(!r)throw console.log("No id for",e),new Error(`no id for props ${JSON.stringify(e)}`);const S={...w,...qp(f,y,p)};let A;A="number"===S.type||"integer"===S.type?o||0===o?o:"":null==o?"":o;const k=(0,t.useCallback)((e=>{let{target:{value:t}}=e;return u(""===t?p.emptyValue:t)}),[u,p]),$=(0,t.useCallback)((e=>{let{target:t}=e;return l(r,t&&t.value)}),[l,r]),C=(0,t.useCallback)((e=>{let{target:t}=e;return c(r,t&&t.value)}),[c,r]);return(0,De.jsxs)(De.Fragment,{children:[(0,De.jsx)("input",{id:r,name:r,className:"form-control",readOnly:a,disabled:i,autoFocus:s,value:A,...S,list:f.examples?rf(r):void 0,onChange:d||k,onBlur:$,onFocus:C,"aria-describedby":af(r,!!f.examples)}),Array.isArray(f.examples)&&(0,De.jsx)("datalist",{id:rf(r),children:f.examples.concat(f.default&&!f.examples.includes(f.default)?[f.default]:[]).map((e=>(0,De.jsx)("option",{value:e},e)))},`datalist_${r}`)]})}function Gm(e){let{uiSchema:t}=e;const{submitText:r,norender:n,props:o={}}=Kp(t);return n?null:(0,De.jsx)("div",{children:(0,De.jsx)("button",{type:"submit",...o,className:`btn btn-info ${o.className||""}`,children:r})})}function Km(e){const{iconType:t="default",icon:r,className:n,uiSchema:o,registry:a,...i}=e;return(0,De.jsx)("button",{type:"button",className:`btn btn-${t} ${n}`,...i,children:(0,De.jsx)("i",{className:`glyphicon glyphicon-${r}`})})}function Xm(e){const{registry:{translateString:t}}=e;return(0,De.jsx)(Km,{title:t(hf.CopyButton),className:"array-item-copy",...e,icon:"copy"})}function Qm(e){const{registry:{translateString:t}}=e;return(0,De.jsx)(Km,{title:t(hf.MoveDownButton),className:"array-item-move-down",...e,icon:"arrow-down"})}function Ym(e){const{registry:{translateString:t}}=e;return(0,De.jsx)(Km,{title:t(hf.MoveUpButton),className:"array-item-move-up",...e,icon:"arrow-up"})}function Jm(e){const{registry:{translateString:t}}=e;return(0,De.jsx)(Km,{title:t(hf.RemoveButton),className:"array-item-remove",...e,iconType:"danger",icon:"remove"})}function Zm(e){let{className:t,onClick:r,disabled:n,registry:o}=e;const{translateString:a}=o;return(0,De.jsx)("div",{className:"row",children:(0,De.jsx)("p",{className:`col-xs-3 col-xs-offset-9 text-right ${t}`,children:(0,De.jsx)(Km,{iconType:"info",icon:"plus",className:"btn-add col-xs-12",title:a(hf.AddButton),onClick:r,disabled:n,registry:o})})})}const eg=function(){return{SubmitButton:Gm,AddButton:Zm,CopyButton:Xm,MoveDownButton:Qm,MoveUpButton:Ym,RemoveButton:Jm}};function tg(e){const{id:t,description:r}=e;return r?"string"===typeof r?(0,De.jsx)("p",{id:t,className:"field-description",children:r}):(0,De.jsx)("div",{id:t,className:"field-description",children:r}):null}function rg(e){let{errors:t,registry:r}=e;const{translateString:n}=r;return(0,De.jsxs)("div",{className:"panel panel-danger errors",children:[(0,De.jsx)("div",{className:"panel-heading",children:(0,De.jsx)("h3",{className:"panel-title",children:n(hf.ErrorsLabel)})}),(0,De.jsx)("ul",{className:"list-group",children:t.map(((e,t)=>(0,De.jsx)("li",{className:"list-group-item text-danger",children:e.stack},t)))})]})}const ng="*";function og(e){const{label:t,required:r,id:n}=e;return t?(0,De.jsxs)("label",{className:"control-label",htmlFor:n,children:[t,r&&(0,De.jsx)("span",{className:"required",children:ng})]}):null}const ag=function(e){const{id:t,label:r,children:n,errors:o,help:a,description:i,hidden:s,required:l,displayLabel:c,registry:u,uiSchema:d}=e,p=Xp("WrapIfAdditionalTemplate",u,Yu(d));return s?(0,De.jsx)("div",{className:"hidden",children:n}):(0,De.jsxs)(p,{...e,children:[c&&(0,De.jsx)(og,{label:r,required:l,id:t}),c&&i?i:null,n,o,a]})};function ig(e){const{errors:t=[],idSchema:r}=e;if(0===t.length)return null;const n=tf(r);return(0,De.jsx)("div",{children:(0,De.jsx)("ul",{id:n,className:"error-detail bs-callout bs-callout-info",children:t.filter((e=>!!e)).map(((e,t)=>(0,De.jsx)("li",{className:"text-danger",children:e},t)))})})}function sg(e){const{idSchema:t,help:r}=e;if(!r)return null;const n=nf(t);return"string"===typeof r?(0,De.jsx)("p",{id:n,className:"help-block",children:r}):(0,De.jsx)("div",{id:n,className:"help-block",children:r})}function lg(e){const{description:t,disabled:r,formData:n,idSchema:o,onAddClick:a,properties:i,readonly:s,registry:l,required:c,schema:u,title:d,uiSchema:p}=e,f=Yu(p),h=Xp("TitleFieldTemplate",l,f),m=Xp("DescriptionFieldTemplate",l,f),{ButtonTemplates:{AddButton:g}}=l.templates;return(0,De.jsxs)("fieldset",{id:o.$id,children:[d&&(0,De.jsx)(h,{id:of(o),title:d,required:c,schema:u,uiSchema:p,registry:l}),t&&(0,De.jsx)(m,{id:ef(o),description:t,schema:u,uiSchema:p,registry:l}),i.map((e=>e.content)),Ju(u,p,n)&&(0,De.jsx)(g,{className:"object-property-expand",onClick:a(u),disabled:r||s,uiSchema:p,registry:l})]})}const cg="*";function ug(e){const{id:t,title:r,required:n}=e;return(0,De.jsxs)("legend",{id:t,children:[r,n&&(0,De.jsx)("span",{className:"required",children:cg})]})}const dg=function(e){const{schema:t,idSchema:r,reason:n,registry:o}=e,{translateString:a}=o;let i=hf.UnsupportedField;const s=[];return r&&r.$id&&(i=hf.UnsupportedFieldWithId,s.push(r.$id)),n&&(i=i===hf.UnsupportedField?hf.UnsupportedFieldWithReason:hf.UnsupportedFieldWithIdAndReason,s.push(n)),(0,De.jsxs)("div",{className:"unsupported-field",children:[(0,De.jsx)("p",{children:(0,De.jsx)(Pm,{options:{disableParsingRawHTML:!0},children:a(i,s)})}),t&&(0,De.jsx)("pre",{children:JSON.stringify(t,null,2)})]})};function pg(e){const{id:t,classNames:r,style:n,disabled:o,label:a,onKeyChange:i,onDropPropertyClick:s,readonly:l,required:c,schema:u,children:d,uiSchema:p,registry:f}=e,{templates:h,translateString:m}=f,{RemoveButton:g}=h.ButtonTemplates,v=m(hf.KeyLabel,[a]);return _u in u?(0,De.jsx)("div",{className:r,style:n,children:(0,De.jsxs)("div",{className:"row",children:[(0,De.jsx)("div",{className:"col-xs-5 form-additional",children:(0,De.jsxs)("div",{className:"form-group",children:[(0,De.jsx)(og,{label:v,required:c,id:`${t}-key`}),(0,De.jsx)("input",{className:"form-control",type:"text",id:`${t}-key`,onBlur:e=>{let{target:t}=e;return i(t&&t.value)},defaultValue:a})]})}),(0,De.jsx)("div",{className:"form-additional form-group col-xs-5",children:d}),(0,De.jsx)("div",{className:"col-xs-2",children:(0,De.jsx)(g,{className:"array-item-remove btn-block",style:{border:"0"},disabled:o||l,onClick:s(a),uiSchema:p,registry:f})})]})}):(0,De.jsx)("div",{className:r,style:n,children:d})}const fg=function(){return{ArrayFieldDescriptionTemplate:Wm,ArrayFieldItemTemplate:Vm,ArrayFieldTemplate:Um,ArrayFieldTitleTemplate:Hm,ButtonTemplates:eg(),BaseInputTemplate:qm,DescriptionFieldTemplate:tg,ErrorListTemplate:rg,FieldTemplate:ag,FieldErrorTemplate:ig,FieldHelpTemplate:sg,ObjectFieldTemplate:lg,TitleFieldTemplate:ug,UnsupportedFieldTemplate:dg,WrapIfAdditionalTemplate:pg}};function hg(e){let{type:t,range:r,value:n,select:o,rootId:a,name:i,disabled:s,readonly:l,autofocus:c,registry:u,onBlur:d,onFocus:p}=e;const f=a+"_"+t,{SelectWidget:h}=u.widgets;return(0,De.jsx)(h,{schema:{type:"integer"},id:f,name:i,className:"form-control",options:{enumOptions:Pp(r[0],r[1])},placeholder:t,value:n,disabled:s,readonly:l,autofocus:c,onChange:e=>o(t,e),onBlur:d,onFocus:p,registry:u,label:"","aria-describedby":af(a)})}const mg=function(e){let{time:r=!1,disabled:n=!1,readonly:o=!1,autofocus:a=!1,options:i,id:s,name:l,registry:c,onBlur:u,onFocus:d,onChange:p,value:f}=e;const{translateString:h}=c,[m,g]=(0,t.useState)(f),[v,y]=(0,t.useReducer)(((e,t)=>({...e,...t})),uf(f,r));(0,t.useEffect)((()=>{const e=pf(v,r);!function(e){return Object.values(e).every((e=>-1!==e))}(v)||e===f?m!==f&&(g(f),y(uf(f,r))):p(e)}),[r,f,p,v,m]);const b=(0,t.useCallback)(((e,t)=>{y({[e]:t})}),[]),x=(0,t.useCallback)((e=>{if(e.preventDefault(),n||o)return;const t=uf((new Date).toJSON(),r);p(pf(t,r))}),[n,o,r]),w=(0,t.useCallback)((e=>{e.preventDefault(),n||o||p(void 0)}),[n,o,p]);return(0,De.jsxs)("ul",{className:"list-inline",children:[Up(v,r,i.yearsRange,i.format).map(((e,t)=>(0,De.jsx)("li",{className:"list-inline-item",children:(0,De.jsx)(hg,{rootId:s,name:l,select:b,...e,disabled:n,readonly:o,registry:c,onBlur:u,onFocus:d,autofocus:a&&0===t})},t))),("undefined"===i.hideNowButton||!i.hideNowButton)&&(0,De.jsx)("li",{className:"list-inline-item",children:(0,De.jsx)("a",{href:"#",className:"btn btn-info btn-now",onClick:x,children:h(hf.NowLabel)})}),("undefined"===i.hideClearButton||!i.hideClearButton)&&(0,De.jsx)("li",{className:"list-inline-item",children:(0,De.jsx)("a",{href:"#",className:"btn btn-warning btn-clear",onClick:w,children:h(hf.ClearLabel)})})]})};const gg=function(e){let{time:t=!0,...r}=e;const{AltDateWidget:n}=r.registry.widgets;return(0,De.jsx)(n,{time:t,...r})};const vg=function(e){let{schema:r,uiSchema:n,options:o,id:a,value:i,disabled:s,readonly:l,label:c,hideLabel:u,autofocus:d=!1,onBlur:p,onFocus:f,onChange:h,registry:m}=e;var g;const v=Xp("DescriptionFieldTemplate",m,o),y=df(r),b=(0,t.useCallback)((e=>h(e.target.checked)),[h]),x=(0,t.useCallback)((e=>p(a,e.target.checked)),[p,a]),w=(0,t.useCallback)((e=>f(a,e.target.checked)),[f,a]),S=null!==(g=o.description)&&void 0!==g?g:r.description;return(0,De.jsxs)("div",{className:"checkbox "+(s||l?"disabled":""),children:[!u&&!!S&&(0,De.jsx)(v,{id:ef(a),description:S,schema:r,uiSchema:n,registry:m}),(0,De.jsxs)("label",{children:[(0,De.jsx)("input",{type:"checkbox",id:a,name:a,checked:"undefined"!==typeof i&&i,required:y,disabled:s||l,autoFocus:d,onChange:b,onBlur:x,onFocus:w,"aria-describedby":af(a)}),lf((0,De.jsx)("span",{children:c}),u)]})]})};const yg=function(e){let{id:r,disabled:n,options:{inline:o=!1,enumOptions:a,enumDisabled:i,emptyValue:s},value:l,autofocus:c=!1,readonly:u,onChange:d,onBlur:p,onFocus:f}=e;const h=Array.isArray(l)?l:[l],m=(0,t.useCallback)((e=>{let{target:t}=e;return p(r,Op(t&&t.value,a,s))}),[p,r]),g=(0,t.useCallback)((e=>{let{target:t}=e;return f(r,Op(t&&t.value,a,s))}),[f,r]);return(0,De.jsx)("div",{className:"checkboxes",id:r,children:Array.isArray(a)&&a.map(((e,t)=>{const s=Mp(e.value,h),l=Array.isArray(i)&&-1!==i.indexOf(e.value),p=n||l||u?"disabled":"",f=(0,De.jsxs)("span",{children:[(0,De.jsx)("input",{type:"checkbox",id:sf(r,t),name:r,checked:s,value:String(t),disabled:n||l||u,autoFocus:c&&0===t,onChange:e=>{e.target.checked?d(Dp(t,h,a)):d(Np(t,h,a))},onBlur:m,onFocus:g,"aria-describedby":af(r)}),(0,De.jsx)("span",{children:e.label})]});return o?(0,De.jsx)("label",{className:`checkbox-inline ${p}`,children:f},t):(0,De.jsx)("div",{className:`checkbox ${p}`,children:(0,De.jsx)("label",{children:f})},t)}))})};function bg(e){const{disabled:t,readonly:r,options:n,registry:o}=e,a=Xp("BaseInputTemplate",o,n);return(0,De.jsx)(a,{type:"color",...e,disabled:t||r})}function xg(e){const{onChange:r,options:n,registry:o}=e,a=Xp("BaseInputTemplate",o,n),i=(0,t.useCallback)((e=>r(e||void 0)),[r]);return(0,De.jsx)(a,{type:"date",...e,onChange:i})}function wg(e){const{onChange:t,value:r,options:n,registry:o}=e,a=Xp("BaseInputTemplate",o,n);return(0,De.jsx)(a,{type:"datetime-local",...e,value:yf(r),onChange:e=>{return t((r=e)?new Date(r).toJSON():void 0);var r}})}function Sg(e){const{options:t,registry:r}=e,n=Xp("BaseInputTemplate",r,t);return(0,De.jsx)(n,{type:"email",...e})}function Ag(e,t){return null===e?null:e.replace(";base64",`;name=${encodeURIComponent(t)};base64`)}function kg(e){const{name:t,size:r,type:n}=e;return new Promise(((o,a)=>{const i=new window.FileReader;i.onerror=a,i.onload=e=>{var a;"string"===typeof(null===(a=e.target)||void 0===a?void 0:a.result)?o({dataURL:Ag(e.target.result,t),name:t,size:r,type:n}):o({dataURL:null,name:t,size:r,type:n})},i.readAsDataURL(e)}))}function $g(e){let{fileInfo:t,registry:r}=e;const{translateString:n}=r,{dataURL:o,type:a,name:i}=t;return o?["image/jpeg","image/png"].includes(a)?(0,De.jsx)("img",{src:o,style:{maxWidth:"100%"},className:"file-preview"}):(0,De.jsxs)(De.Fragment,{children:[" ",(0,De.jsx)("a",{download:`preview-${i}`,href:o,className:"file-download",children:n(hf.PreviewLabel)})]}):null}function Cg(e){let{filesInfo:t,registry:r,preview:n,onRemove:o,options:a}=e;if(0===t.length)return null;const{translateString:i}=r,{RemoveButton:s}=Xp("ButtonTemplates",r,a);return(0,De.jsx)("ul",{className:"file-info",children:t.map(((e,t)=>{const{name:a,size:l,type:c}=e;return(0,De.jsxs)("li",{children:[(0,De.jsx)(Pm,{children:i(hf.FilesInfo,[a,c,String(l)])}),n&&(0,De.jsx)($g,{fileInfo:e,registry:r}),(0,De.jsx)(s,{onClick:()=>o(t),registry:r})]},t)}))})}function Eg(e){return e.reduce(((e,t)=>{if(!t)return e;try{const{blob:r,name:n}=function(e){var t;if(-1===e.indexOf("data:"))throw new Error("File is invalid: URI must be a dataURI");const r=e.slice(5).split(";base64,");if(2!==r.length)throw new Error("File is invalid: dataURI must be base64");const[n,o]=r,[a,...i]=n.split(";"),s=a||"",l=decodeURI((null===(t=i.map((e=>e.split("="))).find((e=>{let[t]=e;return"name"===t})))||void 0===t?void 0:t[1])||"unknown");try{const e=atob(o),t=new Array(e.length);for(let r=0;r{var t;e.target.files&&(t=e.target.files,Promise.all(Array.from(t).map(kg))).then((e=>{const t=e.map((e=>e.dataURL));i(a?s.concat(t):t[0])}))}),[a,s,i]),p=(0,t.useMemo)((()=>Eg(Array.isArray(s)?s:[s])),[s]),f=(0,t.useCallback)((e=>{if(a){const t=s.filter(((t,r)=>r!==e));i(t)}else i(void 0)}),[a,s,i]);return(0,De.jsxs)("div",{children:[(0,De.jsx)(u,{...e,disabled:r||n,type:"file",required:!s&&o,onChangeOverride:d,value:"",accept:l.accept?String(l.accept):void 0}),(0,De.jsx)(Cg,{filesInfo:p,onRemove:f,registry:c,preview:l.filePreview,options:l})]})};const _g=function(e){let{id:t,value:r}=e;return(0,De.jsx)("input",{type:"hidden",id:t,name:t,value:"undefined"===typeof r?"":r})};function Pg(e){const{options:t,registry:r}=e,n=Xp("BaseInputTemplate",r,t);return(0,De.jsx)(n,{type:"password",...e})}const Rg=function(e){let{options:r,value:n,required:o,disabled:a,readonly:i,autofocus:s=!1,onBlur:l,onFocus:c,onChange:u,id:d}=e;const{enumOptions:p,enumDisabled:f,inline:h,emptyValue:m}=r,g=(0,t.useCallback)((e=>{let{target:t}=e;return l(d,Op(t&&t.value,p,m))}),[l,d]),v=(0,t.useCallback)((e=>{let{target:t}=e;return c(d,Op(t&&t.value,p,m))}),[c,d]);return(0,De.jsx)("div",{className:"field-radio-group",id:d,children:Array.isArray(p)&&p.map(((e,t)=>{const r=Mp(e.value,n),l=Array.isArray(f)&&-1!==f.indexOf(e.value),c=a||l||i?"disabled":"",p=(0,De.jsxs)("span",{children:[(0,De.jsx)("input",{type:"radio",id:sf(d,t),checked:r,name:d,required:o,value:String(t),disabled:a||l||i,autoFocus:s&&0===t,onChange:()=>u(e.value),onBlur:g,onFocus:v,"aria-describedby":af(d)}),(0,De.jsx)("span",{children:e.label})]});return h?(0,De.jsx)("label",{className:`radio-inline ${c}`,children:p},t):(0,De.jsx)("div",{className:`radio ${c}`,children:(0,De.jsx)("label",{children:p})},t)}))})};function Og(e){const{value:t,registry:{templates:{BaseInputTemplate:r}}}=e;return(0,De.jsxs)("div",{className:"field-range-wrapper",children:[(0,De.jsx)(r,{type:"range",...e}),(0,De.jsx)("span",{className:"range-view",children:t})]})}function Ng(e,t){return t?Array.from(e.target.options).slice().filter((e=>e.selected)).map((e=>e.value)):e.target.value}const Mg=function(e){let{schema:r,id:n,options:o,value:a,required:i,disabled:s,readonly:l,multiple:c=!1,autofocus:u=!1,onChange:d,onBlur:p,onFocus:f,placeholder:h}=e;const{enumOptions:m,enumDisabled:g,emptyValue:v}=o,y=c?[]:"",b=(0,t.useCallback)((e=>{const t=Ng(e,c);return f(n,Op(t,m,v))}),[f,n,r,c,m,v]),x=(0,t.useCallback)((e=>{const t=Ng(e,c);return p(n,Op(t,m,v))}),[p,n,r,c,m,v]),w=(0,t.useCallback)((e=>{const t=Ng(e,c);return d(Op(t,m,v))}),[d,r,c,m,v]),S=Tp(a,m,c),A=!c&&void 0===r.default;return(0,De.jsxs)("select",{id:n,name:n,multiple:c,className:"form-control",value:"undefined"===typeof S?y:S,required:i,disabled:s||l,autoFocus:u,onBlur:x,onFocus:b,onChange:w,"aria-describedby":af(n),children:[A&&(0,De.jsx)("option",{value:"",children:h}),Array.isArray(m)&&m.map(((e,t)=>{let{value:r,label:n}=e;const o=g&&-1!==g.indexOf(r);return(0,De.jsx)("option",{value:String(t),disabled:o,children:n},t)}))]})};function Tg(e){let{id:r,options:n={},placeholder:o,value:a,required:i,disabled:s,readonly:l,autofocus:c=!1,onChange:u,onBlur:d,onFocus:p}=e;const f=(0,t.useCallback)((e=>{let{target:{value:t}}=e;return u(""===t?n.emptyValue:t)}),[u,n.emptyValue]),h=(0,t.useCallback)((e=>{let{target:t}=e;return d(r,t&&t.value)}),[d,r]),m=(0,t.useCallback)((e=>{let{target:t}=e;return p(r,t&&t.value)}),[r,p]);return(0,De.jsx)("textarea",{id:r,name:r,className:"form-control",value:a||"",placeholder:o,required:i,disabled:s,readOnly:l,autoFocus:c,rows:n.rows,onBlur:h,onFocus:m,onChange:f,"aria-describedby":af(r)})}Tg.defaultProps={autofocus:!1,options:{}};const Ig=Tg;function Fg(e){const{options:t,registry:r}=e,n=Xp("BaseInputTemplate",r,t);return(0,De.jsx)(n,{...e})}function Dg(e){const{onChange:r,options:n,registry:o}=e,a=Xp("BaseInputTemplate",o,n),i=(0,t.useCallback)((e=>r(e?`${e}:00`:void 0)),[r]);return(0,De.jsx)(a,{type:"time",...e,onChange:i})}function zg(e){const{options:t,registry:r}=e,n=Xp("BaseInputTemplate",r,t);return(0,De.jsx)(n,{type:"url",...e})}function Lg(e){const{options:t,registry:r}=e,n=Xp("BaseInputTemplate",r,t);return(0,De.jsx)(n,{type:"number",...e})}const Bg=function(){return{AltDateWidget:mg,AltDateTimeWidget:gg,CheckboxWidget:vg,CheckboxesWidget:yg,ColorWidget:bg,DateWidget:xg,DateTimeWidget:wg,EmailWidget:Sg,FileWidget:jg,HiddenWidget:_g,PasswordWidget:Pg,RadioWidget:Rg,RangeWidget:Og,SelectWidget:Mg,TextWidget:Fg,TextareaWidget:Ig,TimeWidget:Dg,UpDownWidget:Lg,URLWidget:zg}};class Wg extends t.Component{constructor(e){if(super(e),this.getUsedFormData=(e,t)=>{if(0===t.length&&"object"!==typeof e)return e;const r=kf()(e,t);return Array.isArray(e)?Object.keys(r).map((e=>r[e])):r},this.getFieldNames=(e,t)=>{const r=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[[]];return Object.keys(e).forEach((a=>{if("object"===typeof e[a]){const t=o.map((e=>[...e,a]));e[a][Gu]&&""!==e[a][Bu]?n.push(e[a][Bu]):r(e[a],n,t)}else a===Bu&&""!==e[a]&&o.forEach((e=>{const r=id()(t,e);("object"!==typeof r||ld()(r)||Array.isArray(r)&&r.every((e=>"object"!==typeof e)))&&n.push(e)}))})),n};return r(e)},this.omitExtraData=e=>{const{schema:t,schemaUtils:r}=this.state,n=r.retrieveSchema(t,e),o=r.toPathSchema(n,"",e),a=this.getFieldNames(o,e);return this.getUsedFormData(e,a)},this.onChange=(e,t,r)=>{const{extraErrors:n,omitExtraData:o,liveOmit:a,noValidate:i,liveValidate:s,onChange:l}=this.props,{schemaUtils:c,schema:u,retrievedSchema:d}=this.state;if(Eu(e)||Array.isArray(e)){e=this.getStateFromProps(this.props,e,d).formData}const p=!i&&s;let f={formData:e,schema:u},h=e;if(!0===o&&!0===a&&(h=this.omitExtraData(e),f={formData:h}),p){const e=this.validate(h,u,c,d);let r=e.errors,o=e.errorSchema;const a=r,i=o;if(n){const t=bf(e,n);o=t.errorSchema,r=t.errors}if(t){o=up(o,this.filterErrorsBasedOnSchema(t,d,h),"preventDuplicates")}f={formData:h,errors:r,errorSchema:o,schemaValidationErrors:a,schemaValidationErrorSchema:i}}else if(!i&&t){const e=n?up(t,n,"preventDuplicates"):t;f={formData:h,errorSchema:e,errors:ff(e)}}this.setState(f,(()=>l&&l({...this.state,...f},r)))},this.reset=()=>{const{onChange:e}=this.props,t={formData:this.getStateFromProps(this.props,void 0).formData,errorSchema:{},errors:[],schemaValidationErrors:[],schemaValidationErrorSchema:{}};this.setState(t,(()=>e&&e({...this.state,...t})))},this.onBlur=(e,t)=>{const{onBlur:r}=this.props;r&&r(e,t)},this.onFocus=(e,t)=>{const{onFocus:r}=this.props;r&&r(e,t)},this.onSubmit=e=>{if(e.preventDefault(),e.target!==e.currentTarget)return;e.persist();const{omitExtraData:t,extraErrors:r,noValidate:n,onSubmit:o}=this.props;let{formData:a}=this.state;if(!0===t&&(a=this.omitExtraData(a)),n||this.validateFormWithFormData(a)){const t=r||{},n=r?ff(r):[];this.setState({formData:a,errors:n,errorSchema:t,schemaValidationErrors:[],schemaValidationErrorSchema:{}},(()=>{o&&o({...this.state,formData:a,status:"submitted"},e)}))}},this.submit=()=>{if(this.formElement.current){const e=new CustomEvent("submit",{cancelable:!0});e.preventDefault(),this.formElement.current.dispatchEvent(e),this.formElement.current.requestSubmit()}},this.validateFormWithFormData=e=>{const{extraErrors:t,extraErrorsBlockSubmit:r,focusOnFirstError:n,onError:o}=this.props,{errors:a}=this.state,i=this.validate(e);let s=i.errors,l=i.errorSchema;const c=s,u=l,d=s.length>0||t&&r;if(d){if(t){const e=bf(i,t);l=e.errorSchema,s=e.errors}n&&("function"===typeof n?n(s[0]):this.focusOnError(s[0])),this.setState({errors:s,errorSchema:l,schemaValidationErrors:c,schemaValidationErrorSchema:u},(()=>{o?o(s):console.error("Form validation failed",s)}))}else a.length>0&&this.setState({errors:[],errorSchema:{},schemaValidationErrors:[],schemaValidationErrorSchema:{}});return!d},!e.validator)throw new Error("A validator is required for Form functionality to work");this.state=this.getStateFromProps(e,e.formData),this.props.onChange&&!od(this.state.formData,this.props.formData)&&this.props.onChange(this.state),this.formElement=(0,t.createRef)()}getSnapshotBeforeUpdate(e,t){if(!od(this.props,e)){const r=!od(e.schema,this.props.schema),n=!od(e.formData,this.props.formData),o=this.getStateFromProps(this.props,this.props.formData,r||n?void 0:this.state.retrievedSchema,r);return{nextState:o,shouldUpdate:!od(o,t)}}return{shouldUpdate:!1}}componentDidUpdate(e,t,r){if(r.shouldUpdate){const{nextState:e}=r;od(e.formData,this.props.formData)||od(e.formData,t.formData)||!this.props.onChange||this.props.onChange(e),this.setState(e)}}getStateFromProps(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];var o;const a=this.state||{},i="schema"in e?e.schema:this.props.schema,s=("uiSchema"in e?e.uiSchema:this.props.uiSchema)||{},l="undefined"!==typeof t,c="liveValidate"in e?e.liveValidate:this.props.liveValidate,u=l&&!e.noValidate&&c,d=i,p="experimental_defaultFormStateBehavior"in e?e.experimental_defaultFormStateBehavior:this.props.experimental_defaultFormStateBehavior,f="experimental_customMergeAllOf"in e?e.experimental_customMergeAllOf:this.props.experimental_customMergeAllOf;let h=a.schemaUtils;h&&!h.doesSchemaUtilsDiffer(e.validator,d,p,f)||(h=function(e,t){return new jp(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},arguments.length>3?arguments[3]:void 0)}(e.validator,d,p,f));const m=h.getDefaultFormState(i,t),g=null!==r&&void 0!==r?r:h.retrieveSchema(i,m);let v,y,b=a.schemaValidationErrors,x=a.schemaValidationErrorSchema;if(u){const e=this.validate(m,i,h,g);v=e.errors,y=void 0===r?e.errorSchema:up(null===(o=this.state)||void 0===o?void 0:o.errorSchema,e.errorSchema,"preventDuplicates"),b=v,x=y}else{const t=e.noValidate||n?{errors:[],errorSchema:{}}:e.liveValidate?{errors:a.errors||[],errorSchema:a.errorSchema||{}}:{errors:a.schemaValidationErrors||[],errorSchema:a.schemaValidationErrorSchema||{}};v=t.errors,y=t.errorSchema}if(e.extraErrors){const t=bf({errorSchema:y,errors:v},e.extraErrors);y=t.errorSchema,v=t.errors}const w=h.toIdSchema(g,s["ui:rootFieldId"],m,e.idPrefix,e.idSeparator);return{schemaUtils:h,schema:i,uiSchema:s,idSchema:w,formData:m,edit:l,errors:v,errorSchema:y,schemaValidationErrors:b,schemaValidationErrorSchema:x,retrievedSchema:g}}shouldComponentUpdate(e,t){return function(e,t,r){const{props:n,state:o}=e;return!od(n,t)||!od(o,r)}(this,e,t)}validate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.props.schema,r=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0;const o=r||this.state.schemaUtils,{customValidate:a,transformErrors:i,uiSchema:s}=this.props,l=null!==n&&void 0!==n?n:o.retrieveSchema(t,e);return o.getValidator().validateFormData(e,l,a,i,s)}renderErrors(e){const{errors:t,errorSchema:r,schema:n,uiSchema:o}=this.state,{formContext:a}=this.props,i=Xp("ErrorListTemplate",e,Yu(o));return t&&t.length?(0,De.jsx)(i,{errors:t,errorSchema:r||{},schema:n,uiSchema:o,formContext:a,registry:e}):null}filterErrorsBasedOnSchema(e,t,r){const{retrievedSchema:n,schemaUtils:o}=this.state,a=null!==t&&void 0!==t?t:n,i=o.toPathSchema(a,"",r),s=this.getFieldNames(i,r),l=kf()(e,s);"object"!==(null===t||void 0===t?void 0:t.type)&&"array"!==(null===t||void 0===t?void 0:t.type)&&(l.__errors=e.__errors);const c=e=>(Sf()(e,((t,r)=>{Fp()(t)?delete e[r]:"object"!==typeof t||Array.isArray(t.__errors)||c(t)})),e);return c(l)}getRegistry(){var e;const{translateString:t,uiSchema:r={}}=this.props,{schemaUtils:n}=this.state,{fields:o,templates:a,widgets:i,formContext:s,translateString:l}={fields:Bm(),templates:fg(),widgets:Bg(),rootSchema:{},formContext:{},translateString:Rp};return{fields:{...o,...this.props.fields},templates:{...a,...this.props.templates,ButtonTemplates:{...a.ButtonTemplates,...null===(e=this.props.templates)||void 0===e?void 0:e.ButtonTemplates}},widgets:{...i,...this.props.widgets},rootSchema:this.props.schema,formContext:this.props.formContext||s,schemaUtils:n,translateString:t||l,globalUiOptions:r["ui:globalOptions"]}}focusOnError(e){const{idPrefix:t="root",idSeparator:r="_"}=this.props,{property:n}=e,o=gf()(n);""===o[0]?o[0]=t:o.unshift(t);const a=o.join(r);let i=this.formElement.current.elements[a];i||(i=this.formElement.current.querySelector(`input[id^="${a}"`)),i&&i.length&&(i=i[0]),i&&i.focus()}validateForm(){const{omitExtraData:e}=this.props;let{formData:t}=this.state;return!0===e&&(t=this.omitExtraData(t)),this.validateFormWithFormData(t)}render(){const{children:e,id:t,idPrefix:r,idSeparator:n,className:o="",tagName:a,name:i,method:s,target:l,action:c,autoComplete:u,enctype:d,acceptcharset:p,acceptCharset:f,noHtml5Validate:h=!1,disabled:m,readonly:g,formContext:v,showErrorList:y="top",_internalFormWrapper:b}=this.props,{schema:x,uiSchema:w,formData:S,errorSchema:A,idSchema:k}=this.state,$=this.getRegistry(),{SchemaField:C}=$.fields,{SubmitButton:E}=$.templates.ButtonTemplates,j=b?a:void 0,_=b||a||"form";let{[Hu]:P={}}=Yu(w);m&&(P={...P,props:{...P.props,disabled:!0}});const R={[Qu]:{[Hu]:P}};return(0,De.jsxs)(_,{className:o||"rjsf",id:t,name:i,method:s,target:l,action:c,autoComplete:u,encType:d,acceptCharset:f||p,noValidate:h,onSubmit:this.onSubmit,as:j,ref:this.formElement,children:["top"===y&&this.renderErrors($),(0,De.jsx)(C,{name:"",schema:x,uiSchema:w,errorSchema:A,idSchema:k,idPrefix:r,idSeparator:n,formContext:v,formData:S,onChange:this.onChange,onBlur:this.onBlur,onFocus:this.onFocus,registry:$,disabled:m,readonly:g}),e||(0,De.jsx)(E,{uiSchema:R,registry:$}),"bottom"===y&&this.renderErrors($)]})}}var Vg=r(22505);function Ug(e){let{uiSchema:t,registry:r,...n}=e;const{translateString:o}=r;return(0,De.jsx)(bo,{title:o(hf.AddItemButton),...n,color:"primary",children:(0,De.jsx)(Vg.A,{})})}var Hg=r(89751);const qg=t.createContext();function Gg(e){return(0,dn.Ay)("MuiGrid",e)}const Kg=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],Xg=(0,un.A)("MuiGrid",["root","container","item","zeroMinWidth",...[0,1,2,3,4,5,6,7,8,9,10].map((e=>`spacing-xs-${e}`)),...["column-reverse","column","row-reverse","row"].map((e=>`direction-xs-${e}`)),...["nowrap","wrap-reverse","wrap"].map((e=>`wrap-xs-${e}`)),...Kg.map((e=>`grid-xs-${e}`)),...Kg.map((e=>`grid-sm-${e}`)),...Kg.map((e=>`grid-md-${e}`)),...Kg.map((e=>`grid-lg-${e}`)),...Kg.map((e=>`grid-xl-${e}`))]),Qg=Xg,Yg=["className","columns","columnSpacing","component","container","direction","item","rowSpacing","spacing","wrap","zeroMinWidth"];function Jg(e){const t=parseFloat(e);return`${t}${String(e).replace(String(t),"")||"px"}`}function Zg(e){let{breakpoints:t,values:r}=e,n="";Object.keys(r).forEach((e=>{""===n&&0!==r[e]&&(n=e)}));const o=Object.keys(t).sort(((e,r)=>t[e]-t[r]));return o.slice(0,o.indexOf(n))}const ev=(0,at.Ay)("div",{name:"MuiGrid",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e,{container:n,direction:o,item:a,spacing:i,wrap:s,zeroMinWidth:l,breakpoints:c}=r;let u=[];n&&(u=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e||e<=0)return[];if("string"===typeof e&&!Number.isNaN(Number(e))||"number"===typeof e)return[r[`spacing-xs-${String(e)}`]];const n=[];return t.forEach((t=>{const o=e[t];Number(o)>0&&n.push(r[`spacing-${t}-${String(o)}`])})),n}(i,c,t));const d=[];return c.forEach((e=>{const n=r[e];n&&d.push(t[`grid-${e}-${String(n)}`])})),[t.root,n&&t.container,a&&t.item,l&&t.zeroMinWidth,...u,"row"!==o&&t[`direction-xs-${String(o)}`],"wrap"!==s&&t[`wrap-xs-${String(s)}`],...d]}})((e=>{let{ownerState:t}=e;return(0,Ne.A)({boxSizing:"border-box"},t.container&&{display:"flex",flexWrap:"wrap",width:"100%"},t.item&&{margin:0},t.zeroMinWidth&&{minWidth:0},"wrap"!==t.wrap&&{flexWrap:t.wrap})}),(function(e){let{theme:t,ownerState:r}=e;const n=(0,Hg.kW)({values:r.direction,breakpoints:t.breakpoints.values});return(0,Hg.NI)({theme:t},n,(e=>{const t={flexDirection:e};return 0===e.indexOf("column")&&(t[`& > .${Qg.item}`]={maxWidth:"none"}),t}))}),(function(e){let{theme:t,ownerState:r}=e;const{container:n,rowSpacing:o}=r;let a={};if(n&&0!==o){const e=(0,Hg.kW)({values:o,breakpoints:t.breakpoints.values});let r;"object"===typeof e&&(r=Zg({breakpoints:t.breakpoints.values,values:e})),a=(0,Hg.NI)({theme:t},e,((e,n)=>{var o;const a=t.spacing(e);return"0px"!==a?{marginTop:`-${Jg(a)}`,[`& > .${Qg.item}`]:{paddingTop:Jg(a)}}:null!=(o=r)&&o.includes(n)?{}:{marginTop:0,[`& > .${Qg.item}`]:{paddingTop:0}}}))}return a}),(function(e){let{theme:t,ownerState:r}=e;const{container:n,columnSpacing:o}=r;let a={};if(n&&0!==o){const e=(0,Hg.kW)({values:o,breakpoints:t.breakpoints.values});let r;"object"===typeof e&&(r=Zg({breakpoints:t.breakpoints.values,values:e})),a=(0,Hg.NI)({theme:t},e,((e,n)=>{var o;const a=t.spacing(e);return"0px"!==a?{width:`calc(100% + ${Jg(a)})`,marginLeft:`-${Jg(a)}`,[`& > .${Qg.item}`]:{paddingLeft:Jg(a)}}:null!=(o=r)&&o.includes(n)?{}:{width:"100%",marginLeft:0,[`& > .${Qg.item}`]:{paddingLeft:0}}}))}return a}),(function(e){let t,{theme:r,ownerState:n}=e;return r.breakpoints.keys.reduce(((e,o)=>{let a={};if(n[o]&&(t=n[o]),!t)return e;if(!0===t)a={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if("auto"===t)a={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{const i=(0,Hg.kW)({values:n.columns,breakpoints:r.breakpoints.values}),s="object"===typeof i?i[o]:i;if(void 0===s||null===s)return e;const l=Math.round(t/s*1e8)/1e6+"%";let c={};if(n.container&&n.item&&0!==n.columnSpacing){const e=r.spacing(n.columnSpacing);if("0px"!==e){const t=`calc(${l} + ${Jg(e)})`;c={flexBasis:t,maxWidth:t}}}a=(0,Ne.A)({flexBasis:l,flexGrow:0,maxWidth:l},c)}return 0===r.breakpoints.values[o]?Object.assign(e,a):e[r.breakpoints.up(o)]=a,e}),{})}));const tv=e=>{const{classes:t,container:r,direction:n,item:o,spacing:a,wrap:i,zeroMinWidth:s,breakpoints:l}=e;let c=[];r&&(c=function(e,t){if(!e||e<=0)return[];if("string"===typeof e&&!Number.isNaN(Number(e))||"number"===typeof e)return[`spacing-xs-${String(e)}`];const r=[];return t.forEach((t=>{const n=e[t];if(Number(n)>0){const e=`spacing-${t}-${String(n)}`;r.push(e)}})),r}(a,l));const u=[];l.forEach((t=>{const r=e[t];r&&u.push(`grid-${t}-${String(r)}`)}));const d={root:["root",r&&"container",o&&"item",s&&"zeroMinWidth",...c,"row"!==n&&`direction-xs-${String(n)}`,"wrap"!==i&&`wrap-xs-${String(i)}`,...u]};return(0,tt.A)(d,Gg,t)},rv=t.forwardRef((function(e,r){const n=(0,dt.b)({props:e,name:"MuiGrid"}),{breakpoints:o}=ut(),a=(0,Ja.A)(n),{className:i,columns:s,columnSpacing:l,component:c="div",container:u=!1,direction:d="row",item:p=!1,rowSpacing:f,spacing:h=0,wrap:m="wrap",zeroMinWidth:g=!1}=a,v=(0,Me.A)(a,Yg),y=f||h,b=l||h,x=t.useContext(qg),w=u?s||12:x,S={},A=(0,Ne.A)({},v);o.keys.forEach((e=>{null!=v[e]&&(S[e]=v[e],delete A[e])}));const k=(0,Ne.A)({},a,{columns:w,container:u,direction:d,item:p,rowSpacing:y,columnSpacing:b,wrap:m,zeroMinWidth:g,spacing:h},S,{breakpoints:o.keys}),$=tv(k);return(0,De.jsx)(qg.Provider,{value:w,children:(0,De.jsx)(ev,(0,Ne.A)({ownerState:k,className:(0,Ze.A)($.root,i),as:c,ref:r},A))})}));const nv=rv;function ov(e){const{children:t,disabled:r,hasToolbar:n,hasCopy:o,hasMoveDown:a,hasMoveUp:i,hasRemove:s,index:l,onCopyIndexClick:c,onDropIndexClick:u,onReorderClick:d,readonly:p,uiSchema:f,registry:h}=e,{CopyButton:m,MoveDownButton:g,MoveUpButton:v,RemoveButton:y}=h.templates.ButtonTemplates,b={flex:1,paddingLeft:6,paddingRight:6,fontWeight:"bold",minWidth:0};return(0,De.jsxs)(nv,{container:!0,alignItems:"center",children:[(0,De.jsx)(nv,{item:!0,xs:!0,style:{overflow:"auto"},children:(0,De.jsx)(pl,{mb:2,children:(0,De.jsx)(ma,{elevation:2,children:(0,De.jsx)(pl,{p:2,children:t})})})}),n&&(0,De.jsxs)(nv,{item:!0,children:[(i||a)&&(0,De.jsx)(v,{style:b,disabled:r||p||!i,onClick:d(l,l-1),uiSchema:f,registry:h}),(i||a)&&(0,De.jsx)(g,{style:b,disabled:r||p||!a,onClick:d(l,l+1),uiSchema:f,registry:h}),o&&(0,De.jsx)(m,{style:b,disabled:r||p,onClick:c(l),uiSchema:f,registry:h}),s&&(0,De.jsx)(y,{style:b,disabled:r||p,onClick:u(l),uiSchema:f,registry:h})]})]})}function av(e){const{canAdd:t,disabled:r,idSchema:n,uiSchema:o,items:a,onAddClick:i,readonly:s,registry:l,required:c,schema:u,title:d}=e,p=Yu(o),f=Xp("ArrayFieldDescriptionTemplate",l,p),h=Xp("ArrayFieldItemTemplate",l,p),m=Xp("ArrayFieldTitleTemplate",l,p),{ButtonTemplates:{AddButton:g}}=l.templates;return(0,De.jsx)(ma,{elevation:2,children:(0,De.jsxs)(pl,{p:2,children:[(0,De.jsx)(m,{idSchema:n,title:p.title||d,schema:u,uiSchema:o,required:c,registry:l}),(0,De.jsx)(f,{idSchema:n,description:p.description||u.description,schema:u,uiSchema:o,registry:l}),a&&a.map((e=>{let{key:t,...r}=e;return(0,De.jsx)(h,{...r},t)})),t&&(0,De.jsx)(nv,{container:!0,justifyContent:"flex-end",children:(0,De.jsx)(nv,{item:!0,children:(0,De.jsx)(pl,{mt:2,children:(0,De.jsx)(g,{className:"array-item-add",onClick:i,disabled:r||s,uiSchema:o,registry:l})})})})]})})}const iv=["date","datetime-local","file","time"];function sv(e){const{id:t,name:r,placeholder:n,required:o,readonly:a,disabled:i,type:s,label:l,hideLabel:c,hideError:u,value:d,onChange:p,onChangeOverride:f,onBlur:h,onFocus:m,autofocus:g,options:v,schema:y,uiSchema:b,rawErrors:x=[],errorSchema:w,formContext:S,registry:A,InputLabelProps:k,...$}=e,C=qp(y,s,v),{step:E,min:j,max:_,...P}=C,R={inputProps:{step:E,min:j,max:_,...y.examples?{list:rf(t)}:void 0},...P},O=iv.includes(s)?{...k,shrink:!0}:k;return(0,De.jsxs)(De.Fragment,{children:[(0,De.jsx)(mu,{id:t,name:t,placeholder:n,label:lf(l||void 0,c,void 0),autoFocus:g,required:o,disabled:i||a,...R,value:d||0===d?d:"",error:x.length>0,onChange:f||(e=>{let{target:{value:t}}=e;return p(""===t?v.emptyValue:t)}),onBlur:e=>{let{target:r}=e;return h(t,r&&r.value)},onFocus:e=>{let{target:r}=e;return m(t,r&&r.value)},InputLabelProps:O,...$,"aria-describedby":af(t,!!y.examples)}),Array.isArray(y.examples)&&(0,De.jsx)("datalist",{id:rf(t),children:y.examples.concat(y.default&&!y.examples.includes(y.default)?[y.default]:[]).map((e=>(0,De.jsx)("option",{value:e},e)))})]})}function lv(e){const{id:t,description:r}=e;return r?(0,De.jsx)(oi,{id:t,variant:"subtitle2",style:{marginTop:"5px"},children:r}):null}var cv=r(1528);function uv(e){return(0,dn.Ay)("MuiListItem",e)}const dv=(0,un.A)("MuiListItem",["root","container","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","padding","button","secondaryAction","selected"]);const pv=(0,un.A)("MuiListItemButton",["root","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","selected"]);function fv(e){return(0,dn.Ay)("MuiListItemSecondaryAction",e)}(0,un.A)("MuiListItemSecondaryAction",["root","disableGutters"]);const hv=["className"],mv=(0,at.Ay)("div",{name:"MuiListItemSecondaryAction",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,r.disableGutters&&t.disableGutters]}})((e=>{let{ownerState:t}=e;return(0,Ne.A)({position:"absolute",right:16,top:"50%",transform:"translateY(-50%)"},t.disableGutters&&{right:0})})),gv=t.forwardRef((function(e,r){const n=(0,dt.b)({props:e,name:"MuiListItemSecondaryAction"}),{className:o}=n,a=(0,Me.A)(n,hv),i=t.useContext(wo),s=(0,Ne.A)({},n,{disableGutters:i.disableGutters}),l=(e=>{const{disableGutters:t,classes:r}=e,n={root:["root",t&&"disableGutters"]};return(0,tt.A)(n,fv,r)})(s);return(0,De.jsx)(mv,(0,Ne.A)({className:(0,Ze.A)(l.root,o),ownerState:s,ref:r},a))}));gv.muiName="ListItemSecondaryAction";const vv=gv,yv=["className"],bv=["alignItems","autoFocus","button","children","className","component","components","componentsProps","ContainerComponent","ContainerProps","dense","disabled","disableGutters","disablePadding","divider","focusVisibleClassName","secondaryAction","selected","slotProps","slots"],xv=(0,at.Ay)("div",{name:"MuiListItem",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,r.dense&&t.dense,"flex-start"===r.alignItems&&t.alignItemsFlexStart,r.divider&&t.divider,!r.disableGutters&&t.gutters,!r.disablePadding&&t.padding,r.button&&t.button,r.hasSecondaryAction&&t.secondaryAction]}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",width:"100%",boxSizing:"border-box",textAlign:"left"},!r.disablePadding&&(0,Ne.A)({paddingTop:8,paddingBottom:8},r.dense&&{paddingTop:4,paddingBottom:4},!r.disableGutters&&{paddingLeft:16,paddingRight:16},!!r.secondaryAction&&{paddingRight:48}),!!r.secondaryAction&&{[`& > .${pv.root}`]:{paddingRight:48}},{[`&.${dv.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`&.${dv.selected}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:(0,rt.X4)(t.palette.primary.main,t.palette.action.selectedOpacity),[`&.${dv.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:(0,rt.X4)(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)}},[`&.${dv.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity}},"flex-start"===r.alignItems&&{alignItems:"flex-start"},r.divider&&{borderBottom:`1px solid ${(t.vars||t).palette.divider}`,backgroundClip:"padding-box"},r.button&&{transition:t.transitions.create("background-color",{duration:t.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${dv.selected}:hover`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:(0,rt.X4)(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:(0,rt.X4)(t.palette.primary.main,t.palette.action.selectedOpacity)}}},r.hasSecondaryAction&&{paddingRight:48})})),wv=(0,at.Ay)("li",{name:"MuiListItem",slot:"Container",overridesResolver:(e,t)=>t.container})({position:"relative"}),Sv=t.forwardRef((function(e,r){const n=(0,dt.b)({props:e,name:"MuiListItem"}),{alignItems:o="center",autoFocus:a=!1,button:i=!1,children:s,className:l,component:c,components:u={},componentsProps:d={},ContainerComponent:p="li",ContainerProps:{className:f}={},dense:h=!1,disabled:m=!1,disableGutters:g=!1,disablePadding:v=!1,divider:y=!1,focusVisibleClassName:b,secondaryAction:x,selected:w=!1,slotProps:S={},slots:A={}}=n,k=(0,Me.A)(n.ContainerProps,yv),$=(0,Me.A)(n,bv),C=t.useContext(wo),E=t.useMemo((()=>({dense:h||C.dense||!1,alignItems:o,disableGutters:g})),[o,C.dense,h,g]),j=t.useRef(null);(0,jo.A)((()=>{a&&j.current&&j.current.focus()}),[a]);const _=t.Children.toArray(s),P=_.length&&(0,$c.A)(_[_.length-1],["ListItemSecondaryAction"]),R=(0,Ne.A)({},n,{alignItems:o,autoFocus:a,button:i,dense:E.dense,disabled:m,disableGutters:g,disablePadding:v,divider:y,hasSecondaryAction:P,selected:w}),O=(e=>{const{alignItems:t,button:r,classes:n,dense:o,disabled:a,disableGutters:i,disablePadding:s,divider:l,hasSecondaryAction:c,selected:u}=e,d={root:["root",o&&"dense",!i&&"gutters",!s&&"padding",l&&"divider",a&&"disabled",r&&"button","flex-start"===t&&"alignItemsFlexStart",c&&"secondaryAction",u&&"selected"],container:["container"]};return(0,tt.A)(d,uv,n)})(R),N=(0,Et.A)(j,r),M=A.root||u.Root||xv,T=S.root||d.root||{},I=(0,Ne.A)({className:(0,Ze.A)(O.root,T.className,l),disabled:m},$);let F=c||"li";return i&&(I.component=c||"div",I.focusVisibleClassName=(0,Ze.A)(dv.focusVisible,b),F=ho),P?(F=I.component||c?F:"div","li"===p&&("li"===F?F="div":"li"===I.component&&(I.component="div")),(0,De.jsx)(wo.Provider,{value:E,children:(0,De.jsxs)(wv,(0,Ne.A)({as:p,className:(0,Ze.A)(O.container,f),ref:N,ownerState:R},k,{children:[(0,De.jsx)(M,(0,Ne.A)({},T,!nt(M)&&{as:F,ownerState:(0,Ne.A)({},R,T.ownerState)},I,{children:_})),_.pop()]}))})):(0,De.jsx)(wo.Provider,{value:E,children:(0,De.jsxs)(M,(0,Ne.A)({},T,{as:F,ref:N},!nt(M)&&{ownerState:(0,Ne.A)({},R,T.ownerState)},I,{children:[_,x&&(0,De.jsx)(vv,{children:x})]}))})}));function Av(e){let{errors:t,registry:r}=e;const{translateString:n}=r;return(0,De.jsx)(ma,{elevation:2,children:(0,De.jsxs)(pl,{mb:2,p:2,children:[(0,De.jsx)(oi,{variant:"h6",children:n(hf.ErrorsLabel)}),(0,De.jsx)($o,{dense:!0,children:t.map(((e,t)=>(0,De.jsxs)(Sv,{children:[(0,De.jsx)(Ya,{children:(0,De.jsx)(cv.A,{color:"error"})}),(0,De.jsx)(si,{primary:e.stack})]},t)))})]})})}var kv=r(10977),$v=r(43608),Cv=r(24914),Ev=r(76164);function jv(e){const{icon:t,color:r,uiSchema:n,registry:o,...a}=e;return(0,De.jsx)(bo,{...a,size:"small",color:r,children:t})}function _v(e){const{registry:{translateString:t}}=e;return(0,De.jsx)(jv,{title:t(hf.CopyButton),...e,icon:(0,De.jsx)(Cv.A,{fontSize:"small"})})}function Pv(e){const{registry:{translateString:t}}=e;return(0,De.jsx)(jv,{title:t(hf.MoveDownButton),...e,icon:(0,De.jsx)(kv.A,{fontSize:"small"})})}function Rv(e){const{registry:{translateString:t}}=e;return(0,De.jsx)(jv,{title:t(hf.MoveUpButton),...e,icon:(0,De.jsx)($v.A,{fontSize:"small"})})}function Ov(e){const{iconType:t,...r}=e,{registry:{translateString:n}}=r;return(0,De.jsx)(jv,{title:n(hf.RemoveButton),...r,color:"error",icon:(0,De.jsx)(Ev.A,{fontSize:"default"===t?void 0:"small"})})}function Nv(e){const{errors:t=[],idSchema:r}=e;if(0===t.length)return null;const n=tf(r);return(0,De.jsx)($o,{id:n,dense:!0,disablePadding:!0,children:t.map(((e,t)=>(0,De.jsx)(Sv,{disableGutters:!0,children:(0,De.jsx)(Tc,{component:"div",id:`${n}-${t}`,children:e})},t)))})}function Mv(e){const{idSchema:t,help:r}=e;if(!r)return null;const n=nf(t);return(0,De.jsx)(Tc,{component:"div",id:n,children:r})}function Tv(e){const{id:t,children:r,classNames:n,style:o,disabled:a,displayLabel:i,hidden:s,label:l,onDropPropertyClick:c,onKeyChange:u,readonly:d,required:p,rawErrors:f=[],errors:h,help:m,description:g,rawDescription:v,schema:y,uiSchema:b,registry:x}=e,w=Xp("WrapIfAdditionalTemplate",x,Yu(b));return s?(0,De.jsx)("div",{style:{display:"none"},children:r}):(0,De.jsx)(w,{classNames:n,style:o,disabled:a,id:t,label:l,onDropPropertyClick:c,onKeyChange:u,readonly:d,required:p,schema:y,uiSchema:b,registry:x,children:(0,De.jsxs)(_c,{fullWidth:!0,error:!!f.length,required:p,children:[r,i&&v?(0,De.jsx)(oi,{variant:"caption",color:"textSecondary",children:g}):null,h,m]})})}function Iv(e){const{description:t,title:r,properties:n,required:o,disabled:a,readonly:i,uiSchema:s,idSchema:l,schema:c,formData:u,onAddClick:d,registry:p}=e,f=Yu(s),h=Xp("TitleFieldTemplate",p,f),m=Xp("DescriptionFieldTemplate",p,f),{ButtonTemplates:{AddButton:g}}=p.templates;return(0,De.jsxs)(De.Fragment,{children:[r&&(0,De.jsx)(h,{id:of(l),title:r,required:o,schema:c,uiSchema:s,registry:p}),t&&(0,De.jsx)(m,{id:ef(l),description:t,schema:c,uiSchema:s,registry:p}),(0,De.jsxs)(nv,{container:!0,spacing:2,style:{marginTop:"10px"},children:[n.map(((e,t)=>e.hidden?e.content:(0,De.jsx)(nv,{item:!0,xs:12,style:{marginBottom:"10px"},children:e.content},t))),Ju(c,s,u)&&(0,De.jsx)(nv,{container:!0,justifyContent:"flex-end",children:(0,De.jsx)(nv,{item:!0,children:(0,De.jsx)(g,{className:"object-property-expand",onClick:d(c),disabled:a||i,uiSchema:s,registry:p})})})]})]})}function Fv(e){let{uiSchema:t}=e;const{submitText:r,norender:n,props:o={}}=Kp(t);return n?null:(0,De.jsx)(pl,{marginTop:3,children:(0,De.jsx)(Zs,{type:"submit",variant:"contained",color:"primary",...o,children:r})})}function Dv(e){let{id:t,title:r}=e;return(0,De.jsxs)(pl,{id:t,mb:1,mt:1,children:[(0,De.jsx)(oi,{variant:"h5",children:r}),(0,De.jsx)(pi,{})]})}function zv(e){const{children:t,classNames:r,style:n,disabled:o,id:a,label:i,onDropPropertyClick:s,onKeyChange:l,readonly:c,required:u,schema:d,uiSchema:p,registry:f}=e,{templates:h,translateString:m}=f,{RemoveButton:g}=h.ButtonTemplates,v=m(hf.KeyLabel,[i]);if(!(_u in d))return(0,De.jsx)("div",{className:r,style:n,children:t});return(0,De.jsxs)(nv,{container:!0,alignItems:"center",spacing:2,className:r,style:n,children:[(0,De.jsx)(nv,{item:!0,xs:!0,children:(0,De.jsx)(mu,{fullWidth:!0,required:u,label:v,defaultValue:i,disabled:o||c,id:`${a}-key`,name:`${a}-key`,onBlur:c?void 0:e=>{let{target:t}=e;return l(t&&t.value)},type:"text"})}),(0,De.jsx)(nv,{item:!0,xs:!0,children:t}),(0,De.jsx)(nv,{item:!0,children:(0,De.jsx)(g,{iconType:"default",style:{flex:1,paddingLeft:6,paddingRight:6,fontWeight:"bold"},disabled:o||c,onClick:s(i),uiSchema:p,registry:f})})]},`${a}-key`)}function Lv(){return{ArrayFieldItemTemplate:ov,ArrayFieldTemplate:av,BaseInputTemplate:sv,ButtonTemplates:{AddButton:Ug,CopyButton:_v,MoveDownButton:Pv,MoveUpButton:Rv,RemoveButton:Ov,SubmitButton:Fv},DescriptionFieldTemplate:lv,ErrorListTemplate:Av,FieldErrorTemplate:Nv,FieldHelpTemplate:Mv,FieldTemplate:Tv,ObjectFieldTemplate:Iv,TitleFieldTemplate:Dv,WrapIfAdditionalTemplate:zv}}Lv();function Bv(e){return(0,dn.Ay)("PrivateSwitchBase",e)}(0,un.A)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);const Wv=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],Vv=(0,at.Ay)(ho)((e=>{let{ownerState:t}=e;return(0,Ne.A)({padding:9,borderRadius:"50%"},"start"===t.edge&&{marginLeft:"small"===t.size?-3:-12},"end"===t.edge&&{marginRight:"small"===t.size?-3:-12})})),Uv=(0,at.Ay)("input",{shouldForwardProp:ja.A})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),Hv=t.forwardRef((function(e,t){const{autoFocus:r,checked:n,checkedIcon:o,className:a,defaultChecked:i,disabled:s,disableFocusRipple:l=!1,edge:c=!1,icon:u,id:d,inputProps:p,inputRef:f,name:h,onBlur:m,onChange:g,onFocus:v,readOnly:y,required:b=!1,tabIndex:x,type:w,value:S}=e,A=(0,Me.A)(e,Wv),[k,$]=(0,jn.A)({controlled:n,default:Boolean(i),name:"SwitchBase",state:"checked"}),C=El();let E=s;C&&"undefined"===typeof E&&(E=C.disabled);const j="checkbox"===w||"radio"===w,_=(0,Ne.A)({},e,{checked:k,disabled:E,disableFocusRipple:l,edge:c}),P=(e=>{const{classes:t,checked:r,disabled:n,edge:o}=e,a={root:["root",r&&"checked",n&&"disabled",o&&`edge${(0,pt.A)(o)}`],input:["input"]};return(0,tt.A)(a,Bv,t)})(_);return(0,De.jsxs)(Vv,(0,Ne.A)({component:"span",className:(0,Ze.A)(P.root,a),centerRipple:!0,focusRipple:!l,disabled:E,tabIndex:null,role:void 0,onFocus:e=>{v&&v(e),C&&C.onFocus&&C.onFocus(e)},onBlur:e=>{m&&m(e),C&&C.onBlur&&C.onBlur(e)},ownerState:_,ref:t},A,{children:[(0,De.jsx)(Uv,(0,Ne.A)({autoFocus:r,checked:n,defaultChecked:i,className:P.input,disabled:E,id:j?d:void 0,name:h,onChange:e=>{if(e.nativeEvent.defaultPrevented)return;const t=e.target.checked;$(t),g&&g(e,t)},readOnly:y,ref:f,required:b,ownerState:_,tabIndex:x,type:w},"checkbox"===w&&void 0===S?{}:{value:S},p)),k?o:u]}))})),qv=(0,Xi.A)((0,De.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),Gv=(0,Xi.A)((0,De.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),Kv=(0,Xi.A)((0,De.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox");function Xv(e){return(0,dn.Ay)("MuiCheckbox",e)}const Qv=(0,un.A)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary","sizeSmall","sizeMedium"]),Yv=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],Jv=(0,at.Ay)(Hv,{shouldForwardProp:e=>(0,ja.A)(e)||"classes"===e,name:"MuiCheckbox",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,r.indeterminate&&t.indeterminate,t[`size${(0,pt.A)(r.size)}`],"default"!==r.color&&t[`color${(0,pt.A)(r.color)}`]]}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({color:(t.vars||t).palette.text.secondary},!r.disableRipple&&{"&:hover":{backgroundColor:t.vars?`rgba(${"default"===r.color?t.vars.palette.action.activeChannel:t.vars.palette[r.color].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:(0,rt.X4)("default"===r.color?t.palette.action.active:t.palette[r.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==r.color&&{[`&.${Qv.checked}, &.${Qv.indeterminate}`]:{color:(t.vars||t).palette[r.color].main},[`&.${Qv.disabled}`]:{color:(t.vars||t).palette.action.disabled}})})),Zv=(0,De.jsx)(Gv,{}),ey=(0,De.jsx)(qv,{}),ty=(0,De.jsx)(Kv,{}),ry=t.forwardRef((function(e,r){var n,o;const a=(0,dt.b)({props:e,name:"MuiCheckbox"}),{checkedIcon:i=Zv,color:s="primary",icon:l=ey,indeterminate:c=!1,indeterminateIcon:u=ty,inputProps:d,size:p="medium",className:f}=a,h=(0,Me.A)(a,Yv),m=c?u:l,g=c?u:i,v=(0,Ne.A)({},a,{color:s,indeterminate:c,size:p}),y=(e=>{const{classes:t,indeterminate:r,color:n,size:o}=e,a={root:["root",r&&"indeterminate",`color${(0,pt.A)(n)}`,`size${(0,pt.A)(o)}`]},i=(0,tt.A)(a,Xv,t);return(0,Ne.A)({},t,i)})(v);return(0,De.jsx)(Jv,(0,Ne.A)({type:"checkbox",inputProps:(0,Ne.A)({"data-indeterminate":c},d),icon:t.cloneElement(m,{fontSize:null!=(n=m.props.fontSize)?n:p}),checkedIcon:t.cloneElement(g,{fontSize:null!=(o=g.props.fontSize)?o:p}),ownerState:v,ref:r,className:(0,Ze.A)(y.root,f)},h,{classes:y}))})),ny=["ownerState"],oy=["variants"],ay=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function iy(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e}const sy=(0,it.A)(),ly=e=>e?e.charAt(0).toLowerCase()+e.slice(1):e;function cy(e){let{defaultTheme:t,theme:r,themeId:n}=e;return o=r,0===Object.keys(o).length?t:r[n]||r;var o}function uy(e){return e?(t,r)=>r[e]:null}function dy(e,t){let{ownerState:r}=t,n=(0,Me.A)(t,ny);const o="function"===typeof e?e((0,Ne.A)({ownerState:r},n)):e;if(Array.isArray(o))return o.flatMap((e=>dy(e,(0,Ne.A)({ownerState:r},n))));if(o&&"object"===typeof o&&Array.isArray(o.variants)){const{variants:e=[]}=o;let t=(0,Me.A)(o,oy);return e.forEach((e=>{let o=!0;"function"===typeof e.props?o=e.props((0,Ne.A)({ownerState:r},n,r)):Object.keys(e.props).forEach((t=>{(null==r?void 0:r[t])!==e.props[t]&&n[t]!==e.props[t]&&(o=!1)})),o&&(Array.isArray(t)||(t=[t]),t.push("function"===typeof e.style?e.style((0,Ne.A)({ownerState:r},n,r)):e.style))})),t}return o}const py=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{themeId:t,defaultTheme:r=sy,rootShouldForwardProp:n=iy,slotShouldForwardProp:o=iy}=e,a=e=>(0,il.A)((0,Ne.A)({},e,{theme:cy((0,Ne.A)({},e,{defaultTheme:r,themeId:t}))}));return a.__mui_systemSx=!0,function(e){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,al.internal_processStyles)(e,(e=>e.filter((e=>!(null!=e&&e.__mui_systemSx)))));const{name:s,slot:l,skipVariantsResolver:c,skipSx:u,overridesResolver:d=uy(ly(l))}=i,p=(0,Me.A)(i,ay),f=void 0!==c?c:l&&"Root"!==l&&"root"!==l||!1,h=u||!1;let m=iy;"Root"===l||"root"===l?m=n:l?m=o:function(e){return"string"===typeof e&&e.charCodeAt(0)>96}(e)&&(m=void 0);const g=(0,al.default)(e,(0,Ne.A)({shouldForwardProp:m,label:undefined},p)),v=e=>"function"===typeof e&&e.__emotion_real!==e||(0,vl.Q)(e)?n=>dy(e,(0,Ne.A)({},n,{theme:cy({theme:n.theme,defaultTheme:r,themeId:t})})):e,y=function(n){let o=v(n);for(var i=arguments.length,l=new Array(i>1?i-1:0),c=1;c{const n=cy((0,Ne.A)({},e,{defaultTheme:r,themeId:t}));if(!n.components||!n.components[s]||!n.components[s].styleOverrides)return null;const o=n.components[s].styleOverrides,a={};return Object.entries(o).forEach((t=>{let[r,o]=t;a[r]=dy(o,(0,Ne.A)({},e,{theme:n}))})),d(e,a)})),s&&!f&&u.push((e=>{var n;const o=cy((0,Ne.A)({},e,{defaultTheme:r,themeId:t}));return dy({variants:null==o||null==(n=o.components)||null==(n=n[s])?void 0:n.variants},(0,Ne.A)({},e,{theme:o}))})),h||u.push(a);const p=u.length-l.length;if(Array.isArray(n)&&p>0){const e=new Array(p).fill("");o=[...n,...e],o.raw=[...n.raw,...e]}const m=g(o,...u);return e.muiName&&(m.muiName=e.muiName),m};return g.withConfig&&(y.withConfig=g.withConfig),y}}(),fy=py;function hy(e){let{props:t,name:r,defaultTheme:n,themeId:o}=e,a=lt(n);o&&(a=a[o]||a);const i=function(e){const{theme:t,name:r,props:n}=e;return t&&t.components&&t.components[r]&&t.components[r].defaultProps?(0,Vs.A)(t.components[r].defaultProps,n):n}({theme:a,name:r,props:t});return i}var my=r(28604);const gy=["component","direction","spacing","divider","children","className","useFlexGap"],vy=(0,it.A)(),yy=fy("div",{name:"MuiStack",slot:"Root",overridesResolver:(e,t)=>t.root});function by(e){return hy({props:e,name:"MuiStack",defaultTheme:vy})}function xy(e,r){const n=t.Children.toArray(e).filter(Boolean);return n.reduce(((e,o,a)=>(e.push(o),a{let{ownerState:t,theme:r}=e,n=(0,Ne.A)({display:"flex",flexDirection:"column"},(0,Hg.NI)({theme:r},(0,Hg.kW)({values:t.direction,breakpoints:r.breakpoints.values}),(e=>({flexDirection:e}))));if(t.spacing){const e=(0,my.LX)(r),o=Object.keys(r.breakpoints.values).reduce(((e,r)=>(("object"===typeof t.spacing&&null!=t.spacing[r]||"object"===typeof t.direction&&null!=t.direction[r])&&(e[r]=!0),e)),{}),a=(0,Hg.kW)({values:t.direction,base:o}),i=(0,Hg.kW)({values:t.spacing,base:o});"object"===typeof a&&Object.keys(a).forEach(((e,t,r)=>{if(!a[e]){const n=t>0?a[r[t-1]]:"column";a[e]=n}}));const s=(r,n)=>{return t.useFlexGap?{gap:(0,my._W)(e,r)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${o=n?a[n]:t.direction,{row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"}[o]}`]:(0,my._W)(e,r)}};var o};n=(0,vl.A)(n,(0,Hg.NI)({theme:r},i,s))}return n=(0,Hg.iZ)(r.breakpoints,n),n};const Sy=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{createStyledComponent:r=yy,useThemeProps:n=by,componentName:o="MuiStack"}=e,a=r(wy),i=t.forwardRef((function(e,t){const r=n(e),i=(0,Ja.A)(r),{component:s="div",direction:l="column",spacing:c=0,divider:u,children:d,className:p,useFlexGap:f=!1}=i,h=(0,Me.A)(i,gy),m={direction:l,spacing:c,useFlexGap:f},g=(0,tt.A)({root:["root"]},(e=>(0,dn.Ay)(o,e)),{});return(0,De.jsx)(a,(0,Ne.A)({as:s,ownerState:m,ref:t,className:(0,Ze.A)(g.root,p)},h,{children:u?xy(d,u):d}))}));return i}({createStyledComponent:(0,at.Ay)("div",{name:"MuiStack",slot:"Root",overridesResolver:(e,t)=>t.root}),useThemeProps:e=>(0,dt.b)({props:e,name:"MuiStack"})}),Ay=Sy;function ky(e){return(0,dn.Ay)("MuiFormControlLabel",e)}const $y=(0,un.A)("MuiFormControlLabel",["root","labelPlacementStart","labelPlacementTop","labelPlacementBottom","disabled","label","error","required","asterisk"]),Cy=["checked","className","componentsProps","control","disabled","disableTypography","inputRef","label","labelPlacement","name","onChange","required","slotProps","value"],Ey=(0,at.Ay)("label",{name:"MuiFormControlLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[{[`& .${$y.label}`]:t.label},t.root,t[`labelPlacement${(0,pt.A)(r.labelPlacement)}`]]}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({display:"inline-flex",alignItems:"center",cursor:"pointer",verticalAlign:"middle",WebkitTapHighlightColor:"transparent",marginLeft:-11,marginRight:16,[`&.${$y.disabled}`]:{cursor:"default"}},"start"===r.labelPlacement&&{flexDirection:"row-reverse",marginLeft:16,marginRight:-11},"top"===r.labelPlacement&&{flexDirection:"column-reverse",marginLeft:16},"bottom"===r.labelPlacement&&{flexDirection:"column",marginLeft:16},{[`& .${$y.label}`]:{[`&.${$y.disabled}`]:{color:(t.vars||t).palette.text.disabled}}})})),jy=(0,at.Ay)("span",{name:"MuiFormControlLabel",slot:"Asterisk",overridesResolver:(e,t)=>t.asterisk})((e=>{let{theme:t}=e;return{[`&.${$y.error}`]:{color:(t.vars||t).palette.error.main}}})),_y=t.forwardRef((function(e,r){var n,o;const a=(0,dt.b)({props:e,name:"MuiFormControlLabel"}),{className:i,componentsProps:s={},control:l,disabled:c,disableTypography:u,label:d,labelPlacement:p="end",required:f,slotProps:h={}}=a,m=(0,Me.A)(a,Cy),g=El(),v=null!=(n=null!=c?c:l.props.disabled)?n:null==g?void 0:g.disabled,y=null!=f?f:l.props.required,b={disabled:v,required:y};["checked","name","onChange","value","inputRef"].forEach((e=>{"undefined"===typeof l.props[e]&&"undefined"!==typeof a[e]&&(b[e]=a[e])}));const x=$l({props:a,muiFormControl:g,states:["error"]}),w=(0,Ne.A)({},a,{disabled:v,labelPlacement:p,required:y,error:x.error}),S=(e=>{const{classes:t,disabled:r,labelPlacement:n,error:o,required:a}=e,i={root:["root",r&&"disabled",`labelPlacement${(0,pt.A)(n)}`,o&&"error",a&&"required"],label:["label",r&&"disabled"],asterisk:["asterisk",o&&"error"]};return(0,tt.A)(i,ky,t)})(w),A=null!=(o=h.typography)?o:s.typography;let k=d;return null==k||k.type===oi||u||(k=(0,De.jsx)(oi,(0,Ne.A)({component:"span"},A,{className:(0,Ze.A)(S.label,null==A?void 0:A.className),children:k}))),(0,De.jsxs)(Ey,(0,Ne.A)({className:(0,Ze.A)(S.root,i),ownerState:w,ref:r},m,{children:[t.cloneElement(l,b),y?(0,De.jsxs)(Ay,{display:"block",children:[k,(0,De.jsxs)(jy,{ownerState:w,"aria-hidden":!0,className:S.asterisk,children:["\u2009","*"]})]}):k]}))}));function Py(e){var t;const{schema:r,id:n,value:o,disabled:a,readonly:i,label:s="",hideLabel:l,autofocus:c,onChange:u,onBlur:d,onFocus:p,registry:f,options:h,uiSchema:m}=e,g=Xp("DescriptionFieldTemplate",f,h),v=df(r),y=null!==(t=h.description)&&void 0!==t?t:r.description;return(0,De.jsxs)(De.Fragment,{children:[!l&&!!y&&(0,De.jsx)(g,{id:ef(n),description:y,schema:r,uiSchema:m,registry:f}),(0,De.jsx)(_y,{control:(0,De.jsx)(ry,{id:n,name:n,checked:"undefined"!==typeof o&&Boolean(o),required:v,disabled:a||i,autoFocus:c,onChange:(e,t)=>u(t),onBlur:e=>{let{target:t}=e;return d(n,t&&t.value)},onFocus:e=>{let{target:t}=e;return p(n,t&&t.value)},"aria-describedby":af(n)}),label:lf(s,l,!1)})]})}function Ry(e){return(0,dn.Ay)("MuiFormGroup",e)}(0,un.A)("MuiFormGroup",["root","row","error"]);const Oy=["className","row"],Ny=(0,at.Ay)("div",{name:"MuiFormGroup",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,r.row&&t.row]}})((e=>{let{ownerState:t}=e;return(0,Ne.A)({display:"flex",flexDirection:"column",flexWrap:"wrap"},t.row&&{flexDirection:"row"})})),My=t.forwardRef((function(e,t){const r=(0,dt.b)({props:e,name:"MuiFormGroup"}),{className:n,row:o=!1}=r,a=(0,Me.A)(r,Oy),i=$l({props:r,muiFormControl:El(),states:["error"]}),s=(0,Ne.A)({},r,{row:o,error:i.error}),l=(e=>{const{classes:t,row:r,error:n}=e,o={root:["root",r&&"row",n&&"error"]};return(0,tt.A)(o,Ry,t)})(s);return(0,De.jsx)(Ny,(0,Ne.A)({className:(0,Ze.A)(l.root,n),ownerState:s,ref:t},a))}));function Ty(e){let{label:t,hideLabel:r,id:n,disabled:o,options:a,value:i,autofocus:s,readonly:l,required:c,onChange:u,onBlur:d,onFocus:p}=e;const{enumOptions:f,enumDisabled:h,inline:m,emptyValue:g}=a,v=Array.isArray(i)?i:[i],y=e=>t=>{let{target:{checked:r}}=t;u(r?Dp(e,v,f):Np(e,v,f))},b=e=>{let{target:t}=e;return d(n,Op(t&&t.value,f,g))},x=e=>{let{target:t}=e;return p(n,Op(t&&t.value,f,g))};return(0,De.jsxs)(De.Fragment,{children:[lf((0,De.jsx)(xc,{required:c,htmlFor:n,children:t||void 0}),r),(0,De.jsx)(My,{id:n,row:!!m,children:Array.isArray(f)&&f.map(((e,t)=>{const r=Mp(e.value,v),a=Array.isArray(h)&&-1!==h.indexOf(e.value),i=(0,De.jsx)(ry,{id:sf(n,t),name:n,checked:r,disabled:o||a||l,autoFocus:s&&0===t,onChange:y(t),onBlur:b,onFocus:x,"aria-describedby":af(n)});return(0,De.jsx)(_y,{control:i,label:e.label},t)}))})]})}const Iy=(0,Xi.A)((0,De.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"RadioButtonUnchecked"),Fy=(0,Xi.A)((0,De.jsx)("path",{d:"M8.465 8.465C9.37 7.56 10.62 7 12 7C14.76 7 17 9.24 17 12C17 13.38 16.44 14.63 15.535 15.535C14.63 16.44 13.38 17 12 17C9.24 17 7 14.76 7 12C7 10.62 7.56 9.37 8.465 8.465Z"}),"RadioButtonChecked"),Dy=(0,at.Ay)("span",{shouldForwardProp:ja.A})({position:"relative",display:"flex"}),zy=(0,at.Ay)(Iy)({transform:"scale(1)"}),Ly=(0,at.Ay)(Fy)((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({left:0,position:"absolute",transform:"scale(0)",transition:t.transitions.create("transform",{easing:t.transitions.easing.easeIn,duration:t.transitions.duration.shortest})},r.checked&&{transform:"scale(1)",transition:t.transitions.create("transform",{easing:t.transitions.easing.easeOut,duration:t.transitions.duration.shortest})})}));const By=function(e){const{checked:t=!1,classes:r={},fontSize:n}=e,o=(0,Ne.A)({},e,{checked:t});return(0,De.jsxs)(Dy,{className:r.root,ownerState:o,children:[(0,De.jsx)(zy,{fontSize:n,className:r.background,ownerState:o}),(0,De.jsx)(Ly,{fontSize:n,className:r.dot,ownerState:o})]})};var Wy=r(6593);const Vy=t.createContext(void 0);function Uy(e){return(0,dn.Ay)("MuiRadio",e)}const Hy=(0,un.A)("MuiRadio",["root","checked","disabled","colorPrimary","colorSecondary","sizeSmall"]),qy=["checked","checkedIcon","color","icon","name","onChange","size","className"],Gy=(0,at.Ay)(Hv,{shouldForwardProp:e=>(0,ja.A)(e)||"classes"===e,name:"MuiRadio",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,"medium"!==r.size&&t[`size${(0,pt.A)(r.size)}`],t[`color${(0,pt.A)(r.color)}`]]}})((e=>{let{theme:t,ownerState:r}=e;return(0,Ne.A)({color:(t.vars||t).palette.text.secondary},!r.disableRipple&&{"&:hover":{backgroundColor:t.vars?`rgba(${"default"===r.color?t.vars.palette.action.activeChannel:t.vars.palette[r.color].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:(0,rt.X4)("default"===r.color?t.palette.action.active:t.palette[r.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==r.color&&{[`&.${Hy.checked}`]:{color:(t.vars||t).palette[r.color].main}},{[`&.${Hy.disabled}`]:{color:(t.vars||t).palette.action.disabled}})}));const Ky=(0,De.jsx)(By,{checked:!0}),Xy=(0,De.jsx)(By,{}),Qy=t.forwardRef((function(e,r){var n,o;const a=(0,dt.b)({props:e,name:"MuiRadio"}),{checked:i,checkedIcon:s=Ky,color:l="primary",icon:c=Xy,name:u,onChange:d,size:p="medium",className:f}=a,h=(0,Me.A)(a,qy),m=(0,Ne.A)({},a,{color:l,size:p}),g=(e=>{const{classes:t,color:r,size:n}=e,o={root:["root",`color${(0,pt.A)(r)}`,"medium"!==n&&`size${(0,pt.A)(n)}`]};return(0,Ne.A)({},t,(0,tt.A)(o,Uy,t))})(m),v=t.useContext(Vy);let y=i;const b=(0,Wy.A)(d,v&&v.onChange);let x=u;return v&&("undefined"===typeof y&&(y=function(e,t){return"object"===typeof t&&null!==t?e===t:String(e)===String(t)}(v.value,a.value)),"undefined"===typeof x&&(x=v.name)),(0,De.jsx)(Gy,(0,Ne.A)({type:"radio",icon:t.cloneElement(c,{fontSize:null!=(n=Xy.props.fontSize)?n:p}),checkedIcon:t.cloneElement(s,{fontSize:null!=(o=Ky.props.fontSize)?o:p}),ownerState:m,classes:g,name:x,checked:y,onChange:b,ref:r,className:(0,Ze.A)(g.root,f)},h))})),Yy=Qy;function Jy(e){return(0,dn.Ay)("MuiRadioGroup",e)}(0,un.A)("MuiRadioGroup",["root","row","error"]);const Zy=["actions","children","className","defaultValue","name","onChange","value"],eb=t.forwardRef((function(e,r){const{actions:n,children:o,className:a,defaultValue:i,name:s,onChange:l,value:c}=e,u=(0,Me.A)(e,Zy),d=t.useRef(null),p=(e=>{const{classes:t,row:r,error:n}=e,o={root:["root",r&&"row",n&&"error"]};return(0,tt.A)(o,Jy,t)})(e),[f,h]=(0,jn.A)({controlled:c,default:i,name:"RadioGroup"});t.useImperativeHandle(n,(()=>({focus:()=>{let e=d.current.querySelector("input:not(:disabled):checked");e||(e=d.current.querySelector("input:not(:disabled)")),e&&e.focus()}})),[]);const m=(0,Et.A)(r,d),g=(0,Cn.A)(s),v=t.useMemo((()=>({name:g,onChange(e){h(e.target.value),l&&l(e,e.target.value)},value:f})),[g,l,h,f]);return(0,De.jsx)(Vy.Provider,{value:v,children:(0,De.jsx)(My,(0,Ne.A)({role:"radiogroup",ref:m,className:(0,Ze.A)(p.root,a)},u,{children:o}))})}));function tb(e){let{id:t,options:r,value:n,required:o,disabled:a,readonly:i,label:s,hideLabel:l,onChange:c,onBlur:u,onFocus:d}=e;var p;const{enumOptions:f,enumDisabled:h,emptyValue:m}=r,g=!!r&&r.inline,v=null!==(p=Tp(n,f))&&void 0!==p?p:null;return(0,De.jsxs)(De.Fragment,{children:[lf((0,De.jsx)(xc,{required:o,htmlFor:t,children:s||void 0}),l),(0,De.jsx)(eb,{id:t,name:t,value:v,row:g,onChange:(e,t)=>c(Op(t,f,m)),onBlur:e=>{let{target:r}=e;return u(t,Op(r&&r.value,f,m))},onFocus:e=>{let{target:r}=e;return d(t,Op(r&&r.value,f,m))},"aria-describedby":af(t),children:Array.isArray(f)&&f.map(((e,r)=>{const n=Array.isArray(h)&&-1!==h.indexOf(e.value);return(0,De.jsx)(_y,{control:(0,De.jsx)(Yy,{name:t,id:sf(t,r),color:"primary"}),label:e.label,value:String(r),disabled:a||n||i},r)}))})]})}var rb=r(51052),nb=r(11188),ob=r(49640);const ab={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",whiteSpace:"nowrap",width:"1px"};const ib=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:(e,t)=>e===t;return e.length===t.length&&e.every(((e,n)=>r(e,t[n])))};function sb(e,t){return e-t}function lb(e,t){var r;const{index:n}=null!=(r=e.reduce(((e,r,n)=>{const o=Math.abs(t-r);return null===e||o({left:`${e}%`}),leap:e=>({width:`${e}%`})},"horizontal-reverse":{offset:e=>({right:`${e}%`}),leap:e=>({width:`${e}%`})},vertical:{offset:e=>({bottom:`${e}%`}),leap:e=>({height:`${e}%`})}},gb=e=>e;let vb;function yb(){return void 0===vb&&(vb="undefined"===typeof CSS||"function"!==typeof CSS.supports||CSS.supports("touch-action","none")),vb}function bb(e){const{"aria-labelledby":r,defaultValue:n,disabled:o=!1,disableSwap:a=!1,isRtl:i=!1,marks:s=!1,max:l=100,min:c=0,name:u,onChange:d,onChangeCommitted:p,orientation:f="horizontal",rootRef:h,scale:m=gb,step:g=1,shiftStep:v=10,tabIndex:y,value:b}=e,x=t.useRef(),[w,S]=t.useState(-1),[A,k]=t.useState(-1),[$,C]=t.useState(!1),E=t.useRef(0),[j,_]=(0,rb.A)({controlled:b,default:null!=n?n:c,name:"Slider"}),P=d&&((e,t,r)=>{const n=e.nativeEvent||e,o=new n.constructor(n.type,n);Object.defineProperty(o,"target",{writable:!0,value:{value:t,name:u}}),d(o,t,r)}),R=Array.isArray(j);let O=R?j.slice().sort(sb):[j];O=O.map((e=>null==e?c:(0,nb.A)(e,c,l)));const N=!0===s&&null!==g?[...Array(Math.floor((l-c)/g)+1)].map(((e,t)=>({value:c+g*t}))):s||[],M=N.map((e=>e.value)),{isFocusVisibleRef:T,onBlur:I,onFocus:F,ref:D}=(0,ob.A)(),[z,L]=t.useState(-1),B=t.useRef(),W=(0,Tt.A)(D,B),V=(0,Tt.A)(h,W),U=e=>t=>{var r;const n=Number(t.currentTarget.getAttribute("data-index"));F(t),!0===T.current&&L(n),k(n),null==e||null==(r=e.onFocus)||r.call(e,t)},H=e=>t=>{var r;I(t),!1===T.current&&L(-1),k(-1),null==e||null==(r=e.onBlur)||r.call(e,t)},q=(e,t)=>{const r=Number(e.currentTarget.getAttribute("data-index")),n=O[r],o=M.indexOf(n);let i=t;if(N&&null==g){const e=M[M.length-1];i=i>e?e:it=>{var r;if(null!==g){const e=Number(t.currentTarget.getAttribute("data-index")),r=O[e];let n=null;("ArrowLeft"===t.key||"ArrowDown"===t.key)&&t.shiftKey||"PageDown"===t.key?n=Math.max(r-v,c):(("ArrowRight"===t.key||"ArrowUp"===t.key)&&t.shiftKey||"PageUp"===t.key)&&(n=Math.min(r+v,l)),null!==n&&(q(t,n),t.preventDefault())}null==e||null==(r=e.onKeyDown)||r.call(e,t)};(0,It.A)((()=>{var e;o&&B.current.contains(document.activeElement)&&(null==(e=document.activeElement)||e.blur())}),[o]),o&&-1!==w&&S(-1),o&&-1!==z&&L(-1);const K=t.useRef();let X=f;i&&"horizontal"===f&&(X+="-reverse");const Q=e=>{let{finger:t,move:r=!1}=e;const{current:n}=B,{width:o,height:i,bottom:s,left:u}=n.getBoundingClientRect();let d,p;if(d=0===X.indexOf("vertical")?(s-t.y)/i:(t.x-u)/o,-1!==X.indexOf("-reverse")&&(d=1-d),p=function(e,t,r){return(r-t)*e+t}(d,c,l),g)p=db(p,g,c);else{const e=lb(M,p);p=M[e]}p=(0,nb.A)(p,c,l);let f=0;if(R){f=r?K.current:lb(O,p),a&&(p=(0,nb.A)(p,O[f-1]||-1/0,O[f+1]||1/0));const e=p;p=pb({values:O,newValue:p,index:f}),a&&r||(f=p.indexOf(e),K.current=f)}return{newValue:p,activeIndex:f}},Y=(0,Xo.A)((e=>{const t=cb(e,x);if(!t)return;if(E.current+=1,"mousemove"===e.type&&0===e.buttons)return void J(e);const{newValue:r,activeIndex:n}=Q({finger:t,move:!0});fb({sliderRef:B,activeIndex:n,setActive:S}),_(r),!$&&E.current>2&&C(!0),P&&!hb(r,j)&&P(e,r,n)})),J=(0,Xo.A)((e=>{const t=cb(e,x);if(C(!1),!t)return;const{newValue:r}=Q({finger:t,move:!0});S(-1),"touchend"===e.type&&k(-1),p&&p(e,r),x.current=void 0,ee()})),Z=(0,Xo.A)((e=>{if(o)return;yb()||e.preventDefault();const t=e.changedTouches[0];null!=t&&(x.current=t.identifier);const r=cb(e,x);if(!1!==r){const{newValue:t,activeIndex:n}=Q({finger:r});fb({sliderRef:B,activeIndex:n,setActive:S}),_(t),P&&!hb(t,j)&&P(e,t,n)}E.current=0;const n=(0,Ft.A)(B.current);n.addEventListener("touchmove",Y,{passive:!0}),n.addEventListener("touchend",J,{passive:!0})})),ee=t.useCallback((()=>{const e=(0,Ft.A)(B.current);e.removeEventListener("mousemove",Y),e.removeEventListener("mouseup",J),e.removeEventListener("touchmove",Y),e.removeEventListener("touchend",J)}),[J,Y]);t.useEffect((()=>{const{current:e}=B;return e.addEventListener("touchstart",Z,{passive:yb()}),()=>{e.removeEventListener("touchstart",Z),ee()}}),[ee,Z]),t.useEffect((()=>{o&&ee()}),[o,ee]);const te=ub(R?O[0]:c,c,l),re=ub(O[O.length-1],c,l)-te,ne=e=>t=>{var r;null==(r=e.onMouseLeave)||r.call(e,t),k(-1)};return{active:w,axis:X,axisProps:mb,dragging:$,focusedThumbIndex:z,getHiddenInputProps:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var n;const a=tn(t),s={onChange:(d=a||{},e=>{var t;null==(t=d.onChange)||t.call(d,e),q(e,e.target.valueAsNumber)}),onFocus:U(a||{}),onBlur:H(a||{}),onKeyDown:G(a||{})};var d;const p=(0,Ne.A)({},a,s);return(0,Ne.A)({tabIndex:y,"aria-labelledby":r,"aria-orientation":f,"aria-valuemax":m(l),"aria-valuemin":m(c),name:u,type:"range",min:e.min,max:e.max,step:null===e.step&&e.marks?"any":null!=(n=e.step)?n:void 0,disabled:o},t,p,{style:(0,Ne.A)({},ab,{direction:i?"rtl":"ltr",width:"100%",height:"100%"})})},getRootProps:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=tn(e),r={onMouseDown:(n=t||{},e=>{var t;if(null==(t=n.onMouseDown)||t.call(n,e),o)return;if(e.defaultPrevented)return;if(0!==e.button)return;e.preventDefault();const r=cb(e,x);if(!1!==r){const{newValue:t,activeIndex:n}=Q({finger:r});fb({sliderRef:B,activeIndex:n,setActive:S}),_(t),P&&!hb(t,j)&&P(e,t,n)}E.current=0;const a=(0,Ft.A)(B.current);a.addEventListener("mousemove",Y,{passive:!0}),a.addEventListener("mouseup",J)})};var n;const a=(0,Ne.A)({},t,r);return(0,Ne.A)({},e,{ref:V},a)},getThumbProps:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=tn(e),r={onMouseOver:(n=t||{},e=>{var t;null==(t=n.onMouseOver)||t.call(n,e);const r=Number(e.currentTarget.getAttribute("data-index"));k(r)}),onMouseLeave:ne(t||{})};var n;return(0,Ne.A)({},e,t,r)},marks:N,open:A,range:R,rootRef:V,trackLeap:re,trackOffset:te,values:O,getThumbStyle:e=>({pointerEvents:-1!==w&&w!==e?"none":void 0})}}const xb=e=>!e||!nt(e);function wb(e){return(0,dn.Ay)("MuiSlider",e)}const Sb=(0,un.A)("MuiSlider",["root","active","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","disabled","dragging","focusVisible","mark","markActive","marked","markLabel","markLabelActive","rail","sizeSmall","thumb","thumbColorPrimary","thumbColorSecondary","thumbColorError","thumbColorSuccess","thumbColorInfo","thumbColorWarning","track","trackInverted","trackFalse","thumbSizeSmall","valueLabel","valueLabelOpen","valueLabelCircle","valueLabelLabel","vertical"]);const Ab=["aria-label","aria-valuetext","aria-labelledby","component","components","componentsProps","color","classes","className","disableSwap","disabled","getAriaLabel","getAriaValueText","marks","max","min","name","onChange","onChangeCommitted","orientation","shiftStep","size","step","scale","slotProps","slots","tabIndex","track","value","valueLabelDisplay","valueLabelFormat"];function kb(e){return e}const $b=(0,at.Ay)("span",{name:"MuiSlider",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,t[`color${(0,pt.A)(r.color)}`],"medium"!==r.size&&t[`size${(0,pt.A)(r.size)}`],r.marked&&t.marked,"vertical"===r.orientation&&t.vertical,"inverted"===r.track&&t.trackInverted,!1===r.track&&t.trackFalse]}})((e=>{let{theme:t}=e;var r;return{borderRadius:12,boxSizing:"content-box",display:"inline-block",position:"relative",cursor:"pointer",touchAction:"none",WebkitTapHighlightColor:"transparent","@media print":{colorAdjust:"exact"},[`&.${Sb.disabled}`]:{pointerEvents:"none",cursor:"default",color:(t.vars||t).palette.grey[400]},[`&.${Sb.dragging}`]:{[`& .${Sb.thumb}, & .${Sb.track}`]:{transition:"none"}},variants:[...Object.keys((null!=(r=t.vars)?r:t).palette).filter((e=>{var r;return(null!=(r=t.vars)?r:t).palette[e].main})).map((e=>({props:{color:e},style:{color:(t.vars||t).palette[e].main}}))),{props:{orientation:"horizontal"},style:{height:4,width:"100%",padding:"13px 0","@media (pointer: coarse)":{padding:"20px 0"}}},{props:{orientation:"horizontal",size:"small"},style:{height:2}},{props:{orientation:"horizontal",marked:!0},style:{marginBottom:20}},{props:{orientation:"vertical"},style:{height:"100%",width:4,padding:"0 13px","@media (pointer: coarse)":{padding:"0 20px"}}},{props:{orientation:"vertical",size:"small"},style:{width:2}},{props:{orientation:"vertical",marked:!0},style:{marginRight:44}}]}})),Cb=(0,at.Ay)("span",{name:"MuiSlider",slot:"Rail",overridesResolver:(e,t)=>t.rail})({display:"block",position:"absolute",borderRadius:"inherit",backgroundColor:"currentColor",opacity:.38,variants:[{props:{orientation:"horizontal"},style:{width:"100%",height:"inherit",top:"50%",transform:"translateY(-50%)"}},{props:{orientation:"vertical"},style:{height:"100%",width:"inherit",left:"50%",transform:"translateX(-50%)"}},{props:{track:"inverted"},style:{opacity:1}}]}),Eb=(0,at.Ay)("span",{name:"MuiSlider",slot:"Track",overridesResolver:(e,t)=>t.track})((e=>{let{theme:t}=e;var r;return{display:"block",position:"absolute",borderRadius:"inherit",border:"1px solid currentColor",backgroundColor:"currentColor",transition:t.transitions.create(["left","width","bottom","height"],{duration:t.transitions.duration.shortest}),variants:[{props:{size:"small"},style:{border:"none"}},{props:{orientation:"horizontal"},style:{height:"inherit",top:"50%",transform:"translateY(-50%)"}},{props:{orientation:"vertical"},style:{width:"inherit",left:"50%",transform:"translateX(-50%)"}},{props:{track:!1},style:{display:"none"}},...Object.keys((null!=(r=t.vars)?r:t).palette).filter((e=>{var r;return(null!=(r=t.vars)?r:t).palette[e].main})).map((e=>({props:{color:e,track:"inverted"},style:(0,Ne.A)({},t.vars?{backgroundColor:t.vars.palette.Slider[`${e}Track`],borderColor:t.vars.palette.Slider[`${e}Track`]}:(0,Ne.A)({backgroundColor:(0,rt.a)(t.palette[e].main,.62),borderColor:(0,rt.a)(t.palette[e].main,.62)},t.applyStyles("dark",{backgroundColor:(0,rt.e$)(t.palette[e].main,.5)}),t.applyStyles("dark",{borderColor:(0,rt.e$)(t.palette[e].main,.5)})))})))]}})),jb=(0,at.Ay)("span",{name:"MuiSlider",slot:"Thumb",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.thumb,t[`thumbColor${(0,pt.A)(r.color)}`],"medium"!==r.size&&t[`thumbSize${(0,pt.A)(r.size)}`]]}})((e=>{let{theme:t}=e;var r;return{position:"absolute",width:20,height:20,boxSizing:"border-box",borderRadius:"50%",outline:0,backgroundColor:"currentColor",display:"flex",alignItems:"center",justifyContent:"center",transition:t.transitions.create(["box-shadow","left","bottom"],{duration:t.transitions.duration.shortest}),"&::before":{position:"absolute",content:'""',borderRadius:"inherit",width:"100%",height:"100%",boxShadow:(t.vars||t).shadows[2]},"&::after":{position:"absolute",content:'""',borderRadius:"50%",width:42,height:42,top:"50%",left:"50%",transform:"translate(-50%, -50%)"},[`&.${Sb.disabled}`]:{"&:hover":{boxShadow:"none"}},variants:[{props:{size:"small"},style:{width:12,height:12,"&::before":{boxShadow:"none"}}},{props:{orientation:"horizontal"},style:{top:"50%",transform:"translate(-50%, -50%)"}},{props:{orientation:"vertical"},style:{left:"50%",transform:"translate(-50%, 50%)"}},...Object.keys((null!=(r=t.vars)?r:t).palette).filter((e=>{var r;return(null!=(r=t.vars)?r:t).palette[e].main})).map((e=>({props:{color:e},style:{[`&:hover, &.${Sb.focusVisible}`]:(0,Ne.A)({},t.vars?{boxShadow:`0px 0px 0px 8px rgba(${t.vars.palette[e].mainChannel} / 0.16)`}:{boxShadow:`0px 0px 0px 8px ${(0,rt.X4)(t.palette[e].main,.16)}`},{"@media (hover: none)":{boxShadow:"none"}}),[`&.${Sb.active}`]:(0,Ne.A)({},t.vars?{boxShadow:`0px 0px 0px 14px rgba(${t.vars.palette[e].mainChannel} / 0.16)`}:{boxShadow:`0px 0px 0px 14px ${(0,rt.X4)(t.palette[e].main,.16)}`})}})))]}})),_b=(0,at.Ay)((function(e){const{children:r,className:n,value:o}=e,a=(e=>{const{open:t}=e;return{offset:(0,Ze.A)(t&&Sb.valueLabelOpen),circle:Sb.valueLabelCircle,label:Sb.valueLabelLabel}})(e);return r?t.cloneElement(r,{className:(0,Ze.A)(r.props.className)},(0,De.jsxs)(t.Fragment,{children:[r.props.children,(0,De.jsx)("span",{className:(0,Ze.A)(a.offset,n),"aria-hidden":!0,children:(0,De.jsx)("span",{className:a.circle,children:(0,De.jsx)("span",{className:a.label,children:o})})})]})):null}),{name:"MuiSlider",slot:"ValueLabel",overridesResolver:(e,t)=>t.valueLabel})((e=>{let{theme:t}=e;return(0,Ne.A)({zIndex:1,whiteSpace:"nowrap"},t.typography.body2,{fontWeight:500,transition:t.transitions.create(["transform"],{duration:t.transitions.duration.shortest}),position:"absolute",backgroundColor:(t.vars||t).palette.grey[600],borderRadius:2,color:(t.vars||t).palette.common.white,display:"flex",alignItems:"center",justifyContent:"center",padding:"0.25rem 0.75rem",variants:[{props:{orientation:"horizontal"},style:{transform:"translateY(-100%) scale(0)",top:"-10px",transformOrigin:"bottom center","&::before":{position:"absolute",content:'""',width:8,height:8,transform:"translate(-50%, 50%) rotate(45deg)",backgroundColor:"inherit",bottom:0,left:"50%"},[`&.${Sb.valueLabelOpen}`]:{transform:"translateY(-100%) scale(1)"}}},{props:{orientation:"vertical"},style:{transform:"translateY(-50%) scale(0)",right:"30px",top:"50%",transformOrigin:"right center","&::before":{position:"absolute",content:'""',width:8,height:8,transform:"translate(-50%, -50%) rotate(45deg)",backgroundColor:"inherit",right:-8,top:"50%"},[`&.${Sb.valueLabelOpen}`]:{transform:"translateY(-50%) scale(1)"}}},{props:{size:"small"},style:{fontSize:t.typography.pxToRem(12),padding:"0.25rem 0.5rem"}},{props:{orientation:"vertical",size:"small"},style:{right:"20px"}}]})})),Pb=(0,at.Ay)("span",{name:"MuiSlider",slot:"Mark",shouldForwardProp:e=>(0,Uc.A)(e)&&"markActive"!==e,overridesResolver:(e,t)=>{const{markActive:r}=e;return[t.mark,r&&t.markActive]}})((e=>{let{theme:t}=e;return{position:"absolute",width:2,height:2,borderRadius:1,backgroundColor:"currentColor",variants:[{props:{orientation:"horizontal"},style:{top:"50%",transform:"translate(-1px, -50%)"}},{props:{orientation:"vertical"},style:{left:"50%",transform:"translate(-50%, 1px)"}},{props:{markActive:!0},style:{backgroundColor:(t.vars||t).palette.background.paper,opacity:.8}}]}})),Rb=(0,at.Ay)("span",{name:"MuiSlider",slot:"MarkLabel",shouldForwardProp:e=>(0,Uc.A)(e)&&"markLabelActive"!==e,overridesResolver:(e,t)=>t.markLabel})((e=>{let{theme:t}=e;return(0,Ne.A)({},t.typography.body2,{color:(t.vars||t).palette.text.secondary,position:"absolute",whiteSpace:"nowrap",variants:[{props:{orientation:"horizontal"},style:{top:30,transform:"translateX(-50%)","@media (pointer: coarse)":{top:40}}},{props:{orientation:"vertical"},style:{left:36,transform:"translateY(50%)","@media (pointer: coarse)":{left:44}}},{props:{markLabelActive:!0},style:{color:(t.vars||t).palette.text.primary}}]})})),Ob=e=>{let{children:t}=e;return t},Nb=t.forwardRef((function(e,r){var n,o,a,i,s,l,c,u,d,p,f,h,m,g,v,y,b,x,w,S,A,k,$,C;const E=(0,dt.b)({props:e,name:"MuiSlider"}),j=Ue(),{"aria-label":_,"aria-valuetext":P,"aria-labelledby":R,component:O="span",components:N={},componentsProps:M={},color:T="primary",classes:I,className:F,disableSwap:D=!1,disabled:z=!1,getAriaLabel:L,getAriaValueText:B,marks:W=!1,max:V=100,min:U=0,orientation:H="horizontal",shiftStep:q=10,size:G="medium",step:K=1,scale:X=kb,slotProps:Q,slots:Y,track:J="normal",valueLabelDisplay:Z="off",valueLabelFormat:ee=kb}=E,te=(0,Me.A)(E,Ab),re=(0,Ne.A)({},E,{isRtl:j,max:V,min:U,classes:I,disabled:z,disableSwap:D,orientation:H,marks:W,color:T,size:G,step:K,shiftStep:q,scale:X,track:J,valueLabelDisplay:Z,valueLabelFormat:ee}),{axisProps:ne,getRootProps:oe,getHiddenInputProps:ae,getThumbProps:ie,open:se,active:le,axis:ce,focusedThumbIndex:ue,range:de,dragging:pe,marks:fe,values:he,trackOffset:me,trackLeap:ge,getThumbStyle:ve}=bb((0,Ne.A)({},re,{rootRef:r}));re.marked=fe.length>0&&fe.some((e=>e.label)),re.dragging=pe,re.focusedThumbIndex=ue;const ye=(e=>{const{disabled:t,dragging:r,marked:n,orientation:o,track:a,classes:i,color:s,size:l}=e,c={root:["root",t&&"disabled",r&&"dragging",n&&"marked","vertical"===o&&"vertical","inverted"===a&&"trackInverted",!1===a&&"trackFalse",s&&`color${(0,pt.A)(s)}`,l&&`size${(0,pt.A)(l)}`],rail:["rail"],track:["track"],mark:["mark"],markActive:["markActive"],markLabel:["markLabel"],markLabelActive:["markLabelActive"],valueLabel:["valueLabel"],thumb:["thumb",t&&"disabled",l&&`thumbSize${(0,pt.A)(l)}`,s&&`thumbColor${(0,pt.A)(s)}`],active:["active"],disabled:["disabled"],focusVisible:["focusVisible"]};return(0,tt.A)(c,wb,i)})(re),be=null!=(n=null!=(o=null==Y?void 0:Y.root)?o:N.Root)?n:$b,xe=null!=(a=null!=(i=null==Y?void 0:Y.rail)?i:N.Rail)?a:Cb,we=null!=(s=null!=(l=null==Y?void 0:Y.track)?l:N.Track)?s:Eb,Se=null!=(c=null!=(u=null==Y?void 0:Y.thumb)?u:N.Thumb)?c:jb,Ae=null!=(d=null!=(p=null==Y?void 0:Y.valueLabel)?p:N.ValueLabel)?d:_b,ke=null!=(f=null!=(h=null==Y?void 0:Y.mark)?h:N.Mark)?f:Pb,$e=null!=(m=null!=(g=null==Y?void 0:Y.markLabel)?g:N.MarkLabel)?m:Rb,Ce=null!=(v=null!=(y=null==Y?void 0:Y.input)?y:N.Input)?v:"input",Ee=null!=(b=null==Q?void 0:Q.root)?b:M.root,je=null!=(x=null==Q?void 0:Q.rail)?x:M.rail,_e=null!=(w=null==Q?void 0:Q.track)?w:M.track,Pe=null!=(S=null==Q?void 0:Q.thumb)?S:M.thumb,Re=null!=(A=null==Q?void 0:Q.valueLabel)?A:M.valueLabel,Oe=null!=(k=null==Q?void 0:Q.mark)?k:M.mark,Te=null!=($=null==Q?void 0:Q.markLabel)?$:M.markLabel,Ie=null!=(C=null==Q?void 0:Q.input)?C:M.input,Fe=sn({elementType:be,getSlotProps:oe,externalSlotProps:Ee,externalForwardedProps:te,additionalProps:(0,Ne.A)({},xb(be)&&{as:O}),ownerState:(0,Ne.A)({},re,null==Ee?void 0:Ee.ownerState),className:[ye.root,F]}),ze=sn({elementType:xe,externalSlotProps:je,ownerState:re,className:ye.rail}),Le=sn({elementType:we,externalSlotProps:_e,additionalProps:{style:(0,Ne.A)({},ne[ce].offset(me),ne[ce].leap(ge))},ownerState:(0,Ne.A)({},re,null==_e?void 0:_e.ownerState),className:ye.track}),Be=sn({elementType:Se,getSlotProps:ie,externalSlotProps:Pe,ownerState:(0,Ne.A)({},re,null==Pe?void 0:Pe.ownerState),className:ye.thumb}),We=sn({elementType:Ae,externalSlotProps:Re,ownerState:(0,Ne.A)({},re,null==Re?void 0:Re.ownerState),className:ye.valueLabel}),Ve=sn({elementType:ke,externalSlotProps:Oe,ownerState:re,className:ye.mark}),He=sn({elementType:$e,externalSlotProps:Te,ownerState:re,className:ye.markLabel}),qe=sn({elementType:Ce,getSlotProps:ae,externalSlotProps:Ie,ownerState:re});return(0,De.jsxs)(be,(0,Ne.A)({},Fe,{children:[(0,De.jsx)(xe,(0,Ne.A)({},ze)),(0,De.jsx)(we,(0,Ne.A)({},Le)),fe.filter((e=>e.value>=U&&e.value<=V)).map(((e,r)=>{const n=ub(e.value,U,V),o=ne[ce].offset(n);let a;return a=!1===J?-1!==he.indexOf(e.value):"normal"===J&&(de?e.value>=he[0]&&e.value<=he[he.length-1]:e.value<=he[0])||"inverted"===J&&(de?e.value<=he[0]||e.value>=he[he.length-1]:e.value>=he[0]),(0,De.jsxs)(t.Fragment,{children:[(0,De.jsx)(ke,(0,Ne.A)({"data-index":r},Ve,!nt(ke)&&{markActive:a},{style:(0,Ne.A)({},o,Ve.style),className:(0,Ze.A)(Ve.className,a&&ye.markActive)})),null!=e.label?(0,De.jsx)($e,(0,Ne.A)({"aria-hidden":!0,"data-index":r},He,!nt($e)&&{markLabelActive:a},{style:(0,Ne.A)({},o,He.style),className:(0,Ze.A)(ye.markLabel,He.className,a&&ye.markLabelActive),children:e.label})):null]},r)})),he.map(((e,t)=>{const r=ub(e,U,V),n=ne[ce].offset(r),o="off"===Z?Ob:Ae;return(0,De.jsx)(o,(0,Ne.A)({},!nt(o)&&{valueLabelFormat:ee,valueLabelDisplay:Z,value:"function"===typeof ee?ee(X(e),t):ee,index:t,open:se===t||le===t||"on"===Z,disabled:z},We,{children:(0,De.jsx)(Se,(0,Ne.A)({"data-index":t},Be,{className:(0,Ze.A)(ye.thumb,Be.className,le===t&&ye.active,ue===t&&ye.focusVisible),style:(0,Ne.A)({},n,ve(t),Be.style),children:(0,De.jsx)(Ce,(0,Ne.A)({"data-index":t,"aria-label":L?L(t):_,"aria-valuenow":X(e),"aria-labelledby":R,"aria-valuetext":B?B(X(e),t):P,value:he[t]},qe))}))}),t)}))]}))})),Mb=Nb;function Tb(e){const{value:t,readonly:r,disabled:n,onBlur:o,onFocus:a,options:i,schema:s,onChange:l,required:c,label:u,hideLabel:d,id:p}=e,f={value:t,label:u,id:p,name:p,...Hp(s)};return(0,De.jsxs)(De.Fragment,{children:[lf((0,De.jsx)(xc,{required:c,htmlFor:p,children:u||void 0}),d),(0,De.jsx)(Mb,{disabled:n||r,onChange:(e,t)=>{l(null!==t&&void 0!==t?t:i.emptyValue)},onBlur:e=>{let{target:t}=e;return o(p,t&&t.value)},onFocus:e=>{let{target:t}=e;return a(p,t&&t.value)},valueLabelDisplay:"auto",...f,"aria-describedby":af(p)})]})}function Ib(e){let{schema:t,id:r,name:n,options:o,label:a,hideLabel:i,required:s,disabled:l,placeholder:c,readonly:u,value:d,multiple:p,autofocus:f,onChange:h,onBlur:m,onFocus:g,errorSchema:v,rawErrors:y=[],registry:b,uiSchema:x,hideError:w,formContext:S,...A}=e;const{enumOptions:k,enumDisabled:$,emptyValue:C}=o;p="undefined"!==typeof p&&!!p;const E=p?[]:"",j="undefined"===typeof d||p&&d.length<1||!p&&d===E,_=Tp(d,k,p),{InputLabelProps:P,SelectProps:R,autocomplete:O,...N}=A,M=!p&&void 0===t.default;return(0,De.jsxs)(mu,{id:r,name:r,label:lf(a||void 0,i,void 0),value:j||"undefined"===typeof _?E:_,required:s,disabled:l||u,autoFocus:f,autoComplete:O,placeholder:c,error:y.length>0,onChange:e=>{let{target:{value:t}}=e;return h(Op(t,k,C))},onBlur:e=>{let{target:t}=e;return m(r,Op(t&&t.value,k,C))},onFocus:e=>{let{target:t}=e;return g(r,Op(t&&t.value,k,C))},...N,select:!0,InputLabelProps:{...P,shrink:!j},SelectProps:{...R,multiple:p},"aria-describedby":af(r),children:[M&&(0,De.jsx)(Ka,{value:"",children:c}),Array.isArray(k)&&k.map(((e,t)=>{let{value:r,label:n}=e;const o=Array.isArray($)&&-1!==$.indexOf(r);return(0,De.jsx)(Ka,{value:String(t),disabled:o,children:n},t)}))]})}function Fb(e){const{options:t,registry:r}=e,n=Xp("BaseInputTemplate",r,t);let o=5;return"string"!==typeof t.rows&&"number"!==typeof t.rows||(o=t.rows),(0,De.jsx)(n,{...e,multiline:!0,rows:o})}function Db(){return{CheckboxWidget:Py,CheckboxesWidget:Ty,RadioWidget:tb,RangeWidget:Tb,SelectWidget:Ib,TextareaWidget:Fb}}Db();function zb(){return{templates:Lv(),widgets:Db()}}zb();const Lb=function(){return e=zb(),(0,t.forwardRef)(((t,r)=>{let{fields:n,widgets:o,templates:a,...i}=t;var s;return n={...null===e||void 0===e?void 0:e.fields,...n},o={...null===e||void 0===e?void 0:e.widgets,...o},a={...null===e||void 0===e?void 0:e.templates,...a,ButtonTemplates:{...null===(s=null===e||void 0===e?void 0:e.templates)||void 0===s?void 0:s.ButtonTemplates,...null===a||void 0===a?void 0:a.ButtonTemplates}},(0,De.jsx)(Wg,{...e,...i,fields:n,widgets:o,templates:a,ref:r})}));var e}(),Bb=Lb;var Wb=r(13081),Vb=r.n(Wb),Ub=r(80483),Hb=r.n(Ub);const qb={allErrors:!0,multipleOfPrecision:8,strict:!1,verbose:!0,discriminator:!1},Gb=/^(#?([0-9A-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/,Kb=/^data:([a-z]+\/[a-z0-9-+.]+)?;(?:name=(.*);)?base64,(.*)$/;function Xb(e,t,r,n,o,a,i){const{validationError:s}=t;let l=function(){let e=arguments.length>1?arguments[1]:void 0;return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map((t=>{const{instancePath:r,keyword:n,params:o,schemaPath:a,parentSchema:i,...s}=t;let{message:l=""}=s,c=r.replace(/\//g,"."),u=`${c} ${l}`.trim();if("missingProperty"in o){c=c?`${c}.${o.missingProperty}`:o.missingProperty;const t=o.missingProperty,r=Yu(id()(e,`${c.replace(/^\./,"")}`)).title;if(r)l=l.replace(`'${t}'`,`'${r}'`);else{const e=id()(i,[Vu,t,"title"]);e&&(l=l.replace(`'${t}'`,`'${e}'`))}u=l}else{const t=Yu(id()(e,`${c.replace(/^\./,"")}`)).title;if(t)u=`'${t}' ${l}`.trim();else{const e=null===i||void 0===i?void 0:i.title;e&&(u=`'${e}' ${l}`.trim())}}return{name:n,property:c,message:l,params:o,stack:u,schemaPath:a}}))}(t.errors,i);s&&(l=[...l,{stack:s.message}]),"function"===typeof a&&(l=a(l,i));let c=function(e){const t=new Vp;return e.length&&e.forEach((e=>{const{property:r,message:n}=e,o="."===r?[]:gf()(r);o.length>0&&""===o[0]&&o.splice(0,1),n&&t.addErrors(n,o)})),t.ErrorSchema}(l);if(s&&(c={...c,$schema:{__errors:[s.message]}}),"function"!==typeof o)return{errors:l,errorSchema:c};const u=bp(e,n,r,n,!0);return bf({errors:l,errorSchema:c},vf(o(u,td(u),i)))}class Qb{constructor(e,t){const{additionalMetaSchemas:r,customFormats:n,ajvOptionsOverrides:o,ajvFormatOptions:a,AjvClass:i}=e;this.ajv=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0;const o=new(arguments.length>4&&void 0!==arguments[4]?arguments[4]:Vb())({...qb,...r});return n?Hb()(o,n):!1!==n&&Hb()(o),o.addFormat("data-url",Kb),o.addFormat("color",Gb),o.addKeyword(_u),o.addKeyword(Gu),Array.isArray(e)&&o.addMetaSchema(e),xd()(t)&&Object.keys(t).forEach((e=>{o.addFormat(e,t[e])})),o}(r,n,o,a,i),this.localizer=t}reset(){this.ajv.removeSchema()}toErrorList(e){return ff(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:[])}rawValidation(e,t){let r,n,o;e[Du]&&(n=this.ajv.getSchema(e[Du]));try{void 0===n&&(n=this.ajv.compile(e)),n(t)}catch(a){r=a}return n&&("function"===typeof this.localizer&&this.localizer(n.errors),o=n.errors||void 0,n.errors=null),{errors:o,validationError:r}}validateFormData(e,t,r,n,o){return Xb(this,this.rawValidation(t,e),e,t,r,n,o)}handleSchemaUpdate(e){var t,r;const n=null!==(t=e[Du])&&void 0!==t?t:Ku;void 0===this.ajv.getSchema(n)?this.ajv.addSchema(e,n):od(e,null===(r=this.ajv.getSchema(n))||void 0===r?void 0:r.schema)||(this.ajv.removeSchema(n),this.ajv.addSchema(e,n))}isValid(e,t,r){var n;try{this.handleSchemaUpdate(r);const o=xf(e),a=null!==(n=o[Du])&&void 0!==n?n:function(e){const t=new Set;return JSON.stringify(e,((e,r)=>(t.add(e),r))),function(e){let t=0;for(let r=0;r0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}();var Jb,Zb=Object.defineProperty,ex=Object.getOwnPropertySymbols,tx=Object.prototype.hasOwnProperty,rx=Object.prototype.propertyIsEnumerable,nx=(e,t,r)=>t in e?Zb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ox=(e,t)=>{for(var r in t||(t={}))tx.call(t,r)&&nx(e,r,t[r]);if(ex)for(var r of ex(t))rx.call(t,r)&&nx(e,r,t[r]);return e},ax=(e,t)=>{var r={};for(var n in e)tx.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&ex)for(var n of ex(e))t.indexOf(n)<0&&rx.call(e,n)&&(r[n]=e[n]);return r};(e=>{const t=class t{constructor(e,r,n,a){if(this.version=e,this.errorCorrectionLevel=r,this.modules=[],this.isFunction=[],et.MAX_VERSION)throw new RangeError("Version value out of range");if(a<-1||a>7)throw new RangeError("Mask value out of range");this.size=4*e+17;let i=[];for(let t=0;t2&&void 0!==arguments[2]?arguments[2]:1,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:40,u=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1,d=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];if(!(t.MIN_VERSION<=l&&l<=c&&c<=t.MAX_VERSION)||u<-1||u>7)throw new RangeError("Invalid value");for(a=l;;a++){const r=8*t.getNumDataCodewords(a,n),o=i.getTotalBits(e,a);if(o<=r){s=o;break}if(a>=c)throw new RangeError("Data too long")}for(const r of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])d&&s<=8*t.getNumDataCodewords(a,r)&&(n=r);let p=[];for(const t of e){r(t.mode.modeBits,4,p),r(t.numChars,t.mode.numCharCountBits(a),p);for(const e of t.getData())p.push(e)}o(p.length==s);const f=8*t.getNumDataCodewords(a,n);o(p.length<=f),r(0,Math.min(4,f-p.length),p),r(0,(8-p.length%8)%8,p),o(p.length%8==0);for(let t=236;p.lengthh[t>>>3]|=e<<7-(7&t))),new t(a,n,h,u)}getModule(e,t){return 0<=e&&e>>9);const a=21522^(t<<10|r);o(a>>>15==0);for(let o=0;o<=5;o++)this.setFunctionModule(8,o,n(a,o));this.setFunctionModule(8,7,n(a,6)),this.setFunctionModule(8,8,n(a,7)),this.setFunctionModule(7,8,n(a,8));for(let o=9;o<15;o++)this.setFunctionModule(14-o,8,n(a,o));for(let o=0;o<8;o++)this.setFunctionModule(this.size-1-o,8,n(a,o));for(let o=8;o<15;o++)this.setFunctionModule(8,this.size-15+o,n(a,o));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let r=0;r<12;r++)e=e<<1^7973*(e>>>11);const t=this.version<<12|e;o(t>>>18==0);for(let r=0;r<18;r++){const e=n(t,r),o=this.size-11+r%3,a=Math.floor(r/3);this.setFunctionModule(o,a,e),this.setFunctionModule(a,o,e)}}drawFinderPattern(e,t){for(let r=-4;r<=4;r++)for(let n=-4;n<=4;n++){const o=Math.max(Math.abs(n),Math.abs(r)),a=e+n,i=t+r;0<=a&&a{(t!=c-i||r>=l)&&p.push(e[t])}));return o(p.length==s),p}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw new RangeError("Invalid argument");let r=0;for(let t=this.size-1;t>=1;t-=2){6==t&&(t=5);for(let o=0;o>>3],7-(7&r)),r++)}}o(r==8*e.length)}applyMask(e){if(e<0||e>7)throw new RangeError("Mask value out of range");for(let t=0;t5&&e++):(this.finderPenaltyAddHistory(n,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][i],n=1);e+=this.finderPenaltyTerminateAndCount(r,n,a)*t.PENALTY_N3}for(let o=0;o5&&e++):(this.finderPenaltyAddHistory(n,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[i][o],n=1);e+=this.finderPenaltyTerminateAndCount(r,n,a)*t.PENALTY_N3}for(let o=0;oe+(t?1:0)),r);const n=this.size*this.size,a=Math.ceil(Math.abs(20*r-10*n)/n)-1;return o(0<=a&&a<=9),e+=a*t.PENALTY_N4,o(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(1==this.version)return[];{const e=Math.floor(this.version/7)+2,t=32==this.version?26:2*Math.ceil((4*this.version+4)/(2*e-2));let r=[6];for(let n=this.size-7;r.lengtht.MAX_VERSION)throw new RangeError("Version number out of range");let r=(16*e+128)*e+64;if(e>=2){const t=Math.floor(e/7)+2;r-=(25*t-10)*t-55,e>=7&&(r-=36)}return o(208<=r&&r<=29648),r}static getNumDataCodewords(e,r){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[r.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[r.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw new RangeError("Degree out of range");let r=[];for(let t=0;t0));for(const o of e){const e=o^n.shift();n.push(0),r.forEach(((r,o)=>n[o]^=t.reedSolomonMultiply(r,e)))}return n}static reedSolomonMultiply(e,t){if(e>>>8!=0||t>>>8!=0)throw new RangeError("Byte out of range");let r=0;for(let n=7;n>=0;n--)r=r<<1^285*(r>>>7),r^=(t>>>n&1)*e;return o(r>>>8==0),r}finderPenaltyCountPatterns(e){const t=e[1];o(t<=3*this.size);const r=t>0&&e[2]==t&&e[3]==3*t&&e[4]==t&&e[5]==t;return(r&&e[0]>=4*t&&e[6]>=t?1:0)+(r&&e[6]>=4*t&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,r){return e&&(this.finderPenaltyAddHistory(t,r),t=0),t+=this.size,this.finderPenaltyAddHistory(t,r),this.finderPenaltyCountPatterns(r)}finderPenaltyAddHistory(e,t){0==t[0]&&(e+=this.size),t.pop(),t.unshift(e)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]];function r(e,t,r){if(t<0||t>31||e>>>t!=0)throw new RangeError("Value out of range");for(let n=t-1;n>=0;n--)r.push(e>>>n&1)}function n(e,t){return 0!=(e>>>t&1)}function o(e){if(!e)throw new Error("Assertion error")}e.QrCode=t;const a=class e{constructor(e,t,r){if(this.mode=e,this.numChars=t,this.bitData=r,t<0)throw new RangeError("Invalid argument");this.bitData=r.slice()}static makeBytes(t){let n=[];for(const e of t)r(e,8,n);return new e(e.Mode.BYTE,t.length,n)}static makeNumeric(t){if(!e.isNumeric(t))throw new RangeError("String contains non-numeric characters");let n=[];for(let e=0;e=1<{let t;(e=>{const t=class{constructor(e,t){this.ordinal=e,this.formatBits=t}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2);e.Ecc=t})(t=e.QrCode||(e.QrCode={}))})(Jb||(Jb={})),(e=>{let t;(e=>{const t=class{constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]);e.Mode=t})(t=e.QrSegment||(e.QrSegment={}))})(Jb||(Jb={}));var ix=Jb,sx={L:ix.QrCode.Ecc.LOW,M:ix.QrCode.Ecc.MEDIUM,Q:ix.QrCode.Ecc.QUARTILE,H:ix.QrCode.Ecc.HIGH},lx=128,cx="L",ux="#FFFFFF",dx="#000000",px=!1,fx=1,hx=4,mx=0,gx=.1;function vx(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const r=[];return e.forEach((function(e,n){let o=null;e.forEach((function(a,i){if(!a&&null!==o)return r.push(`M${o+t} ${n+t}h${i-o}v1H${o+t}z`),void(o=null);if(i!==e.length-1)a&&null===o&&(o=i);else{if(!a)return;null===o?r.push(`M${i+t},${n+t} h1v1H${i+t}z`):r.push(`M${o+t},${n+t} h${i+1-o}v1H${o+t}z`)}}))})),r.join("")}function yx(e,t){return e.slice().map(((e,r)=>r=t.y+t.h?e:e.map(((e,r)=>(r=t.x+t.w)&&e))))}function bx(e){let{value:r,level:n,minVersion:o,includeMargin:a,marginSize:i,imageSettings:s,size:l,boostLevel:c}=e,u=t.useMemo((()=>{const e=(Array.isArray(r)?r:[r]).reduce(((e,t)=>(e.push(...ix.QrSegment.makeSegments(t)),e)),[]);return ix.QrCode.encodeSegments(e,sx[n],o,void 0,void 0,c)}),[r,n,o,c]);const{cells:d,margin:p,numCells:f,calculatedImageSettings:h}=t.useMemo((()=>{let e=u.getModules();const t=function(e,t){return null!=t?Math.max(Math.floor(t),0):e?hx:mx}(a,i),r=e.length+2*t,n=function(e,t,r,n){if(null==n)return null;const o=e.length+2*r,a=Math.floor(t*gx),i=o/t,s=(n.width||a)*i,l=(n.height||a)*i,c=null==n.x?e.length/2-s/2:n.x*i,u=null==n.y?e.length/2-l/2:n.y*i,d=null==n.opacity?1:n.opacity;let p=null;if(n.excavate){let e=Math.floor(c),t=Math.floor(u);p={x:e,y:t,w:Math.ceil(s+c-e),h:Math.ceil(l+u-t)}}return{x:c,y:u,h:l,w:s,excavation:p,opacity:d,crossOrigin:n.crossOrigin}}(e,l,t,s);return{cells:e,margin:t,numCells:r,calculatedImageSettings:n}}),[u,l,s,a,i]);return{qrcode:u,margin:p,cells:d,numCells:f,calculatedImageSettings:h}}var xx=function(){try{(new Path2D).addPath(new Path2D)}catch(Bf){return!1}return!0}(),wx=t.forwardRef((function(e,r){const n=e,{value:o,size:a=lx,level:i=cx,bgColor:s=ux,fgColor:l=dx,includeMargin:c=px,minVersion:u=fx,boostLevel:d,marginSize:p,imageSettings:f}=n,h=ax(n,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","marginSize","imageSettings"]),{style:m}=h,g=ax(h,["style"]),v=null==f?void 0:f.src,y=t.useRef(null),b=t.useRef(null),x=t.useCallback((e=>{y.current=e,"function"===typeof r?r(e):r&&(r.current=e)}),[r]),[w,S]=t.useState(!1),{margin:A,cells:k,numCells:$,calculatedImageSettings:C}=bx({value:o,level:i,minVersion:u,boostLevel:d,includeMargin:c,marginSize:p,imageSettings:f,size:a});t.useEffect((()=>{if(null!=y.current){const e=y.current,t=e.getContext("2d");if(!t)return;let r=k;const n=b.current,o=null!=C&&null!==n&&n.complete&&0!==n.naturalHeight&&0!==n.naturalWidth;o&&null!=C.excavation&&(r=yx(k,C.excavation));const i=window.devicePixelRatio||1;e.height=e.width=a*i;const c=a/$*i;t.scale(c,c),t.fillStyle=s,t.fillRect(0,0,$,$),t.fillStyle=l,xx?t.fill(new Path2D(vx(r,A))):k.forEach((function(e,r){e.forEach((function(e,n){e&&t.fillRect(n+A,r+A,1,1)}))})),C&&(t.globalAlpha=C.opacity),o&&t.drawImage(n,C.x+A,C.y+A,C.w,C.h)}})),t.useEffect((()=>{S(!1)}),[v]);const E=ox({height:a,width:a},m);let j=null;return null!=v&&(j=t.createElement("img",{src:v,key:v,style:{display:"none"},onLoad:()=>{S(!0)},ref:b,crossOrigin:null==C?void 0:C.crossOrigin})),t.createElement(t.Fragment,null,t.createElement("canvas",ox({style:E,height:a,width:a,ref:x,role:"img"},g)),j)}));wx.displayName="QRCodeCanvas";var Sx=t.forwardRef((function(e,r){const n=e,{value:o,size:a=lx,level:i=cx,bgColor:s=ux,fgColor:l=dx,includeMargin:c=px,minVersion:u=fx,boostLevel:d,title:p,marginSize:f,imageSettings:h}=n,m=ax(n,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","title","marginSize","imageSettings"]),{margin:g,cells:v,numCells:y,calculatedImageSettings:b}=bx({value:o,level:i,minVersion:u,boostLevel:d,includeMargin:c,marginSize:f,imageSettings:h,size:a});let x=v,w=null;null!=h&&null!=b&&(null!=b.excavation&&(x=yx(v,b.excavation)),w=t.createElement("image",{href:h.src,height:b.h,width:b.w,x:b.x+g,y:b.y+g,preserveAspectRatio:"none",opacity:b.opacity,crossOrigin:b.crossOrigin}));const S=vx(x,g);return t.createElement("svg",ox({height:a,width:a,viewBox:`0 0 ${y} ${y}`,ref:r,role:"img"},m),!!p&&t.createElement("title",null,p),t.createElement("path",{fill:s,d:`M0,0 h${y}v${y}H0z`,shapeRendering:"crispEdges"}),t.createElement("path",{fill:l,d:S,shapeRendering:"crispEdges"}),w)}));Sx.displayName="QRCodeSVG";const Ax=(0,Oe.A)({components:{MuiTooltip:{defaultProps:{placement:"top-start",arrow:!0}},MuiButton:{styleOverrides:{root:{color:"#ffffff",backgroundColor:"#4CAF50"}},defaultProps:{color:"primary",variant:"contained",size:"small"}}},palette:{primary:{main:"#4CAF50"}}});function kx(e){let{plugins:r,reloadSettings:n}=e;const[o,a]=(0,t.useState)("matterbridge-"),[i,s]=(0,t.useState)(!1),[l,c]=t.useState(null),{messages:u,sendMessage:d,logMessage:p}=(0,t.useContext)(ys),f=(e,t)=>{"clickaway"!==t&&s(!1)},h=e=>{""!==e&&a(e),c(null)},m=(0,Oe.A)({components:{MuiTooltip:{defaultProps:{placement:"bottom",arrow:!0}}},palette:{primary:{main:"#4CAF50"}}});return(0,De.jsx)("div",{style:{display:"flex",flexDirection:"row",flex:"1 1 auto",alignItems:"center",justifyContent:"space-between",margin:"0px",padding:"10px",gap:"20px"},children:(0,De.jsxs)(Je,{theme:m,children:[(0,De.jsx)(Wi,{anchorOrigin:{vertical:"bottom",horizontal:"right"},open:i,onClose:f,autoHideDuration:5e3,children:(0,De.jsx)(ss,{onClose:f,severity:"info",variant:"filled",sx:{width:"100%",bgcolor:"#4CAF50"},children:"Restart required"})}),(0,De.jsx)(mu,{value:o,onChange:e=>{a(e.target.value)},size:"small",id:"plugin-name",label:"Plugin name or plugin path",variant:"outlined",fullWidth:!0}),(0,De.jsx)(bo,{onClick:e=>{c(e.currentTarget)},children:(0,De.jsx)(ku,{})}),(0,De.jsxs)(Fa,{id:"simple-menu",anchorEl:l,keepMounted:!0,open:Boolean(l),onClose:()=>h(""),sx:{"& .MuiPaper-root":{backgroundColor:"#e2e2e2"}},children:[(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-zigbee2mqtt"),children:"matterbridge-zigbee2mqtt"}),(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-somfy-tahoma"),children:"matterbridge-somfy-tahoma"}),(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-shelly"),children:"matterbridge-shelly"}),(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-hass"),children:"matterbridge-hass"}),(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-example-accessory-platform"),children:"matterbridge-example-accessory-platform"}),(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-example-dynamic-platform"),children:"matterbridge-example-dynamic-platform"}),(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-eve-door"),children:"matterbridge-eve-door"}),(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-eve-motion"),children:"matterbridge-eve-motion"}),(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-eve-energy"),children:"matterbridge-eve-energy"}),(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-eve-weather"),children:"matterbridge-eve-weather"}),(0,De.jsx)(Ka,{onClick:()=>h("matterbridge-eve-room"),children:"matterbridge-eve-room"})]}),(0,De.jsx)(Ln,{title:"Install or update a plugin from npm",children:(0,De.jsx)(Zs,{onClick:()=>{p("Plugins",`Installing plugin: ${o}`),Bx("installplugin",o),setTimeout((()=>{n()}),5e3)},theme:m,color:"primary",variant:"contained",size:"small","aria-label":"install",endIcon:(0,De.jsx)($u,{}),style:{color:"#ffffff",height:"30px",minWidth:"90px"},children:" Install"})}),(0,De.jsx)(Ln,{title:"Add an installed plugin",children:(0,De.jsx)(Zs,{onClick:()=>{p("Plugins",`Adding plugin: ${o}`),Bx("addplugin",o),setTimeout((()=>{n()}),1e3)},theme:m,color:"primary",variant:"contained",size:"small","aria-label":"add",endIcon:(0,De.jsx)(Cu,{}),style:{color:"#ffffff",height:"30px",minWidth:"90px"},children:" Add"})})]})})}function $x(e){let{qrText:t,pairingText:r,qrWidth:n,topText:o,bottomText:a,matterbridgeInfo:i,plugin:s}=e;return"bridge"===i.bridgeMode&&!0===i.matterbridgePaired&&i.matterbridgeFabricInformations&&i.matterbridgeSessionInformations?(0,De.jsxs)("div",{className:"MbfWindowDiv",style:{alignItems:"center",minWidth:"302px",overflow:"hidden"},children:[(0,De.jsx)("div",{className:"MbfWindowHeader",children:(0,De.jsx)("p",{className:"MbfWindowHeaderText",style:{textAlign:"left",overflow:"hidden"},children:"Paired fabrics"})}),(0,De.jsx)("div",{className:"MbfWindowBodyColumn",children:i.matterbridgeFabricInformations.map(((e,t)=>(0,De.jsxs)("div",{style:{margin:"0px",padding:"10px",gap:"0px",backgroundColor:"#9e9e9e",textAlign:"left",fontSize:"14px"},children:[(0,De.jsxs)("p",{className:"status-blue",style:{margin:"0px 10px 10px 10px",fontSize:"14px",padding:0},children:["Fabric: ",e.fabricIndex]}),(0,De.jsxs)("p",{style:{margin:"0px 20px 0px 20px"},children:["Vendor: ",e.rootVendorId," ",e.rootVendorName]}),""!==e.label&&(0,De.jsxs)("p",{style:{margin:"0px 20px 0px 20px"},children:["Label: ",e.label]}),(0,De.jsxs)("p",{style:{margin:"0px 20px 0px 20px"},children:["Active sessions: ",i.matterbridgeSessionInformations.filter((t=>t.fabric.fabricIndex===e.fabricIndex)).length]})]},t)))})]}):"childbridge"===i.bridgeMode&&s&&!0===s.paired&&s.fabricInformations&&s.sessionInformations?(0,De.jsxs)("div",{className:"MbfWindowDiv",style:{alignItems:"center",minWidth:"302px",overflow:"hidden"},children:[(0,De.jsx)("div",{className:"MbfWindowHeader",children:(0,De.jsx)("p",{className:"MbfWindowHeaderText",style:{textAlign:"left"},children:"Paired fabrics"})}),(0,De.jsx)("div",{className:"MbfWindowBodyColumn",children:s.fabricInformations.map(((e,t)=>(0,De.jsxs)("div",{style:{margin:"0px",padding:"10px",gap:"0px",backgroundColor:"#9e9e9e",textAlign:"left",fontSize:"14px"},children:[(0,De.jsxs)("p",{className:"status-blue",style:{margin:"0px 10px 10px 10px",fontSize:"14px",padding:0},children:["Fabric: ",e.fabricIndex]}),(0,De.jsxs)("p",{style:{margin:"0px 20px 0px 20px"},children:["Vendor: ",e.rootVendorId," ",e.rootVendorName]}),""!==e.label&&(0,De.jsxs)("p",{style:{margin:"0px 20px 0px 20px"},children:["Label: ",e.label]}),(0,De.jsxs)("p",{style:{margin:"0px 20px 0px 20px"},children:["Active sessions: ",s.sessionInformations.filter((t=>t.fabric.fabricIndex===e.fabricIndex)).length]})]},t)))})]}):"bridge"===i.bridgeMode&&!0!==i.matterbridgePaired||"childbridge"===i.bridgeMode&&s&&!0!==s.paired?(0,De.jsxs)("div",{className:"MbfWindowDiv",style:{alignItems:"center",minWidth:"302px"},children:[(0,De.jsx)("div",{className:"MbfWindowHeader",children:(0,De.jsx)("p",{className:"MbfWindowHeaderText",style:{textAlign:"left"},children:o})}),(0,De.jsx)(Sx,{value:t,size:n,level:"M",bgColor:"#9e9e9e",style:{margin:"20px"}}),(0,De.jsx)("div",{className:"MbfWindowFooter",style:{padding:0,marginTop:"-5px",height:"30px"},children:(0,De.jsx)("div",{children:(0,De.jsxs)("p",{style:{margin:0,textAlign:"center",fontSize:"14px"},children:["Manual pairing code: ",r]})})})]}):void 0}function Cx(e){let{config:t,schema:r,handleCloseConfig:n}=e;const o=(0,Oe.A)({palette:{primary:{main:"#4CAF50"}},components:{MuiPaper:{styleOverrides:{root:{border:"1px solid #ddd",backgroundColor:"#c4c2c2",boxShadow:"5px 5px 10px #888"}}},MuiTextField:{defaultProps:{size:"small"}},MuiButton:{styleOverrides:{root:{color:"#ffffff",backgroundColor:"#4CAF50"}},defaultProps:{color:"primary",variant:"contained",size:"small"}}}});return(0,De.jsx)(Je,{theme:o,children:(0,De.jsxs)("div",{style:{maxWidth:"800px"},children:[(0,De.jsx)(Bb,{schema:r,formData:t,uiSchema:{password:{"ui:widget":"password"},"ui:submitButtonOptions":{props:{variant:"contained",disabled:!1},norender:!1,submitText:"Save the changes to the config file"},"ui:globalOptions":{orderable:!1}},validator:Yb,onSubmit:(e,t)=>{let{formData:r}=e;const o=JSON.stringify(r,null,2);Bx("saveconfig",r.name,o),n()}}),(0,De.jsx)("div",{style:{paddingTop:"10px"},children:"Restart Matterbridge to apply the changes"})]})})}const Ex=function(){var e,r;const[n,o]=(0,t.useState)(null),[a,i]=(0,t.useState)(""),[s,l]=(0,t.useState)(""),[c,u]=(0,t.useState)({}),[d,p]=(0,t.useState)({}),[f,h]=(0,t.useState)([]),[m,g]=(0,t.useState)(-1),[v,y]=(0,t.useState)("none"),[b,x]=(0,t.useState)({}),[w,S]=(0,t.useState)({}),[A,k]=(0,t.useState)(!1),[$,C]=(0,t.useState)(!1),[E,j]=(0,t.useState)(null!==(e=localStorage.getItem("logFilterLevel"))&&void 0!==e?e:"info"),[_,P]=(0,t.useState)(null!==(r=localStorage.getItem("logFilterSearch"))&&void 0!==r?r:"*"),{messages:R,sendMessage:O,logMessage:N,setLogFilters:M}=(0,t.useContext)(ys),{online:T,setOnline:I}=(0,t.useContext)(xs),F=(0,t.useRef)(null),D=(0,t.useRef)(null),z=()=>{k(!0)},L=(e,t)=>{"clickaway"!==t&&k(!1)},B=()=>{C(!1),z(),setTimeout((()=>{U()}),1e3)},W=t.useMemo((()=>[{Header:"Name",accessor:"name"},{Header:"Description",accessor:"description"},{Header:"Version",accessor:"version"},{Header:"Author",accessor:"author"},{Header:"Type",accessor:"type"},{Header:"Devices",accessor:"devices"},{Header:"Tools",accessor:"qrcode"},{Header:"Status",accessor:"status"}]),[]),V=()=>{fetch("./api/settings").then((e=>e.json())).then((e=>{o(e.wssHost),"bridge"===e.matterbridgeInformation.bridgeMode&&(i(e.matterbridgeInformation.matterbridgeQrPairingCode),l(e.matterbridgeInformation.matterbridgeManualPairingCode)),u(e.systemInformation),p(e.matterbridgeInformation)})).catch((e=>console.error("Error fetching settings:",e))),fetch("./api/plugins").then((e=>e.json())).then((e=>{h(e)})).catch((e=>console.error("Error fetching plugins:",e)))};(0,t.useEffect)((()=>{V();const e=setInterval(V,6e4);return()=>clearInterval(e)}),[]);const U=()=>{V()},H=e=>{!0===f[e].enabled?(f[e].enabled=!1,N("Plugins",`Disabling plugin: ${f[e].name}`),Bx("disableplugin",f[e].name)):(f[e].enabled=!0,N("Plugins",`Enabling plugin: ${f[e].name}`),Bx("enableplugin",f[e].name)),"childbridge"===d.bridgeMode&&setTimeout((()=>{U()}),500),"bridge"===d.bridgeMode&&setTimeout((()=>{U()}),500)},q=e=>{x(f[e].configJson),S(f[e].schemaJson),C(!0)},[G,K]=(0,t.useState)(!1),[X,Q]=(0,t.useState)(""),[Y,J]=(0,t.useState)(""),[Z,ee]=(0,t.useState)(""),[te,re]=(0,t.useState)(-1),ne=(e,t,r,n)=>{Q(e),J(t),ee(r),re(n),K(!0)};return T?(0,De.jsx)("div",{className:"MbfPageDiv",style:{flexDirection:"row"},children:(0,De.jsxs)(Je,{theme:Ax,children:[(0,De.jsxs)(Os,{open:$,onClose:B,maxWidth:"600px",PaperProps:{style:{border:"2px solid #ddd",backgroundColor:"#c4c2c2",boxShadow:"5px 5px 10px #888"}},children:[(0,De.jsx)(Ds,{gap:"20px",children:(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"20px"},children:[(0,De.jsx)("img",{src:"matterbridge 64x64.png",alt:"Matterbridge Logo",style:{height:"64px",width:"64px"}}),(0,De.jsx)("h3",{children:"Matterbridge plugin configuration"})]})}),(0,De.jsx)(Ws,{children:(0,De.jsx)(Cx,{config:b,schema:w,handleCloseConfig:B})})]}),(0,De.jsx)(el,{open:G,title:X,message:Y,onConfirm:()=>{var e;K(!1),"remove"===Z&&-1!==te?(N("Plugins",`Removing plugin: ${f[e=te].name}`),Bx("removeplugin",f[e].name),setTimeout((()=>{U()}),500)):"disable"===Z&&-1!==te&&H(te)},onCancel:()=>{K(!1)}}),(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",width:"302px",minWidth:"302px",gap:"20px"},children:[(0,De.jsx)($x,{qrText:a,pairingText:s,qrWidth:256,topText:"QR pairing code",bottomText:"none"===v?"Matterbridge":v,matterbridgeInfo:d,plugin:-1===m?void 0:f[m]}),c&&(0,De.jsx)(ml,{systemInfo:c,compact:!0}),""===a&&d&&(0,De.jsx)(gl,{matterbridgeInfo:d})]}),(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",width:"100%",gap:"20px"},children:[(0,De.jsxs)("div",{className:"MbfWindowDiv",style:{flex:"0 0 auto",width:"100%",overflow:"hidden"},children:[(0,De.jsx)("div",{className:"MbfWindowHeader",children:(0,De.jsx)("p",{className:"MbfWindowHeaderText",children:"Install add plugin"})}),(0,De.jsx)(kx,{ref:F,plugins:f,reloadSettings:U})]}),(0,De.jsx)("div",{className:"MbfWindowDiv",style:{flex:"0 0 auto",width:"100%",overflow:"hidden"},children:(0,De.jsx)("div",{className:"MbfWindowDivTable",style:{flex:"0 0 auto",overflow:"hidden"},children:(0,De.jsxs)("table",{ref:D,children:[(0,De.jsxs)("thead",{children:[(0,De.jsx)("tr",{children:(0,De.jsx)("th",{colSpan:"8",children:"Registered plugins"})}),(0,De.jsx)("tr",{children:W.map(((e,t)=>(0,De.jsx)("th",{children:e.Header},t)))})]}),(0,De.jsx)("tbody",{children:f.map(((e,t)=>(0,De.jsxs)("tr",{className:m===t?"table-content-selected":t%2===0?"table-content-even":"table-content-odd",children:[(0,De.jsx)("td",{children:(0,De.jsx)(Ln,{title:e.path,children:e.name})}),(0,De.jsx)("td",{children:e.description}),void 0===e.latestVersion||e.latestVersion===e.version?(0,De.jsx)("td",{children:(0,De.jsx)(Ln,{title:"Plugin version",children:e.version})}):(0,De.jsx)("td",{children:(0,De.jsx)(Ln,{title:"New plugin version available, click to install",children:(0,De.jsxs)("span",{className:"status-warning",onClick:()=>{return N("Plugins",`Updating plugin: ${f[e=t].name}`),Bx("installplugin",f[e].name),z(),void setTimeout((()=>{L(),U()}),5e3);var e},children:["Update v.",e.version," to v.",e.latestVersion]})})}),(0,De.jsx)("td",{children:e.author.replace("https://github.com/","")}),(0,De.jsx)("td",{children:"DynamicPlatform"===e.type?"Dynamic":"Accessory"}),(0,De.jsx)("td",{children:e.registeredDevices}),(0,De.jsx)("td",{children:(0,De.jsxs)(De.Fragment,{children:[d&&"childbridge"===d.bridgeMode&&!e.error&&e.enabled?(0,De.jsx)(Ln,{title:"Shows the QRCode or the fabrics",children:(0,De.jsx)(bo,{style:{padding:0},className:"PluginsIconButton",onClick:()=>{var e;m===(e=t)?(g(-1),y("none"),i(""),l("")):(U(),g(e),y(f[e].name),i(f[e].qrPairingCode),l(f[e].manualPairingCode))},size:"small",children:(0,De.jsx)(gu,{})})}):(0,De.jsx)(De.Fragment,{}),(0,De.jsx)(Ln,{title:"Plugin config",children:(0,De.jsx)(bo,{style:{padding:0},className:"PluginsIconButton",onClick:()=>q(t),size:"small",children:(0,De.jsx)(vu,{})})}),(0,De.jsx)(Ln,{title:"Remove the plugin",children:(0,De.jsx)(bo,{style:{padding:0},className:"PluginsIconButton",onClick:()=>{ne("Remove plugin","Are you sure? This will remove also all the devices and configuration in the controller.","remove",t)},size:"small",children:(0,De.jsx)(yu,{})})}),e.enabled?(0,De.jsx)(Ln,{title:"Disable the plugin",children:(0,De.jsx)(bo,{style:{padding:0},className:"PluginsIconButton",onClick:()=>{ne("Disable plugin","Are you sure? This will remove also all the devices and configuration in the controller.","disable",t)},size:"small",children:(0,De.jsx)(bu,{})})}):(0,De.jsx)(De.Fragment,{}),e.enabled?(0,De.jsx)(De.Fragment,{}):(0,De.jsx)(Ln,{title:"Enable the plugin",children:(0,De.jsx)(bo,{style:{padding:0},className:"PluginsIconButton",onClick:()=>H(t),size:"small",children:(0,De.jsx)(xu,{})})}),(0,De.jsx)(Ln,{title:"Plugin help",children:(0,De.jsx)(bo,{style:{padding:0},className:"PluginsIconButton",onClick:()=>{return e=t,void window.open(`https://github.com/Luligu/${f[e].name}/blob/main/README.md`,"_blank");var e},size:"small",children:(0,De.jsx)(wu,{})})}),(0,De.jsx)(Ln,{title:"Plugin version history",children:(0,De.jsx)(bo,{style:{padding:0},className:"PluginsIconButton",onClick:()=>{return e=t,void window.open(`https://github.com/Luligu/${f[e].name}/blob/main/CHANGELOG.md`,"_blank");var e},size:"small",children:(0,De.jsx)(Su,{})})}),(0,De.jsx)(Ln,{title:"Sponsor the plugin",children:(0,De.jsx)(bo,{style:{padding:0,color:"#b6409c"},className:"PluginsIconButton",onClick:()=>{window.open("https://www.buymeacoffee.com/luligugithub","_blank")},size:"small",children:(0,De.jsx)(Au,{})})})]})}),(0,De.jsx)("td",{children:(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"row",flex:"1 1 auto",gap:"5px"},children:[(0,De.jsx)(Wi,{anchorOrigin:{vertical:"bottom",horizontal:"right"},open:A,onClose:L,autoHideDuration:1e4,children:(0,De.jsx)(ss,{onClose:L,severity:"info",variant:"filled",sx:{width:"100%",bgcolor:"#4CAF50"},children:"Restart needed!"})}),e.error?(0,De.jsx)(De.Fragment,{children:(0,De.jsx)(nl,{status:!1,enabledText:"Error",disabledText:"Error",tooltipText:"The plugin is in error state. Check the log!"})}):(0,De.jsx)(De.Fragment,{children:!1===e.enabled?(0,De.jsx)(De.Fragment,{children:(0,De.jsx)(nl,{status:e.enabled,enabledText:"Enabled",disabledText:"Disabled",tooltipText:"Whether the plugin is enable or disabled"})}):(0,De.jsx)(De.Fragment,{children:e.loaded&&e.started&&e.configured&&e.paired&&e.connected?(0,De.jsx)(De.Fragment,{children:(0,De.jsx)(nl,{status:e.loaded,enabledText:"Running",tooltipText:"Whether the plugin is running"})}):(0,De.jsx)(De.Fragment,{children:e.loaded&&e.started&&e.configured&&void 0===e.connected?(0,De.jsx)(De.Fragment,{children:(0,De.jsx)(nl,{status:e.loaded,enabledText:"Running",tooltipText:"Whether the plugin is running"})}):(0,De.jsxs)(De.Fragment,{children:[(0,De.jsx)(nl,{status:e.enabled,enabledText:"Enabled",disabledText:"Disabled",tooltipText:"Whether the plugin is enable or disabled"}),(0,De.jsx)(nl,{status:e.loaded,enabledText:"Loaded",tooltipText:"Whether the plugin has been loaded"}),(0,De.jsx)(nl,{status:e.started,enabledText:"Started",tooltipText:"Whether the plugin started"}),(0,De.jsx)(nl,{status:e.configured,enabledText:"Configured",tooltipText:"Whether the plugin has been configured"}),d&&"childbridge"===d.bridgeMode?(0,De.jsx)(nl,{status:e.paired,enabledText:"Paired",tooltipText:"Whether the plugin has been paired"}):(0,De.jsx)(De.Fragment,{}),d&&"childbridge"===d.bridgeMode?(0,De.jsx)(nl,{status:e.connected,enabledText:"Connected",tooltipText:"Whether the controller connected"}):(0,De.jsx)(De.Fragment,{})]})})})})]})})]},t)))})]})})}),(0,De.jsxs)("div",{className:"MbfWindowDiv",style:{flex:"1 1 auto",width:"100%",overflow:"hidden"},children:[(0,De.jsx)("div",{className:"MbfWindowHeader",style:{flexShrink:0},children:(0,De.jsxs)("p",{className:"MbfWindowHeaderText",style:{display:"flex",justifyContent:"space-between"},children:["Logs ",(0,De.jsxs)("span",{style:{fontWeight:"normal",fontSize:"12px",marginTop:"2px"},children:['Filter: logger level "',E,'" and search "',_,'"']})]})}),(0,De.jsx)("div",{style:{flex:"1 1 auto",margin:"0px",padding:"10px",overflow:"auto"},children:(0,De.jsx)(ol,{})})]})]})]})}):(0,De.jsx)(fl,{})};const jx=function(){const[e,r]=(0,t.useState)([]),[n,o]=(0,t.useState)(void 0),[a,i]=(0,t.useState)(void 0),[s,l]=(0,t.useState)(-1),[c,u]=(0,t.useState)("none"),[d,p]=(0,t.useState)("none"),[f,h]=(0,t.useState)([]),{online:m}=(0,t.useContext)(xs);(0,t.useEffect)((()=>{fetch("./api/devices").then((e=>e.json())).then((e=>r(e))).catch((e=>console.error("Error fetching devices:",e)))}),[]),(0,t.useEffect)((()=>{fetch(`/api/devices_clusters/${c}/${d}`).then((e=>e.json())).then((e=>h(e))).catch((e=>console.error("Error fetching devices_clusters:",e)))}),[d,c]);const g=e=>{n===e?(void 0===a&&i(!0),!0===a&&i(!1),!1===a&&o(void 0),!1===a&&i(void 0)):(o(e),i(!0))},v=[...e].sort(((e,t)=>e[n]t[n]?a?1:-1:0));return m?(0,De.jsxs)("div",{className:"MbfPageDiv",children:[(0,De.jsx)("div",{className:"MbfWindowDiv",style:{flex:"1 1 auto",maxHeight:"50%",width:"100%",overflow:"hidden"},children:(0,De.jsx)("div",{className:"MbfWindowDivTable",children:(0,De.jsxs)("table",{children:[(0,De.jsxs)("thead",{children:[(0,De.jsx)("tr",{children:(0,De.jsx)("th",{colSpan:"7",children:"Registered devices"})}),(0,De.jsxs)("tr",{children:[(0,De.jsxs)("th",{onClick:()=>g("pluginName"),children:["Plugin name ","pluginName"===n?a?" \ud83d\udd3c":" \ud83d\udd3d":" \ud83d\udd3c\ud83d\udd3d"]}),(0,De.jsxs)("th",{onClick:()=>g("type"),children:["Device type ","type"===n?a?" \ud83d\udd3c":" \ud83d\udd3d":" \ud83d\udd3c\ud83d\udd3d"]}),(0,De.jsxs)("th",{onClick:()=>g("endpoint"),children:["Endpoint ","endpoint"===n?a?" \ud83d\udd3c":" \ud83d\udd3d":" \ud83d\udd3c\ud83d\udd3d"]}),(0,De.jsxs)("th",{onClick:()=>g("name"),children:["Name ","name"===n?a?" \ud83d\udd3c":" \ud83d\udd3d":" \ud83d\udd3c\ud83d\udd3d"]}),(0,De.jsxs)("th",{onClick:()=>g("serial"),children:["Serial number ","serial"===n?a?" \ud83d\udd3c":" \ud83d\udd3d":" \ud83d\udd3c\ud83d\udd3d"]}),(0,De.jsxs)("th",{onClick:()=>g("uniqueId"),children:["Unique ID ","uniqueId"===n?a?" \ud83d\udd3c":" \ud83d\udd3d":" \ud83d\udd3c\ud83d\udd3d"]}),(0,De.jsxs)("th",{onClick:()=>g("cluster"),children:["Cluster ","cluster"===n?a?" \ud83d\udd3c":" \ud83d\udd3d":" \ud83d\udd3c\ud83d\udd3d"]})]})]}),(0,De.jsx)("tbody",{children:v.map(((e,t)=>(0,De.jsxs)("tr",{onClick:()=>{return s===(e=t)?(l(-1),u("none"),p("none")):(l(e),u(v[e].pluginName),p(v[e].endpoint)),console.log("Selected row:",e),console.log("Selected plugin:",v[e].pluginName),void console.log("Selected endpoint:",v[e].endpoint);var e},className:s===t?"table-content-selected":t%2===0?"table-content-even":"table-content-odd",children:[(0,De.jsx)("td",{children:e.pluginName}),(0,De.jsx)("td",{children:e.type}),(0,De.jsx)("td",{children:e.endpoint}),(0,De.jsx)("td",{children:e.name}),(0,De.jsx)("td",{children:e.serial}),(0,De.jsx)("td",{children:e.uniqueId}),(0,De.jsx)("td",{children:e.cluster})]},t)))})]})})}),(0,De.jsx)("div",{className:"MbfWindowDiv",style:{flex:"1 1 auto",maxHeight:"50%",width:"100%",overflow:"hidden"},children:(0,De.jsx)("div",{className:"MbfWindowDivTable",children:(0,De.jsxs)("table",{children:[(0,De.jsxs)("thead",{children:[(0,De.jsxs)("tr",{children:[(0,De.jsx)("th",{colSpan:"3",children:s>=0?"Cluster servers of "+v[s].name:"(select a device)"}),(0,De.jsx)("th",{colSpan:"3",children:"Attributes"})]}),(0,De.jsxs)("tr",{children:[(0,De.jsx)("th",{children:"Endpoint"}),(0,De.jsx)("th",{children:"Name"}),(0,De.jsx)("th",{children:"Id"}),(0,De.jsx)("th",{children:"Name"}),(0,De.jsx)("th",{children:"Id"}),(0,De.jsx)("th",{children:"Value"})]})]}),(0,De.jsx)("tbody",{children:f.map(((e,t)=>(0,De.jsxs)("tr",{className:t%2===0?"table-content-even":"table-content-odd",children:[(0,De.jsx)("td",{children:e.endpoint}),(0,De.jsx)("td",{children:e.clusterName}),(0,De.jsx)("td",{children:e.clusterId}),(0,De.jsx)("td",{children:e.attributeName}),(0,De.jsx)("td",{children:e.attributeId}),(0,De.jsx)("td",{children:e.attributeValue})]},t)))})]})})})]}):(0,De.jsx)(fl,{})},_x=(0,Oe.A)({components:{MuiTooltip:{defaultProps:{placement:"bottom",arrow:!0}}},palette:{readonly:{main:"#616161"}}});function Px(e){let{matterbridgeInfo:r,showSnackbarMessage:n}=e;const[o,a]=(0,t.useState)("bridge"),[i,s]=(0,t.useState)("Info"),[l,c]=(0,t.useState)(!1),[u,d]=(0,t.useState)("");(0,t.useEffect)((()=>{void 0!==r.bridgeMode&&(a("bridge"===r.bridgeMode?"bridge":"childbridge"),s(r.loggerLevel.charAt(0).toUpperCase()+r.loggerLevel.slice(1)),c(r.fileLogger))}),[r]);return(0,De.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"10px",width:"500px"},children:(0,De.jsxs)(Nx,{children:[(0,De.jsx)(Mx,{children:"Matterbridge settings"}),(0,De.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"15px"},children:[(0,De.jsx)(xc,{color:"readonly",style:{padding:"0px",margin:"0px"},id:"matterbridgeInfo-mode",children:"Matterbridge mode:"}),(0,De.jsxs)(eb,{focused:!0,row:!0,name:"mode-buttons-group",value:o,onChange:e=>{console.log("handleChangeBridgeMode called with value:",e.target.value),a(e.target.value),Bx("setbridgemode",e.target.value),n("Restart Matterbridge to apply changes",5)},children:[(0,De.jsx)(_y,{value:"bridge",control:(0,De.jsx)(Yy,{}),label:"Bridge"}),(0,De.jsx)(_y,{value:"childbridge",control:(0,De.jsx)(Yy,{}),label:"Childbridge"})]})]}),(0,De.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"15px"},children:[(0,De.jsx)(xc,{color:"readonly",style:{padding:"0px",margin:"0px"},id:"mbdebug-info",children:"Matterbridge logger level:"}),(0,De.jsxs)(uu,{style:{height:"30px"},labelId:"select-mblevel",id:"mbdebug-level",value:i,onChange:e=>{console.log("handleChangeMbLoggerLevel called with value:",e.target.value),s(e.target.value),Bx("setmbloglevel",e.target.value)},children:[(0,De.jsx)(Ka,{value:"Debug",children:"Debug"}),(0,De.jsx)(Ka,{value:"Info",children:"Info"}),(0,De.jsx)(Ka,{value:"Notice",children:"Notice"}),(0,De.jsx)(Ka,{value:"Warn",children:"Warn"}),(0,De.jsx)(Ka,{value:"Error",children:"Error"}),(0,De.jsx)(Ka,{value:"Fatal",children:"Fatal"})]}),(0,De.jsx)(_y,{style:{padding:"0px",margin:"0px",color:"rgba(0, 0, 0, 0.87)"},control:(0,De.jsx)(ry,{checked:l,onChange:e=>{console.log("handleLogOnFileMbChange called with value:",e.target.checked),c(e.target.checked),Bx("setmblogfile",e.target.checked?"true":"false")},name:"logOnFileMb"}),label:"Log on file:",labelPlacement:"start"})]}),(0,De.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"15px"},children:[(0,De.jsx)(xc,{color:"readonly",style:{padding:"0px",margin:"0px"},id:"mb-password",children:"Frontend password:"}),(0,De.jsx)(mu,{value:u,onChange:e=>{console.log("handleChangePassword called with value:",e.target.value),d(e.target.value),Bx("setpassword","*"+e.target.value+"*")},size:"small",id:"matterbridgePassword",type:"password",autoComplete:"current-password",variant:"outlined",style:{height:"30px",flexGrow:1},InputProps:{style:{height:"30px",padding:"0"}}})]})]})})}function Rx(e){let{matterbridgeInfo:r,showSnackbarMessage:n}=e;const[o,a]=(0,t.useState)("Info"),[i,s]=(0,t.useState)(!1),[l,c]=(0,t.useState)(""),[u,d]=(0,t.useState)(""),[p,f]=(0,t.useState)("");(0,t.useEffect)((()=>{void 0!==r.bridgeMode&&(a(["Debug","Info","Notice","Warn","Error","Fatal"][r.matterLoggerLevel]),s(r.matterFileLogger),c(r.mattermdnsinterface),d(r.matteripv4address),f(r.matteripv6address))}),[r]);return(0,De.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"10px",width:"500px"},children:(0,De.jsxs)(Nx,{children:[(0,De.jsx)(Mx,{children:"Matter settings"}),(0,De.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"15px"},children:[(0,De.jsx)(xc,{color:"readonly",style:{padding:"0px",margin:"0px"},id:"mjdebug-info",children:"Matter logger level:"}),(0,De.jsxs)(uu,{style:{height:"30px"},labelId:"select-mjlevel",id:"mjdebug-level",value:o,onChange:e=>{console.log("handleChangeMjLoggerLevel called with value:",e.target.value),a(e.target.value),Bx("setmjloglevel",e.target.value)},children:[(0,De.jsx)(Ka,{value:"Debug",children:"Debug"}),(0,De.jsx)(Ka,{value:"Info",children:"Info"}),(0,De.jsx)(Ka,{value:"Notice",children:"Notice"}),(0,De.jsx)(Ka,{value:"Warn",children:"Warn"}),(0,De.jsx)(Ka,{value:"Error",children:"Error"}),(0,De.jsx)(Ka,{value:"Fatal",children:"Fatal"})]}),(0,De.jsx)(_y,{style:{padding:"0px",margin:"0px",color:"rgba(0, 0, 0, 0.87)"},control:(0,De.jsx)(ry,{checked:i,onChange:e=>{console.log("handleLogOnFileMjChange called with value:",e.target.checked),s(e.target.checked),Bx("setmjlogfile",e.target.checked?"true":"false")},name:"logOnFileMj"}),label:"Log on file:",labelPlacement:"start"})]}),(0,De.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"15px"},children:[(0,De.jsx)(xc,{color:"readonly",style:{padding:"0px",margin:"0px"},children:"Mdns interface:"}),(0,De.jsx)(mu,{value:l,onChange:e=>{console.log("handleChangeMdnsInterface called with value:",e.target.value),c(e.target.value),Bx("setmdnsinterface","*"+e.target.value+"*"),n("Restart Matterbridge to apply changes",5)},size:"small",variant:"outlined",style:{height:"30px",flexGrow:1},InputProps:{style:{height:"30px",padding:"0"}}})]}),(0,De.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"15px"},children:[(0,De.jsx)(xc,{color:"readonly",style:{padding:"0px",margin:"0px"},children:"Ipv4 address:"}),(0,De.jsx)(mu,{value:u,onChange:e=>{console.log("handleChangeIpv4Address called with value:",e.target.value),d(e.target.value),Bx("setipv4address","*"+e.target.value+"*"),n("Restart Matterbridge to apply changes",5)},size:"small",variant:"outlined",style:{height:"30px",flexGrow:1},InputProps:{style:{height:"30px",padding:"0"}}})]}),(0,De.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"15px"},children:[(0,De.jsx)(xc,{color:"readonly",style:{padding:"0px",margin:"0px"},children:"Ipv6 address:"}),(0,De.jsx)(mu,{value:p,onChange:e=>{console.log("handleChangeIpv6Address called with value:",e.target.value),f(e.target.value),Bx("setipv6address","*"+e.target.value+"*"),n("Restart Matterbridge to apply changes",5)},size:"small",variant:"outlined",style:{height:"30px",flexGrow:1},InputProps:{style:{height:"30px",padding:"0"}}})]})]})})}function Ox(e){let{matterbridgeInfo:t}=e;return(0,De.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"10px",width:"500px"},children:(0,De.jsxs)(Nx,{children:[(0,De.jsx)(Mx,{children:"Matterbridge info"}),(0,De.jsx)(Tx,{value:t.matterbridgeVersion,label:"Current Version"}),(0,De.jsx)(Tx,{value:t.matterbridgeLatestVersion,label:"Latest Version"}),(0,De.jsx)(Tx,{value:t.homeDirectory,label:"Home Directory"}),(0,De.jsx)(Tx,{value:t.rootDirectory,label:"Root Directory"}),(0,De.jsx)(Tx,{value:t.matterbridgeDirectory,label:"Matterbridge Storage Directory"}),(0,De.jsx)(Tx,{value:t.matterbridgePluginDirectory,label:"Matterbridge Plugin Directory"}),(0,De.jsx)(Tx,{value:t.globalModulesDirectory,label:"Global Module Directory"})]})})}function Nx(e){let{children:t}=e;return(0,De.jsx)(_c,{style:{gap:"10px",border:"1px solid #9e9e9e",boxShadow:"5px 5px 10px #888",padding:"10px",borderRadius:"5px",maxWidth:"500px"},children:t})}function Mx(e){let{children:t}=e;return(0,De.jsx)(xc,{style:{fontSize:"14px",color:"black",backgroundColor:"#9e9e9e",borderRadius:"5px",textAlign:"center",padding:"5px",margin:"0px"},children:t})}function Tx(e){let{value:t,label:r}=e;return(0,De.jsx)(mu,{focused:!0,color:"readonly",value:t,size:"small",label:r,variant:"standard",fullWidth:!0,InputProps:{readOnly:!0,sx:{"&:before":{borderBottomColor:"#9e9e9e"},"&:after":{borderBottomColor:"#9e9e9e"}}}})}const Ix=function(){const{online:e}=(0,t.useContext)(xs),[r,n]=(0,t.useState)(!1),[o,a]=(0,t.useState)(""),[i,s]=(0,t.useState)({}),l=()=>{n(!1)},c=(e,t)=>{a(e),r&&n(!1),n(!0),setTimeout((()=>{n(!1)}),1e3*t)};return(0,t.useEffect)((()=>{fetch("./api/settings").then((e=>e.json())).then((e=>{s(e.matterbridgeInformation)})).catch((e=>console.error("Error fetching settings:",e)))}),[]),e?(0,De.jsx)("div",{className:"MbfPageDiv",children:(0,De.jsxs)(Je,{theme:_x,children:[(0,De.jsx)(Wi,{anchorOrigin:{vertical:"bottom",horizontal:"right"},open:r,onClose:l,autoHideDuration:1e4,children:(0,De.jsx)(ss,{onClose:l,severity:"info",variant:"filled",sx:{width:"100%",bgcolor:"#4CAF50"},children:o})}),(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"20px",width:"100%",height:"100%"},children:[(0,De.jsx)("h3",{children:"Matterbridge settings:"}),(0,De.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, auto)",gridTemplateRows:"repeat(3, auto)",gap:"20px",width:"100%",height:"100%"},children:[(0,De.jsx)(Px,{matterbridgeInfo:i,showSnackbarMessage:c}),(0,De.jsx)(Rx,{matterbridgeInfo:i,showSnackbarMessage:c}),(0,De.jsx)(Ox,{matterbridgeInfo:i})]})]})]})}):(0,De.jsx)(fl,{})};var Fx=r(71094);function Dx(e){let{columns:t,data:r}=e;const{getTableProps:n,getTableBodyProps:o,headerGroups:a,rows:i,prepareRow:s}=(0,Fx.useTable)({columns:t,data:r},Fx.useSortBy);return(0,De.jsxs)("table",{...n(),children:[(0,De.jsx)("thead",{children:a.map((e=>(0,De.jsx)("tr",{...e.getHeaderGroupProps(),children:e.headers.map((e=>(0,De.jsxs)("th",{...e.getHeaderProps(e.getSortByToggleProps()),children:[e.render("Header"),(0,De.jsx)("span",{children:e.isSorted?e.isSortedDesc?" \ud83d\udd3d":" \ud83d\udd3c":""})]})))})))}),(0,De.jsx)("tbody",{...o(),children:i.map(((e,t)=>(s(e),(0,De.jsx)("tr",{className:t%2===0?"table-content-even":"table-content-odd",...e.getRowProps(),children:e.cells.map((e=>(0,De.jsx)("td",{...e.getCellProps(),children:e.render("Cell")})))},t))))})]})}const zx=function(){const e=t.useMemo((()=>[{col1:"Hello 1",col2:"World 1"},{col1:"React 2",col2:"Table 2"},{col1:"React 3",col2:"Table 3"},{col1:"React 4",col2:"Table 4"}]),[]),r=t.useMemo((()=>[{Header:"Super Header",columns:[{Header:"Column 1",accessor:"col1"},{Header:"Column 2",accessor:"col2"}]}]),[]);return(0,De.jsxs)("div",{style:{flex:1,flexBasis:"auto",flexDirection:"column",height:"calc(100vh - 80px - 20px)",width:"calc(100vw - 40px)",gap:"20px",margin:"0",padding:"20px"},children:[(0,De.jsx)(rl,{}),(0,De.jsx)(Dx,{columns:r,data:e})]})};const Lx=function(){var e,r;const[n,o]=(0,t.useState)(null),[a,i]=(0,t.useState)(null!==(e=localStorage.getItem("logFilterLevel"))&&void 0!==e?e:"info"),[s,l]=(0,t.useState)(null!==(r=localStorage.getItem("logFilterSearch"))&&void 0!==r?r:"*"),{messages:c,sendMessage:u,logMessage:d,setLogFilters:p}=(0,t.useContext)(ys),{online:f}=(0,t.useContext)(xs);return(0,t.useEffect)((()=>{fetch("./api/settings").then((e=>e.json())).then((e=>{console.log("/api/settings:",e),o(e.wssHost),localStorage.setItem("wssHost",e.wssHost)})).catch((e=>console.error("Error fetching settings:",e)))}),[]),f?(0,De.jsxs)("div",{className:"MbfPageDiv",children:[(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between",margin:"0px",padding:"0px",gap:"10px"},children:[(0,De.jsx)("h3",{children:"Logs:"}),(0,De.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"15px"},children:[(0,De.jsx)(kc,{id:"select-level",children:"Filter by debug level"}),(0,De.jsxs)(uu,{style:{height:"30px"},labelId:"select-level",id:"debug-level",value:a,onChange:e=>{i(e.target.value),p(e.target.value,s),localStorage.setItem("logFilterLevel",e.target.value),console.log("handleChangeLevel called with value:",e.target.value)},children:[(0,De.jsx)(Ka,{value:"debug",children:"Debug"}),(0,De.jsx)(Ka,{value:"info",children:"Info"}),(0,De.jsx)(Ka,{value:"notice",children:"Notice"}),(0,De.jsx)(Ka,{value:"warn",children:"Warn"}),(0,De.jsx)(Ka,{value:"error",children:"Error"}),(0,De.jsx)(Ka,{value:"fatal",children:"Fatal"})]}),(0,De.jsx)(kc,{id:"search",children:"Filter by text"}),(0,De.jsx)(mu,{style:{width:"300px"},size:"small",id:"logsearch",variant:"outlined",value:s,onChange:e=>{l(e.target.value),p(a,e.target.value),localStorage.setItem("logFilterSearch",e.target.value),console.log("handleChangeSearch called with value:",e.target.value)},InputProps:{style:{height:"30px",padding:"0 0px"}}})]})]}),(0,De.jsx)("div",{style:{flex:"1",overflow:"auto",margin:"0px",padding:"0px"},children:(0,De.jsx)(ol,{})})]}):(0,De.jsx)(fl,{})};function Bx(e,t,r){const n=t.replace(/\\/g,"*");fetch(`./api/command/${e}/${n}`,{method:"POST",headers:{"Content-Type":"application/json"},body:r}).then((e=>{if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);return e.json()})).then((e=>{})).catch((e=>{console.error("Error sending command:",e)}))}const Wx=(0,t.createContext)();function Vx(e){let{children:r}=e;const[n,o]=(0,t.useState)(!1),[a,i]=(0,t.useState)("");return(0,De.jsx)(Wx.Provider,{value:{loggedIn:n,logIn:async e=>{try{const t=await fetch("./api/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:e})});if(t.ok){const{valid:e}=await t.json();e?o(!0):i("Incorrect password!")}else console.error("Failed to log in:",t.statusText)}catch(t){console.error("Failed to log in:",t)}},errorMessage:a},children:r})}function Ux(){const[e,r]=(0,t.useState)(""),{loggedIn:n,logIn:o,errorMessage:a}=(0,t.useContext)(Wx),[i,s]=(0,t.useState)(null),[l,c]=(0,t.useState)(!1);(0,t.useEffect)((()=>{(async()=>{try{const e=await fetch("./api/settings");if(!e.ok)throw new Error("Network response was not ok");const t=await e.json();s(t.wssHost),c(t.ssl)}catch(e){console.error("From app.js error fetching /api/settings:",e)}})()}),[]);const u=t=>{t.preventDefault(),o(e)},d={display:"flex",justifyContent:"center",alignItems:"center",height:"100vh",backgroundColor:"#c4c2c2"},p={display:"flex",flexDirection:"column",maxWidth:"400px",margin:"0 auto",padding:"20px",gap:"20px",border:"1px solid #ccc",borderRadius:"10px",boxShadow:"2px 2px 5px rgba(0,0,0,0.3)",backgroundColor:"#5f8c9e"},f={margin:"10px 0",padding:"3px 3px",fontSize:"14px",width:"230px"},h=window.location.href.includes("/matterbridge/")?"/matterbridge":window.location.href.includes("/api/hassio_ingress/")?window.location.pathname:"/";return console.log(`Ingress check: window.location.href=${window.location.href} baseName=${h}`),n?(0,De.jsx)(bs,{wssHost:i,ssl:l,children:(0,De.jsx)(ws,{children:(0,De.jsx)(Ce,{basename:h,children:(0,De.jsxs)("div",{className:"MbfScreen",children:[(0,De.jsx)(rl,{}),(0,De.jsxs)(xe,{children:[(0,De.jsx)(ye,{path:"/",element:(0,De.jsx)(Ex,{})}),(0,De.jsx)(ye,{path:"/devices",element:(0,De.jsx)(jx,{})}),(0,De.jsx)(ye,{path:"/log",element:(0,De.jsx)(Lx,{})}),(0,De.jsx)(ye,{path:"/settings",element:(0,De.jsx)(Ix,{})}),(0,De.jsx)(ye,{path:"/test",element:(0,De.jsx)(zx,{})}),(0,De.jsx)(ye,{path:"*",element:(0,De.jsx)(ve,{to:"/"})})," "]})]})})})}):(0,De.jsx)("div",{style:d,children:(0,De.jsxs)("form",{onSubmit:u,style:p,children:[(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"20px"},children:[(0,De.jsx)("img",{src:"matterbridge 64x64.png",alt:"Matterbridge Logo",style:{height:"64px",width:"64px"}}),(0,De.jsx)("h3",{children:"Welcome to Matterbridge"})]}),(0,De.jsxs)("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:"20px"},children:[(0,De.jsx)("input",{type:"password",value:e,onChange:e=>r(e.target.value),style:f,placeholder:"password"}),(0,De.jsx)("button",{type:"submit",children:"Log in"})]}),(0,De.jsx)("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"center",margin:0,height:"30px"},children:a&&(0,De.jsx)("p",{style:{color:"red"},children:a})})]})})}const Hx=function(){const[e,r]=(0,t.useState)(!1),[n,o]=(0,t.useState)(null),[a,i]=(0,t.useState)(!1);(0,t.useEffect)((()=>{(async()=>{try{await(async()=>{try{const e=await fetch("./api/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:""})});if(!e.ok)throw new Error("Network response was not ok");!0===(await e.json()).valid&&r(!0)}catch(e){console.error("From app.js error fetching /api/login",e)}})()}catch(e){console.error("Error fetching API login:",e)}})()}),[]),(0,t.useEffect)((()=>{(async()=>{try{await(async()=>{try{const e=await fetch("./api/settings");if(!e.ok)throw new Error("Network response was not ok");const t=await e.json();o(t.wssHost),i(t.ssl)}catch(e){console.error("From app.js error fetching /api/settings:",e)}})()}catch(e){console.error("Error fetching API settings:",e)}})()}),[]);const s=window.location.href.includes("/matterbridge/")?"/matterbridge":window.location.href.includes("/api/hassio_ingress/")?window.location.pathname:"/";return console.log(`Ingress check: window.location.href=${window.location.href} baseName=${s}`),e?(0,De.jsx)(bs,{wssHost:n,ssl:a,children:(0,De.jsx)(ws,{children:(0,De.jsx)(Ce,{basename:s,children:(0,De.jsxs)("div",{className:"MbfScreen",children:[(0,De.jsx)(rl,{}),(0,De.jsxs)(xe,{children:[(0,De.jsx)(ye,{path:"/",element:(0,De.jsx)(Ex,{})}),(0,De.jsx)(ye,{path:"/devices",element:(0,De.jsx)(jx,{})}),(0,De.jsx)(ye,{path:"/log",element:(0,De.jsx)(Lx,{})}),(0,De.jsx)(ye,{path:"/settings",element:(0,De.jsx)(Ix,{})}),(0,De.jsx)(ye,{path:"/test",element:(0,De.jsx)(zx,{})}),(0,De.jsx)(ye,{path:"*",element:(0,De.jsx)(ve,{to:"/"})})," "]})]})})})}):(0,De.jsx)(Vx,{children:(0,De.jsx)(Ux,{})})},qx=e=>{e&&e instanceof Function&&r.e(453).then(r.bind(r,46453)).then((t=>{let{getCLS:r,getFID:n,getFCP:o,getLCP:a,getTTFB:i}=t;r(e),n(e),o(e),a(e),i(e)}))};o.createRoot(document.getElementById("root")).render((0,De.jsx)(t.StrictMode,{children:(0,De.jsx)(Hx,{})})),qx()})()})(); +//# sourceMappingURL=main.0ab89802.js.map \ No newline at end of file diff --git a/frontend/build/static/js/main.a14c87e7.js.LICENSE.txt b/frontend/build/static/js/main.0ab89802.js.LICENSE.txt similarity index 100% rename from frontend/build/static/js/main.a14c87e7.js.LICENSE.txt rename to frontend/build/static/js/main.0ab89802.js.LICENSE.txt diff --git a/frontend/build/static/js/main.a14c87e7.js.map b/frontend/build/static/js/main.0ab89802.js.map similarity index 50% rename from frontend/build/static/js/main.a14c87e7.js.map rename to frontend/build/static/js/main.0ab89802.js.map index e0f3f426..0f6ce95b 100644 --- a/frontend/build/static/js/main.a14c87e7.js.map +++ b/frontend/build/static/js/main.0ab89802.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/main.a14c87e7.js","mappings":"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,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,GAAI,IAAK,EAAG,EAAG,G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","sources":["../node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/react/dist/emotion-element-5486c51c.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@mui/icons-material/Add.js","../node_modules/@mui/icons-material/AnnouncementOutlined.js","../node_modules/@mui/icons-material/ArrowDownward.js","../node_modules/@mui/icons-material/ArrowUpward.js","../node_modules/@mui/icons-material/ContentCopy.js","../node_modules/@mui/icons-material/Download.js","../node_modules/@mui/icons-material/Error.js","../node_modules/@mui/icons-material/HelpOutline.js","../node_modules/@mui/icons-material/PowerSettingsNew.js","../node_modules/@mui/icons-material/Remove.js","../node_modules/@mui/icons-material/ReportProblem.js","../node_modules/@mui/icons-material/RestartAlt.js","../node_modules/@mui/icons-material/Save.js","../node_modules/@mui/icons-material/SystemUpdateAlt.js","../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.js","../node_modules/@mui/material/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/@mui/material/node_modules/react-is/index.js","../node_modules/@mui/material/colors/common.js","../node_modules/@mui/material/colors/grey.js","../node_modules/@mui/material/colors/purple.js","../node_modules/@mui/material/colors/red.js","../node_modules/@mui/material/colors/orange.js","../node_modules/@mui/material/colors/blue.js","../node_modules/@mui/material/colors/lightBlue.js","../node_modules/@mui/material/colors/green.js","../node_modules/@mui/material/styles/createPalette.js","../node_modules/@mui/material/styles/createTypography.js","../node_modules/@mui/material/styles/shadows.js","../node_modules/@mui/material/styles/createTransitions.js","../node_modules/@mui/material/styles/zIndex.js","../node_modules/@mui/material/styles/createTheme.js","../node_modules/@mui/material/styles/createMixins.js","../node_modules/@mui/material/styles/defaultTheme.js","../node_modules/@mui/material/styles/identifier.js","../node_modules/@mui/material/styles/rootShouldForwardProp.js","../node_modules/@mui/material/styles/slotShouldForwardProp.js","../node_modules/@mui/material/styles/styled.js","../node_modules/@mui/material/utils/capitalize.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/SvgIcon/svgIconClasses.js","../node_modules/@mui/material/SvgIcon/SvgIcon.js","../node_modules/@mui/material/utils/createSvgIcon.js","../node_modules/@mui/material/utils/debounce.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/@mui/material/utils/isMuiElement.js","../node_modules/@mui/utils/esm/isMuiElement/isMuiElement.js","../node_modules/@mui/material/utils/ownerDocument.js","../node_modules/@mui/material/utils/ownerWindow.js","../node_modules/@mui/material/utils/useControlled.js","../node_modules/@mui/material/utils/useEnhancedEffect.js","../node_modules/@mui/material/utils/useEventCallback.js","../node_modules/@mui/material/utils/useForkRef.js","../node_modules/@mui/material/utils/useId.js","../node_modules/@mui/material/utils/useIsFocusVisible.js","../node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js","../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","../node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","../node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js","../node_modules/@mui/styled-engine/index.js","../node_modules/@mui/system/colorManipulator.js","../node_modules/@mui/system/createStyled.js","../node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.js","../node_modules/@mui/system/esm/breakpoints.js","../node_modules/@mui/system/esm/createTheme/applyStyles.js","../node_modules/@mui/system/esm/createTheme/createBreakpoints.js","../node_modules/@mui/system/esm/createTheme/shape.js","../node_modules/@mui/system/esm/createTheme/createTheme.js","../node_modules/@mui/system/esm/createTheme/createSpacing.js","../node_modules/@mui/system/esm/merge.js","../node_modules/@mui/system/esm/spacing.js","../node_modules/@mui/system/esm/memoize.js","../node_modules/@mui/system/esm/style.js","../node_modules/@mui/system/esm/compose.js","../node_modules/@mui/system/esm/borders.js","../node_modules/@mui/system/esm/cssGrid.js","../node_modules/@mui/system/esm/palette.js","../node_modules/@mui/system/esm/sizing.js","../node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js","../node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js","../node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js","../node_modules/@mui/system/useThemeWithoutDefault.js","../node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js","../node_modules/@mui/utils/esm/capitalize/capitalize.js","../node_modules/@mui/utils/esm/clamp/clamp.js","../node_modules/@mui/utils/esm/composeClasses/composeClasses.js","../node_modules/@mui/utils/esm/createChainedFunction/createChainedFunction.js","../node_modules/@mui/utils/esm/debounce/debounce.js","../node_modules/@mui/utils/esm/deepmerge/deepmerge.js","../node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js","../node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js","../node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js","../node_modules/@mui/utils/esm/getDisplayName/getDisplayName.js","../node_modules/@mui/utils/esm/ownerDocument/ownerDocument.js","../node_modules/@mui/utils/esm/ownerWindow/ownerWindow.js","../node_modules/@mui/utils/esm/resolveProps/resolveProps.js","../node_modules/@mui/utils/esm/setRef/setRef.js","../node_modules/@mui/utils/esm/useControlled/useControlled.js","../node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js","../node_modules/@mui/utils/esm/useEventCallback/useEventCallback.js","../node_modules/@mui/utils/esm/useForkRef/useForkRef.js","../node_modules/@mui/utils/esm/useId/useId.js","../node_modules/@mui/utils/esm/useIsFocusVisible/useIsFocusVisible.js","../node_modules/@mui/utils/esm/useLazyRef/useLazyRef.js","../node_modules/@mui/utils/esm/useOnMount/useOnMount.js","../node_modules/@mui/utils/esm/useTimeout/useTimeout.js","../node_modules/@mui/utils/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/@mui/utils/node_modules/react-is/index.js","../node_modules/@rjsf/utils/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/@rjsf/utils/node_modules/react-is/index.js","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/ajv.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/compile/codegen/code.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/compile/codegen/index.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/compile/codegen/scope.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/compile/errors.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/compile/index.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/compile/names.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/compile/ref_error.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/compile/resolve.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/compile/rules.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/compile/util.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/compile/validate/applicability.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/compile/validate/boolSchema.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/compile/validate/dataType.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/compile/validate/defaults.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/compile/validate/index.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/compile/validate/keyword.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/compile/validate/subschema.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/core.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/runtime/equal.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/runtime/ucs2length.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/runtime/uri.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/runtime/validation_error.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/applicator/additionalItems.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/applicator/additionalProperties.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/applicator/allOf.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/applicator/anyOf.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/applicator/contains.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/applicator/dependencies.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/applicator/if.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/applicator/index.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/applicator/items.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/applicator/items2020.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/applicator/not.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/applicator/oneOf.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/applicator/patternProperties.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/applicator/prefixItems.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/applicator/properties.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/applicator/propertyNames.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/applicator/thenElse.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/code.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/core/id.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/core/index.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/core/ref.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/discriminator/index.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/discriminator/types.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/draft7.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/format/format.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/format/index.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/metadata.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/validation/const.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/validation/enum.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/validation/index.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/validation/limitItems.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/validation/limitLength.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/validation/limitNumber.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/validation/limitProperties.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/validation/multipleOf.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/validation/pattern.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/validation/required.ts","../node_modules/@rjsf/validator-ajv8/node_modules/ajv/lib/vocabularies/validation/uniqueItems.ts","../node_modules/@rjsf/validator-ajv8/node_modules/json-schema-traverse/index.js","../node_modules/ajv-formats/src/formats.ts","../node_modules/ajv-formats/src/index.ts","../node_modules/ajv-formats/src/limit.ts","../node_modules/ajv-formats/node_modules/ajv/lib/ajv.ts","../node_modules/ajv-formats/node_modules/ajv/lib/compile/codegen/code.ts","../node_modules/ajv-formats/node_modules/ajv/lib/compile/codegen/index.ts","../node_modules/ajv-formats/node_modules/ajv/lib/compile/codegen/scope.ts","../node_modules/ajv-formats/node_modules/ajv/lib/compile/errors.ts","../node_modules/ajv-formats/node_modules/ajv/lib/compile/index.ts","../node_modules/ajv-formats/node_modules/ajv/lib/compile/names.ts","../node_modules/ajv-formats/node_modules/ajv/lib/compile/ref_error.ts","../node_modules/ajv-formats/node_modules/ajv/lib/compile/resolve.ts","../node_modules/ajv-formats/node_modules/ajv/lib/compile/rules.ts","../node_modules/ajv-formats/node_modules/ajv/lib/compile/util.ts","../node_modules/ajv-formats/node_modules/ajv/lib/compile/validate/applicability.ts","../node_modules/ajv-formats/node_modules/ajv/lib/compile/validate/boolSchema.ts","../node_modules/ajv-formats/node_modules/ajv/lib/compile/validate/dataType.ts","../node_modules/ajv-formats/node_modules/ajv/lib/compile/validate/defaults.ts","../node_modules/ajv-formats/node_modules/ajv/lib/compile/validate/index.ts","../node_modules/ajv-formats/node_modules/ajv/lib/compile/validate/keyword.ts","../node_modules/ajv-formats/node_modules/ajv/lib/compile/validate/subschema.ts","../node_modules/ajv-formats/node_modules/ajv/lib/core.ts","../node_modules/ajv-formats/node_modules/ajv/lib/runtime/equal.ts","../node_modules/ajv-formats/node_modules/ajv/lib/runtime/ucs2length.ts","../node_modules/ajv-formats/node_modules/ajv/lib/runtime/uri.ts","../node_modules/ajv-formats/node_modules/ajv/lib/runtime/validation_error.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/applicator/additionalItems.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/applicator/additionalProperties.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/applicator/allOf.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/applicator/anyOf.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/applicator/contains.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/applicator/dependencies.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/applicator/if.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/applicator/index.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/applicator/items.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/applicator/items2020.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/applicator/not.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/applicator/oneOf.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/applicator/patternProperties.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/applicator/prefixItems.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/applicator/properties.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/applicator/propertyNames.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/applicator/thenElse.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/code.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/core/id.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/core/index.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/core/ref.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/discriminator/index.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/discriminator/types.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/draft7.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/format/format.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/format/index.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/metadata.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/validation/const.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/validation/enum.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/validation/index.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/validation/limitItems.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/validation/limitLength.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/validation/limitNumber.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/validation/limitProperties.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/validation/multipleOf.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/validation/pattern.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/validation/required.ts","../node_modules/ajv-formats/node_modules/ajv/lib/vocabularies/validation/uniqueItems.ts","../node_modules/ajv-formats/node_modules/json-schema-traverse/index.js","../node_modules/compute-gcd/lib/index.js","../node_modules/compute-lcm/lib/index.js","../node_modules/fast-deep-equal/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/json-schema-compare/src/index.js","../node_modules/json-schema-merge-allof/src/common.js","../node_modules/json-schema-merge-allof/src/complex-resolvers/items.js","../node_modules/json-schema-merge-allof/src/complex-resolvers/properties.js","../node_modules/json-schema-merge-allof/src/index.js","../node_modules/jsonpointer/jsonpointer.js","../node_modules/lodash/_DataView.js","../node_modules/lodash/_Hash.js","../node_modules/lodash/_ListCache.js","../node_modules/lodash/_Map.js","../node_modules/lodash/_MapCache.js","../node_modules/lodash/_Promise.js","../node_modules/lodash/_Set.js","../node_modules/lodash/_SetCache.js","../node_modules/lodash/_Stack.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_Uint8Array.js","../node_modules/lodash/_WeakMap.js","../node_modules/lodash/_apply.js","../node_modules/lodash/_arrayEach.js","../node_modules/lodash/_arrayFilter.js","../node_modules/lodash/_arrayIncludes.js","../node_modules/lodash/_arrayIncludesWith.js","../node_modules/lodash/_arrayLikeKeys.js","../node_modules/lodash/_arrayMap.js","../node_modules/lodash/_arrayPush.js","../node_modules/lodash/_arrayReduce.js","../node_modules/lodash/_arraySome.js","../node_modules/lodash/_assignMergeValue.js","../node_modules/lodash/_assignValue.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/_baseAssign.js","../node_modules/lodash/_baseAssignIn.js","../node_modules/lodash/_baseAssignValue.js","../node_modules/lodash/_baseClone.js","../node_modules/lodash/_baseCreate.js","../node_modules/lodash/_baseDifference.js","../node_modules/lodash/_baseEach.js","../node_modules/lodash/_baseFindIndex.js","../node_modules/lodash/_baseFlatten.js","../node_modules/lodash/_baseFor.js","../node_modules/lodash/_baseForOwn.js","../node_modules/lodash/_baseGet.js","../node_modules/lodash/_baseGetAllKeys.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/_baseHas.js","../node_modules/lodash/_baseHasIn.js","../node_modules/lodash/_baseIndexOf.js","../node_modules/lodash/_baseIndexOfWith.js","../node_modules/lodash/_baseIntersection.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/_baseIsEqual.js","../node_modules/lodash/_baseIsEqualDeep.js","../node_modules/lodash/_baseIsMap.js","../node_modules/lodash/_baseIsMatch.js","../node_modules/lodash/_baseIsNaN.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_baseIsSet.js","../node_modules/lodash/_baseIsTypedArray.js","../node_modules/lodash/_baseIteratee.js","../node_modules/lodash/_baseKeys.js","../node_modules/lodash/_baseKeysIn.js","../node_modules/lodash/_baseMap.js","../node_modules/lodash/_baseMatches.js","../node_modules/lodash/_baseMatchesProperty.js","../node_modules/lodash/_baseMerge.js","../node_modules/lodash/_baseMergeDeep.js","../node_modules/lodash/_baseOrderBy.js","../node_modules/lodash/_basePick.js","../node_modules/lodash/_basePickBy.js","../node_modules/lodash/_baseProperty.js","../node_modules/lodash/_basePropertyDeep.js","../node_modules/lodash/_basePullAll.js","../node_modules/lodash/_baseReduce.js","../node_modules/lodash/_baseRest.js","../node_modules/lodash/_baseSet.js","../node_modules/lodash/_baseSetToString.js","../node_modules/lodash/_baseSlice.js","../node_modules/lodash/_baseSortBy.js","../node_modules/lodash/_baseTimes.js","../node_modules/lodash/_baseToString.js","../node_modules/lodash/_baseTrim.js","../node_modules/lodash/_baseUnary.js","../node_modules/lodash/_baseUniq.js","../node_modules/lodash/_baseUnset.js","../node_modules/lodash/_cacheHas.js","../node_modules/lodash/_castArrayLikeObject.js","../node_modules/lodash/_castFunction.js","../node_modules/lodash/_castPath.js","../node_modules/lodash/_cloneArrayBuffer.js","../node_modules/lodash/_cloneBuffer.js","../node_modules/lodash/_cloneDataView.js","../node_modules/lodash/_cloneRegExp.js","../node_modules/lodash/_cloneSymbol.js","../node_modules/lodash/_cloneTypedArray.js","../node_modules/lodash/_compareAscending.js","../node_modules/lodash/_compareMultiple.js","../node_modules/lodash/_copyArray.js","../node_modules/lodash/_copyObject.js","../node_modules/lodash/_copySymbols.js","../node_modules/lodash/_copySymbolsIn.js","../node_modules/lodash/_coreJsData.js","../node_modules/lodash/_createAssigner.js","../node_modules/lodash/_createBaseEach.js","../node_modules/lodash/_createBaseFor.js","../node_modules/lodash/_createSet.js","../node_modules/lodash/_customDefaultsMerge.js","../node_modules/lodash/_customOmitClone.js","../node_modules/lodash/_defineProperty.js","../node_modules/lodash/_equalArrays.js","../node_modules/lodash/_equalByTag.js","../node_modules/lodash/_equalObjects.js","../node_modules/lodash/_flatRest.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_getAllKeys.js","../node_modules/lodash/_getAllKeysIn.js","../node_modules/lodash/_getMapData.js","../node_modules/lodash/_getMatchData.js","../node_modules/lodash/_getNative.js","../node_modules/lodash/_getPrototype.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_getSymbols.js","../node_modules/lodash/_getSymbolsIn.js","../node_modules/lodash/_getTag.js","../node_modules/lodash/_getValue.js","../node_modules/lodash/_hasPath.js","../node_modules/lodash/_hashClear.js","../node_modules/lodash/_hashDelete.js","../node_modules/lodash/_hashGet.js","../node_modules/lodash/_hashHas.js","../node_modules/lodash/_hashSet.js","../node_modules/lodash/_initCloneArray.js","../node_modules/lodash/_initCloneByTag.js","../node_modules/lodash/_initCloneObject.js","../node_modules/lodash/_isFlattenable.js","../node_modules/lodash/_isIndex.js","../node_modules/lodash/_isIterateeCall.js","../node_modules/lodash/_isKey.js","../node_modules/lodash/_isKeyable.js","../node_modules/lodash/_isMasked.js","../node_modules/lodash/_isPrototype.js","../node_modules/lodash/_isStrictComparable.js","../node_modules/lodash/_listCacheClear.js","../node_modules/lodash/_listCacheDelete.js","../node_modules/lodash/_listCacheGet.js","../node_modules/lodash/_listCacheHas.js","../node_modules/lodash/_listCacheSet.js","../node_modules/lodash/_mapCacheClear.js","../node_modules/lodash/_mapCacheDelete.js","../node_modules/lodash/_mapCacheGet.js","../node_modules/lodash/_mapCacheHas.js","../node_modules/lodash/_mapCacheSet.js","../node_modules/lodash/_mapToArray.js","../node_modules/lodash/_matchesStrictComparable.js","../node_modules/lodash/_memoizeCapped.js","../node_modules/lodash/_nativeCreate.js","../node_modules/lodash/_nativeKeys.js","../node_modules/lodash/_nativeKeysIn.js","../node_modules/lodash/_nodeUtil.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/_overRest.js","../node_modules/lodash/_parent.js","../node_modules/lodash/_root.js","../node_modules/lodash/_safeGet.js","../node_modules/lodash/_setCacheAdd.js","../node_modules/lodash/_setCacheHas.js","../node_modules/lodash/_setToArray.js","../node_modules/lodash/_setToString.js","../node_modules/lodash/_shortOut.js","../node_modules/lodash/_stackClear.js","../node_modules/lodash/_stackDelete.js","../node_modules/lodash/_stackGet.js","../node_modules/lodash/_stackHas.js","../node_modules/lodash/_stackSet.js","../node_modules/lodash/_strictIndexOf.js","../node_modules/lodash/_stringToPath.js","../node_modules/lodash/_toKey.js","../node_modules/lodash/_toSource.js","../node_modules/lodash/_trimmedEndIndex.js","../node_modules/lodash/cloneDeep.js","../node_modules/lodash/constant.js","../node_modules/lodash/defaults.js","../node_modules/lodash/defaultsDeep.js","../node_modules/lodash/eq.js","../node_modules/lodash/flatten.js","../node_modules/lodash/flattenDeep.js","../node_modules/lodash/forEach.js","../node_modules/lodash/get.js","../node_modules/lodash/has.js","../node_modules/lodash/hasIn.js","../node_modules/lodash/identity.js","../node_modules/lodash/intersection.js","../node_modules/lodash/intersectionWith.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/isArray.js","../node_modules/lodash/isArrayLike.js","../node_modules/lodash/isArrayLikeObject.js","../node_modules/lodash/isBoolean.js","../node_modules/lodash/isBuffer.js","../node_modules/lodash/isEmpty.js","../node_modules/lodash/isEqual.js","../node_modules/lodash/isEqualWith.js","../node_modules/lodash/isFunction.js","../node_modules/lodash/isLength.js","../node_modules/lodash/isMap.js","../node_modules/lodash/isNil.js","../node_modules/lodash/isNumber.js","../node_modules/lodash/isObject.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isPlainObject.js","../node_modules/lodash/isSet.js","../node_modules/lodash/isString.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/isTypedArray.js","../node_modules/lodash/keys.js","../node_modules/lodash/keysIn.js","../node_modules/lodash/last.js","../node_modules/lodash/memoize.js","../node_modules/lodash/merge.js","../node_modules/lodash/mergeWith.js","../node_modules/lodash/noop.js","../node_modules/lodash/omit.js","../node_modules/lodash/pick.js","../node_modules/lodash/property.js","../node_modules/lodash/pullAll.js","../node_modules/lodash/reduce.js","../node_modules/lodash/set.js","../node_modules/lodash/setWith.js","../node_modules/lodash/sortBy.js","../node_modules/lodash/stubArray.js","../node_modules/lodash/stubFalse.js","../node_modules/lodash/times.js","../node_modules/lodash/toFinite.js","../node_modules/lodash/toInteger.js","../node_modules/lodash/toNumber.js","../node_modules/lodash/toPath.js","../node_modules/lodash/toPlainObject.js","../node_modules/lodash/toString.js","../node_modules/lodash/transform.js","../node_modules/lodash/union.js","../node_modules/lodash/uniq.js","../node_modules/lodash/uniqWith.js","../node_modules/lodash/unset.js","../node_modules/lodash/without.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-table/src/publicUtils.js","../node_modules/react-table/src/utils.js","../node_modules/react-table/src/makeDefaultPluginHooks.js","../node_modules/react-table/src/hooks/useColumnVisibility.js","../node_modules/react-table/src/hooks/useTable.js","../node_modules/react-table/src/plugin-hooks/useExpanded.js","../node_modules/react-table/src/filterTypes.js","../node_modules/react-table/src/plugin-hooks/useFilters.js","../node_modules/react-table/src/plugin-hooks/useGlobalFilter.js","../node_modules/react-table/src/aggregations.js","../node_modules/react-table/src/plugin-hooks/useGroupBy.js","../node_modules/react-table/src/sortTypes.js","../node_modules/react-table/src/plugin-hooks/useSortBy.js","../node_modules/react-table/src/plugin-hooks/usePagination.js","../node_modules/react-table/src/plugin-hooks/_UNSTABLE_usePivotColumns.js","../node_modules/react-table/src/plugin-hooks/useRowSelect.js","../node_modules/react-table/src/plugin-hooks/useRowState.js","../node_modules/react-table/src/plugin-hooks/useColumnOrder.js","../node_modules/react-table/src/plugin-hooks/useResizeColumns.js","../node_modules/react-table/src/plugin-hooks/useAbsoluteLayout.js","../node_modules/react-table/src/plugin-hooks/useBlockLayout.js","../node_modules/react-table/src/plugin-hooks/useFlexLayout.js","../node_modules/react-table/src/plugin-hooks/useGridLayout.js","../node_modules/react-table/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/uri-js/src/util.ts","../node_modules/uri-js/src/regexps-uri.ts","../node_modules/uri-js/src/regexps-iri.ts","../node_modules/uri-js/node_modules/punycode/punycode.es6.js","../node_modules/uri-js/src/uri.ts","../node_modules/uri-js/src/schemes/http.ts","../node_modules/uri-js/src/schemes/https.ts","../node_modules/uri-js/src/schemes/ws.ts","../node_modules/uri-js/src/schemes/wss.ts","../node_modules/uri-js/src/schemes/mailto.ts","../node_modules/uri-js/src/schemes/urn.ts","../node_modules/uri-js/src/schemes/urn-uuid.ts","../node_modules/uri-js/src/index.ts","../node_modules/validate.io-array/lib/index.js","../node_modules/validate.io-function/lib/index.js","../node_modules/validate.io-integer-array/lib/index.js","../node_modules/validate.io-integer/lib/index.js","../node_modules/validate.io-number/lib/index.js","../node_modules/@babel/runtime/helpers/extends.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/regenerator/index.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/clsx/dist/clsx.mjs","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/deprecations.ts","../node_modules/react-router/lib/components.tsx","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","../node_modules/@mui/private-theming/useTheme/ThemeContext.js","../node_modules/@mui/private-theming/useTheme/useTheme.js","../node_modules/@mui/private-theming/ThemeProvider/nested.js","../node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.js","../node_modules/@mui/system/esm/useThemeWithoutDefault.js","../node_modules/@mui/system/esm/RtlProvider/index.js","../node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.js","../node_modules/@mui/material/styles/ThemeProvider.js","../node_modules/@mui/utils/esm/isHostComponent/isHostComponent.js","../node_modules/@mui/utils/esm/appendOwnerState/appendOwnerState.js","../node_modules/@mui/system/esm/useTheme.js","../node_modules/@mui/material/styles/useTheme.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/@mui/material/transitions/utils.js","../node_modules/@mui/material/Grow/Grow.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@mui/utils/esm/extractEventHandlers/extractEventHandlers.js","../node_modules/@mui/utils/esm/omitEventHandlers/omitEventHandlers.js","../node_modules/@mui/utils/esm/mergeSlotProps/mergeSlotProps.js","../node_modules/@mui/utils/esm/resolveComponentProps/resolveComponentProps.js","../node_modules/@mui/utils/esm/useSlotProps/useSlotProps.js","../node_modules/@mui/material/Portal/Portal.js","../node_modules/@mui/material/Popper/popperClasses.js","../node_modules/@mui/material/Popper/BasePopper.js","../node_modules/@mui/material/Popper/Popper.js","../node_modules/@mui/material/Tooltip/tooltipClasses.js","../node_modules/@mui/material/Tooltip/Tooltip.js","../node_modules/react-transition-group/esm/utils/ChildMapping.js","../node_modules/react-transition-group/esm/TransitionGroup.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@mui/material/ButtonBase/Ripple.js","../node_modules/@mui/material/ButtonBase/touchRippleClasses.js","../node_modules/@mui/material/ButtonBase/TouchRipple.js","../node_modules/@mui/material/ButtonBase/buttonBaseClasses.js","../node_modules/@mui/material/ButtonBase/ButtonBase.js","../node_modules/@mui/material/IconButton/iconButtonClasses.js","../node_modules/@mui/material/IconButton/IconButton.js","../node_modules/@mui/material/List/ListContext.js","../node_modules/@mui/material/List/listClasses.js","../node_modules/@mui/material/List/List.js","../node_modules/@mui/utils/esm/getScrollbarSize/getScrollbarSize.js","../node_modules/@mui/material/utils/getScrollbarSize.js","../node_modules/@mui/material/MenuList/MenuList.js","../node_modules/@mui/material/Unstable_TrapFocus/FocusTrap.js","../node_modules/@mui/material/Fade/Fade.js","../node_modules/@mui/material/Backdrop/backdropClasses.js","../node_modules/@mui/material/Backdrop/Backdrop.js","../node_modules/@mui/material/Modal/ModalManager.js","../node_modules/@mui/material/Modal/useModal.js","../node_modules/@mui/material/Modal/modalClasses.js","../node_modules/@mui/material/Modal/Modal.js","../node_modules/@mui/material/styles/getOverlayAlpha.js","../node_modules/@mui/material/Paper/paperClasses.js","../node_modules/@mui/material/Paper/Paper.js","../node_modules/@mui/material/Popover/popoverClasses.js","../node_modules/@mui/material/Popover/Popover.js","../node_modules/@mui/material/Menu/menuClasses.js","../node_modules/@mui/material/Menu/Menu.js","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/ListItemIcon/listItemIconClasses.js","../node_modules/@mui/material/ListItemText/listItemTextClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js","../node_modules/@mui/material/ListItemIcon/ListItemIcon.js","../node_modules/@mui/material/Typography/typographyClasses.js","../node_modules/@mui/material/Typography/Typography.js","../node_modules/@mui/material/ListItemText/ListItemText.js","../node_modules/@mui/material/Divider/Divider.js","../node_modules/@mui/material/CircularProgress/circularProgressClasses.js","../node_modules/@mui/material/CircularProgress/CircularProgress.js","../node_modules/@mui/material/Snackbar/useSnackbar.js","../node_modules/@mui/material/ClickAwayListener/ClickAwayListener.js","../node_modules/@mui/material/SnackbarContent/snackbarContentClasses.js","../node_modules/@mui/material/SnackbarContent/SnackbarContent.js","../node_modules/@mui/material/Snackbar/snackbarClasses.js","../node_modules/@mui/material/Snackbar/Snackbar.js","../node_modules/@mui/material/utils/useSlot.js","../node_modules/@mui/material/Alert/alertClasses.js","../node_modules/@mui/material/internal/svg-icons/SuccessOutlined.js","../node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.js","../node_modules/@mui/material/internal/svg-icons/ErrorOutline.js","../node_modules/@mui/material/internal/svg-icons/InfoOutlined.js","../node_modules/@mui/material/internal/svg-icons/Close.js","../node_modules/@mui/material/Alert/Alert.js","../node_modules/@mui/icons-material/esm/MoreHoriz.js","components/WebSocketUse.js","components/WebSocketContext.js","components/OnlineContext.js","../node_modules/@mui/material/Dialog/dialogClasses.js","../node_modules/@mui/material/Dialog/DialogContext.js","../node_modules/@mui/material/Dialog/Dialog.js","../node_modules/@mui/material/DialogTitle/dialogTitleClasses.js","../node_modules/@mui/material/DialogTitle/DialogTitle.js","../node_modules/@mui/material/DialogContent/dialogContentClasses.js","../node_modules/@mui/material/DialogContent/DialogContent.js","../node_modules/@mui/material/Button/buttonClasses.js","../node_modules/@mui/material/ButtonGroup/ButtonGroupContext.js","../node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.js","../node_modules/@mui/material/Button/Button.js","components/ConfirmCancelForm.js","components/Header.js","components/StatusIndicator.js","components/WebSocketComponent.js","../node_modules/@mui/system/esm/createBox.js","../node_modules/@mui/material/Box/boxClasses.js","../node_modules/@mui/material/Box/Box.js","components/Connecting.js","components/TruncatedText.js","components/SystemInfoTable.js","components/MatterbridgeInfoTable.js","../node_modules/@mui/material/TextareaAutosize/TextareaAutosize.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js","../node_modules/@mui/material/GlobalStyles/GlobalStyles.js","../node_modules/@mui/material/InputBase/utils.js","../node_modules/@mui/material/InputBase/inputBaseClasses.js","../node_modules/@mui/material/InputBase/InputBase.js","../node_modules/@mui/material/Input/inputClasses.js","../node_modules/@mui/material/Input/Input.js","../node_modules/@mui/material/FilledInput/filledInputClasses.js","../node_modules/@mui/material/FilledInput/FilledInput.js","../node_modules/@mui/material/OutlinedInput/NotchedOutline.js","../node_modules/@mui/material/OutlinedInput/outlinedInputClasses.js","../node_modules/@mui/material/OutlinedInput/OutlinedInput.js","../node_modules/@mui/material/FormLabel/formLabelClasses.js","../node_modules/@mui/material/FormLabel/FormLabel.js","../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../node_modules/@mui/material/InputLabel/InputLabel.js","../node_modules/@mui/material/FormControl/formControlClasses.js","../node_modules/@mui/material/FormControl/FormControl.js","../node_modules/@mui/material/FormHelperText/formHelperTextClasses.js","../node_modules/@mui/material/FormHelperText/FormHelperText.js","../node_modules/@mui/material/NativeSelect/nativeSelectClasses.js","../node_modules/@mui/material/NativeSelect/NativeSelectInput.js","../node_modules/@mui/material/Select/selectClasses.js","../node_modules/@mui/material/Select/SelectInput.js","../node_modules/@mui/material/internal/svg-icons/ArrowDropDown.js","../node_modules/@mui/material/Select/Select.js","../node_modules/@mui/material/TextField/textFieldClasses.js","../node_modules/@mui/material/TextField/TextField.js","../node_modules/@mui/icons-material/esm/QrCode2.js","../node_modules/@mui/icons-material/esm/Settings.js","../node_modules/@mui/icons-material/esm/DeleteForever.js","../node_modules/@mui/icons-material/esm/Unpublished.js","../node_modules/@mui/icons-material/esm/PublishedWithChanges.js","../node_modules/@mui/icons-material/esm/Help.js","../node_modules/@mui/icons-material/esm/Announcement.js","../node_modules/@mui/icons-material/esm/Favorite.js","../node_modules/@mui/icons-material/esm/MoreVert.js","../node_modules/@mui/icons-material/esm/Download.js","../node_modules/@mui/icons-material/esm/Add.js","../node_modules/@rjsf/utils/src/isObject.ts","../node_modules/@rjsf/utils/src/asNumber.ts","../node_modules/@rjsf/utils/src/constants.ts","../node_modules/@rjsf/utils/src/getUiOptions.ts","../node_modules/@rjsf/utils/src/canExpand.ts","../node_modules/@rjsf/utils/src/createErrorHandler.ts","../node_modules/@rjsf/utils/src/deepEquals.ts","../node_modules/@rjsf/utils/src/findSchemaDefinition.ts","../node_modules/@rjsf/utils/src/getOptionMatchingSimpleDiscriminator.ts","../node_modules/@rjsf/utils/src/schema/getMatchingOption.ts","../node_modules/@rjsf/utils/src/schema/getFirstMatchingOption.ts","../node_modules/@rjsf/utils/src/getDiscriminatorFieldFromSchema.ts","../node_modules/@rjsf/utils/src/guessType.ts","../node_modules/@rjsf/utils/src/getSchemaType.ts","../node_modules/@rjsf/utils/src/mergeSchemas.ts","../node_modules/@rjsf/utils/src/schema/retrieveSchema.ts","../node_modules/@rjsf/utils/src/schema/getClosestMatchingOption.ts","../node_modules/@rjsf/utils/src/isFixedItems.ts","../node_modules/@rjsf/utils/src/mergeDefaultsWithFormData.ts","../node_modules/@rjsf/utils/src/mergeObjects.ts","../node_modules/@rjsf/utils/src/isConstant.ts","../node_modules/@rjsf/utils/src/schema/isSelect.ts","../node_modules/@rjsf/utils/src/schema/isMultiSelect.ts","../node_modules/@rjsf/utils/src/schema/getDefaultFormState.ts","../node_modules/@rjsf/utils/src/isCustomWidget.ts","../node_modules/@rjsf/utils/src/schema/isFilesArray.ts","../node_modules/@rjsf/utils/src/schema/sanitizeDataForNewSchema.ts","../node_modules/@rjsf/utils/src/schema/toIdSchema.ts","../node_modules/@rjsf/utils/src/schema/toPathSchema.ts","../node_modules/@rjsf/utils/src/createSchemaUtils.ts","../node_modules/@rjsf/utils/src/schema/getDisplayLabel.ts","../node_modules/@rjsf/utils/src/schema/mergeValidationData.ts","../node_modules/@rjsf/utils/src/pad.ts","../node_modules/@rjsf/utils/src/dateRangeOptions.ts","../node_modules/@rjsf/utils/src/englishStringTranslator.ts","../node_modules/@rjsf/utils/src/replaceStringParameters.ts","../node_modules/@rjsf/utils/src/enumOptionsValueForIndex.ts","../node_modules/@rjsf/utils/src/enumOptionsDeselectValue.ts","../node_modules/@rjsf/utils/src/enumOptionsIsSelected.ts","../node_modules/@rjsf/utils/src/enumOptionsIndexForValue.ts","../node_modules/@rjsf/utils/src/enumOptionsSelectValue.ts","../node_modules/@rjsf/utils/src/ErrorSchemaBuilder.ts","../node_modules/@rjsf/utils/src/getDateElementProps.ts","../node_modules/@rjsf/utils/src/rangeSpec.ts","../node_modules/@rjsf/utils/src/getInputProps.ts","../node_modules/@rjsf/utils/src/getSubmitButtonOptions.ts","../node_modules/@rjsf/utils/src/getTemplate.ts","../node_modules/@rjsf/utils/src/getWidget.tsx","../node_modules/@rjsf/utils/src/idGenerators.ts","../node_modules/@rjsf/utils/src/labelValue.ts","../node_modules/@rjsf/utils/src/optionsList.ts","../node_modules/@rjsf/utils/src/toConstant.ts","../node_modules/@rjsf/utils/src/parseDateString.ts","../node_modules/@rjsf/utils/src/schemaRequiresTrueValue.ts","../node_modules/@rjsf/utils/src/toDateString.ts","../node_modules/@rjsf/utils/src/toErrorList.ts","../node_modules/@rjsf/utils/src/enums.ts","../node_modules/@rjsf/utils/src/unwrapErrorHandler.ts","../node_modules/@rjsf/utils/src/utcToLocal.ts","../node_modules/@rjsf/utils/src/validationDataMerge.ts","../node_modules/@rjsf/utils/src/withIdRefPrefix.ts","../node_modules/nanoid/index.browser.js","../node_modules/@rjsf/core/src/components/fields/ArrayField.tsx","../node_modules/@rjsf/utils/src/allowAdditionalItems.ts","../node_modules/@rjsf/core/src/components/fields/BooleanField.tsx","../node_modules/@rjsf/core/src/components/fields/MultiSchemaField.tsx","../node_modules/@rjsf/core/src/components/fields/NumberField.tsx","../node_modules/markdown-to-jsx/index.tsx","../node_modules/@rjsf/core/src/components/fields/ObjectField.tsx","../node_modules/@rjsf/utils/src/orderProperties.ts","../node_modules/@rjsf/core/src/components/fields/SchemaField.tsx","../node_modules/@rjsf/core/src/components/fields/StringField.tsx","../node_modules/@rjsf/utils/src/hasWidget.ts","../node_modules/@rjsf/core/src/components/fields/NullField.tsx","../node_modules/@rjsf/core/src/components/fields/index.ts","../node_modules/@rjsf/core/src/components/templates/ArrayFieldDescriptionTemplate.tsx","../node_modules/@rjsf/core/src/components/templates/ArrayFieldItemTemplate.tsx","../node_modules/@rjsf/core/src/components/templates/ArrayFieldTemplate.tsx","../node_modules/@rjsf/core/src/components/templates/ArrayFieldTitleTemplate.tsx","../node_modules/@rjsf/core/src/components/templates/BaseInputTemplate.tsx","../node_modules/@rjsf/core/src/components/templates/ButtonTemplates/SubmitButton.tsx","../node_modules/@rjsf/core/src/components/templates/ButtonTemplates/IconButton.tsx","../node_modules/@rjsf/core/src/components/templates/ButtonTemplates/AddButton.tsx","../node_modules/@rjsf/core/src/components/templates/ButtonTemplates/index.ts","../node_modules/@rjsf/core/src/components/templates/DescriptionField.tsx","../node_modules/@rjsf/core/src/components/templates/ErrorList.tsx","../node_modules/@rjsf/core/src/components/templates/FieldTemplate/Label.tsx","../node_modules/@rjsf/core/src/components/templates/FieldTemplate/index.ts","../node_modules/@rjsf/core/src/components/templates/FieldTemplate/FieldTemplate.tsx","../node_modules/@rjsf/core/src/components/templates/FieldErrorTemplate.tsx","../node_modules/@rjsf/core/src/components/templates/FieldHelpTemplate.tsx","../node_modules/@rjsf/core/src/components/templates/ObjectFieldTemplate.tsx","../node_modules/@rjsf/core/src/components/templates/TitleField.tsx","../node_modules/@rjsf/core/src/components/templates/UnsupportedField.tsx","../node_modules/@rjsf/core/src/components/templates/WrapIfAdditionalTemplate.tsx","../node_modules/@rjsf/core/src/components/templates/index.ts","../node_modules/@rjsf/core/src/components/widgets/AltDateWidget.tsx","../node_modules/@rjsf/core/src/components/widgets/AltDateTimeWidget.tsx","../node_modules/@rjsf/core/src/components/widgets/CheckboxWidget.tsx","../node_modules/@rjsf/core/src/components/widgets/CheckboxesWidget.tsx","../node_modules/@rjsf/core/src/components/widgets/ColorWidget.tsx","../node_modules/@rjsf/core/src/components/widgets/DateWidget.tsx","../node_modules/@rjsf/core/src/components/widgets/DateTimeWidget.tsx","../node_modules/@rjsf/utils/src/localToUTC.ts","../node_modules/@rjsf/core/src/components/widgets/EmailWidget.tsx","../node_modules/@rjsf/core/src/components/widgets/FileWidget.tsx","../node_modules/@rjsf/utils/src/dataURItoBlob.ts","../node_modules/@rjsf/core/src/components/widgets/HiddenWidget.tsx","../node_modules/@rjsf/core/src/components/widgets/PasswordWidget.tsx","../node_modules/@rjsf/core/src/components/widgets/RadioWidget.tsx","../node_modules/@rjsf/core/src/components/widgets/RangeWidget.tsx","../node_modules/@rjsf/core/src/components/widgets/SelectWidget.tsx","../node_modules/@rjsf/core/src/components/widgets/TextareaWidget.tsx","../node_modules/@rjsf/core/src/components/widgets/TextWidget.tsx","../node_modules/@rjsf/core/src/components/widgets/TimeWidget.tsx","../node_modules/@rjsf/core/src/components/widgets/URLWidget.tsx","../node_modules/@rjsf/core/src/components/widgets/UpDownWidget.tsx","../node_modules/@rjsf/core/src/components/widgets/index.ts","../node_modules/@rjsf/core/src/components/Form.tsx","../node_modules/@rjsf/utils/src/shouldRender.ts","../node_modules/@rjsf/core/src/getDefaultRegistry.ts","../node_modules/@rjsf/mui/src/AddButton/AddButton.tsx","../node_modules/@mui/material/Grid/GridContext.js","../node_modules/@mui/material/Grid/gridClasses.js","../node_modules/@mui/material/Grid/Grid.js","../node_modules/@rjsf/mui/src/ArrayFieldItemTemplate/ArrayFieldItemTemplate.tsx","../node_modules/@rjsf/mui/src/ArrayFieldTemplate/ArrayFieldTemplate.tsx","../node_modules/@rjsf/mui/src/BaseInputTemplate/BaseInputTemplate.tsx","../node_modules/@rjsf/mui/src/DescriptionField/DescriptionField.tsx","../node_modules/@mui/material/ListItem/listItemClasses.js","../node_modules/@mui/material/ListItemButton/listItemButtonClasses.js","../node_modules/@mui/material/ListItemSecondaryAction/listItemSecondaryActionClasses.js","../node_modules/@mui/material/ListItemSecondaryAction/ListItemSecondaryAction.js","../node_modules/@mui/material/ListItem/ListItem.js","../node_modules/@rjsf/mui/src/ErrorList/ErrorList.tsx","../node_modules/@rjsf/mui/src/IconButton/IconButton.tsx","../node_modules/@rjsf/mui/src/FieldErrorTemplate/FieldErrorTemplate.tsx","../node_modules/@rjsf/mui/src/FieldHelpTemplate/FieldHelpTemplate.tsx","../node_modules/@rjsf/mui/src/FieldTemplate/FieldTemplate.tsx","../node_modules/@rjsf/mui/src/ObjectFieldTemplate/ObjectFieldTemplate.tsx","../node_modules/@rjsf/mui/src/SubmitButton/SubmitButton.tsx","../node_modules/@rjsf/mui/src/TitleField/TitleField.tsx","../node_modules/@rjsf/mui/src/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.tsx","../node_modules/@rjsf/mui/src/Templates/Templates.ts","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/@mui/system/esm/createStyled.js","../node_modules/@mui/system/esm/styled.js","../node_modules/@mui/system/esm/useThemeProps/useThemeProps.js","../node_modules/@mui/system/esm/useThemeProps/getThemeProps.js","../node_modules/@mui/system/esm/Stack/createStack.js","../node_modules/@mui/material/Stack/Stack.js","../node_modules/@mui/material/FormControlLabel/formControlLabelClasses.js","../node_modules/@mui/material/FormControlLabel/FormControlLabel.js","../node_modules/@rjsf/mui/src/CheckboxWidget/CheckboxWidget.tsx","../node_modules/@mui/material/FormGroup/formGroupClasses.js","../node_modules/@mui/material/FormGroup/FormGroup.js","../node_modules/@rjsf/mui/src/CheckboxesWidget/CheckboxesWidget.tsx","../node_modules/@mui/material/internal/svg-icons/RadioButtonUnchecked.js","../node_modules/@mui/material/internal/svg-icons/RadioButtonChecked.js","../node_modules/@mui/material/Radio/RadioButtonIcon.js","../node_modules/@mui/material/RadioGroup/RadioGroupContext.js","../node_modules/@mui/material/Radio/radioClasses.js","../node_modules/@mui/material/Radio/Radio.js","../node_modules/@mui/material/RadioGroup/useRadioGroup.js","../node_modules/@mui/material/RadioGroup/radioGroupClasses.js","../node_modules/@mui/material/RadioGroup/RadioGroup.js","../node_modules/@rjsf/mui/src/RadioWidget/RadioWidget.tsx","../node_modules/@mui/utils/esm/visuallyHidden/visuallyHidden.js","../node_modules/@mui/material/utils/areArraysEqual.js","../node_modules/@mui/material/Slider/useSlider.js","../node_modules/@mui/material/utils/shouldSpreadAdditionalProps.js","../node_modules/@mui/material/Slider/sliderClasses.js","../node_modules/@mui/material/Slider/Slider.js","../node_modules/@mui/material/Slider/SliderValueLabel.js","../node_modules/@rjsf/mui/src/RangeWidget/RangeWidget.tsx","../node_modules/@rjsf/mui/src/SelectWidget/SelectWidget.tsx","../node_modules/@rjsf/mui/src/TextareaWidget/TextareaWidget.tsx","../node_modules/@rjsf/mui/src/Widgets/Widgets.ts","../node_modules/@rjsf/mui/src/Theme/Theme.tsx","../node_modules/@rjsf/mui/src/MuiForm/MuiForm.tsx","../node_modules/@rjsf/core/src/withTheme.tsx","../node_modules/@rjsf/mui/src/index.ts","../node_modules/@rjsf/validator-ajv8/src/createAjvInstance.ts","../node_modules/@rjsf/validator-ajv8/src/processRawValidationErrors.ts","../node_modules/@rjsf/utils/src/toErrorSchema.ts","../node_modules/@rjsf/validator-ajv8/src/validator.ts","../node_modules/@rjsf/utils/src/hashForSchema.ts","../node_modules/@rjsf/validator-ajv8/src/index.ts","../node_modules/@rjsf/validator-ajv8/src/customizeValidator.ts","../node_modules/qrcode.react/lib/esm/index.js","components/Home.js","components/Devices.js","components/Settings.js","components/Test.js","components/Logs.js","App.js","reportWebVitals.js","index.js"],"sourcesContent":["var isDevelopment = false;\n\n/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n } // this function should always return with a value\n // TS can't understand it though so we make it stop complaining here\n\n\n return undefined;\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? !isDevelopment : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n this.tags.forEach(function (tag) {\n var _tag$parentNode;\n\n return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function\n /*: EmotionCache */\ncreateCache(options\n/*: Options */\n) {\n var key = options.key;\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node\n /*: HTMLStyleElement */\n ) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n var inserted = {};\n var container;\n /* : Node */\n\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node\n /*: HTMLStyleElement */\n ) {\n var attrib = node.getAttribute(\"data-emotion\").split(' ');\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n /*: (\n selector: string,\n serialized: SerializedStyles,\n sheet: StyleSheet,\n shouldCache: boolean\n ) => string | void */\n\n\n var omnipresentPlugins = [compat, removeLabel];\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function\n /*: void */\n insert(selector\n /*: string */\n , serialized\n /*: SerializedStyles */\n , sheet\n /*: StyleSheet */\n , shouldCache\n /*: boolean */\n ) {\n currentSheet = sheet;\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache\n /*: EmotionCache */\n = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isDevelopment = false;\n\n/* import { type EmotionCache } from '@emotion/utils' */\nvar EmotionCacheContext\n/*: React.Context */\n= /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache()\n/*: EmotionCache | null*/\n{\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache\n/* > */\n(func\n/*: (props: Props, cache: EmotionCache, ref: Ref) => React.Node */\n)\n/*: React.AbstractComponent */\n{\n return /*#__PURE__*/forwardRef(function (props\n /*: Props */\n , ref\n /*: Ref */\n ) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme\n/*: Object */\n, theme\n/*: Object | (Object => Object) */\n) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n return mergedTheme;\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\n/*\ntype ThemeProviderProps = {\n theme: Object | (Object => Object),\n children: React.Node\n}\n*/\n\nvar ThemeProvider = function ThemeProvider(props\n/*: ThemeProviderProps */\n) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme\n/* */\n(Component\n/*: React.AbstractComponent */\n)\n/*: React.AbstractComponent<$Diff> */\n{\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n };\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar hasOwn = {}.hasOwnProperty;\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type\n/*: React.ElementType */\n, props\n/*: Object */\n) {\n\n var newProps\n /*: any */\n = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // Runtime labeling is an opt-in feature because:\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(\n/* */\nfunction (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key) && key !== 'css' && key !== typePropName && (!isDevelopment )) {\n newProps[key] = props[key];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwn as h, isDevelopment as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwn, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isDevelopment } from './emotion-element-5486c51c.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-5486c51c.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar jsx\n/*: typeof React.createElement */\n= function jsx\n/*: typeof React.createElement */\n(type\n/*: React.ElementType */\n, props\n/*: Object */\n) {\n var args = arguments;\n\n if (props == null || !hasOwn.call(props, 'css')) {\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global\n/*: React.AbstractComponent<\nGlobalProps\n> */\n= /* #__PURE__ */withEmotionCache(function (props\n/*: GlobalProps */\n, cache) {\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false;\n var node\n /*: HTMLStyleElement | null*/\n = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\n/* import type { Interpolation, SerializedStyles } from '@emotion/utils' */\n\nfunction css()\n/*: SerializedStyles */\n{\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\n/*\ntype Keyframes = {|\n name: string,\n styles: string,\n anim: 1,\n toString: () => string\n|} & string\n*/\n\nvar keyframes = function\n /*: Keyframes */\nkeyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name;\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\n/*\ntype ClassNameArg =\n | string\n | boolean\n | { [key: string]: boolean }\n | Array\n | null\n | void\n*/\n\nvar classnames = function\n /*: string */\nclassnames(args\n/*: Array */\n) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered\n/*: Object */\n, css\n/*: (...args: Array) => string */\n, className\n/*: string */\n) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n/*\ntype Props = {\n children: ({\n css: (...args: any) => string,\n cx: (...args: Array) => string,\n theme: Object\n }) => React.Node\n} */\n\n\nvar ClassNames\n/*: React.AbstractComponent*/\n= /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && isDevelopment) {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && isDevelopment) {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n scale: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar isDevelopment = false;\n\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n var componentSelector = interpolation;\n\n if (componentSelector.__emotion_styles !== undefined) {\n\n return componentSelector;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n var keyframes = interpolation;\n\n if (keyframes.anim === 1) {\n cursor = {\n name: keyframes.name,\n styles: keyframes.styles,\n next: cursor\n };\n return keyframes.name;\n }\n\n var serializedStyles = interpolation;\n\n if (serializedStyles.styles !== undefined) {\n var next = serializedStyles.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = serializedStyles.styles + \";\";\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n }\n\n break;\n }\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n var asString = interpolation;\n\n if (registered == null) {\n return asString;\n }\n\n var cached = registered[asString];\n return cached !== undefined ? cached : asString;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var key in obj) {\n var value = obj[key];\n\n if (typeof value !== 'object') {\n var asString = value;\n\n if (registered != null && registered[asString] !== undefined) {\n string += key + \"{\" + registered[asString] + \"}\";\n } else if (isProcessableValue(asString)) {\n string += processStyleName(key) + \":\" + processStyleValue(key, asString) + \";\";\n }\n } else {\n if (key === 'NO_COMPONENT_SELECTOR' && isDevelopment) {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(key) + \":\" + processStyleValue(key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n\n string += key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;{]+)\\s*(;|$)/g;\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nfunction serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n var asTemplateStringsArr = strings;\n\n styles += asTemplateStringsArr[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n var templateStringsArr = strings;\n\n styles += templateStringsArr[i];\n }\n }\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n}\n\nexport { serializeStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","var isBrowser = true;\n\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else if (className) {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z\"\n}), 'Add');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m0 14H5.17L4 17.17V4h16zM11 5h2v6h-2zm0 8h2v2h-2z\"\n}), 'AnnouncementOutlined');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8z\"\n}), 'ArrowDownward');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8z\"\n}), 'ArrowUpward');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m0 16H8V7h11z\"\n}), 'ContentCopy');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M5 20h14v-2H5zM19 9h-4V3H9v6H5l7 7z\"\n}), 'Download');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z\"\n}), 'Error');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 18h2v-2h-2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4\"\n}), 'HelpOutline');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M13 3h-2v10h2zm4.83 2.17-1.42 1.42C17.99 7.86 19 9.81 19 12c0 3.87-3.13 7-7 7s-7-3.13-7-7c0-2.19 1.01-4.14 2.58-5.42L6.17 5.17C4.23 6.82 3 9.26 3 12c0 4.97 4.03 9 9 9s9-4.03 9-9c0-2.74-1.23-5.18-3.17-6.83\"\n}), 'PowerSettingsNew');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 13H5v-2h14z\"\n}), 'Remove');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M1 21h22L12 2zm12-3h-2v-2h2zm0-4h-2v-4h2z\"\n}), 'ReportProblem');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8m-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91\"\n}), 'RestartAlt');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z\"\n}), 'Save');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m12 16.5 4-4h-3v-9h-2v9H8zm9-13h-6v1.99h6v14.03H3V5.49h6V3.5H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2v-14c0-1.1-.9-2-2-2\"\n}), 'SystemUpdateAlt');","\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport SystemDefaultPropsProvider, { useDefaultProps as useSystemDefaultProps } from '@mui/system/DefaultPropsProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction DefaultPropsProvider(props) {\n return /*#__PURE__*/_jsx(SystemDefaultPropsProvider, _extends({}, props));\n}\nprocess.env.NODE_ENV !== \"production\" ? DefaultPropsProvider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n value: PropTypes.object.isRequired\n} : void 0;\nexport default DefaultPropsProvider;\nexport function useDefaultProps(params) {\n return useSystemDefaultProps(params);\n}","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","const common = {\n black: '#000',\n white: '#fff'\n};\nexport default common;","const grey = {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#eeeeee',\n 300: '#e0e0e0',\n 400: '#bdbdbd',\n 500: '#9e9e9e',\n 600: '#757575',\n 700: '#616161',\n 800: '#424242',\n 900: '#212121',\n A100: '#f5f5f5',\n A200: '#eeeeee',\n A400: '#bdbdbd',\n A700: '#616161'\n};\nexport default grey;","const purple = {\n 50: '#f3e5f5',\n 100: '#e1bee7',\n 200: '#ce93d8',\n 300: '#ba68c8',\n 400: '#ab47bc',\n 500: '#9c27b0',\n 600: '#8e24aa',\n 700: '#7b1fa2',\n 800: '#6a1b9a',\n 900: '#4a148c',\n A100: '#ea80fc',\n A200: '#e040fb',\n A400: '#d500f9',\n A700: '#aa00ff'\n};\nexport default purple;","const red = {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n A100: '#ff8a80',\n A200: '#ff5252',\n A400: '#ff1744',\n A700: '#d50000'\n};\nexport default red;","const orange = {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n A100: '#ffd180',\n A200: '#ffab40',\n A400: '#ff9100',\n A700: '#ff6d00'\n};\nexport default orange;","const blue = {\n 50: '#e3f2fd',\n 100: '#bbdefb',\n 200: '#90caf9',\n 300: '#64b5f6',\n 400: '#42a5f5',\n 500: '#2196f3',\n 600: '#1e88e5',\n 700: '#1976d2',\n 800: '#1565c0',\n 900: '#0d47a1',\n A100: '#82b1ff',\n A200: '#448aff',\n A400: '#2979ff',\n A700: '#2962ff'\n};\nexport default blue;","const lightBlue = {\n 50: '#e1f5fe',\n 100: '#b3e5fc',\n 200: '#81d4fa',\n 300: '#4fc3f7',\n 400: '#29b6f6',\n 500: '#03a9f4',\n 600: '#039be5',\n 700: '#0288d1',\n 800: '#0277bd',\n 900: '#01579b',\n A100: '#80d8ff',\n A200: '#40c4ff',\n A400: '#00b0ff',\n A700: '#0091ea'\n};\nexport default lightBlue;","const green = {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n A100: '#b9f6ca',\n A200: '#69f0ae',\n A400: '#00e676',\n A700: '#00c853'\n};\nexport default green;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nconst _excluded = [\"mode\", \"contrastThreshold\", \"tonalOffset\"];\nimport deepmerge from '@mui/utils/deepmerge';\nimport { darken, getContrastRatio, lighten } from '@mui/system/colorManipulator';\nimport common from '../colors/common';\nimport grey from '../colors/grey';\nimport purple from '../colors/purple';\nimport red from '../colors/red';\nimport orange from '../colors/orange';\nimport blue from '../colors/blue';\nimport lightBlue from '../colors/lightBlue';\nimport green from '../colors/green';\nexport const light = {\n // The colors used to style the text.\n text: {\n // The most important text.\n primary: 'rgba(0, 0, 0, 0.87)',\n // Secondary text.\n secondary: 'rgba(0, 0, 0, 0.6)',\n // Disabled text have even lower visual prominence.\n disabled: 'rgba(0, 0, 0, 0.38)'\n },\n // The color used to divide different elements.\n divider: 'rgba(0, 0, 0, 0.12)',\n // The background colors used to style the surfaces.\n // Consistency between these values is important.\n background: {\n paper: common.white,\n default: common.white\n },\n // The colors used to style the action elements.\n action: {\n // The color of an active action like an icon button.\n active: 'rgba(0, 0, 0, 0.54)',\n // The color of an hovered action.\n hover: 'rgba(0, 0, 0, 0.04)',\n hoverOpacity: 0.04,\n // The color of a selected action.\n selected: 'rgba(0, 0, 0, 0.08)',\n selectedOpacity: 0.08,\n // The color of a disabled action.\n disabled: 'rgba(0, 0, 0, 0.26)',\n // The background color of a disabled action.\n disabledBackground: 'rgba(0, 0, 0, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(0, 0, 0, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.12\n }\n};\nexport const dark = {\n text: {\n primary: common.white,\n secondary: 'rgba(255, 255, 255, 0.7)',\n disabled: 'rgba(255, 255, 255, 0.5)',\n icon: 'rgba(255, 255, 255, 0.5)'\n },\n divider: 'rgba(255, 255, 255, 0.12)',\n background: {\n paper: '#121212',\n default: '#121212'\n },\n action: {\n active: common.white,\n hover: 'rgba(255, 255, 255, 0.08)',\n hoverOpacity: 0.08,\n selected: 'rgba(255, 255, 255, 0.16)',\n selectedOpacity: 0.16,\n disabled: 'rgba(255, 255, 255, 0.3)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(255, 255, 255, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.24\n }\n};\nfunction addLightOrDark(intent, direction, shade, tonalOffset) {\n const tonalOffsetLight = tonalOffset.light || tonalOffset;\n const tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = lighten(intent.main, tonalOffsetLight);\n } else if (direction === 'dark') {\n intent.dark = darken(intent.main, tonalOffsetDark);\n }\n }\n}\nfunction getDefaultPrimary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: blue[200],\n light: blue[50],\n dark: blue[400]\n };\n }\n return {\n main: blue[700],\n light: blue[400],\n dark: blue[800]\n };\n}\nfunction getDefaultSecondary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: purple[200],\n light: purple[50],\n dark: purple[400]\n };\n }\n return {\n main: purple[500],\n light: purple[300],\n dark: purple[700]\n };\n}\nfunction getDefaultError(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: red[500],\n light: red[300],\n dark: red[700]\n };\n }\n return {\n main: red[700],\n light: red[400],\n dark: red[800]\n };\n}\nfunction getDefaultInfo(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: lightBlue[400],\n light: lightBlue[300],\n dark: lightBlue[700]\n };\n }\n return {\n main: lightBlue[700],\n light: lightBlue[500],\n dark: lightBlue[900]\n };\n}\nfunction getDefaultSuccess(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: green[400],\n light: green[300],\n dark: green[700]\n };\n }\n return {\n main: green[800],\n light: green[500],\n dark: green[900]\n };\n}\nfunction getDefaultWarning(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: orange[400],\n light: orange[300],\n dark: orange[700]\n };\n }\n return {\n main: '#ed6c02',\n // closest to orange[800] that pass 3:1.\n light: orange[500],\n dark: orange[900]\n };\n}\nexport default function createPalette(palette) {\n const {\n mode = 'light',\n contrastThreshold = 3,\n tonalOffset = 0.2\n } = palette,\n other = _objectWithoutPropertiesLoose(palette, _excluded);\n const primary = palette.primary || getDefaultPrimary(mode);\n const secondary = palette.secondary || getDefaultSecondary(mode);\n const error = palette.error || getDefaultError(mode);\n const info = palette.info || getDefaultInfo(mode);\n const success = palette.success || getDefaultSuccess(mode);\n const warning = palette.warning || getDefaultWarning(mode);\n\n // Use the same logic as\n // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59\n // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54\n function getContrastText(background) {\n const contrastText = getContrastRatio(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;\n if (process.env.NODE_ENV !== 'production') {\n const contrast = getContrastRatio(background, contrastText);\n if (contrast < 3) {\n console.error([`MUI: The contrast ratio of ${contrast}:1 for ${contrastText} on ${background}`, 'falls below the WCAG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\\n'));\n }\n }\n return contrastText;\n }\n const augmentColor = ({\n color,\n name,\n mainShade = 500,\n lightShade = 300,\n darkShade = 700\n }) => {\n color = _extends({}, color);\n if (!color.main && color[mainShade]) {\n color.main = color[mainShade];\n }\n if (!color.hasOwnProperty('main')) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\nThe color object needs to have a \\`main\\` property or a \\`${mainShade}\\` property.` : _formatMuiErrorMessage(11, name ? ` (${name})` : '', mainShade));\n }\n if (typeof color.main !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\n\\`color.main\\` should be a string, but \\`${JSON.stringify(color.main)}\\` was provided instead.\n\nDid you intend to use one of the following approaches?\n\nimport { green } from \"@mui/material/colors\";\n\nconst theme1 = createTheme({ palette: {\n primary: green,\n} });\n\nconst theme2 = createTheme({ palette: {\n primary: { main: green[500] },\n} });` : _formatMuiErrorMessage(12, name ? ` (${name})` : '', JSON.stringify(color.main)));\n }\n addLightOrDark(color, 'light', lightShade, tonalOffset);\n addLightOrDark(color, 'dark', darkShade, tonalOffset);\n if (!color.contrastText) {\n color.contrastText = getContrastText(color.main);\n }\n return color;\n };\n const modes = {\n dark,\n light\n };\n if (process.env.NODE_ENV !== 'production') {\n if (!modes[mode]) {\n console.error(`MUI: The palette mode \\`${mode}\\` is not supported.`);\n }\n }\n const paletteOutput = deepmerge(_extends({\n // A collection of common colors.\n common: _extends({}, common),\n // prevent mutable object.\n // The palette mode, can be light or dark.\n mode,\n // The colors used to represent primary interface elements for a user.\n primary: augmentColor({\n color: primary,\n name: 'primary'\n }),\n // The colors used to represent secondary interface elements for a user.\n secondary: augmentColor({\n color: secondary,\n name: 'secondary',\n mainShade: 'A400',\n lightShade: 'A200',\n darkShade: 'A700'\n }),\n // The colors used to represent interface elements that the user should be made aware of.\n error: augmentColor({\n color: error,\n name: 'error'\n }),\n // The colors used to represent potentially dangerous actions or important messages.\n warning: augmentColor({\n color: warning,\n name: 'warning'\n }),\n // The colors used to present information to the user that is neutral and not necessarily important.\n info: augmentColor({\n color: info,\n name: 'info'\n }),\n // The colors used to indicate the successful completion of an action that user triggered.\n success: augmentColor({\n color: success,\n name: 'success'\n }),\n // The grey colors.\n grey,\n // Used by `getContrastText()` to maximize the contrast between\n // the background and the text.\n contrastThreshold,\n // Takes a background color and returns the text color that maximizes the contrast.\n getContrastText,\n // Generate a rich color object.\n augmentColor,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset\n }, modes[mode]), other);\n return paletteOutput;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"fontFamily\", \"fontSize\", \"fontWeightLight\", \"fontWeightRegular\", \"fontWeightMedium\", \"fontWeightBold\", \"htmlFontSize\", \"allVariants\", \"pxToRem\"];\nimport deepmerge from '@mui/utils/deepmerge';\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\nconst caseAllCaps = {\n textTransform: 'uppercase'\n};\nconst defaultFontFamily = '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif';\n\n/**\n * @see @link{https://m2.material.io/design/typography/the-type-system.html}\n * @see @link{https://m2.material.io/design/typography/understanding-typography.html}\n */\nexport default function createTypography(palette, typography) {\n const _ref = typeof typography === 'function' ? typography(palette) : typography,\n {\n fontFamily = defaultFontFamily,\n // The default font size of the Material Specification.\n fontSize = 14,\n // px\n fontWeightLight = 300,\n fontWeightRegular = 400,\n fontWeightMedium = 500,\n fontWeightBold = 700,\n // Tell MUI what's the font-size on the html element.\n // 16px is the default font-size used by browsers.\n htmlFontSize = 16,\n // Apply the CSS properties to all the variants.\n allVariants,\n pxToRem: pxToRem2\n } = _ref,\n other = _objectWithoutPropertiesLoose(_ref, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n if (typeof fontSize !== 'number') {\n console.error('MUI: `fontSize` is required to be a number.');\n }\n if (typeof htmlFontSize !== 'number') {\n console.error('MUI: `htmlFontSize` is required to be a number.');\n }\n }\n const coef = fontSize / 14;\n const pxToRem = pxToRem2 || (size => `${size / htmlFontSize * coef}rem`);\n const buildVariant = (fontWeight, size, lineHeight, letterSpacing, casing) => _extends({\n fontFamily,\n fontWeight,\n fontSize: pxToRem(size),\n // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/\n lineHeight\n }, fontFamily === defaultFontFamily ? {\n letterSpacing: `${round(letterSpacing / size)}em`\n } : {}, casing, allVariants);\n const variants = {\n h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),\n h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),\n h3: buildVariant(fontWeightRegular, 48, 1.167, 0),\n h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),\n h5: buildVariant(fontWeightRegular, 24, 1.334, 0),\n h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),\n subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),\n subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),\n body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),\n body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),\n button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),\n caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),\n overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps),\n // TODO v6: Remove handling of 'inherit' variant from the theme as it is already handled in Material UI's Typography component. Also, remember to remove the associated types.\n inherit: {\n fontFamily: 'inherit',\n fontWeight: 'inherit',\n fontSize: 'inherit',\n lineHeight: 'inherit',\n letterSpacing: 'inherit'\n }\n };\n return deepmerge(_extends({\n htmlFontSize,\n pxToRem,\n fontFamily,\n fontSize,\n fontWeightLight,\n fontWeightRegular,\n fontWeightMedium,\n fontWeightBold\n }, variants), other, {\n clone: false // No need to clone deep\n });\n}","const shadowKeyUmbraOpacity = 0.2;\nconst shadowKeyPenumbraOpacity = 0.14;\nconst shadowAmbientShadowOpacity = 0.12;\nfunction createShadow(...px) {\n return [`${px[0]}px ${px[1]}px ${px[2]}px ${px[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`, `${px[4]}px ${px[5]}px ${px[6]}px ${px[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`, `${px[8]}px ${px[9]}px ${px[10]}px ${px[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(',');\n}\n\n// Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss\nconst shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];\nexport default shadows;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"duration\", \"easing\", \"delay\"];\n// Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves\n// to learn the context in which each easing should be used.\nexport const easing = {\n // This is the most common easing curve.\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n // Objects enter the screen at full velocity from off-screen and\n // slowly decelerate to a resting point.\n easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)',\n // Objects leave the screen at full velocity. They do not decelerate when off-screen.\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n // The sharp curve is used by objects that may return to the screen at any time.\n sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'\n};\n\n// Follow https://m2.material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations\n// to learn when use what timing\nexport const duration = {\n shortest: 150,\n shorter: 200,\n short: 250,\n // most basic recommended timing\n standard: 300,\n // this is to be used in complex animations\n complex: 375,\n // recommended when something is entering screen\n enteringScreen: 225,\n // recommended when something is leaving screen\n leavingScreen: 195\n};\nfunction formatMs(milliseconds) {\n return `${Math.round(milliseconds)}ms`;\n}\nfunction getAutoHeightDuration(height) {\n if (!height) {\n return 0;\n }\n const constant = height / 36;\n\n // https://www.wolframalpha.com/input/?i=(4+%2B+15+*+(x+%2F+36+)+**+0.25+%2B+(x+%2F+36)+%2F+5)+*+10\n return Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10);\n}\nexport default function createTransitions(inputTransitions) {\n const mergedEasing = _extends({}, easing, inputTransitions.easing);\n const mergedDuration = _extends({}, duration, inputTransitions.duration);\n const create = (props = ['all'], options = {}) => {\n const {\n duration: durationOption = mergedDuration.standard,\n easing: easingOption = mergedEasing.easeInOut,\n delay = 0\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n const isString = value => typeof value === 'string';\n // IE11 support, replace with Number.isNaN\n // eslint-disable-next-line no-restricted-globals\n const isNumber = value => !isNaN(parseFloat(value));\n if (!isString(props) && !Array.isArray(props)) {\n console.error('MUI: Argument \"props\" must be a string or Array.');\n }\n if (!isNumber(durationOption) && !isString(durationOption)) {\n console.error(`MUI: Argument \"duration\" must be a number or a string but found ${durationOption}.`);\n }\n if (!isString(easingOption)) {\n console.error('MUI: Argument \"easing\" must be a string.');\n }\n if (!isNumber(delay) && !isString(delay)) {\n console.error('MUI: Argument \"delay\" must be a number or a string.');\n }\n if (typeof options !== 'object') {\n console.error(['MUI: Secong argument of transition.create must be an object.', \"Arguments should be either `create('prop1', options)` or `create(['prop1', 'prop2'], options)`\"].join('\\n'));\n }\n if (Object.keys(other).length !== 0) {\n console.error(`MUI: Unrecognized argument(s) [${Object.keys(other).join(',')}].`);\n }\n }\n return (Array.isArray(props) ? props : [props]).map(animatedProp => `${animatedProp} ${typeof durationOption === 'string' ? durationOption : formatMs(durationOption)} ${easingOption} ${typeof delay === 'string' ? delay : formatMs(delay)}`).join(',');\n };\n return _extends({\n getAutoHeightDuration,\n create\n }, inputTransitions, {\n easing: mergedEasing,\n duration: mergedDuration\n });\n}","// We need to centralize the zIndex definitions as they work\n// like global values in the browser.\nconst zIndex = {\n mobileStepper: 1000,\n fab: 1050,\n speedDial: 1050,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500\n};\nexport default zIndex;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nconst _excluded = [\"breakpoints\", \"mixins\", \"spacing\", \"palette\", \"transitions\", \"typography\", \"shape\"];\nimport deepmerge from '@mui/utils/deepmerge';\nimport styleFunctionSx, { unstable_defaultSxConfig as defaultSxConfig } from '@mui/system/styleFunctionSx';\nimport systemCreateTheme from '@mui/system/createTheme';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport createMixins from './createMixins';\nimport createPalette from './createPalette';\nimport createTypography from './createTypography';\nimport shadows from './shadows';\nimport createTransitions from './createTransitions';\nimport zIndex from './zIndex';\nfunction createTheme(options = {}, ...args) {\n const {\n mixins: mixinsInput = {},\n palette: paletteInput = {},\n transitions: transitionsInput = {},\n typography: typographyInput = {}\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n if (options.vars) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: \\`vars\\` is a private field used for CSS variables support.\nPlease use another name.` : _formatMuiErrorMessage(18));\n }\n const palette = createPalette(paletteInput);\n const systemTheme = systemCreateTheme(options);\n let muiTheme = deepmerge(systemTheme, {\n mixins: createMixins(systemTheme.breakpoints, mixinsInput),\n palette,\n // Don't use [...shadows] until you've verified its transpiled code is not invoking the iterator protocol.\n shadows: shadows.slice(),\n typography: createTypography(palette, typographyInput),\n transitions: createTransitions(transitionsInput),\n zIndex: _extends({}, zIndex)\n });\n muiTheme = deepmerge(muiTheme, other);\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n if (process.env.NODE_ENV !== 'production') {\n // TODO v6: Refactor to use globalStateClassesMapping from @mui/utils once `readOnly` state class is used in Rating component.\n const stateClasses = ['active', 'checked', 'completed', 'disabled', 'error', 'expanded', 'focused', 'focusVisible', 'required', 'selected'];\n const traverse = (node, component) => {\n let key;\n\n // eslint-disable-next-line guard-for-in, no-restricted-syntax\n for (key in node) {\n const child = node[key];\n if (stateClasses.indexOf(key) !== -1 && Object.keys(child).length > 0) {\n if (process.env.NODE_ENV !== 'production') {\n const stateClass = generateUtilityClass('', key);\n console.error([`MUI: The \\`${component}\\` component increases ` + `the CSS specificity of the \\`${key}\\` internal state.`, 'You can not override it like this: ', JSON.stringify(node, null, 2), '', `Instead, you need to use the '&.${stateClass}' syntax:`, JSON.stringify({\n root: {\n [`&.${stateClass}`]: child\n }\n }, null, 2), '', 'https://mui.com/r/state-classes-guide'].join('\\n'));\n }\n // Remove the style to prevent global conflicts.\n node[key] = {};\n }\n }\n };\n Object.keys(muiTheme.components).forEach(component => {\n const styleOverrides = muiTheme.components[component].styleOverrides;\n if (styleOverrides && component.indexOf('Mui') === 0) {\n traverse(styleOverrides, component);\n }\n });\n }\n muiTheme.unstable_sxConfig = _extends({}, defaultSxConfig, other == null ? void 0 : other.unstable_sxConfig);\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nlet warnedOnce = false;\nexport function createMuiTheme(...args) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['MUI: the createMuiTheme function was renamed to createTheme.', '', \"You should use `import { createTheme } from '@mui/material/styles'`\"].join('\\n'));\n }\n }\n return createTheme(...args);\n}\nexport default createTheme;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function createMixins(breakpoints, mixins) {\n return _extends({\n toolbar: {\n minHeight: 56,\n [breakpoints.up('xs')]: {\n '@media (orientation: landscape)': {\n minHeight: 48\n }\n },\n [breakpoints.up('sm')]: {\n minHeight: 64\n }\n }\n }, mixins);\n}","'use client';\n\nimport createTheme from './createTheme';\nconst defaultTheme = createTheme();\nexport default defaultTheme;","export default '$$material';","import slotShouldForwardProp from './slotShouldForwardProp';\nconst rootShouldForwardProp = prop => slotShouldForwardProp(prop) && prop !== 'classes';\nexport default rootShouldForwardProp;","// copied from @mui/system/createStyled\nfunction slotShouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nexport default slotShouldForwardProp;","'use client';\n\nimport createStyled from '@mui/system/createStyled';\nimport defaultTheme from './defaultTheme';\nimport THEME_ID from './identifier';\nimport rootShouldForwardProp from './rootShouldForwardProp';\nexport { default as slotShouldForwardProp } from './slotShouldForwardProp';\nexport { default as rootShouldForwardProp } from './rootShouldForwardProp';\nconst styled = createStyled({\n themeId: THEME_ID,\n defaultTheme,\n rootShouldForwardProp\n});\nexport default styled;","import capitalize from '@mui/utils/capitalize';\nexport default capitalize;","import createChainedFunction from '@mui/utils/createChainedFunction';\nexport default createChainedFunction;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSvgIconUtilityClass(slot) {\n return generateUtilityClass('MuiSvgIcon', slot);\n}\nconst svgIconClasses = generateUtilityClasses('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);\nexport default svgIconClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"fontSize\", \"htmlColor\", \"inheritViewBox\", \"titleAccess\", \"viewBox\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '../utils/capitalize';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport { getSvgIconUtilityClass } from './svgIconClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n fontSize,\n classes\n } = ownerState;\n const slots = {\n root: ['root', color !== 'inherit' && `color${capitalize(color)}`, `fontSize${capitalize(fontSize)}`]\n };\n return composeClasses(slots, getSvgIconUtilityClass, classes);\n};\nconst SvgIconRoot = styled('svg', {\n name: 'MuiSvgIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'inherit' && styles[`color${capitalize(ownerState.color)}`], styles[`fontSize${capitalize(ownerState.fontSize)}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$transitions, _theme$transitions$cr, _theme$transitions2, _theme$typography, _theme$typography$pxT, _theme$typography2, _theme$typography2$px, _theme$typography3, _theme$typography3$px, _palette$ownerState$c, _palette, _palette2, _palette3;\n return {\n userSelect: 'none',\n width: '1em',\n height: '1em',\n display: 'inline-block',\n // the will define the property that has `currentColor`\n // for example heroicons uses fill=\"none\" and stroke=\"currentColor\"\n fill: ownerState.hasSvgAsChild ? undefined : 'currentColor',\n flexShrink: 0,\n transition: (_theme$transitions = theme.transitions) == null || (_theme$transitions$cr = _theme$transitions.create) == null ? void 0 : _theme$transitions$cr.call(_theme$transitions, 'fill', {\n duration: (_theme$transitions2 = theme.transitions) == null || (_theme$transitions2 = _theme$transitions2.duration) == null ? void 0 : _theme$transitions2.shorter\n }),\n fontSize: {\n inherit: 'inherit',\n small: ((_theme$typography = theme.typography) == null || (_theme$typography$pxT = _theme$typography.pxToRem) == null ? void 0 : _theme$typography$pxT.call(_theme$typography, 20)) || '1.25rem',\n medium: ((_theme$typography2 = theme.typography) == null || (_theme$typography2$px = _theme$typography2.pxToRem) == null ? void 0 : _theme$typography2$px.call(_theme$typography2, 24)) || '1.5rem',\n large: ((_theme$typography3 = theme.typography) == null || (_theme$typography3$px = _theme$typography3.pxToRem) == null ? void 0 : _theme$typography3$px.call(_theme$typography3, 35)) || '2.1875rem'\n }[ownerState.fontSize],\n // TODO v5 deprecate, v6 remove for sx\n color: (_palette$ownerState$c = (_palette = (theme.vars || theme).palette) == null || (_palette = _palette[ownerState.color]) == null ? void 0 : _palette.main) != null ? _palette$ownerState$c : {\n action: (_palette2 = (theme.vars || theme).palette) == null || (_palette2 = _palette2.action) == null ? void 0 : _palette2.active,\n disabled: (_palette3 = (theme.vars || theme).palette) == null || (_palette3 = _palette3.action) == null ? void 0 : _palette3.disabled,\n inherit: undefined\n }[ownerState.color]\n };\n});\nconst SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiSvgIcon'\n });\n const {\n children,\n className,\n color = 'inherit',\n component = 'svg',\n fontSize = 'medium',\n htmlColor,\n inheritViewBox = false,\n titleAccess,\n viewBox = '0 0 24 24'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const hasSvgAsChild = /*#__PURE__*/React.isValidElement(children) && children.type === 'svg';\n const ownerState = _extends({}, props, {\n color,\n component,\n fontSize,\n instanceFontSize: inProps.fontSize,\n inheritViewBox,\n viewBox,\n hasSvgAsChild\n });\n const more = {};\n if (!inheritViewBox) {\n more.viewBox = viewBox;\n }\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SvgIconRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n focusable: \"false\",\n color: htmlColor,\n \"aria-hidden\": titleAccess ? undefined : true,\n role: titleAccess ? 'img' : undefined,\n ref: ref\n }, more, other, hasSvgAsChild && children.props, {\n ownerState: ownerState,\n children: [hasSvgAsChild ? children.props.children : children, titleAccess ? /*#__PURE__*/_jsx(\"title\", {\n children: titleAccess\n }) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? SvgIcon.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Node passed into the SVG element.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * You can use the `htmlColor` prop to apply a color attribute to the SVG element.\n * @default 'inherit'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'action', 'disabled', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.\n * @default 'medium'\n */\n fontSize: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'large', 'medium', 'small']), PropTypes.string]),\n /**\n * Applies a color attribute to the SVG element.\n */\n htmlColor: PropTypes.string,\n /**\n * If `true`, the root node will inherit the custom `component`'s viewBox and the `viewBox`\n * prop will be ignored.\n * Useful when you want to reference a custom `component` and have `SvgIcon` pass that\n * `component`'s viewBox to the root node.\n * @default false\n */\n inheritViewBox: PropTypes.bool,\n /**\n * The shape-rendering attribute. The behavior of the different options is described on the\n * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering).\n * If you are having issues with blurry icons you should investigate this prop.\n */\n shapeRendering: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Provides a human-readable title for the element that contains it.\n * https://www.w3.org/TR/SVG-access/#Equivalent\n */\n titleAccess: PropTypes.string,\n /**\n * Allows you to redefine what the coordinates without units mean inside an SVG element.\n * For example, if the SVG element is 500 (width) by 200 (height),\n * and you pass viewBox=\"0 0 50 20\",\n * this means that the coordinates inside the SVG will go from the top left corner (0,0)\n * to bottom right (50,20) and each unit will be worth 10px.\n * @default '0 0 24 24'\n */\n viewBox: PropTypes.string\n} : void 0;\nSvgIcon.muiName = 'SvgIcon';\nexport default SvgIcon;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport SvgIcon from '../SvgIcon';\n\n/**\n * Private module reserved for @mui packages.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createSvgIcon(path, displayName) {\n function Component(props, ref) {\n return /*#__PURE__*/_jsx(SvgIcon, _extends({\n \"data-testid\": `${displayName}Icon`,\n ref: ref\n }, props, {\n children: path\n }));\n }\n if (process.env.NODE_ENV !== 'production') {\n // Need to set `displayName` on the inner component for React.memo.\n // React prior to 16.14 ignores `displayName` on the wrapper.\n Component.displayName = `${displayName}Icon`;\n }\n Component.muiName = SvgIcon.muiName;\n return /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(Component));\n}","import debounce from '@mui/utils/debounce';\nexport default debounce;","import deprecatedPropType from '@mui/utils/deprecatedPropType';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import requirePropFactory from '@mui/utils/requirePropFactory';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import setRef from '@mui/utils/setRef';\nexport default setRef;","import unsupportedProp from '@mui/utils/unsupportedProp';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","'use client';\n\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/utils';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import isMuiElement from '@mui/utils/isMuiElement';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n var _muiName, _element$type;\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf( // For server components `muiName` is avaialble in element.type._payload.value.muiName\n // relevant info - https://github.com/facebook/react/blob/2807d781a08db8e9873687fccc25c0f12b4fb3d4/packages/react/src/ReactLazy.js#L45\n // eslint-disable-next-line no-underscore-dangle\n (_muiName = element.type.muiName) != null ? _muiName : (_element$type = element.type) == null || (_element$type = _element$type._payload) == null || (_element$type = _element$type.value) == null ? void 0 : _element$type.muiName) !== -1;\n}","import ownerDocument from '@mui/utils/ownerDocument';\nexport default ownerDocument;","import ownerWindow from '@mui/utils/ownerWindow';\nexport default ownerWindow;","'use client';\n\nimport useControlled from '@mui/utils/useControlled';\nexport default useControlled;","'use client';\n\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nexport default useEnhancedEffect;","'use client';\n\nimport useEventCallback from '@mui/utils/useEventCallback';\nexport default useEventCallback;","'use client';\n\nimport useForkRef from '@mui/utils/useForkRef';\nexport default useForkRef;","'use client';\n\nimport useId from '@mui/utils/useId';\nexport default useId;","'use client';\n\nimport useIsFocusVisible from '@mui/utils/useIsFocusVisible';\nexport default useIsFocusVisible;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Global } from '@emotion/react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction isEmpty(obj) {\n return obj === undefined || obj === null || Object.keys(obj).length === 0;\n}\nexport default function GlobalStyles(props) {\n const {\n styles,\n defaultTheme = {}\n } = props;\n const globalStyles = typeof styles === 'function' ? themeInput => styles(isEmpty(themeInput) ? defaultTheme : themeInput) : styles;\n return /*#__PURE__*/_jsx(Global, {\n styles: globalStyles\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes = {\n defaultTheme: PropTypes.object,\n styles: PropTypes.oneOfType([PropTypes.array, PropTypes.string, PropTypes.object, PropTypes.func])\n} : void 0;","import memoize from '@emotion/memoize';\n\n// eslint-disable-next-line no-undef\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\n/* import type {\n ElementType,\n StatelessFunctionalComponent,\n AbstractComponent\n} from 'react' */\n/*\nexport type Interpolations = Array\n\nexport type StyledElementType =\n | string\n | AbstractComponent<{ ...Props, className: string }, mixed>\n\nexport type StyledOptions = {\n label?: string,\n shouldForwardProp?: string => boolean,\n target?: string\n}\n\nexport type StyledComponent = StatelessFunctionalComponent & {\n defaultProps: any,\n toString: () => string,\n withComponent: (\n nextTag: StyledElementType,\n nextOptions?: StyledOptions\n ) => StyledComponent\n}\n\nexport type PrivateStyledComponent = StyledComponent & {\n __emotion_real: StyledComponent,\n __emotion_base: any,\n __emotion_styles: any,\n __emotion_forwardProp: any\n}\n*/\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key\n/*: string */\n) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag\n/*: ElementType */\n) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag\n/*: PrivateStyledComponent */\n, options\n/*: StyledOptions | void */\n, isReal\n/*: boolean */\n) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName\n /*: string */\n ) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n/*\nexport type CreateStyledComponent = (\n ...args: Interpolations\n) => StyledComponent\n\nexport type CreateStyled = {\n (\n tag: StyledElementType,\n options?: StyledOptions\n ): (...args: Interpolations) => StyledComponent,\n [key: string]: CreateStyledComponent,\n bind: () => CreateStyled\n}\n*/\n\nvar isDevelopment = false;\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar createStyled\n/*: CreateStyled */\n= function createStyled\n/*: CreateStyled */\n(tag\n/*: any */\n, options\n/* ?: StyledOptions */\n) {\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n /* return function(): PrivateStyledComponent { */\n\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n\n styles.push(args[i], args[0][i]);\n }\n }\n\n var Styled\n /*: PrivateStyledComponent */\n = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if (finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && isDevelopment) {\n return 'NO_COMPONENT_SELECTOR';\n }\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag\n /*: StyledElementType */\n , nextOptions\n /* ?: StyledOptions */\n ) {\n return createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n })).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n","import createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport 'react';\nimport '@emotion/is-prop-valid';\nimport '@emotion/react';\nimport '@emotion/utils';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = createStyled.bind();\ntags.forEach(function (tagName) {\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport { newStyled as default };\n","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { CacheProvider } from '@emotion/react';\nimport createCache from '@emotion/cache';\n\n// prepend: true moves MUI styles to the top of the so they're loaded first.\n// It allows developers to easily override MUI styles with other styling solutions, like CSS modules.\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nlet cache;\nif (typeof document === 'object') {\n cache = createCache({\n key: 'css',\n prepend: true\n });\n}\nexport default function StyledEngineProvider(props) {\n const {\n injectFirst,\n children\n } = props;\n return injectFirst && cache ? /*#__PURE__*/_jsx(CacheProvider, {\n value: cache,\n children: children\n }) : children;\n}\nprocess.env.NODE_ENV !== \"production\" ? StyledEngineProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * By default, the styles are injected last in the element of the page.\n * As a result, they gain more specificity than any other style sheet.\n * If you want to override MUI's styles, set this prop.\n */\n injectFirst: PropTypes.bool\n} : void 0;","/**\n * @mui/styled-engine v5.16.6\n *\n * @license MIT\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use client';\n\n/* eslint-disable no-underscore-dangle */\nimport emStyled from '@emotion/styled';\nexport default function styled(tag, options) {\n const stylesFactory = emStyled(tag, options);\n if (process.env.NODE_ENV !== 'production') {\n return (...styles) => {\n const component = typeof tag === 'string' ? `\"${tag}\"` : 'component';\n if (styles.length === 0) {\n console.error([`MUI: Seems like you called \\`styled(${component})()\\` without a \\`style\\` argument.`, 'You must provide a `styles` argument: `styled(\"div\")(styleYouForgotToPass)`.'].join('\\n'));\n } else if (styles.some(style => style === undefined)) {\n console.error(`MUI: the styled(${component})(...args) API requires all its args to be defined.`);\n }\n return stylesFactory(...styles);\n };\n }\n return stylesFactory;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const internal_processStyles = (tag, processor) => {\n // Emotion attaches all the styles as `__emotion_styles`.\n // Ref: https://github.com/emotion-js/emotion/blob/16d971d0da229596d6bcc39d282ba9753c9ee7cf/packages/styled/src/base.js#L186\n if (Array.isArray(tag.__emotion_styles)) {\n tag.__emotion_styles = processor(tag.__emotion_styles);\n }\n};\nexport { ThemeContext, keyframes, css } from '@emotion/react';\nexport { default as StyledEngineProvider } from './StyledEngineProvider';\nexport { default as GlobalStyles } from './GlobalStyles';","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.alpha = alpha;\nexports.blend = blend;\nexports.colorChannel = void 0;\nexports.darken = darken;\nexports.decomposeColor = decomposeColor;\nexports.emphasize = emphasize;\nexports.getContrastRatio = getContrastRatio;\nexports.getLuminance = getLuminance;\nexports.hexToRgb = hexToRgb;\nexports.hslToRgb = hslToRgb;\nexports.lighten = lighten;\nexports.private_safeAlpha = private_safeAlpha;\nexports.private_safeColorChannel = void 0;\nexports.private_safeDarken = private_safeDarken;\nexports.private_safeEmphasize = private_safeEmphasize;\nexports.private_safeLighten = private_safeLighten;\nexports.recomposeColor = recomposeColor;\nexports.rgbToHex = rgbToHex;\nvar _formatMuiErrorMessage2 = _interopRequireDefault(require(\"@mui/utils/formatMuiErrorMessage\"));\nvar _clamp = _interopRequireDefault(require(\"@mui/utils/clamp\"));\n/* eslint-disable @typescript-eslint/naming-convention */\n\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return (0, _clamp.default)(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nfunction hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nfunction decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (['rgb', 'rgba', 'hsl', 'hsla', 'color'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\nThe following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : (0, _formatMuiErrorMessage2.default)(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].indexOf(colorSpace) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\nThe following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : (0, _formatMuiErrorMessage2.default)(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nconst colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.indexOf('hsl') !== -1 && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexports.colorChannel = colorChannel;\nconst private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexports.private_safeColorChannel = private_safeColorChannel;\nfunction recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.indexOf('color') !== -1) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nfunction rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nfunction hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nfunction getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nfunction getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nfunction private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1 || color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nfunction private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nfunction private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nfunction private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nfunction blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createStyled;\nexports.shouldForwardProp = shouldForwardProp;\nexports.systemDefaultTheme = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _styledEngine = _interopRequireWildcard(require(\"@mui/styled-engine\"));\nvar _deepmerge = require(\"@mui/utils/deepmerge\");\nvar _capitalize = _interopRequireDefault(require(\"@mui/utils/capitalize\"));\nvar _getDisplayName = _interopRequireDefault(require(\"@mui/utils/getDisplayName\"));\nvar _createTheme = _interopRequireDefault(require(\"./createTheme\"));\nvar _styleFunctionSx = _interopRequireDefault(require(\"./styleFunctionSx\"));\nconst _excluded = [\"ownerState\"],\n _excluded2 = [\"variants\"],\n _excluded3 = [\"name\", \"slot\", \"skipVariantsResolver\", \"skipSx\", \"overridesResolver\"];\n/* eslint-disable no-underscore-dangle */\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction isEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\n\n// https://github.com/emotion-js/emotion/blob/26ded6109fcd8ca9875cc2ce4564fee678a3f3c5/packages/styled/src/utils.js#L40\nfunction isStringTag(tag) {\n return typeof tag === 'string' &&\n // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96;\n}\n\n// Update /system/styled/#api in case if this changes\nfunction shouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nconst systemDefaultTheme = exports.systemDefaultTheme = (0, _createTheme.default)();\nconst lowercaseFirstLetter = string => {\n if (!string) {\n return string;\n }\n return string.charAt(0).toLowerCase() + string.slice(1);\n};\nfunction resolveTheme({\n defaultTheme,\n theme,\n themeId\n}) {\n return isEmpty(theme) ? defaultTheme : theme[themeId] || theme;\n}\nfunction defaultOverridesResolver(slot) {\n if (!slot) {\n return null;\n }\n return (props, styles) => styles[slot];\n}\nfunction processStyleArg(callableStyle, _ref) {\n let {\n ownerState\n } = _ref,\n props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);\n const resolvedStylesArg = typeof callableStyle === 'function' ? callableStyle((0, _extends2.default)({\n ownerState\n }, props)) : callableStyle;\n if (Array.isArray(resolvedStylesArg)) {\n return resolvedStylesArg.flatMap(resolvedStyle => processStyleArg(resolvedStyle, (0, _extends2.default)({\n ownerState\n }, props)));\n }\n if (!!resolvedStylesArg && typeof resolvedStylesArg === 'object' && Array.isArray(resolvedStylesArg.variants)) {\n const {\n variants = []\n } = resolvedStylesArg,\n otherStyles = (0, _objectWithoutPropertiesLoose2.default)(resolvedStylesArg, _excluded2);\n let result = otherStyles;\n variants.forEach(variant => {\n let isMatch = true;\n if (typeof variant.props === 'function') {\n isMatch = variant.props((0, _extends2.default)({\n ownerState\n }, props, ownerState));\n } else {\n Object.keys(variant.props).forEach(key => {\n if ((ownerState == null ? void 0 : ownerState[key]) !== variant.props[key] && props[key] !== variant.props[key]) {\n isMatch = false;\n }\n });\n }\n if (isMatch) {\n if (!Array.isArray(result)) {\n result = [result];\n }\n result.push(typeof variant.style === 'function' ? variant.style((0, _extends2.default)({\n ownerState\n }, props, ownerState)) : variant.style);\n }\n });\n return result;\n }\n return resolvedStylesArg;\n}\nfunction createStyled(input = {}) {\n const {\n themeId,\n defaultTheme = systemDefaultTheme,\n rootShouldForwardProp = shouldForwardProp,\n slotShouldForwardProp = shouldForwardProp\n } = input;\n const systemSx = props => {\n return (0, _styleFunctionSx.default)((0, _extends2.default)({}, props, {\n theme: resolveTheme((0, _extends2.default)({}, props, {\n defaultTheme,\n themeId\n }))\n }));\n };\n systemSx.__mui_systemSx = true;\n return (tag, inputOptions = {}) => {\n // Filter out the `sx` style function from the previous styled component to prevent unnecessary styles generated by the composite components.\n (0, _styledEngine.internal_processStyles)(tag, styles => styles.filter(style => !(style != null && style.__mui_systemSx)));\n const {\n name: componentName,\n slot: componentSlot,\n skipVariantsResolver: inputSkipVariantsResolver,\n skipSx: inputSkipSx,\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot))\n } = inputOptions,\n options = (0, _objectWithoutPropertiesLoose2.default)(inputOptions, _excluded3);\n\n // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.\n const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n componentSlot && componentSlot !== 'Root' && componentSlot !== 'root' || false;\n const skipSx = inputSkipSx || false;\n let label;\n if (process.env.NODE_ENV !== 'production') {\n if (componentName) {\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n label = `${componentName}-${lowercaseFirstLetter(componentSlot || 'Root')}`;\n }\n }\n let shouldForwardPropOption = shouldForwardProp;\n\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n if (componentSlot === 'Root' || componentSlot === 'root') {\n shouldForwardPropOption = rootShouldForwardProp;\n } else if (componentSlot) {\n // any other slot specified\n shouldForwardPropOption = slotShouldForwardProp;\n } else if (isStringTag(tag)) {\n // for string (html) tag, preserve the behavior in emotion & styled-components.\n shouldForwardPropOption = undefined;\n }\n const defaultStyledResolver = (0, _styledEngine.default)(tag, (0, _extends2.default)({\n shouldForwardProp: shouldForwardPropOption,\n label\n }, options));\n const transformStyleArg = stylesArg => {\n // On the server Emotion doesn't use React.forwardRef for creating components, so the created\n // component stays as a function. This condition makes sure that we do not interpolate functions\n // which are basically components used as a selectors.\n if (typeof stylesArg === 'function' && stylesArg.__emotion_real !== stylesArg || (0, _deepmerge.isPlainObject)(stylesArg)) {\n return props => processStyleArg(stylesArg, (0, _extends2.default)({}, props, {\n theme: resolveTheme({\n theme: props.theme,\n defaultTheme,\n themeId\n })\n }));\n }\n return stylesArg;\n };\n const muiStyledResolver = (styleArg, ...expressions) => {\n let transformedStyleArg = transformStyleArg(styleArg);\n const expressionsWithDefaultTheme = expressions ? expressions.map(transformStyleArg) : [];\n if (componentName && overridesResolver) {\n expressionsWithDefaultTheme.push(props => {\n const theme = resolveTheme((0, _extends2.default)({}, props, {\n defaultTheme,\n themeId\n }));\n if (!theme.components || !theme.components[componentName] || !theme.components[componentName].styleOverrides) {\n return null;\n }\n const styleOverrides = theme.components[componentName].styleOverrides;\n const resolvedStyleOverrides = {};\n // TODO: v7 remove iteration and use `resolveStyleArg(styleOverrides[slot])` directly\n Object.entries(styleOverrides).forEach(([slotKey, slotStyle]) => {\n resolvedStyleOverrides[slotKey] = processStyleArg(slotStyle, (0, _extends2.default)({}, props, {\n theme\n }));\n });\n return overridesResolver(props, resolvedStyleOverrides);\n });\n }\n if (componentName && !skipVariantsResolver) {\n expressionsWithDefaultTheme.push(props => {\n var _theme$components;\n const theme = resolveTheme((0, _extends2.default)({}, props, {\n defaultTheme,\n themeId\n }));\n const themeVariants = theme == null || (_theme$components = theme.components) == null || (_theme$components = _theme$components[componentName]) == null ? void 0 : _theme$components.variants;\n return processStyleArg({\n variants: themeVariants\n }, (0, _extends2.default)({}, props, {\n theme\n }));\n });\n }\n if (!skipSx) {\n expressionsWithDefaultTheme.push(systemSx);\n }\n const numOfCustomFnsApplied = expressionsWithDefaultTheme.length - expressions.length;\n if (Array.isArray(styleArg) && numOfCustomFnsApplied > 0) {\n const placeholders = new Array(numOfCustomFnsApplied).fill('');\n // If the type is array, than we need to add placeholders in the template for the overrides, variants and the sx styles.\n transformedStyleArg = [...styleArg, ...placeholders];\n transformedStyleArg.raw = [...styleArg.raw, ...placeholders];\n }\n const Component = defaultStyledResolver(transformedStyleArg, ...expressionsWithDefaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n let displayName;\n if (componentName) {\n displayName = `${componentName}${(0, _capitalize.default)(componentSlot || '')}`;\n }\n if (displayName === undefined) {\n displayName = `Styled(${(0, _getDisplayName.default)(tag)})`;\n }\n Component.displayName = displayName;\n }\n if (tag.muiName) {\n Component.muiName = tag.muiName;\n }\n return Component;\n };\n if (defaultStyledResolver.withConfig) {\n muiStyledResolver.withConfig = defaultStyledResolver.withConfig;\n }\n return muiStyledResolver;\n };\n}","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport resolveProps from '@mui/utils/resolveProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PropsContext = /*#__PURE__*/React.createContext(undefined);\nfunction DefaultPropsProvider({\n value,\n children\n}) {\n return /*#__PURE__*/_jsx(PropsContext.Provider, {\n value: value,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? DefaultPropsProvider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n value: PropTypes.object\n} : void 0;\nfunction getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name]) {\n return props;\n }\n const config = theme.components[name];\n if (config.defaultProps) {\n // compatible with v5 signature\n return resolveProps(config.defaultProps, props);\n }\n if (!config.styleOverrides && !config.variants) {\n // v6 signature, no property 'defaultProps'\n return resolveProps(config, props);\n }\n return props;\n}\nexport function useDefaultProps({\n props,\n name\n}) {\n const ctx = React.useContext(PropsContext);\n return getThemeProps({\n props,\n name,\n theme: {\n components: ctx\n }\n });\n}\nexport default DefaultPropsProvider;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PropTypes from 'prop-types';\nimport deepmerge from '@mui/utils/deepmerge';\nimport merge from './merge';\n\n// The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\nexport const values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n};\nconst defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: key => `@media (min-width:${values[key]}px)`\n};\nexport function handleBreakpoints(props, propValue, styleFromPropValue) {\n const theme = props.theme || {};\n if (Array.isArray(propValue)) {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return propValue.reduce((acc, item, index) => {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n if (typeof propValue === 'object') {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return Object.keys(propValue).reduce((acc, breakpoint) => {\n // key is breakpoint\n if (Object.keys(themeBreakpoints.values || values).indexOf(breakpoint) !== -1) {\n const mediaKey = themeBreakpoints.up(breakpoint);\n acc[mediaKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n } else {\n const cssKey = breakpoint;\n acc[cssKey] = propValue[cssKey];\n }\n return acc;\n }, {});\n }\n const output = styleFromPropValue(propValue);\n return output;\n}\nfunction breakpoints(styleFunction) {\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const newStyleFunction = props => {\n const theme = props.theme || {};\n const base = styleFunction(props);\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n const extended = themeBreakpoints.keys.reduce((acc, key) => {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction(_extends({\n theme\n }, props[key]));\n }\n return acc;\n }, null);\n return merge(base, extended);\n };\n newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? _extends({}, styleFunction.propTypes, {\n xs: PropTypes.object,\n sm: PropTypes.object,\n md: PropTypes.object,\n lg: PropTypes.object,\n xl: PropTypes.object\n }) : {};\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl', ...styleFunction.filterProps];\n return newStyleFunction;\n}\nexport function createEmptyBreakpointObject(breakpointsInput = {}) {\n var _breakpointsInput$key;\n const breakpointsInOrder = (_breakpointsInput$key = breakpointsInput.keys) == null ? void 0 : _breakpointsInput$key.reduce((acc, key) => {\n const breakpointStyleKey = breakpointsInput.up(key);\n acc[breakpointStyleKey] = {};\n return acc;\n }, {});\n return breakpointsInOrder || {};\n}\nexport function removeUnusedBreakpoints(breakpointKeys, style) {\n return breakpointKeys.reduce((acc, key) => {\n const breakpointOutput = acc[key];\n const isBreakpointUnused = !breakpointOutput || Object.keys(breakpointOutput).length === 0;\n if (isBreakpointUnused) {\n delete acc[key];\n }\n return acc;\n }, style);\n}\nexport function mergeBreakpointsInOrder(breakpointsInput, ...styles) {\n const emptyBreakpoints = createEmptyBreakpointObject(breakpointsInput);\n const mergedOutput = [emptyBreakpoints, ...styles].reduce((prev, next) => deepmerge(prev, next), {});\n return removeUnusedBreakpoints(Object.keys(emptyBreakpoints), mergedOutput);\n}\n\n// compute base for responsive values; e.g.,\n// [1,2,3] => {xs: true, sm: true, md: true}\n// {xs: 1, sm: 2, md: 3} => {xs: true, sm: true, md: true}\nexport function computeBreakpointsBase(breakpointValues, themeBreakpoints) {\n // fixed value\n if (typeof breakpointValues !== 'object') {\n return {};\n }\n const base = {};\n const breakpointsKeys = Object.keys(themeBreakpoints);\n if (Array.isArray(breakpointValues)) {\n breakpointsKeys.forEach((breakpoint, i) => {\n if (i < breakpointValues.length) {\n base[breakpoint] = true;\n }\n });\n } else {\n breakpointsKeys.forEach(breakpoint => {\n if (breakpointValues[breakpoint] != null) {\n base[breakpoint] = true;\n }\n });\n }\n return base;\n}\nexport function resolveBreakpointValues({\n values: breakpointValues,\n breakpoints: themeBreakpoints,\n base: customBase\n}) {\n const base = customBase || computeBreakpointsBase(breakpointValues, themeBreakpoints);\n const keys = Object.keys(base);\n if (keys.length === 0) {\n return breakpointValues;\n }\n let previous;\n return keys.reduce((acc, breakpoint, i) => {\n if (Array.isArray(breakpointValues)) {\n acc[breakpoint] = breakpointValues[i] != null ? breakpointValues[i] : breakpointValues[previous];\n previous = i;\n } else if (typeof breakpointValues === 'object') {\n acc[breakpoint] = breakpointValues[breakpoint] != null ? breakpointValues[breakpoint] : breakpointValues[previous];\n previous = breakpoint;\n } else {\n acc[breakpoint] = breakpointValues;\n }\n return acc;\n }, {});\n}\nexport default breakpoints;","/**\n * A universal utility to style components with multiple color modes. Always use it from the theme object.\n * It works with:\n * - [Basic theme](https://mui.com/material-ui/customization/dark-mode/)\n * - [CSS theme variables](https://mui.com/material-ui/experimental-api/css-theme-variables/overview/)\n * - Zero-runtime engine\n *\n * Tips: Use an array over object spread and place `theme.applyStyles()` last.\n *\n * ✅ [{ background: '#e5e5e5' }, theme.applyStyles('dark', { background: '#1c1c1c' })]\n *\n * 🚫 { background: '#e5e5e5', ...theme.applyStyles('dark', { background: '#1c1c1c' })}\n *\n * @example\n * 1. using with `styled`:\n * ```jsx\n * const Component = styled('div')(({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]);\n * ```\n *\n * @example\n * 2. using with `sx` prop:\n * ```jsx\n * [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]}\n * />\n * ```\n *\n * @example\n * 3. theming a component:\n * ```jsx\n * extendTheme({\n * components: {\n * MuiButton: {\n * styleOverrides: {\n * root: ({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ],\n * },\n * }\n * }\n * })\n *```\n */\nexport default function applyStyles(key, styles) {\n // @ts-expect-error this is 'any' type\n const theme = this;\n if (theme.vars && typeof theme.getColorSchemeSelector === 'function') {\n // If CssVarsProvider is used as a provider,\n // returns '* :where([data-mui-color-scheme=\"light|dark\"]) &'\n const selector = theme.getColorSchemeSelector(key).replace(/(\\[[^\\]]+\\])/, '*:where($1)');\n return {\n [selector]: styles\n };\n }\n if (theme.palette.mode === key) {\n return styles;\n }\n return {};\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"values\", \"unit\", \"step\"];\n// Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\nexport const breakpointKeys = ['xs', 'sm', 'md', 'lg', 'xl'];\nconst sortBreakpointsValues = values => {\n const breakpointsAsArray = Object.keys(values).map(key => ({\n key,\n val: values[key]\n })) || [];\n // Sort in ascending order\n breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val);\n return breakpointsAsArray.reduce((acc, obj) => {\n return _extends({}, acc, {\n [obj.key]: obj.val\n });\n }, {});\n};\n\n// Keep in mind that @media is inclusive by the CSS specification.\nexport default function createBreakpoints(breakpoints) {\n const {\n // The breakpoint **start** at this value.\n // For instance with the first breakpoint xs: [xs, sm).\n values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n },\n unit = 'px',\n step = 5\n } = breakpoints,\n other = _objectWithoutPropertiesLoose(breakpoints, _excluded);\n const sortedValues = sortBreakpointsValues(values);\n const keys = Object.keys(sortedValues);\n function up(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (min-width:${value}${unit})`;\n }\n function down(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (max-width:${value - step / 100}${unit})`;\n }\n function between(start, end) {\n const endIndex = keys.indexOf(end);\n return `@media (min-width:${typeof values[start] === 'number' ? values[start] : start}${unit}) and ` + `(max-width:${(endIndex !== -1 && typeof values[keys[endIndex]] === 'number' ? values[keys[endIndex]] : end) - step / 100}${unit})`;\n }\n function only(key) {\n if (keys.indexOf(key) + 1 < keys.length) {\n return between(key, keys[keys.indexOf(key) + 1]);\n }\n return up(key);\n }\n function not(key) {\n // handle first and last key separately, for better readability\n const keyIndex = keys.indexOf(key);\n if (keyIndex === 0) {\n return up(keys[1]);\n }\n if (keyIndex === keys.length - 1) {\n return down(keys[keyIndex]);\n }\n return between(key, keys[keys.indexOf(key) + 1]).replace('@media', '@media not all and');\n }\n return _extends({\n keys,\n values: sortedValues,\n up,\n down,\n between,\n only,\n not,\n unit\n }, other);\n}","const shape = {\n borderRadius: 4\n};\nexport default shape;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"breakpoints\", \"palette\", \"spacing\", \"shape\"];\nimport deepmerge from '@mui/utils/deepmerge';\nimport createBreakpoints from './createBreakpoints';\nimport shape from './shape';\nimport createSpacing from './createSpacing';\nimport styleFunctionSx from '../styleFunctionSx/styleFunctionSx';\nimport defaultSxConfig from '../styleFunctionSx/defaultSxConfig';\nimport applyStyles from './applyStyles';\nfunction createTheme(options = {}, ...args) {\n const {\n breakpoints: breakpointsInput = {},\n palette: paletteInput = {},\n spacing: spacingInput,\n shape: shapeInput = {}\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n const breakpoints = createBreakpoints(breakpointsInput);\n const spacing = createSpacing(spacingInput);\n let muiTheme = deepmerge({\n breakpoints,\n direction: 'ltr',\n components: {},\n // Inject component definitions.\n palette: _extends({\n mode: 'light'\n }, paletteInput),\n spacing,\n shape: _extends({}, shape, shapeInput)\n }, other);\n muiTheme.applyStyles = applyStyles;\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n muiTheme.unstable_sxConfig = _extends({}, defaultSxConfig, other == null ? void 0 : other.unstable_sxConfig);\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nexport default createTheme;","import { createUnarySpacing } from '../spacing';\n\n// The different signatures imply different meaning for their arguments that can't be expressed structurally.\n// We express the difference with variable names.\n\nexport default function createSpacing(spacingInput = 8) {\n // Already transformed.\n if (spacingInput.mui) {\n return spacingInput;\n }\n\n // Material Design layouts are visually balanced. Most measurements align to an 8dp grid, which aligns both spacing and the overall layout.\n // Smaller components, such as icons, can align to a 4dp grid.\n // https://m2.material.io/design/layout/understanding-layout.html\n const transform = createUnarySpacing({\n spacing: spacingInput\n });\n const spacing = (...argsInput) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!(argsInput.length <= 4)) {\n console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${argsInput.length}`);\n }\n }\n const args = argsInput.length === 0 ? [1] : argsInput;\n return args.map(argument => {\n const output = transform(argument);\n return typeof output === 'number' ? `${output}px` : output;\n }).join(' ');\n };\n spacing.mui = true;\n return spacing;\n}","import deepmerge from '@mui/utils/deepmerge';\nfunction merge(acc, item) {\n if (!item) {\n return acc;\n }\n return deepmerge(acc, item, {\n clone: false // No need to clone deep, it's way faster.\n });\n}\nexport default merge;","import responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\nimport { getPath } from './style';\nimport merge from './merge';\nimport memoize from './memoize';\nconst properties = {\n m: 'margin',\n p: 'padding'\n};\nconst directions = {\n t: 'Top',\n r: 'Right',\n b: 'Bottom',\n l: 'Left',\n x: ['Left', 'Right'],\n y: ['Top', 'Bottom']\n};\nconst aliases = {\n marginX: 'mx',\n marginY: 'my',\n paddingX: 'px',\n paddingY: 'py'\n};\n\n// memoize() impact:\n// From 300,000 ops/sec\n// To 350,000 ops/sec\nconst getCssProperties = memoize(prop => {\n // It's not a shorthand notation.\n if (prop.length > 2) {\n if (aliases[prop]) {\n prop = aliases[prop];\n } else {\n return [prop];\n }\n }\n const [a, b] = prop.split('');\n const property = properties[a];\n const direction = directions[b] || '';\n return Array.isArray(direction) ? direction.map(dir => property + dir) : [property + direction];\n});\nexport const marginKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'marginInline', 'marginInlineStart', 'marginInlineEnd', 'marginBlock', 'marginBlockStart', 'marginBlockEnd'];\nexport const paddingKeys = ['p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY', 'paddingInline', 'paddingInlineStart', 'paddingInlineEnd', 'paddingBlock', 'paddingBlockStart', 'paddingBlockEnd'];\nconst spacingKeys = [...marginKeys, ...paddingKeys];\nexport function createUnaryUnit(theme, themeKey, defaultValue, propName) {\n var _getPath;\n const themeSpacing = (_getPath = getPath(theme, themeKey, false)) != null ? _getPath : defaultValue;\n if (typeof themeSpacing === 'number') {\n return abs => {\n if (typeof abs === 'string') {\n return abs;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (typeof abs !== 'number') {\n console.error(`MUI: Expected ${propName} argument to be a number or a string, got ${abs}.`);\n }\n }\n return themeSpacing * abs;\n };\n }\n if (Array.isArray(themeSpacing)) {\n return abs => {\n if (typeof abs === 'string') {\n return abs;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (!Number.isInteger(abs)) {\n console.error([`MUI: The \\`theme.${themeKey}\\` array type cannot be combined with non integer values.` + `You should either use an integer value that can be used as index, or define the \\`theme.${themeKey}\\` as a number.`].join('\\n'));\n } else if (abs > themeSpacing.length - 1) {\n console.error([`MUI: The value provided (${abs}) overflows.`, `The supported values are: ${JSON.stringify(themeSpacing)}.`, `${abs} > ${themeSpacing.length - 1}, you need to add the missing values.`].join('\\n'));\n }\n }\n return themeSpacing[abs];\n };\n }\n if (typeof themeSpacing === 'function') {\n return themeSpacing;\n }\n if (process.env.NODE_ENV !== 'production') {\n console.error([`MUI: The \\`theme.${themeKey}\\` value (${themeSpacing}) is invalid.`, 'It should be a number, an array or a function.'].join('\\n'));\n }\n return () => undefined;\n}\nexport function createUnarySpacing(theme) {\n return createUnaryUnit(theme, 'spacing', 8, 'spacing');\n}\nexport function getValue(transformer, propValue) {\n if (typeof propValue === 'string' || propValue == null) {\n return propValue;\n }\n const abs = Math.abs(propValue);\n const transformed = transformer(abs);\n if (propValue >= 0) {\n return transformed;\n }\n if (typeof transformed === 'number') {\n return -transformed;\n }\n return `-${transformed}`;\n}\nexport function getStyleFromPropValue(cssProperties, transformer) {\n return propValue => cssProperties.reduce((acc, cssProperty) => {\n acc[cssProperty] = getValue(transformer, propValue);\n return acc;\n }, {});\n}\nfunction resolveCssProperty(props, keys, prop, transformer) {\n // Using a hash computation over an array iteration could be faster, but with only 28 items,\n // it's doesn't worth the bundle size.\n if (keys.indexOf(prop) === -1) {\n return null;\n }\n const cssProperties = getCssProperties(prop);\n const styleFromPropValue = getStyleFromPropValue(cssProperties, transformer);\n const propValue = props[prop];\n return handleBreakpoints(props, propValue, styleFromPropValue);\n}\nfunction style(props, keys) {\n const transformer = createUnarySpacing(props.theme);\n return Object.keys(props).map(prop => resolveCssProperty(props, keys, prop, transformer)).reduce(merge, {});\n}\nexport function margin(props) {\n return style(props, marginKeys);\n}\nmargin.propTypes = process.env.NODE_ENV !== 'production' ? marginKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nmargin.filterProps = marginKeys;\nexport function padding(props) {\n return style(props, paddingKeys);\n}\npadding.propTypes = process.env.NODE_ENV !== 'production' ? paddingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\npadding.filterProps = paddingKeys;\nfunction spacing(props) {\n return style(props, spacingKeys);\n}\nspacing.propTypes = process.env.NODE_ENV !== 'production' ? spacingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nspacing.filterProps = spacingKeys;\nexport default spacing;","export default function memoize(fn) {\n const cache = {};\n return arg => {\n if (cache[arg] === undefined) {\n cache[arg] = fn(arg);\n }\n return cache[arg];\n };\n}","import capitalize from '@mui/utils/capitalize';\nimport responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\nexport function getPath(obj, path, checkVars = true) {\n if (!path || typeof path !== 'string') {\n return null;\n }\n\n // Check if CSS variables are used\n if (obj && obj.vars && checkVars) {\n const val = `vars.${path}`.split('.').reduce((acc, item) => acc && acc[item] ? acc[item] : null, obj);\n if (val != null) {\n return val;\n }\n }\n return path.split('.').reduce((acc, item) => {\n if (acc && acc[item] != null) {\n return acc[item];\n }\n return null;\n }, obj);\n}\nexport function getStyleValue(themeMapping, transform, propValueFinal, userValue = propValueFinal) {\n let value;\n if (typeof themeMapping === 'function') {\n value = themeMapping(propValueFinal);\n } else if (Array.isArray(themeMapping)) {\n value = themeMapping[propValueFinal] || userValue;\n } else {\n value = getPath(themeMapping, propValueFinal) || userValue;\n }\n if (transform) {\n value = transform(value, userValue, themeMapping);\n }\n return value;\n}\nfunction style(options) {\n const {\n prop,\n cssProperty = options.prop,\n themeKey,\n transform\n } = options;\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n if (props[prop] == null) {\n return null;\n }\n const propValue = props[prop];\n const theme = props.theme;\n const themeMapping = getPath(theme, themeKey) || {};\n const styleFromPropValue = propValueFinal => {\n let value = getStyleValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getStyleValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, propValue, styleFromPropValue);\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? {\n [prop]: responsivePropType\n } : {};\n fn.filterProps = [prop];\n return fn;\n}\nexport default style;","import merge from './merge';\nfunction compose(...styles) {\n const handlers = styles.reduce((acc, style) => {\n style.filterProps.forEach(prop => {\n acc[prop] = style;\n });\n return acc;\n }, {});\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n return Object.keys(props).reduce((acc, prop) => {\n if (handlers[prop]) {\n return merge(acc, handlers[prop](props));\n }\n return acc;\n }, {});\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? styles.reduce((acc, style) => Object.assign(acc, style.propTypes), {}) : {};\n fn.filterProps = styles.reduce((acc, style) => acc.concat(style.filterProps), []);\n return fn;\n}\nexport default compose;","import responsivePropType from './responsivePropType';\nimport style from './style';\nimport compose from './compose';\nimport { createUnaryUnit, getValue } from './spacing';\nimport { handleBreakpoints } from './breakpoints';\nexport function borderTransform(value) {\n if (typeof value !== 'number') {\n return value;\n }\n return `${value}px solid`;\n}\nfunction createBorderStyle(prop, transform) {\n return style({\n prop,\n themeKey: 'borders',\n transform\n });\n}\nexport const border = createBorderStyle('border', borderTransform);\nexport const borderTop = createBorderStyle('borderTop', borderTransform);\nexport const borderRight = createBorderStyle('borderRight', borderTransform);\nexport const borderBottom = createBorderStyle('borderBottom', borderTransform);\nexport const borderLeft = createBorderStyle('borderLeft', borderTransform);\nexport const borderColor = createBorderStyle('borderColor');\nexport const borderTopColor = createBorderStyle('borderTopColor');\nexport const borderRightColor = createBorderStyle('borderRightColor');\nexport const borderBottomColor = createBorderStyle('borderBottomColor');\nexport const borderLeftColor = createBorderStyle('borderLeftColor');\nexport const outline = createBorderStyle('outline', borderTransform);\nexport const outlineColor = createBorderStyle('outlineColor');\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const borderRadius = props => {\n if (props.borderRadius !== undefined && props.borderRadius !== null) {\n const transformer = createUnaryUnit(props.theme, 'shape.borderRadius', 4, 'borderRadius');\n const styleFromPropValue = propValue => ({\n borderRadius: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.borderRadius, styleFromPropValue);\n }\n return null;\n};\nborderRadius.propTypes = process.env.NODE_ENV !== 'production' ? {\n borderRadius: responsivePropType\n} : {};\nborderRadius.filterProps = ['borderRadius'];\nconst borders = compose(border, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderRadius, outline, outlineColor);\nexport default borders;","import style from './style';\nimport compose from './compose';\nimport { createUnaryUnit, getValue } from './spacing';\nimport { handleBreakpoints } from './breakpoints';\nimport responsivePropType from './responsivePropType';\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const gap = props => {\n if (props.gap !== undefined && props.gap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'gap');\n const styleFromPropValue = propValue => ({\n gap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.gap, styleFromPropValue);\n }\n return null;\n};\ngap.propTypes = process.env.NODE_ENV !== 'production' ? {\n gap: responsivePropType\n} : {};\ngap.filterProps = ['gap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const columnGap = props => {\n if (props.columnGap !== undefined && props.columnGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'columnGap');\n const styleFromPropValue = propValue => ({\n columnGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.columnGap, styleFromPropValue);\n }\n return null;\n};\ncolumnGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n columnGap: responsivePropType\n} : {};\ncolumnGap.filterProps = ['columnGap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const rowGap = props => {\n if (props.rowGap !== undefined && props.rowGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'rowGap');\n const styleFromPropValue = propValue => ({\n rowGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.rowGap, styleFromPropValue);\n }\n return null;\n};\nrowGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n rowGap: responsivePropType\n} : {};\nrowGap.filterProps = ['rowGap'];\nexport const gridColumn = style({\n prop: 'gridColumn'\n});\nexport const gridRow = style({\n prop: 'gridRow'\n});\nexport const gridAutoFlow = style({\n prop: 'gridAutoFlow'\n});\nexport const gridAutoColumns = style({\n prop: 'gridAutoColumns'\n});\nexport const gridAutoRows = style({\n prop: 'gridAutoRows'\n});\nexport const gridTemplateColumns = style({\n prop: 'gridTemplateColumns'\n});\nexport const gridTemplateRows = style({\n prop: 'gridTemplateRows'\n});\nexport const gridTemplateAreas = style({\n prop: 'gridTemplateAreas'\n});\nexport const gridArea = style({\n prop: 'gridArea'\n});\nconst grid = compose(gap, columnGap, rowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea);\nexport default grid;","import style from './style';\nimport compose from './compose';\nexport function paletteTransform(value, userValue) {\n if (userValue === 'grey') {\n return userValue;\n }\n return value;\n}\nexport const color = style({\n prop: 'color',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const bgcolor = style({\n prop: 'bgcolor',\n cssProperty: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const backgroundColor = style({\n prop: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nconst palette = compose(color, bgcolor, backgroundColor);\nexport default palette;","import style from './style';\nimport compose from './compose';\nimport { handleBreakpoints, values as breakpointsValues } from './breakpoints';\nexport function sizingTransform(value) {\n return value <= 1 && value !== 0 ? `${value * 100}%` : value;\n}\nexport const width = style({\n prop: 'width',\n transform: sizingTransform\n});\nexport const maxWidth = props => {\n if (props.maxWidth !== undefined && props.maxWidth !== null) {\n const styleFromPropValue = propValue => {\n var _props$theme, _props$theme2;\n const breakpoint = ((_props$theme = props.theme) == null || (_props$theme = _props$theme.breakpoints) == null || (_props$theme = _props$theme.values) == null ? void 0 : _props$theme[propValue]) || breakpointsValues[propValue];\n if (!breakpoint) {\n return {\n maxWidth: sizingTransform(propValue)\n };\n }\n if (((_props$theme2 = props.theme) == null || (_props$theme2 = _props$theme2.breakpoints) == null ? void 0 : _props$theme2.unit) !== 'px') {\n return {\n maxWidth: `${breakpoint}${props.theme.breakpoints.unit}`\n };\n }\n return {\n maxWidth: breakpoint\n };\n };\n return handleBreakpoints(props, props.maxWidth, styleFromPropValue);\n }\n return null;\n};\nmaxWidth.filterProps = ['maxWidth'];\nexport const minWidth = style({\n prop: 'minWidth',\n transform: sizingTransform\n});\nexport const height = style({\n prop: 'height',\n transform: sizingTransform\n});\nexport const maxHeight = style({\n prop: 'maxHeight',\n transform: sizingTransform\n});\nexport const minHeight = style({\n prop: 'minHeight',\n transform: sizingTransform\n});\nexport const sizeWidth = style({\n prop: 'size',\n cssProperty: 'width',\n transform: sizingTransform\n});\nexport const sizeHeight = style({\n prop: 'size',\n cssProperty: 'height',\n transform: sizingTransform\n});\nexport const boxSizing = style({\n prop: 'boxSizing'\n});\nconst sizing = compose(width, maxWidth, minWidth, height, maxHeight, minHeight, boxSizing);\nexport default sizing;","import { padding, margin } from '../spacing';\nimport { borderRadius, borderTransform } from '../borders';\nimport { gap, rowGap, columnGap } from '../cssGrid';\nimport { paletteTransform } from '../palette';\nimport { maxWidth, sizingTransform } from '../sizing';\nconst defaultSxConfig = {\n // borders\n border: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderTop: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderRight: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderBottom: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderLeft: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderColor: {\n themeKey: 'palette'\n },\n borderTopColor: {\n themeKey: 'palette'\n },\n borderRightColor: {\n themeKey: 'palette'\n },\n borderBottomColor: {\n themeKey: 'palette'\n },\n borderLeftColor: {\n themeKey: 'palette'\n },\n outline: {\n themeKey: 'borders',\n transform: borderTransform\n },\n outlineColor: {\n themeKey: 'palette'\n },\n borderRadius: {\n themeKey: 'shape.borderRadius',\n style: borderRadius\n },\n // palette\n color: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n bgcolor: {\n themeKey: 'palette',\n cssProperty: 'backgroundColor',\n transform: paletteTransform\n },\n backgroundColor: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n // spacing\n p: {\n style: padding\n },\n pt: {\n style: padding\n },\n pr: {\n style: padding\n },\n pb: {\n style: padding\n },\n pl: {\n style: padding\n },\n px: {\n style: padding\n },\n py: {\n style: padding\n },\n padding: {\n style: padding\n },\n paddingTop: {\n style: padding\n },\n paddingRight: {\n style: padding\n },\n paddingBottom: {\n style: padding\n },\n paddingLeft: {\n style: padding\n },\n paddingX: {\n style: padding\n },\n paddingY: {\n style: padding\n },\n paddingInline: {\n style: padding\n },\n paddingInlineStart: {\n style: padding\n },\n paddingInlineEnd: {\n style: padding\n },\n paddingBlock: {\n style: padding\n },\n paddingBlockStart: {\n style: padding\n },\n paddingBlockEnd: {\n style: padding\n },\n m: {\n style: margin\n },\n mt: {\n style: margin\n },\n mr: {\n style: margin\n },\n mb: {\n style: margin\n },\n ml: {\n style: margin\n },\n mx: {\n style: margin\n },\n my: {\n style: margin\n },\n margin: {\n style: margin\n },\n marginTop: {\n style: margin\n },\n marginRight: {\n style: margin\n },\n marginBottom: {\n style: margin\n },\n marginLeft: {\n style: margin\n },\n marginX: {\n style: margin\n },\n marginY: {\n style: margin\n },\n marginInline: {\n style: margin\n },\n marginInlineStart: {\n style: margin\n },\n marginInlineEnd: {\n style: margin\n },\n marginBlock: {\n style: margin\n },\n marginBlockStart: {\n style: margin\n },\n marginBlockEnd: {\n style: margin\n },\n // display\n displayPrint: {\n cssProperty: false,\n transform: value => ({\n '@media print': {\n display: value\n }\n })\n },\n display: {},\n overflow: {},\n textOverflow: {},\n visibility: {},\n whiteSpace: {},\n // flexbox\n flexBasis: {},\n flexDirection: {},\n flexWrap: {},\n justifyContent: {},\n alignItems: {},\n alignContent: {},\n order: {},\n flex: {},\n flexGrow: {},\n flexShrink: {},\n alignSelf: {},\n justifyItems: {},\n justifySelf: {},\n // grid\n gap: {\n style: gap\n },\n rowGap: {\n style: rowGap\n },\n columnGap: {\n style: columnGap\n },\n gridColumn: {},\n gridRow: {},\n gridAutoFlow: {},\n gridAutoColumns: {},\n gridAutoRows: {},\n gridTemplateColumns: {},\n gridTemplateRows: {},\n gridTemplateAreas: {},\n gridArea: {},\n // positions\n position: {},\n zIndex: {\n themeKey: 'zIndex'\n },\n top: {},\n right: {},\n bottom: {},\n left: {},\n // shadows\n boxShadow: {\n themeKey: 'shadows'\n },\n // sizing\n width: {\n transform: sizingTransform\n },\n maxWidth: {\n style: maxWidth\n },\n minWidth: {\n transform: sizingTransform\n },\n height: {\n transform: sizingTransform\n },\n maxHeight: {\n transform: sizingTransform\n },\n minHeight: {\n transform: sizingTransform\n },\n boxSizing: {},\n // typography\n fontFamily: {\n themeKey: 'typography'\n },\n fontSize: {\n themeKey: 'typography'\n },\n fontStyle: {\n themeKey: 'typography'\n },\n fontWeight: {\n themeKey: 'typography'\n },\n letterSpacing: {},\n textTransform: {},\n lineHeight: {},\n textAlign: {},\n typography: {\n cssProperty: false,\n themeKey: 'typography'\n }\n};\nexport default defaultSxConfig;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"sx\"];\nimport { isPlainObject } from '@mui/utils/deepmerge';\nimport defaultSxConfig from './defaultSxConfig';\nconst splitProps = props => {\n var _props$theme$unstable, _props$theme;\n const result = {\n systemProps: {},\n otherProps: {}\n };\n const config = (_props$theme$unstable = props == null || (_props$theme = props.theme) == null ? void 0 : _props$theme.unstable_sxConfig) != null ? _props$theme$unstable : defaultSxConfig;\n Object.keys(props).forEach(prop => {\n if (config[prop]) {\n result.systemProps[prop] = props[prop];\n } else {\n result.otherProps[prop] = props[prop];\n }\n });\n return result;\n};\nexport default function extendSxProp(props) {\n const {\n sx: inSx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n systemProps,\n otherProps\n } = splitProps(other);\n let finalSx;\n if (Array.isArray(inSx)) {\n finalSx = [systemProps, ...inSx];\n } else if (typeof inSx === 'function') {\n finalSx = (...args) => {\n const result = inSx(...args);\n if (!isPlainObject(result)) {\n return systemProps;\n }\n return _extends({}, systemProps, result);\n };\n } else {\n finalSx = _extends({}, systemProps, inSx);\n }\n return _extends({}, otherProps, {\n sx: finalSx\n });\n}","import capitalize from '@mui/utils/capitalize';\nimport merge from '../merge';\nimport { getPath, getStyleValue as getValue } from '../style';\nimport { handleBreakpoints, createEmptyBreakpointObject, removeUnusedBreakpoints } from '../breakpoints';\nimport defaultSxConfig from './defaultSxConfig';\nfunction objectsHaveSameKeys(...objects) {\n const allKeys = objects.reduce((keys, object) => keys.concat(Object.keys(object)), []);\n const union = new Set(allKeys);\n return objects.every(object => union.size === Object.keys(object).length);\n}\nfunction callIfFn(maybeFn, arg) {\n return typeof maybeFn === 'function' ? maybeFn(arg) : maybeFn;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function unstable_createStyleFunctionSx() {\n function getThemeValue(prop, val, theme, config) {\n const props = {\n [prop]: val,\n theme\n };\n const options = config[prop];\n if (!options) {\n return {\n [prop]: val\n };\n }\n const {\n cssProperty = prop,\n themeKey,\n transform,\n style\n } = options;\n if (val == null) {\n return null;\n }\n\n // TODO v6: remove, see https://github.com/mui/material-ui/pull/38123\n if (themeKey === 'typography' && val === 'inherit') {\n return {\n [prop]: val\n };\n }\n const themeMapping = getPath(theme, themeKey) || {};\n if (style) {\n return style(props);\n }\n const styleFromPropValue = propValueFinal => {\n let value = getValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, val, styleFromPropValue);\n }\n function styleFunctionSx(props) {\n var _theme$unstable_sxCon;\n const {\n sx,\n theme = {}\n } = props || {};\n if (!sx) {\n return null; // Emotion & styled-components will neglect null\n }\n const config = (_theme$unstable_sxCon = theme.unstable_sxConfig) != null ? _theme$unstable_sxCon : defaultSxConfig;\n\n /*\n * Receive `sxInput` as object or callback\n * and then recursively check keys & values to create media query object styles.\n * (the result will be used in `styled`)\n */\n function traverse(sxInput) {\n let sxObject = sxInput;\n if (typeof sxInput === 'function') {\n sxObject = sxInput(theme);\n } else if (typeof sxInput !== 'object') {\n // value\n return sxInput;\n }\n if (!sxObject) {\n return null;\n }\n const emptyBreakpoints = createEmptyBreakpointObject(theme.breakpoints);\n const breakpointsKeys = Object.keys(emptyBreakpoints);\n let css = emptyBreakpoints;\n Object.keys(sxObject).forEach(styleKey => {\n const value = callIfFn(sxObject[styleKey], theme);\n if (value !== null && value !== undefined) {\n if (typeof value === 'object') {\n if (config[styleKey]) {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n } else {\n const breakpointsValues = handleBreakpoints({\n theme\n }, value, x => ({\n [styleKey]: x\n }));\n if (objectsHaveSameKeys(breakpointsValues, value)) {\n css[styleKey] = styleFunctionSx({\n sx: value,\n theme\n });\n } else {\n css = merge(css, breakpointsValues);\n }\n }\n } else {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n }\n }\n });\n return removeUnusedBreakpoints(breakpointsKeys, css);\n }\n return Array.isArray(sx) ? sx.map(traverse) : traverse(sx);\n }\n return styleFunctionSx;\n}\nconst styleFunctionSx = unstable_createStyleFunctionSx();\nstyleFunctionSx.filterProps = ['sx'];\nexport default styleFunctionSx;","\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _styledEngine = require(\"@mui/styled-engine\");\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction isObjectEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction useTheme(defaultTheme = null) {\n const contextTheme = React.useContext(_styledEngine.ThemeContext);\n return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme : contextTheme;\n}\nvar _default = exports.default = useTheme;","const defaultGenerator = componentName => componentName;\nconst createClassNameGenerator = () => {\n let generate = defaultGenerator;\n return {\n configure(generator) {\n generate = generator;\n },\n generate(componentName) {\n return generate(componentName);\n },\n reset() {\n generate = defaultGenerator;\n }\n };\n};\nconst ClassNameGenerator = createClassNameGenerator();\nexport default ClassNameGenerator;","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word in the sentence.\n// We only handle the first word.\nexport default function capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: \\`capitalize(string)\\` expects a string argument.` : _formatMuiErrorMessage(7));\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n}","function clamp(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(val, max));\n}\nexport default clamp;","export default function composeClasses(slots, getUtilityClass, classes = undefined) {\n const output = {};\n Object.keys(slots).forEach(\n // `Object.keys(slots)` can't be wider than `T` because we infer `T` from `slots`.\n // @ts-expect-error https://github.com/microsoft/TypeScript/pull/12253#issuecomment-263132208\n slot => {\n output[slot] = slots[slot].reduce((acc, key) => {\n if (key) {\n const utilityClass = getUtilityClass(key);\n if (utilityClass !== '') {\n acc.push(utilityClass);\n }\n if (classes && classes[key]) {\n acc.push(classes[key]);\n }\n }\n return acc;\n }, []).join(' ');\n });\n return output;\n}","/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}","// Corresponds to 10 frames at 60 Hz.\n// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B.\nexport default function debounce(func, wait = 166) {\n let timeout;\n function debounced(...args) {\n const later = () => {\n // @ts-ignore\n func.apply(this, args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n debounced.clear = () => {\n clearTimeout(timeout);\n };\n return debounced;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// https://github.com/sindresorhus/is-plain-obj/blob/main/index.js\nexport function isPlainObject(item) {\n if (typeof item !== 'object' || item === null) {\n return false;\n }\n const prototype = Object.getPrototypeOf(item);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in item) && !(Symbol.iterator in item);\n}\nfunction deepClone(source) {\n if (!isPlainObject(source)) {\n return source;\n }\n const output = {};\n Object.keys(source).forEach(key => {\n output[key] = deepClone(source[key]);\n });\n return output;\n}\nexport default function deepmerge(target, source, options = {\n clone: true\n}) {\n const output = options.clone ? _extends({}, target) : target;\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(key => {\n if (isPlainObject(source[key]) &&\n // Avoid prototype pollution\n Object.prototype.hasOwnProperty.call(target, key) && isPlainObject(target[key])) {\n // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.\n output[key] = deepmerge(target[key], source[key], options);\n } else if (options.clone) {\n output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];\n } else {\n output[key] = source[key];\n }\n });\n }\n return output;\n}","/**\n * WARNING: Don't import this directly.\n * Use `MuiError` from `@mui/internal-babel-macros/MuiError.macro` instead.\n * @param {number} code\n */\nexport default function formatMuiErrorMessage(code) {\n // Apply babel-plugin-transform-template-literals in loose mode\n // loose mode is safe if we're concatenating primitives\n // see https://babeljs.io/docs/en/babel-plugin-transform-template-literals#loose\n /* eslint-disable prefer-template */\n let url = 'https://mui.com/production-error/?code=' + code;\n for (let i = 1; i < arguments.length; i += 1) {\n // rest params over-transpile for this case\n // eslint-disable-next-line prefer-rest-params\n url += '&args[]=' + encodeURIComponent(arguments[i]);\n }\n return 'Minified MUI error #' + code + '; visit ' + url + ' for the full message.';\n /* eslint-enable prefer-template */\n}","import ClassNameGenerator from '../ClassNameGenerator';\nexport const globalStateClasses = {\n active: 'active',\n checked: 'checked',\n completed: 'completed',\n disabled: 'disabled',\n error: 'error',\n expanded: 'expanded',\n focused: 'focused',\n focusVisible: 'focusVisible',\n open: 'open',\n readOnly: 'readOnly',\n required: 'required',\n selected: 'selected'\n};\nexport default function generateUtilityClass(componentName, slot, globalStatePrefix = 'Mui') {\n const globalStateClass = globalStateClasses[slot];\n return globalStateClass ? `${globalStatePrefix}-${globalStateClass}` : `${ClassNameGenerator.generate(componentName)}-${slot}`;\n}\nexport function isGlobalState(slot) {\n return globalStateClasses[slot] !== undefined;\n}","import generateUtilityClass from '../generateUtilityClass';\nexport default function generateUtilityClasses(componentName, slots, globalStatePrefix = 'Mui') {\n const result = {};\n slots.forEach(slot => {\n result[slot] = generateUtilityClass(componentName, slot, globalStatePrefix);\n });\n return result;\n}","import { ForwardRef, Memo } from 'react-is';\n\n// Simplified polyfill for IE11 support\n// https://github.com/JamesMGreene/Function.name/blob/58b314d4a983110c3682f1228f845d39ccca1817/Function.name.js#L3\nconst fnNameMatchRegex = /^\\s*function(?:\\s|\\s*\\/\\*.*\\*\\/\\s*)+([^(\\s/]*)\\s*/;\nexport function getFunctionName(fn) {\n const match = `${fn}`.match(fnNameMatchRegex);\n const name = match && match[1];\n return name || '';\n}\nfunction getFunctionComponentName(Component, fallback = '') {\n return Component.displayName || Component.name || getFunctionName(Component) || fallback;\n}\nfunction getWrappedName(outerType, innerType, wrapperName) {\n const functionName = getFunctionComponentName(innerType);\n return outerType.displayName || (functionName !== '' ? `${wrapperName}(${functionName})` : wrapperName);\n}\n\n/**\n * cherry-pick from\n * https://github.com/facebook/react/blob/769b1f270e1251d9dbdce0fcbd9e92e502d059b8/packages/shared/getComponentName.js\n * originally forked from recompose/getDisplayName with added IE11 support\n */\nexport default function getDisplayName(Component) {\n if (Component == null) {\n return undefined;\n }\n if (typeof Component === 'string') {\n return Component;\n }\n if (typeof Component === 'function') {\n return getFunctionComponentName(Component, 'Component');\n }\n\n // TypeScript can't have components as objects but they exist in the form of `memo` or `Suspense`\n if (typeof Component === 'object') {\n switch (Component.$$typeof) {\n case ForwardRef:\n return getWrappedName(Component, Component.render, 'ForwardRef');\n case Memo:\n return getWrappedName(Component, Component.type, 'memo');\n default:\n return undefined;\n }\n }\n return undefined;\n}","export default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","import ownerDocument from '../ownerDocument';\nexport default function ownerWindow(node) {\n const doc = ownerDocument(node);\n return doc.defaultView || window;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\n/**\n * Add keys, values of `defaultProps` that does not exist in `props`\n * @param {object} defaultProps\n * @param {object} props\n * @returns {object} resolved props\n */\nexport default function resolveProps(defaultProps, props) {\n const output = _extends({}, props);\n Object.keys(defaultProps).forEach(propName => {\n if (propName.toString().match(/^(components|slots)$/)) {\n output[propName] = _extends({}, defaultProps[propName], output[propName]);\n } else if (propName.toString().match(/^(componentsProps|slotProps)$/)) {\n const defaultSlotProps = defaultProps[propName] || {};\n const slotProps = props[propName];\n output[propName] = {};\n if (!slotProps || !Object.keys(slotProps)) {\n // Reduce the iteration if the slot props is empty\n output[propName] = defaultSlotProps;\n } else if (!defaultSlotProps || !Object.keys(defaultSlotProps)) {\n // Reduce the iteration if the default slot props is empty\n output[propName] = slotProps;\n } else {\n output[propName] = _extends({}, slotProps);\n Object.keys(defaultSlotProps).forEach(slotPropName => {\n output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);\n });\n }\n } else if (output[propName] === undefined) {\n output[propName] = defaultProps[propName];\n }\n });\n return output;\n}","/**\n * TODO v5: consider making it private\n *\n * passes {value} to {ref}\n *\n * WARNING: Be sure to only call this inside a callback that is passed as a ref.\n * Otherwise, make sure to cleanup the previous {ref} if it changes. See\n * https://github.com/mui/material-ui/issues/13539\n *\n * Useful if you want to expose the ref of an inner component to the public API\n * while still using it inside the component.\n * @param ref A ref callback or ref object. If anything falsy, this is a no-op.\n */\nexport default function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}","'use client';\n\n/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\nimport * as React from 'react';\nexport default function useControlled({\n controlled,\n default: defaultProp,\n name,\n state = 'value'\n}) {\n // isControlled is ignored in the hook dependency lists as it should never change.\n const {\n current: isControlled\n } = React.useRef(controlled !== undefined);\n const [valueState, setValue] = React.useState(defaultProp);\n const value = isControlled ? controlled : valueState;\n if (process.env.NODE_ENV !== 'production') {\n React.useEffect(() => {\n if (isControlled !== (controlled !== undefined)) {\n console.error([`MUI: A component is changing the ${isControlled ? '' : 'un'}controlled ${state} state of ${name} to be ${isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${name} ` + 'element for the lifetime of the component.', \"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.\", 'More info: https://fb.me/react-controlled-components'].join('\\n'));\n }\n }, [state, name, controlled]);\n const {\n current: defaultValue\n } = React.useRef(defaultProp);\n React.useEffect(() => {\n if (!isControlled && !Object.is(defaultValue, defaultProp)) {\n console.error([`MUI: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` + `To suppress this warning opt to use a controlled ${name}.`].join('\\n'));\n }\n }, [JSON.stringify(defaultProp)]);\n }\n const setValueIfUncontrolled = React.useCallback(newValue => {\n if (!isControlled) {\n setValue(newValue);\n }\n }, []);\n return [value, setValueIfUncontrolled];\n}","'use client';\n\nimport * as React from 'react';\n\n/**\n * A version of `React.useLayoutEffect` that does not show a warning when server-side rendering.\n * This is useful for effects that are only needed for client-side rendering but not for SSR.\n *\n * Before you use this hook, make sure to read https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * and confirm it doesn't apply to your use-case.\n */\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nexport default useEnhancedEffect;","'use client';\n\nimport * as React from 'react';\nimport useEnhancedEffect from '../useEnhancedEffect';\n\n/**\n * Inspired by https://github.com/facebook/react/issues/14099#issuecomment-440013892\n * See RFC in https://github.com/reactjs/rfcs/pull/220\n */\n\nfunction useEventCallback(fn) {\n const ref = React.useRef(fn);\n useEnhancedEffect(() => {\n ref.current = fn;\n });\n return React.useRef((...args) =>\n // @ts-expect-error hide `this`\n (0, ref.current)(...args)).current;\n}\nexport default useEventCallback;","'use client';\n\nimport * as React from 'react';\nimport setRef from '../setRef';\nexport default function useForkRef(...refs) {\n /**\n * This will create a new function if the refs passed to this hook change and are all defined.\n * This means react will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior.\n */\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return instance => {\n refs.forEach(ref => {\n setRef(ref, instance);\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}","'use client';\n\nimport * as React from 'react';\nlet globalId = 0;\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`mui-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\n// downstream bundlers may remove unnecessary concatenation, but won't remove toString call -- Workaround for https://github.com/webpack/webpack/issues/14814\nconst maybeReactUseId = React['useId'.toString()];\n/**\n *\n * @example
\n * @param idOverride\n * @returns {string}\n */\nexport default function useId(idOverride) {\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride != null ? idOverride : reactId;\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride);\n}","'use client';\n\n// based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js\nimport * as React from 'react';\nimport { Timeout } from '../useTimeout/useTimeout';\nlet hadKeyboardEvent = true;\nlet hadFocusVisibleRecently = false;\nconst hadFocusVisibleRecentlyTimeout = new Timeout();\nconst inputTypesWhitelist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n};\n\n/**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} node\n * @returns {boolean}\n */\nfunction focusTriggersKeyboardModality(node) {\n const {\n type,\n tagName\n } = node;\n if (tagName === 'INPUT' && inputTypesWhitelist[type] && !node.readOnly) {\n return true;\n }\n if (tagName === 'TEXTAREA' && !node.readOnly) {\n return true;\n }\n if (node.isContentEditable) {\n return true;\n }\n return false;\n}\n\n/**\n * Keep track of our keyboard modality state with `hadKeyboardEvent`.\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * @param {KeyboardEvent} event\n */\nfunction handleKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n hadKeyboardEvent = true;\n}\n\n/**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n */\nfunction handlePointerDown() {\n hadKeyboardEvent = false;\n}\nfunction handleVisibilityChange() {\n if (this.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n }\n}\nfunction prepare(doc) {\n doc.addEventListener('keydown', handleKeyDown, true);\n doc.addEventListener('mousedown', handlePointerDown, true);\n doc.addEventListener('pointerdown', handlePointerDown, true);\n doc.addEventListener('touchstart', handlePointerDown, true);\n doc.addEventListener('visibilitychange', handleVisibilityChange, true);\n}\nexport function teardown(doc) {\n doc.removeEventListener('keydown', handleKeyDown, true);\n doc.removeEventListener('mousedown', handlePointerDown, true);\n doc.removeEventListener('pointerdown', handlePointerDown, true);\n doc.removeEventListener('touchstart', handlePointerDown, true);\n doc.removeEventListener('visibilitychange', handleVisibilityChange, true);\n}\nfunction isFocusVisible(event) {\n const {\n target\n } = event;\n try {\n return target.matches(':focus-visible');\n } catch (error) {\n // Browsers not implementing :focus-visible will throw a SyntaxError.\n // We use our own heuristic for those browsers.\n // Rethrow might be better if it's not the expected error but do we really\n // want to crash if focus-visible malfunctioned?\n }\n\n // No need for validFocusTarget check. The user does that by attaching it to\n // focusable events only.\n return hadKeyboardEvent || focusTriggersKeyboardModality(target);\n}\nexport default function useIsFocusVisible() {\n const ref = React.useCallback(node => {\n if (node != null) {\n prepare(node.ownerDocument);\n }\n }, []);\n const isFocusVisibleRef = React.useRef(false);\n\n /**\n * Should be called if a blur event is fired\n */\n function handleBlurVisible() {\n // checking against potential state variable does not suffice if we focus and blur synchronously.\n // React wouldn't have time to trigger a re-render so `focusVisible` would be stale.\n // Ideally we would adjust `isFocusVisible(event)` to look at `relatedTarget` for blur events.\n // This doesn't work in IE11 due to https://github.com/facebook/react/issues/3751\n // TODO: check again if React releases their internal changes to focus event handling (https://github.com/facebook/react/pull/19186).\n if (isFocusVisibleRef.current) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n hadFocusVisibleRecentlyTimeout.start(100, () => {\n hadFocusVisibleRecently = false;\n });\n isFocusVisibleRef.current = false;\n return true;\n }\n return false;\n }\n\n /**\n * Should be called if a blur event is fired\n */\n function handleFocusVisible(event) {\n if (isFocusVisible(event)) {\n isFocusVisibleRef.current = true;\n return true;\n }\n return false;\n }\n return {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref\n };\n}","'use client';\n\nimport * as React from 'react';\nconst UNINITIALIZED = {};\n\n/**\n * A React.useRef() that is initialized lazily with a function. Note that it accepts an optional\n * initialization argument, so the initialization function doesn't need to be an inline closure.\n *\n * @usage\n * const ref = useLazyRef(sortColumns, columns)\n */\nexport default function useLazyRef(init, initArg) {\n const ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = init(initArg);\n }\n return ref;\n}","'use client';\n\nimport * as React from 'react';\nconst EMPTY = [];\n\n/**\n * A React.useEffect equivalent that runs once, when the component is mounted.\n */\nexport default function useOnMount(fn) {\n /* eslint-disable react-hooks/exhaustive-deps */\n React.useEffect(fn, EMPTY);\n /* eslint-enable react-hooks/exhaustive-deps */\n}","'use client';\n\nimport useLazyRef from '../useLazyRef/useLazyRef';\nimport useOnMount from '../useOnMount/useOnMount';\nexport class Timeout {\n constructor() {\n this.currentId = null;\n this.clear = () => {\n if (this.currentId !== null) {\n clearTimeout(this.currentId);\n this.currentId = null;\n }\n };\n this.disposeEffect = () => {\n return this.clear;\n };\n }\n static create() {\n return new Timeout();\n }\n /**\n * Executes `fn` after `delay`, clearing any previously scheduled call.\n */\n start(delay, fn) {\n this.clear();\n this.currentId = setTimeout(() => {\n this.currentId = null;\n fn();\n }, delay);\n }\n}\nexport default function useTimeout() {\n const timeout = useLazyRef(Timeout.create).current;\n useOnMount(timeout.disposeEffect);\n return timeout;\n}","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import type {AnySchemaObject} from \"./types\"\nimport AjvCore from \"./core\"\nimport draft7Vocabularies from \"./vocabularies/draft7\"\nimport discriminator from \"./vocabularies/discriminator\"\nimport * as draft7MetaSchema from \"./refs/json-schema-draft-07.json\"\n\nconst META_SUPPORT_DATA = [\"/properties\"]\n\nconst META_SCHEMA_ID = \"http://json-schema.org/draft-07/schema\"\n\nclass Ajv extends AjvCore {\n _addVocabularies(): void {\n super._addVocabularies()\n draft7Vocabularies.forEach((v) => this.addVocabulary(v))\n if (this.opts.discriminator) this.addKeyword(discriminator)\n }\n\n _addDefaultMetaSchema(): void {\n super._addDefaultMetaSchema()\n if (!this.opts.meta) return\n const metaSchema = this.opts.$data\n ? this.$dataMetaSchema(draft7MetaSchema, META_SUPPORT_DATA)\n : draft7MetaSchema\n this.addMetaSchema(metaSchema, META_SCHEMA_ID, false)\n this.refs[\"http://json-schema.org/schema\"] = META_SCHEMA_ID\n }\n\n defaultMeta(): string | AnySchemaObject | undefined {\n return (this.opts.defaultMeta =\n super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : undefined))\n }\n}\n\nmodule.exports = exports = Ajv\nObject.defineProperty(exports, \"__esModule\", {value: true})\n\nexport default Ajv\n\nexport {\n Format,\n FormatDefinition,\n AsyncFormatDefinition,\n KeywordDefinition,\n KeywordErrorDefinition,\n CodeKeywordDefinition,\n MacroKeywordDefinition,\n FuncKeywordDefinition,\n Vocabulary,\n Schema,\n SchemaObject,\n AnySchemaObject,\n AsyncSchema,\n AnySchema,\n ValidateFunction,\n AsyncValidateFunction,\n SchemaValidateFunction,\n ErrorObject,\n ErrorNoParams,\n} from \"./types\"\n\nexport {Plugin, Options, CodeOptions, InstanceOptions, Logger, ErrorsTextOptions} from \"./core\"\nexport {SchemaCxt, SchemaObjCxt} from \"./compile\"\nexport {KeywordCxt} from \"./compile/validate\"\nexport {DefinedError} from \"./vocabularies/errors\"\nexport {JSONType} from \"./compile/rules\"\nexport {JSONSchemaType} from \"./types/json-schema\"\nexport {_, str, stringify, nil, Name, Code, CodeGen, CodeGenOptions} from \"./compile/codegen\"\nexport {default as ValidationError} from \"./runtime/validation_error\"\nexport {default as MissingRefError} from \"./compile/ref_error\"\n","export abstract class _CodeOrName {\n abstract readonly str: string\n abstract readonly names: UsedNames\n abstract toString(): string\n abstract emptyStr(): boolean\n}\n\nexport const IDENTIFIER = /^[a-z$_][a-z$_0-9]*$/i\n\nexport class Name extends _CodeOrName {\n readonly str: string\n constructor(s: string) {\n super()\n if (!IDENTIFIER.test(s)) throw new Error(\"CodeGen: name must be a valid identifier\")\n this.str = s\n }\n\n toString(): string {\n return this.str\n }\n\n emptyStr(): boolean {\n return false\n }\n\n get names(): UsedNames {\n return {[this.str]: 1}\n }\n}\n\nexport class _Code extends _CodeOrName {\n readonly _items: readonly CodeItem[]\n private _str?: string\n private _names?: UsedNames\n\n constructor(code: string | readonly CodeItem[]) {\n super()\n this._items = typeof code === \"string\" ? [code] : code\n }\n\n toString(): string {\n return this.str\n }\n\n emptyStr(): boolean {\n if (this._items.length > 1) return false\n const item = this._items[0]\n return item === \"\" || item === '\"\"'\n }\n\n get str(): string {\n return (this._str ??= this._items.reduce((s: string, c: CodeItem) => `${s}${c}`, \"\"))\n }\n\n get names(): UsedNames {\n return (this._names ??= this._items.reduce((names: UsedNames, c) => {\n if (c instanceof Name) names[c.str] = (names[c.str] || 0) + 1\n return names\n }, {}))\n }\n}\n\nexport type CodeItem = Name | string | number | boolean | null\n\nexport type UsedNames = Record\n\nexport type Code = _Code | Name\n\nexport type SafeExpr = Code | number | boolean | null\n\nexport const nil = new _Code(\"\")\n\ntype CodeArg = SafeExpr | string | undefined\n\nexport function _(strs: TemplateStringsArray, ...args: CodeArg[]): _Code {\n const code: CodeItem[] = [strs[0]]\n let i = 0\n while (i < args.length) {\n addCodeArg(code, args[i])\n code.push(strs[++i])\n }\n return new _Code(code)\n}\n\nconst plus = new _Code(\"+\")\n\nexport function str(strs: TemplateStringsArray, ...args: (CodeArg | string[])[]): _Code {\n const expr: CodeItem[] = [safeStringify(strs[0])]\n let i = 0\n while (i < args.length) {\n expr.push(plus)\n addCodeArg(expr, args[i])\n expr.push(plus, safeStringify(strs[++i]))\n }\n optimize(expr)\n return new _Code(expr)\n}\n\nexport function addCodeArg(code: CodeItem[], arg: CodeArg | string[]): void {\n if (arg instanceof _Code) code.push(...arg._items)\n else if (arg instanceof Name) code.push(arg)\n else code.push(interpolate(arg))\n}\n\nfunction optimize(expr: CodeItem[]): void {\n let i = 1\n while (i < expr.length - 1) {\n if (expr[i] === plus) {\n const res = mergeExprItems(expr[i - 1], expr[i + 1])\n if (res !== undefined) {\n expr.splice(i - 1, 3, res)\n continue\n }\n expr[i++] = \"+\"\n }\n i++\n }\n}\n\nfunction mergeExprItems(a: CodeItem, b: CodeItem): CodeItem | undefined {\n if (b === '\"\"') return a\n if (a === '\"\"') return b\n if (typeof a == \"string\") {\n if (b instanceof Name || a[a.length - 1] !== '\"') return\n if (typeof b != \"string\") return `${a.slice(0, -1)}${b}\"`\n if (b[0] === '\"') return a.slice(0, -1) + b.slice(1)\n return\n }\n if (typeof b == \"string\" && b[0] === '\"' && !(a instanceof Name)) return `\"${a}${b.slice(1)}`\n return\n}\n\nexport function strConcat(c1: Code, c2: Code): Code {\n return c2.emptyStr() ? c1 : c1.emptyStr() ? c2 : str`${c1}${c2}`\n}\n\n// TODO do not allow arrays here\nfunction interpolate(x?: string | string[] | number | boolean | null): SafeExpr | string {\n return typeof x == \"number\" || typeof x == \"boolean\" || x === null\n ? x\n : safeStringify(Array.isArray(x) ? x.join(\",\") : x)\n}\n\nexport function stringify(x: unknown): Code {\n return new _Code(safeStringify(x))\n}\n\nexport function safeStringify(x: unknown): string {\n return JSON.stringify(x)\n .replace(/\\u2028/g, \"\\\\u2028\")\n .replace(/\\u2029/g, \"\\\\u2029\")\n}\n\nexport function getProperty(key: Code | string | number): Code {\n return typeof key == \"string\" && IDENTIFIER.test(key) ? new _Code(`.${key}`) : _`[${key}]`\n}\n\n//Does best effort to format the name properly\nexport function getEsmExportName(key: Code | string | number): Code {\n if (typeof key == \"string\" && IDENTIFIER.test(key)) {\n return new _Code(`${key}`)\n }\n throw new Error(`CodeGen: invalid export name: ${key}, use explicit $id name mapping`)\n}\n\nexport function regexpCode(rx: RegExp): Code {\n return new _Code(rx.toString())\n}\n","import type {ScopeValueSets, NameValue, ValueScope, ValueScopeName} from \"./scope\"\nimport {_, nil, _Code, Code, Name, UsedNames, CodeItem, addCodeArg, _CodeOrName} from \"./code\"\nimport {Scope, varKinds} from \"./scope\"\n\nexport {_, str, strConcat, nil, getProperty, stringify, regexpCode, Name, Code} from \"./code\"\nexport {Scope, ScopeStore, ValueScope, ValueScopeName, ScopeValueSets, varKinds} from \"./scope\"\n\n// type for expressions that can be safely inserted in code without quotes\nexport type SafeExpr = Code | number | boolean | null\n\n// type that is either Code of function that adds code to CodeGen instance using its methods\nexport type Block = Code | (() => void)\n\nexport const operators = {\n GT: new _Code(\">\"),\n GTE: new _Code(\">=\"),\n LT: new _Code(\"<\"),\n LTE: new _Code(\"<=\"),\n EQ: new _Code(\"===\"),\n NEQ: new _Code(\"!==\"),\n NOT: new _Code(\"!\"),\n OR: new _Code(\"||\"),\n AND: new _Code(\"&&\"),\n ADD: new _Code(\"+\"),\n}\n\nabstract class Node {\n abstract readonly names: UsedNames\n\n optimizeNodes(): this | ChildNode | ChildNode[] | undefined {\n return this\n }\n\n optimizeNames(_names: UsedNames, _constants: Constants): this | undefined {\n return this\n }\n\n // get count(): number {\n // return 1\n // }\n}\n\nclass Def extends Node {\n constructor(private readonly varKind: Name, private readonly name: Name, private rhs?: SafeExpr) {\n super()\n }\n\n render({es5, _n}: CGOptions): string {\n const varKind = es5 ? varKinds.var : this.varKind\n const rhs = this.rhs === undefined ? \"\" : ` = ${this.rhs}`\n return `${varKind} ${this.name}${rhs};` + _n\n }\n\n optimizeNames(names: UsedNames, constants: Constants): this | undefined {\n if (!names[this.name.str]) return\n if (this.rhs) this.rhs = optimizeExpr(this.rhs, names, constants)\n return this\n }\n\n get names(): UsedNames {\n return this.rhs instanceof _CodeOrName ? this.rhs.names : {}\n }\n}\n\nclass Assign extends Node {\n constructor(readonly lhs: Code, public rhs: SafeExpr, private readonly sideEffects?: boolean) {\n super()\n }\n\n render({_n}: CGOptions): string {\n return `${this.lhs} = ${this.rhs};` + _n\n }\n\n optimizeNames(names: UsedNames, constants: Constants): this | undefined {\n if (this.lhs instanceof Name && !names[this.lhs.str] && !this.sideEffects) return\n this.rhs = optimizeExpr(this.rhs, names, constants)\n return this\n }\n\n get names(): UsedNames {\n const names = this.lhs instanceof Name ? {} : {...this.lhs.names}\n return addExprNames(names, this.rhs)\n }\n}\n\nclass AssignOp extends Assign {\n constructor(lhs: Code, private readonly op: Code, rhs: SafeExpr, sideEffects?: boolean) {\n super(lhs, rhs, sideEffects)\n }\n\n render({_n}: CGOptions): string {\n return `${this.lhs} ${this.op}= ${this.rhs};` + _n\n }\n}\n\nclass Label extends Node {\n readonly names: UsedNames = {}\n constructor(readonly label: Name) {\n super()\n }\n\n render({_n}: CGOptions): string {\n return `${this.label}:` + _n\n }\n}\n\nclass Break extends Node {\n readonly names: UsedNames = {}\n constructor(readonly label?: Code) {\n super()\n }\n\n render({_n}: CGOptions): string {\n const label = this.label ? ` ${this.label}` : \"\"\n return `break${label};` + _n\n }\n}\n\nclass Throw extends Node {\n constructor(readonly error: Code) {\n super()\n }\n\n render({_n}: CGOptions): string {\n return `throw ${this.error};` + _n\n }\n\n get names(): UsedNames {\n return this.error.names\n }\n}\n\nclass AnyCode extends Node {\n constructor(private code: SafeExpr) {\n super()\n }\n\n render({_n}: CGOptions): string {\n return `${this.code};` + _n\n }\n\n optimizeNodes(): this | undefined {\n return `${this.code}` ? this : undefined\n }\n\n optimizeNames(names: UsedNames, constants: Constants): this {\n this.code = optimizeExpr(this.code, names, constants)\n return this\n }\n\n get names(): UsedNames {\n return this.code instanceof _CodeOrName ? this.code.names : {}\n }\n}\n\nabstract class ParentNode extends Node {\n constructor(readonly nodes: ChildNode[] = []) {\n super()\n }\n\n render(opts: CGOptions): string {\n return this.nodes.reduce((code, n) => code + n.render(opts), \"\")\n }\n\n optimizeNodes(): this | ChildNode | ChildNode[] | undefined {\n const {nodes} = this\n let i = nodes.length\n while (i--) {\n const n = nodes[i].optimizeNodes()\n if (Array.isArray(n)) nodes.splice(i, 1, ...n)\n else if (n) nodes[i] = n\n else nodes.splice(i, 1)\n }\n return nodes.length > 0 ? this : undefined\n }\n\n optimizeNames(names: UsedNames, constants: Constants): this | undefined {\n const {nodes} = this\n let i = nodes.length\n while (i--) {\n // iterating backwards improves 1-pass optimization\n const n = nodes[i]\n if (n.optimizeNames(names, constants)) continue\n subtractNames(names, n.names)\n nodes.splice(i, 1)\n }\n return nodes.length > 0 ? this : undefined\n }\n\n get names(): UsedNames {\n return this.nodes.reduce((names: UsedNames, n) => addNames(names, n.names), {})\n }\n\n // get count(): number {\n // return this.nodes.reduce((c, n) => c + n.count, 1)\n // }\n}\n\nabstract class BlockNode extends ParentNode {\n render(opts: CGOptions): string {\n return \"{\" + opts._n + super.render(opts) + \"}\" + opts._n\n }\n}\n\nclass Root extends ParentNode {}\n\nclass Else extends BlockNode {\n static readonly kind = \"else\"\n}\n\nclass If extends BlockNode {\n static readonly kind = \"if\"\n else?: If | Else\n constructor(private condition: Code | boolean, nodes?: ChildNode[]) {\n super(nodes)\n }\n\n render(opts: CGOptions): string {\n let code = `if(${this.condition})` + super.render(opts)\n if (this.else) code += \"else \" + this.else.render(opts)\n return code\n }\n\n optimizeNodes(): If | ChildNode[] | undefined {\n super.optimizeNodes()\n const cond = this.condition\n if (cond === true) return this.nodes // else is ignored here\n let e = this.else\n if (e) {\n const ns = e.optimizeNodes()\n e = this.else = Array.isArray(ns) ? new Else(ns) : (ns as Else | undefined)\n }\n if (e) {\n if (cond === false) return e instanceof If ? e : e.nodes\n if (this.nodes.length) return this\n return new If(not(cond), e instanceof If ? [e] : e.nodes)\n }\n if (cond === false || !this.nodes.length) return undefined\n return this\n }\n\n optimizeNames(names: UsedNames, constants: Constants): this | undefined {\n this.else = this.else?.optimizeNames(names, constants)\n if (!(super.optimizeNames(names, constants) || this.else)) return\n this.condition = optimizeExpr(this.condition, names, constants)\n return this\n }\n\n get names(): UsedNames {\n const names = super.names\n addExprNames(names, this.condition)\n if (this.else) addNames(names, this.else.names)\n return names\n }\n\n // get count(): number {\n // return super.count + (this.else?.count || 0)\n // }\n}\n\nabstract class For extends BlockNode {\n static readonly kind = \"for\"\n}\n\nclass ForLoop extends For {\n constructor(private iteration: Code) {\n super()\n }\n\n render(opts: CGOptions): string {\n return `for(${this.iteration})` + super.render(opts)\n }\n\n optimizeNames(names: UsedNames, constants: Constants): this | undefined {\n if (!super.optimizeNames(names, constants)) return\n this.iteration = optimizeExpr(this.iteration, names, constants)\n return this\n }\n\n get names(): UsedNames {\n return addNames(super.names, this.iteration.names)\n }\n}\n\nclass ForRange extends For {\n constructor(\n private readonly varKind: Name,\n private readonly name: Name,\n private readonly from: SafeExpr,\n private readonly to: SafeExpr\n ) {\n super()\n }\n\n render(opts: CGOptions): string {\n const varKind = opts.es5 ? varKinds.var : this.varKind\n const {name, from, to} = this\n return `for(${varKind} ${name}=${from}; ${name}<${to}; ${name}++)` + super.render(opts)\n }\n\n get names(): UsedNames {\n const names = addExprNames(super.names, this.from)\n return addExprNames(names, this.to)\n }\n}\n\nclass ForIter extends For {\n constructor(\n private readonly loop: \"of\" | \"in\",\n private readonly varKind: Name,\n private readonly name: Name,\n private iterable: Code\n ) {\n super()\n }\n\n render(opts: CGOptions): string {\n return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})` + super.render(opts)\n }\n\n optimizeNames(names: UsedNames, constants: Constants): this | undefined {\n if (!super.optimizeNames(names, constants)) return\n this.iterable = optimizeExpr(this.iterable, names, constants)\n return this\n }\n\n get names(): UsedNames {\n return addNames(super.names, this.iterable.names)\n }\n}\n\nclass Func extends BlockNode {\n static readonly kind = \"func\"\n constructor(public name: Name, public args: Code, public async?: boolean) {\n super()\n }\n\n render(opts: CGOptions): string {\n const _async = this.async ? \"async \" : \"\"\n return `${_async}function ${this.name}(${this.args})` + super.render(opts)\n }\n}\n\nclass Return extends ParentNode {\n static readonly kind = \"return\"\n\n render(opts: CGOptions): string {\n return \"return \" + super.render(opts)\n }\n}\n\nclass Try extends BlockNode {\n catch?: Catch\n finally?: Finally\n\n render(opts: CGOptions): string {\n let code = \"try\" + super.render(opts)\n if (this.catch) code += this.catch.render(opts)\n if (this.finally) code += this.finally.render(opts)\n return code\n }\n\n optimizeNodes(): this {\n super.optimizeNodes()\n this.catch?.optimizeNodes() as Catch | undefined\n this.finally?.optimizeNodes() as Finally | undefined\n return this\n }\n\n optimizeNames(names: UsedNames, constants: Constants): this {\n super.optimizeNames(names, constants)\n this.catch?.optimizeNames(names, constants)\n this.finally?.optimizeNames(names, constants)\n return this\n }\n\n get names(): UsedNames {\n const names = super.names\n if (this.catch) addNames(names, this.catch.names)\n if (this.finally) addNames(names, this.finally.names)\n return names\n }\n\n // get count(): number {\n // return super.count + (this.catch?.count || 0) + (this.finally?.count || 0)\n // }\n}\n\nclass Catch extends BlockNode {\n static readonly kind = \"catch\"\n constructor(readonly error: Name) {\n super()\n }\n\n render(opts: CGOptions): string {\n return `catch(${this.error})` + super.render(opts)\n }\n}\n\nclass Finally extends BlockNode {\n static readonly kind = \"finally\"\n render(opts: CGOptions): string {\n return \"finally\" + super.render(opts)\n }\n}\n\ntype StartBlockNode = If | For | Func | Return | Try\n\ntype LeafNode = Def | Assign | Label | Break | Throw | AnyCode\n\ntype ChildNode = StartBlockNode | LeafNode\n\ntype EndBlockNodeType =\n | typeof If\n | typeof Else\n | typeof For\n | typeof Func\n | typeof Return\n | typeof Catch\n | typeof Finally\n\ntype Constants = Record\n\nexport interface CodeGenOptions {\n es5?: boolean\n lines?: boolean\n ownProperties?: boolean\n}\n\ninterface CGOptions extends CodeGenOptions {\n _n: \"\\n\" | \"\"\n}\n\nexport class CodeGen {\n readonly _scope: Scope\n readonly _extScope: ValueScope\n readonly _values: ScopeValueSets = {}\n private readonly _nodes: ParentNode[]\n private readonly _blockStarts: number[] = []\n private readonly _constants: Constants = {}\n private readonly opts: CGOptions\n\n constructor(extScope: ValueScope, opts: CodeGenOptions = {}) {\n this.opts = {...opts, _n: opts.lines ? \"\\n\" : \"\"}\n this._extScope = extScope\n this._scope = new Scope({parent: extScope})\n this._nodes = [new Root()]\n }\n\n toString(): string {\n return this._root.render(this.opts)\n }\n\n // returns unique name in the internal scope\n name(prefix: string): Name {\n return this._scope.name(prefix)\n }\n\n // reserves unique name in the external scope\n scopeName(prefix: string): ValueScopeName {\n return this._extScope.name(prefix)\n }\n\n // reserves unique name in the external scope and assigns value to it\n scopeValue(prefixOrName: ValueScopeName | string, value: NameValue): Name {\n const name = this._extScope.value(prefixOrName, value)\n const vs = this._values[name.prefix] || (this._values[name.prefix] = new Set())\n vs.add(name)\n return name\n }\n\n getScopeValue(prefix: string, keyOrRef: unknown): ValueScopeName | undefined {\n return this._extScope.getValue(prefix, keyOrRef)\n }\n\n // return code that assigns values in the external scope to the names that are used internally\n // (same names that were returned by gen.scopeName or gen.scopeValue)\n scopeRefs(scopeName: Name): Code {\n return this._extScope.scopeRefs(scopeName, this._values)\n }\n\n scopeCode(): Code {\n return this._extScope.scopeCode(this._values)\n }\n\n private _def(\n varKind: Name,\n nameOrPrefix: Name | string,\n rhs?: SafeExpr,\n constant?: boolean\n ): Name {\n const name = this._scope.toName(nameOrPrefix)\n if (rhs !== undefined && constant) this._constants[name.str] = rhs\n this._leafNode(new Def(varKind, name, rhs))\n return name\n }\n\n // `const` declaration (`var` in es5 mode)\n const(nameOrPrefix: Name | string, rhs: SafeExpr, _constant?: boolean): Name {\n return this._def(varKinds.const, nameOrPrefix, rhs, _constant)\n }\n\n // `let` declaration with optional assignment (`var` in es5 mode)\n let(nameOrPrefix: Name | string, rhs?: SafeExpr, _constant?: boolean): Name {\n return this._def(varKinds.let, nameOrPrefix, rhs, _constant)\n }\n\n // `var` declaration with optional assignment\n var(nameOrPrefix: Name | string, rhs?: SafeExpr, _constant?: boolean): Name {\n return this._def(varKinds.var, nameOrPrefix, rhs, _constant)\n }\n\n // assignment code\n assign(lhs: Code, rhs: SafeExpr, sideEffects?: boolean): CodeGen {\n return this._leafNode(new Assign(lhs, rhs, sideEffects))\n }\n\n // `+=` code\n add(lhs: Code, rhs: SafeExpr): CodeGen {\n return this._leafNode(new AssignOp(lhs, operators.ADD, rhs))\n }\n\n // appends passed SafeExpr to code or executes Block\n code(c: Block | SafeExpr): CodeGen {\n if (typeof c == \"function\") c()\n else if (c !== nil) this._leafNode(new AnyCode(c))\n return this\n }\n\n // returns code for object literal for the passed argument list of key-value pairs\n object(...keyValues: [Name | string, SafeExpr | string][]): _Code {\n const code: CodeItem[] = [\"{\"]\n for (const [key, value] of keyValues) {\n if (code.length > 1) code.push(\",\")\n code.push(key)\n if (key !== value || this.opts.es5) {\n code.push(\":\")\n addCodeArg(code, value)\n }\n }\n code.push(\"}\")\n return new _Code(code)\n }\n\n // `if` clause (or statement if `thenBody` and, optionally, `elseBody` are passed)\n if(condition: Code | boolean, thenBody?: Block, elseBody?: Block): CodeGen {\n this._blockNode(new If(condition))\n\n if (thenBody && elseBody) {\n this.code(thenBody).else().code(elseBody).endIf()\n } else if (thenBody) {\n this.code(thenBody).endIf()\n } else if (elseBody) {\n throw new Error('CodeGen: \"else\" body without \"then\" body')\n }\n return this\n }\n\n // `else if` clause - invalid without `if` or after `else` clauses\n elseIf(condition: Code | boolean): CodeGen {\n return this._elseNode(new If(condition))\n }\n\n // `else` clause - only valid after `if` or `else if` clauses\n else(): CodeGen {\n return this._elseNode(new Else())\n }\n\n // end `if` statement (needed if gen.if was used only with condition)\n endIf(): CodeGen {\n return this._endBlockNode(If, Else)\n }\n\n private _for(node: For, forBody?: Block): CodeGen {\n this._blockNode(node)\n if (forBody) this.code(forBody).endFor()\n return this\n }\n\n // a generic `for` clause (or statement if `forBody` is passed)\n for(iteration: Code, forBody?: Block): CodeGen {\n return this._for(new ForLoop(iteration), forBody)\n }\n\n // `for` statement for a range of values\n forRange(\n nameOrPrefix: Name | string,\n from: SafeExpr,\n to: SafeExpr,\n forBody: (index: Name) => void,\n varKind: Code = this.opts.es5 ? varKinds.var : varKinds.let\n ): CodeGen {\n const name = this._scope.toName(nameOrPrefix)\n return this._for(new ForRange(varKind, name, from, to), () => forBody(name))\n }\n\n // `for-of` statement (in es5 mode replace with a normal for loop)\n forOf(\n nameOrPrefix: Name | string,\n iterable: Code,\n forBody: (item: Name) => void,\n varKind: Code = varKinds.const\n ): CodeGen {\n const name = this._scope.toName(nameOrPrefix)\n if (this.opts.es5) {\n const arr = iterable instanceof Name ? iterable : this.var(\"_arr\", iterable)\n return this.forRange(\"_i\", 0, _`${arr}.length`, (i) => {\n this.var(name, _`${arr}[${i}]`)\n forBody(name)\n })\n }\n return this._for(new ForIter(\"of\", varKind, name, iterable), () => forBody(name))\n }\n\n // `for-in` statement.\n // With option `ownProperties` replaced with a `for-of` loop for object keys\n forIn(\n nameOrPrefix: Name | string,\n obj: Code,\n forBody: (item: Name) => void,\n varKind: Code = this.opts.es5 ? varKinds.var : varKinds.const\n ): CodeGen {\n if (this.opts.ownProperties) {\n return this.forOf(nameOrPrefix, _`Object.keys(${obj})`, forBody)\n }\n const name = this._scope.toName(nameOrPrefix)\n return this._for(new ForIter(\"in\", varKind, name, obj), () => forBody(name))\n }\n\n // end `for` loop\n endFor(): CodeGen {\n return this._endBlockNode(For)\n }\n\n // `label` statement\n label(label: Name): CodeGen {\n return this._leafNode(new Label(label))\n }\n\n // `break` statement\n break(label?: Code): CodeGen {\n return this._leafNode(new Break(label))\n }\n\n // `return` statement\n return(value: Block | SafeExpr): CodeGen {\n const node = new Return()\n this._blockNode(node)\n this.code(value)\n if (node.nodes.length !== 1) throw new Error('CodeGen: \"return\" should have one node')\n return this._endBlockNode(Return)\n }\n\n // `try` statement\n try(tryBody: Block, catchCode?: (e: Name) => void, finallyCode?: Block): CodeGen {\n if (!catchCode && !finallyCode) throw new Error('CodeGen: \"try\" without \"catch\" and \"finally\"')\n const node = new Try()\n this._blockNode(node)\n this.code(tryBody)\n if (catchCode) {\n const error = this.name(\"e\")\n this._currNode = node.catch = new Catch(error)\n catchCode(error)\n }\n if (finallyCode) {\n this._currNode = node.finally = new Finally()\n this.code(finallyCode)\n }\n return this._endBlockNode(Catch, Finally)\n }\n\n // `throw` statement\n throw(error: Code): CodeGen {\n return this._leafNode(new Throw(error))\n }\n\n // start self-balancing block\n block(body?: Block, nodeCount?: number): CodeGen {\n this._blockStarts.push(this._nodes.length)\n if (body) this.code(body).endBlock(nodeCount)\n return this\n }\n\n // end the current self-balancing block\n endBlock(nodeCount?: number): CodeGen {\n const len = this._blockStarts.pop()\n if (len === undefined) throw new Error(\"CodeGen: not in self-balancing block\")\n const toClose = this._nodes.length - len\n if (toClose < 0 || (nodeCount !== undefined && toClose !== nodeCount)) {\n throw new Error(`CodeGen: wrong number of nodes: ${toClose} vs ${nodeCount} expected`)\n }\n this._nodes.length = len\n return this\n }\n\n // `function` heading (or definition if funcBody is passed)\n func(name: Name, args: Code = nil, async?: boolean, funcBody?: Block): CodeGen {\n this._blockNode(new Func(name, args, async))\n if (funcBody) this.code(funcBody).endFunc()\n return this\n }\n\n // end function definition\n endFunc(): CodeGen {\n return this._endBlockNode(Func)\n }\n\n optimize(n = 1): void {\n while (n-- > 0) {\n this._root.optimizeNodes()\n this._root.optimizeNames(this._root.names, this._constants)\n }\n }\n\n private _leafNode(node: LeafNode): CodeGen {\n this._currNode.nodes.push(node)\n return this\n }\n\n private _blockNode(node: StartBlockNode): void {\n this._currNode.nodes.push(node)\n this._nodes.push(node)\n }\n\n private _endBlockNode(N1: EndBlockNodeType, N2?: EndBlockNodeType): CodeGen {\n const n = this._currNode\n if (n instanceof N1 || (N2 && n instanceof N2)) {\n this._nodes.pop()\n return this\n }\n throw new Error(`CodeGen: not in block \"${N2 ? `${N1.kind}/${N2.kind}` : N1.kind}\"`)\n }\n\n private _elseNode(node: If | Else): CodeGen {\n const n = this._currNode\n if (!(n instanceof If)) {\n throw new Error('CodeGen: \"else\" without \"if\"')\n }\n this._currNode = n.else = node\n return this\n }\n\n private get _root(): Root {\n return this._nodes[0] as Root\n }\n\n private get _currNode(): ParentNode {\n const ns = this._nodes\n return ns[ns.length - 1]\n }\n\n private set _currNode(node: ParentNode) {\n const ns = this._nodes\n ns[ns.length - 1] = node\n }\n\n // get nodeCount(): number {\n // return this._root.count\n // }\n}\n\nfunction addNames(names: UsedNames, from: UsedNames): UsedNames {\n for (const n in from) names[n] = (names[n] || 0) + (from[n] || 0)\n return names\n}\n\nfunction addExprNames(names: UsedNames, from: SafeExpr): UsedNames {\n return from instanceof _CodeOrName ? addNames(names, from.names) : names\n}\n\nfunction optimizeExpr(expr: T, names: UsedNames, constants: Constants): T\nfunction optimizeExpr(expr: SafeExpr, names: UsedNames, constants: Constants): SafeExpr {\n if (expr instanceof Name) return replaceName(expr)\n if (!canOptimize(expr)) return expr\n return new _Code(\n expr._items.reduce((items: CodeItem[], c: SafeExpr | string) => {\n if (c instanceof Name) c = replaceName(c)\n if (c instanceof _Code) items.push(...c._items)\n else items.push(c)\n return items\n }, [])\n )\n\n function replaceName(n: Name): SafeExpr {\n const c = constants[n.str]\n if (c === undefined || names[n.str] !== 1) return n\n delete names[n.str]\n return c\n }\n\n function canOptimize(e: SafeExpr): e is _Code {\n return (\n e instanceof _Code &&\n e._items.some(\n (c) => c instanceof Name && names[c.str] === 1 && constants[c.str] !== undefined\n )\n )\n }\n}\n\nfunction subtractNames(names: UsedNames, from: UsedNames): void {\n for (const n in from) names[n] = (names[n] || 0) - (from[n] || 0)\n}\n\nexport function not(x: T): T\nexport function not(x: Code | SafeExpr): Code | SafeExpr {\n return typeof x == \"boolean\" || typeof x == \"number\" || x === null ? !x : _`!${par(x)}`\n}\n\nconst andCode = mappend(operators.AND)\n\n// boolean AND (&&) expression with the passed arguments\nexport function and(...args: Code[]): Code {\n return args.reduce(andCode)\n}\n\nconst orCode = mappend(operators.OR)\n\n// boolean OR (||) expression with the passed arguments\nexport function or(...args: Code[]): Code {\n return args.reduce(orCode)\n}\n\ntype MAppend = (x: Code, y: Code) => Code\n\nfunction mappend(op: Code): MAppend {\n return (x, y) => (x === nil ? y : y === nil ? x : _`${par(x)} ${op} ${par(y)}`)\n}\n\nfunction par(x: Code): Code {\n return x instanceof Name ? x : _`(${x})`\n}\n","import {_, nil, Code, Name} from \"./code\"\n\ninterface NameGroup {\n prefix: string\n index: number\n}\n\nexport interface NameValue {\n ref: ValueReference // this is the reference to any value that can be referred to from generated code via `globals` var in the closure\n key?: unknown // any key to identify a global to avoid duplicates, if not passed ref is used\n code?: Code // this is the code creating the value needed for standalone code wit_out closure - can be a primitive value, function or import (`require`)\n}\n\nexport type ValueReference = unknown // possibly make CodeGen parameterized type on this type\n\nclass ValueError extends Error {\n readonly value?: NameValue\n constructor(name: ValueScopeName) {\n super(`CodeGen: \"code\" for ${name} not defined`)\n this.value = name.value\n }\n}\n\ninterface ScopeOptions {\n prefixes?: Set\n parent?: Scope\n}\n\ninterface ValueScopeOptions extends ScopeOptions {\n scope: ScopeStore\n es5?: boolean\n lines?: boolean\n}\n\nexport type ScopeStore = Record\n\ntype ScopeValues = {\n [Prefix in string]?: Map\n}\n\nexport type ScopeValueSets = {\n [Prefix in string]?: Set\n}\n\nexport enum UsedValueState {\n Started,\n Completed,\n}\n\nexport type UsedScopeValues = {\n [Prefix in string]?: Map\n}\n\nexport const varKinds = {\n const: new Name(\"const\"),\n let: new Name(\"let\"),\n var: new Name(\"var\"),\n}\n\nexport class Scope {\n protected readonly _names: {[Prefix in string]?: NameGroup} = {}\n protected readonly _prefixes?: Set\n protected readonly _parent?: Scope\n\n constructor({prefixes, parent}: ScopeOptions = {}) {\n this._prefixes = prefixes\n this._parent = parent\n }\n\n toName(nameOrPrefix: Name | string): Name {\n return nameOrPrefix instanceof Name ? nameOrPrefix : this.name(nameOrPrefix)\n }\n\n name(prefix: string): Name {\n return new Name(this._newName(prefix))\n }\n\n protected _newName(prefix: string): string {\n const ng = this._names[prefix] || this._nameGroup(prefix)\n return `${prefix}${ng.index++}`\n }\n\n private _nameGroup(prefix: string): NameGroup {\n if (this._parent?._prefixes?.has(prefix) || (this._prefixes && !this._prefixes.has(prefix))) {\n throw new Error(`CodeGen: prefix \"${prefix}\" is not allowed in this scope`)\n }\n return (this._names[prefix] = {prefix, index: 0})\n }\n}\n\ninterface ScopePath {\n property: string\n itemIndex: number\n}\n\nexport class ValueScopeName extends Name {\n readonly prefix: string\n value?: NameValue\n scopePath?: Code\n\n constructor(prefix: string, nameStr: string) {\n super(nameStr)\n this.prefix = prefix\n }\n\n setValue(value: NameValue, {property, itemIndex}: ScopePath): void {\n this.value = value\n this.scopePath = _`.${new Name(property)}[${itemIndex}]`\n }\n}\n\ninterface VSOptions extends ValueScopeOptions {\n _n: Code\n}\n\nconst line = _`\\n`\n\nexport class ValueScope extends Scope {\n protected readonly _values: ScopeValues = {}\n protected readonly _scope: ScopeStore\n readonly opts: VSOptions\n\n constructor(opts: ValueScopeOptions) {\n super(opts)\n this._scope = opts.scope\n this.opts = {...opts, _n: opts.lines ? line : nil}\n }\n\n get(): ScopeStore {\n return this._scope\n }\n\n name(prefix: string): ValueScopeName {\n return new ValueScopeName(prefix, this._newName(prefix))\n }\n\n value(nameOrPrefix: ValueScopeName | string, value: NameValue): ValueScopeName {\n if (value.ref === undefined) throw new Error(\"CodeGen: ref must be passed in value\")\n const name = this.toName(nameOrPrefix) as ValueScopeName\n const {prefix} = name\n const valueKey = value.key ?? value.ref\n let vs = this._values[prefix]\n if (vs) {\n const _name = vs.get(valueKey)\n if (_name) return _name\n } else {\n vs = this._values[prefix] = new Map()\n }\n vs.set(valueKey, name)\n\n const s = this._scope[prefix] || (this._scope[prefix] = [])\n const itemIndex = s.length\n s[itemIndex] = value.ref\n name.setValue(value, {property: prefix, itemIndex})\n return name\n }\n\n getValue(prefix: string, keyOrRef: unknown): ValueScopeName | undefined {\n const vs = this._values[prefix]\n if (!vs) return\n return vs.get(keyOrRef)\n }\n\n scopeRefs(scopeName: Name, values: ScopeValues | ScopeValueSets = this._values): Code {\n return this._reduceValues(values, (name: ValueScopeName) => {\n if (name.scopePath === undefined) throw new Error(`CodeGen: name \"${name}\" has no value`)\n return _`${scopeName}${name.scopePath}`\n })\n }\n\n scopeCode(\n values: ScopeValues | ScopeValueSets = this._values,\n usedValues?: UsedScopeValues,\n getCode?: (n: ValueScopeName) => Code | undefined\n ): Code {\n return this._reduceValues(\n values,\n (name: ValueScopeName) => {\n if (name.value === undefined) throw new Error(`CodeGen: name \"${name}\" has no value`)\n return name.value.code\n },\n usedValues,\n getCode\n )\n }\n\n private _reduceValues(\n values: ScopeValues | ScopeValueSets,\n valueCode: (n: ValueScopeName) => Code | undefined,\n usedValues: UsedScopeValues = {},\n getCode?: (n: ValueScopeName) => Code | undefined\n ): Code {\n let code: Code = nil\n for (const prefix in values) {\n const vs = values[prefix]\n if (!vs) continue\n const nameSet = (usedValues[prefix] = usedValues[prefix] || new Map())\n vs.forEach((name: ValueScopeName) => {\n if (nameSet.has(name)) return\n nameSet.set(name, UsedValueState.Started)\n let c = valueCode(name)\n if (c) {\n const def = this.opts.es5 ? varKinds.var : varKinds.const\n code = _`${code}${def} ${name} = ${c};${this.opts._n}`\n } else if ((c = getCode?.(name))) {\n code = _`${code}${c}${this.opts._n}`\n } else {\n throw new ValueError(name)\n }\n nameSet.set(name, UsedValueState.Completed)\n })\n }\n return code\n }\n}\n","import type {KeywordErrorCxt, KeywordErrorDefinition} from \"../types\"\nimport type {SchemaCxt} from \"./index\"\nimport {CodeGen, _, str, strConcat, Code, Name} from \"./codegen\"\nimport {SafeExpr} from \"./codegen/code\"\nimport {getErrorPath, Type} from \"./util\"\nimport N from \"./names\"\n\nexport const keywordError: KeywordErrorDefinition = {\n message: ({keyword}) => str`must pass \"${keyword}\" keyword validation`,\n}\n\nexport const keyword$DataError: KeywordErrorDefinition = {\n message: ({keyword, schemaType}) =>\n schemaType\n ? str`\"${keyword}\" keyword must be ${schemaType} ($data)`\n : str`\"${keyword}\" keyword is invalid ($data)`,\n}\n\nexport interface ErrorPaths {\n instancePath?: Code\n schemaPath?: string\n parentSchema?: boolean\n}\n\nexport function reportError(\n cxt: KeywordErrorCxt,\n error: KeywordErrorDefinition = keywordError,\n errorPaths?: ErrorPaths,\n overrideAllErrors?: boolean\n): void {\n const {it} = cxt\n const {gen, compositeRule, allErrors} = it\n const errObj = errorObjectCode(cxt, error, errorPaths)\n if (overrideAllErrors ?? (compositeRule || allErrors)) {\n addError(gen, errObj)\n } else {\n returnErrors(it, _`[${errObj}]`)\n }\n}\n\nexport function reportExtraError(\n cxt: KeywordErrorCxt,\n error: KeywordErrorDefinition = keywordError,\n errorPaths?: ErrorPaths\n): void {\n const {it} = cxt\n const {gen, compositeRule, allErrors} = it\n const errObj = errorObjectCode(cxt, error, errorPaths)\n addError(gen, errObj)\n if (!(compositeRule || allErrors)) {\n returnErrors(it, N.vErrors)\n }\n}\n\nexport function resetErrorsCount(gen: CodeGen, errsCount: Name): void {\n gen.assign(N.errors, errsCount)\n gen.if(_`${N.vErrors} !== null`, () =>\n gen.if(\n errsCount,\n () => gen.assign(_`${N.vErrors}.length`, errsCount),\n () => gen.assign(N.vErrors, null)\n )\n )\n}\n\nexport function extendErrors({\n gen,\n keyword,\n schemaValue,\n data,\n errsCount,\n it,\n}: KeywordErrorCxt): void {\n /* istanbul ignore if */\n if (errsCount === undefined) throw new Error(\"ajv implementation error\")\n const err = gen.name(\"err\")\n gen.forRange(\"i\", errsCount, N.errors, (i) => {\n gen.const(err, _`${N.vErrors}[${i}]`)\n gen.if(_`${err}.instancePath === undefined`, () =>\n gen.assign(_`${err}.instancePath`, strConcat(N.instancePath, it.errorPath))\n )\n gen.assign(_`${err}.schemaPath`, str`${it.errSchemaPath}/${keyword}`)\n if (it.opts.verbose) {\n gen.assign(_`${err}.schema`, schemaValue)\n gen.assign(_`${err}.data`, data)\n }\n })\n}\n\nfunction addError(gen: CodeGen, errObj: Code): void {\n const err = gen.const(\"err\", errObj)\n gen.if(\n _`${N.vErrors} === null`,\n () => gen.assign(N.vErrors, _`[${err}]`),\n _`${N.vErrors}.push(${err})`\n )\n gen.code(_`${N.errors}++`)\n}\n\nfunction returnErrors(it: SchemaCxt, errs: Code): void {\n const {gen, validateName, schemaEnv} = it\n if (schemaEnv.$async) {\n gen.throw(_`new ${it.ValidationError as Name}(${errs})`)\n } else {\n gen.assign(_`${validateName}.errors`, errs)\n gen.return(false)\n }\n}\n\nconst E = {\n keyword: new Name(\"keyword\"),\n schemaPath: new Name(\"schemaPath\"), // also used in JTD errors\n params: new Name(\"params\"),\n propertyName: new Name(\"propertyName\"),\n message: new Name(\"message\"),\n schema: new Name(\"schema\"),\n parentSchema: new Name(\"parentSchema\"),\n}\n\nfunction errorObjectCode(\n cxt: KeywordErrorCxt,\n error: KeywordErrorDefinition,\n errorPaths?: ErrorPaths\n): Code {\n const {createErrors} = cxt.it\n if (createErrors === false) return _`{}`\n return errorObject(cxt, error, errorPaths)\n}\n\nfunction errorObject(\n cxt: KeywordErrorCxt,\n error: KeywordErrorDefinition,\n errorPaths: ErrorPaths = {}\n): Code {\n const {gen, it} = cxt\n const keyValues: [Name, SafeExpr | string][] = [\n errorInstancePath(it, errorPaths),\n errorSchemaPath(cxt, errorPaths),\n ]\n extraErrorProps(cxt, error, keyValues)\n return gen.object(...keyValues)\n}\n\nfunction errorInstancePath({errorPath}: SchemaCxt, {instancePath}: ErrorPaths): [Name, Code] {\n const instPath = instancePath\n ? str`${errorPath}${getErrorPath(instancePath, Type.Str)}`\n : errorPath\n return [N.instancePath, strConcat(N.instancePath, instPath)]\n}\n\nfunction errorSchemaPath(\n {keyword, it: {errSchemaPath}}: KeywordErrorCxt,\n {schemaPath, parentSchema}: ErrorPaths\n): [Name, string | Code] {\n let schPath = parentSchema ? errSchemaPath : str`${errSchemaPath}/${keyword}`\n if (schemaPath) {\n schPath = str`${schPath}${getErrorPath(schemaPath, Type.Str)}`\n }\n return [E.schemaPath, schPath]\n}\n\nfunction extraErrorProps(\n cxt: KeywordErrorCxt,\n {params, message}: KeywordErrorDefinition,\n keyValues: [Name, SafeExpr | string][]\n): void {\n const {keyword, data, schemaValue, it} = cxt\n const {opts, propertyName, topSchemaRef, schemaPath} = it\n keyValues.push(\n [E.keyword, keyword],\n [E.params, typeof params == \"function\" ? params(cxt) : params || _`{}`]\n )\n if (opts.messages) {\n keyValues.push([E.message, typeof message == \"function\" ? message(cxt) : message])\n }\n if (opts.verbose) {\n keyValues.push(\n [E.schema, schemaValue],\n [E.parentSchema, _`${topSchemaRef}${schemaPath}`],\n [N.data, data]\n )\n }\n if (propertyName) keyValues.push([E.propertyName, propertyName])\n}\n","import type {\n AnySchema,\n AnySchemaObject,\n AnyValidateFunction,\n AsyncValidateFunction,\n EvaluatedProperties,\n EvaluatedItems,\n} from \"../types\"\nimport type Ajv from \"../core\"\nimport type {InstanceOptions} from \"../core\"\nimport {CodeGen, _, nil, stringify, Name, Code, ValueScopeName} from \"./codegen\"\nimport ValidationError from \"../runtime/validation_error\"\nimport N from \"./names\"\nimport {LocalRefs, getFullPath, _getFullPath, inlineRef, normalizeId, resolveUrl} from \"./resolve\"\nimport {schemaHasRulesButRef, unescapeFragment} from \"./util\"\nimport {validateFunctionCode} from \"./validate\"\nimport * as URI from \"uri-js\"\nimport {JSONType} from \"./rules\"\n\nexport type SchemaRefs = {\n [Ref in string]?: SchemaEnv | AnySchema\n}\n\nexport interface SchemaCxt {\n readonly gen: CodeGen\n readonly allErrors?: boolean // validation mode - whether to collect all errors or break on error\n readonly data: Name // Name with reference to the current part of data instance\n readonly parentData: Name // should be used in keywords modifying data\n readonly parentDataProperty: Code | number // should be used in keywords modifying data\n readonly dataNames: Name[]\n readonly dataPathArr: (Code | number)[]\n readonly dataLevel: number // the level of the currently validated data,\n // it can be used to access both the property names and the data on all levels from the top.\n dataTypes: JSONType[] // data types applied to the current part of data instance\n definedProperties: Set // set of properties to keep track of for required checks\n readonly topSchemaRef: Code\n readonly validateName: Name\n evaluated?: Name\n readonly ValidationError?: Name\n readonly schema: AnySchema // current schema object - equal to parentSchema passed via KeywordCxt\n readonly schemaEnv: SchemaEnv\n readonly rootId: string\n baseId: string // the current schema base URI that should be used as the base for resolving URIs in references (\\$ref)\n readonly schemaPath: Code // the run-time expression that evaluates to the property name of the current schema\n readonly errSchemaPath: string // this is actual string, should not be changed to Code\n readonly errorPath: Code\n readonly propertyName?: Name\n readonly compositeRule?: boolean // true indicates that the current schema is inside the compound keyword,\n // where failing some rule doesn't mean validation failure (`anyOf`, `oneOf`, `not`, `if`).\n // This flag is used to determine whether you can return validation result immediately after any error in case the option `allErrors` is not `true.\n // You only need to use it if you have many steps in your keywords and potentially can define multiple errors.\n props?: EvaluatedProperties | Name // properties evaluated by this schema - used by parent schema or assigned to validation function\n items?: EvaluatedItems | Name // last item evaluated by this schema - used by parent schema or assigned to validation function\n jtdDiscriminator?: string\n jtdMetadata?: boolean\n readonly createErrors?: boolean\n readonly opts: InstanceOptions // Ajv instance option.\n readonly self: Ajv // current Ajv instance\n}\n\nexport interface SchemaObjCxt extends SchemaCxt {\n readonly schema: AnySchemaObject\n}\ninterface SchemaEnvArgs {\n readonly schema: AnySchema\n readonly schemaId?: \"$id\" | \"id\"\n readonly root?: SchemaEnv\n readonly baseId?: string\n readonly schemaPath?: string\n readonly localRefs?: LocalRefs\n readonly meta?: boolean\n}\n\nexport class SchemaEnv implements SchemaEnvArgs {\n readonly schema: AnySchema\n readonly schemaId?: \"$id\" | \"id\"\n readonly root: SchemaEnv\n baseId: string // TODO possibly, it should be readonly\n schemaPath?: string\n localRefs?: LocalRefs\n readonly meta?: boolean\n readonly $async?: boolean // true if the current schema is asynchronous.\n readonly refs: SchemaRefs = {}\n readonly dynamicAnchors: {[Ref in string]?: true} = {}\n validate?: AnyValidateFunction\n validateName?: ValueScopeName\n serialize?: (data: unknown) => string\n serializeName?: ValueScopeName\n parse?: (data: string) => unknown\n parseName?: ValueScopeName\n\n constructor(env: SchemaEnvArgs) {\n let schema: AnySchemaObject | undefined\n if (typeof env.schema == \"object\") schema = env.schema\n this.schema = env.schema\n this.schemaId = env.schemaId\n this.root = env.root || this\n this.baseId = env.baseId ?? normalizeId(schema?.[env.schemaId || \"$id\"])\n this.schemaPath = env.schemaPath\n this.localRefs = env.localRefs\n this.meta = env.meta\n this.$async = schema?.$async\n this.refs = {}\n }\n}\n\n// let codeSize = 0\n// let nodeCount = 0\n\n// Compiles schema in SchemaEnv\nexport function compileSchema(this: Ajv, sch: SchemaEnv): SchemaEnv {\n // TODO refactor - remove compilations\n const _sch = getCompilingSchema.call(this, sch)\n if (_sch) return _sch\n const rootId = getFullPath(this.opts.uriResolver, sch.root.baseId) // TODO if getFullPath removed 1 tests fails\n const {es5, lines} = this.opts.code\n const {ownProperties} = this.opts\n const gen = new CodeGen(this.scope, {es5, lines, ownProperties})\n let _ValidationError\n if (sch.$async) {\n _ValidationError = gen.scopeValue(\"Error\", {\n ref: ValidationError,\n code: _`require(\"ajv/dist/runtime/validation_error\").default`,\n })\n }\n\n const validateName = gen.scopeName(\"validate\")\n sch.validateName = validateName\n\n const schemaCxt: SchemaCxt = {\n gen,\n allErrors: this.opts.allErrors,\n data: N.data,\n parentData: N.parentData,\n parentDataProperty: N.parentDataProperty,\n dataNames: [N.data],\n dataPathArr: [nil], // TODO can its length be used as dataLevel if nil is removed?\n dataLevel: 0,\n dataTypes: [],\n definedProperties: new Set(),\n topSchemaRef: gen.scopeValue(\n \"schema\",\n this.opts.code.source === true\n ? {ref: sch.schema, code: stringify(sch.schema)}\n : {ref: sch.schema}\n ),\n validateName,\n ValidationError: _ValidationError,\n schema: sch.schema,\n schemaEnv: sch,\n rootId,\n baseId: sch.baseId || rootId,\n schemaPath: nil,\n errSchemaPath: sch.schemaPath || (this.opts.jtd ? \"\" : \"#\"),\n errorPath: _`\"\"`,\n opts: this.opts,\n self: this,\n }\n\n let sourceCode: string | undefined\n try {\n this._compilations.add(sch)\n validateFunctionCode(schemaCxt)\n gen.optimize(this.opts.code.optimize)\n // gen.optimize(1)\n const validateCode = gen.toString()\n sourceCode = `${gen.scopeRefs(N.scope)}return ${validateCode}`\n // console.log((codeSize += sourceCode.length), (nodeCount += gen.nodeCount))\n if (this.opts.code.process) sourceCode = this.opts.code.process(sourceCode, sch)\n // console.log(\"\\n\\n\\n *** \\n\", sourceCode)\n const makeValidate = new Function(`${N.self}`, `${N.scope}`, sourceCode)\n const validate: AnyValidateFunction = makeValidate(this, this.scope.get())\n this.scope.value(validateName, {ref: validate})\n\n validate.errors = null\n validate.schema = sch.schema\n validate.schemaEnv = sch\n if (sch.$async) (validate as AsyncValidateFunction).$async = true\n if (this.opts.code.source === true) {\n validate.source = {validateName, validateCode, scopeValues: gen._values}\n }\n if (this.opts.unevaluated) {\n const {props, items} = schemaCxt\n validate.evaluated = {\n props: props instanceof Name ? undefined : props,\n items: items instanceof Name ? undefined : items,\n dynamicProps: props instanceof Name,\n dynamicItems: items instanceof Name,\n }\n if (validate.source) validate.source.evaluated = stringify(validate.evaluated)\n }\n sch.validate = validate\n return sch\n } catch (e) {\n delete sch.validate\n delete sch.validateName\n if (sourceCode) this.logger.error(\"Error compiling schema, function code:\", sourceCode)\n // console.log(\"\\n\\n\\n *** \\n\", sourceCode, this.opts)\n throw e\n } finally {\n this._compilations.delete(sch)\n }\n}\n\nexport function resolveRef(\n this: Ajv,\n root: SchemaEnv,\n baseId: string,\n ref: string\n): AnySchema | SchemaEnv | undefined {\n ref = resolveUrl(this.opts.uriResolver, baseId, ref)\n const schOrFunc = root.refs[ref]\n if (schOrFunc) return schOrFunc\n\n let _sch = resolve.call(this, root, ref)\n if (_sch === undefined) {\n const schema = root.localRefs?.[ref] // TODO maybe localRefs should hold SchemaEnv\n const {schemaId} = this.opts\n if (schema) _sch = new SchemaEnv({schema, schemaId, root, baseId})\n }\n\n if (_sch === undefined) return\n return (root.refs[ref] = inlineOrCompile.call(this, _sch))\n}\n\nfunction inlineOrCompile(this: Ajv, sch: SchemaEnv): AnySchema | SchemaEnv {\n if (inlineRef(sch.schema, this.opts.inlineRefs)) return sch.schema\n return sch.validate ? sch : compileSchema.call(this, sch)\n}\n\n// Index of schema compilation in the currently compiled list\nexport function getCompilingSchema(this: Ajv, schEnv: SchemaEnv): SchemaEnv | void {\n for (const sch of this._compilations) {\n if (sameSchemaEnv(sch, schEnv)) return sch\n }\n}\n\nfunction sameSchemaEnv(s1: SchemaEnv, s2: SchemaEnv): boolean {\n return s1.schema === s2.schema && s1.root === s2.root && s1.baseId === s2.baseId\n}\n\n// resolve and compile the references ($ref)\n// TODO returns AnySchemaObject (if the schema can be inlined) or validation function\nfunction resolve(\n this: Ajv,\n root: SchemaEnv, // information about the root schema for the current schema\n ref: string // reference to resolve\n): SchemaEnv | undefined {\n let sch\n while (typeof (sch = this.refs[ref]) == \"string\") ref = sch\n return sch || this.schemas[ref] || resolveSchema.call(this, root, ref)\n}\n\n// Resolve schema, its root and baseId\nexport function resolveSchema(\n this: Ajv,\n root: SchemaEnv, // root object with properties schema, refs TODO below SchemaEnv is assigned to it\n ref: string // reference to resolve\n): SchemaEnv | undefined {\n const p = this.opts.uriResolver.parse(ref)\n const refPath = _getFullPath(this.opts.uriResolver, p)\n let baseId = getFullPath(this.opts.uriResolver, root.baseId, undefined)\n // TODO `Object.keys(root.schema).length > 0` should not be needed - but removing breaks 2 tests\n if (Object.keys(root.schema).length > 0 && refPath === baseId) {\n return getJsonPointer.call(this, p, root)\n }\n\n const id = normalizeId(refPath)\n const schOrRef = this.refs[id] || this.schemas[id]\n if (typeof schOrRef == \"string\") {\n const sch = resolveSchema.call(this, root, schOrRef)\n if (typeof sch?.schema !== \"object\") return\n return getJsonPointer.call(this, p, sch)\n }\n\n if (typeof schOrRef?.schema !== \"object\") return\n if (!schOrRef.validate) compileSchema.call(this, schOrRef)\n if (id === normalizeId(ref)) {\n const {schema} = schOrRef\n const {schemaId} = this.opts\n const schId = schema[schemaId]\n if (schId) baseId = resolveUrl(this.opts.uriResolver, baseId, schId)\n return new SchemaEnv({schema, schemaId, root, baseId})\n }\n return getJsonPointer.call(this, p, schOrRef)\n}\n\nconst PREVENT_SCOPE_CHANGE = new Set([\n \"properties\",\n \"patternProperties\",\n \"enum\",\n \"dependencies\",\n \"definitions\",\n])\n\nfunction getJsonPointer(\n this: Ajv,\n parsedRef: URI.URIComponents,\n {baseId, schema, root}: SchemaEnv\n): SchemaEnv | undefined {\n if (parsedRef.fragment?.[0] !== \"/\") return\n for (const part of parsedRef.fragment.slice(1).split(\"/\")) {\n if (typeof schema === \"boolean\") return\n const partSchema = schema[unescapeFragment(part)]\n if (partSchema === undefined) return\n schema = partSchema\n // TODO PREVENT_SCOPE_CHANGE could be defined in keyword def?\n const schId = typeof schema === \"object\" && schema[this.opts.schemaId]\n if (!PREVENT_SCOPE_CHANGE.has(part) && schId) {\n baseId = resolveUrl(this.opts.uriResolver, baseId, schId)\n }\n }\n let env: SchemaEnv | undefined\n if (typeof schema != \"boolean\" && schema.$ref && !schemaHasRulesButRef(schema, this.RULES)) {\n const $ref = resolveUrl(this.opts.uriResolver, baseId, schema.$ref)\n env = resolveSchema.call(this, root, $ref)\n }\n // even though resolution failed we need to return SchemaEnv to throw exception\n // so that compileAsync loads missing schema.\n const {schemaId} = this.opts\n env = env || new SchemaEnv({schema, schemaId, root, baseId})\n if (env.schema !== env.root.schema) return env\n return undefined\n}\n","import {Name} from \"./codegen\"\n\nconst names = {\n // validation function arguments\n data: new Name(\"data\"), // data passed to validation function\n // args passed from referencing schema\n valCxt: new Name(\"valCxt\"), // validation/data context - should not be used directly, it is destructured to the names below\n instancePath: new Name(\"instancePath\"),\n parentData: new Name(\"parentData\"),\n parentDataProperty: new Name(\"parentDataProperty\"),\n rootData: new Name(\"rootData\"), // root data - same as the data passed to the first/top validation function\n dynamicAnchors: new Name(\"dynamicAnchors\"), // used to support recursiveRef and dynamicRef\n // function scoped variables\n vErrors: new Name(\"vErrors\"), // null or array of validation errors\n errors: new Name(\"errors\"), // counter of validation errors\n this: new Name(\"this\"),\n // \"globals\"\n self: new Name(\"self\"),\n scope: new Name(\"scope\"),\n // JTD serialize/parse name for JSON string and position\n json: new Name(\"json\"),\n jsonPos: new Name(\"jsonPos\"),\n jsonLen: new Name(\"jsonLen\"),\n jsonPart: new Name(\"jsonPart\"),\n}\n\nexport default names\n","import {resolveUrl, normalizeId, getFullPath} from \"./resolve\"\nimport type {UriResolver} from \"../types\"\n\nexport default class MissingRefError extends Error {\n readonly missingRef: string\n readonly missingSchema: string\n\n constructor(resolver: UriResolver, baseId: string, ref: string, msg?: string) {\n super(msg || `can't resolve reference ${ref} from id ${baseId}`)\n this.missingRef = resolveUrl(resolver, baseId, ref)\n this.missingSchema = normalizeId(getFullPath(resolver, this.missingRef))\n }\n}\n","import type {AnySchema, AnySchemaObject, UriResolver} from \"../types\"\nimport type Ajv from \"../ajv\"\nimport type {URIComponents} from \"uri-js\"\nimport {eachItem} from \"./util\"\nimport * as equal from \"fast-deep-equal\"\nimport * as traverse from \"json-schema-traverse\"\n\n// the hash of local references inside the schema (created by getSchemaRefs), used for inline resolution\nexport type LocalRefs = {[Ref in string]?: AnySchemaObject}\n\n// TODO refactor to use keyword definitions\nconst SIMPLE_INLINED = new Set([\n \"type\",\n \"format\",\n \"pattern\",\n \"maxLength\",\n \"minLength\",\n \"maxProperties\",\n \"minProperties\",\n \"maxItems\",\n \"minItems\",\n \"maximum\",\n \"minimum\",\n \"uniqueItems\",\n \"multipleOf\",\n \"required\",\n \"enum\",\n \"const\",\n])\n\nexport function inlineRef(schema: AnySchema, limit: boolean | number = true): boolean {\n if (typeof schema == \"boolean\") return true\n if (limit === true) return !hasRef(schema)\n if (!limit) return false\n return countKeys(schema) <= limit\n}\n\nconst REF_KEYWORDS = new Set([\n \"$ref\",\n \"$recursiveRef\",\n \"$recursiveAnchor\",\n \"$dynamicRef\",\n \"$dynamicAnchor\",\n])\n\nfunction hasRef(schema: AnySchemaObject): boolean {\n for (const key in schema) {\n if (REF_KEYWORDS.has(key)) return true\n const sch = schema[key]\n if (Array.isArray(sch) && sch.some(hasRef)) return true\n if (typeof sch == \"object\" && hasRef(sch)) return true\n }\n return false\n}\n\nfunction countKeys(schema: AnySchemaObject): number {\n let count = 0\n for (const key in schema) {\n if (key === \"$ref\") return Infinity\n count++\n if (SIMPLE_INLINED.has(key)) continue\n if (typeof schema[key] == \"object\") {\n eachItem(schema[key], (sch) => (count += countKeys(sch)))\n }\n if (count === Infinity) return Infinity\n }\n return count\n}\n\nexport function getFullPath(resolver: UriResolver, id = \"\", normalize?: boolean): string {\n if (normalize !== false) id = normalizeId(id)\n const p = resolver.parse(id)\n return _getFullPath(resolver, p)\n}\n\nexport function _getFullPath(resolver: UriResolver, p: URIComponents): string {\n const serialized = resolver.serialize(p)\n return serialized.split(\"#\")[0] + \"#\"\n}\n\nconst TRAILING_SLASH_HASH = /#\\/?$/\nexport function normalizeId(id: string | undefined): string {\n return id ? id.replace(TRAILING_SLASH_HASH, \"\") : \"\"\n}\n\nexport function resolveUrl(resolver: UriResolver, baseId: string, id: string): string {\n id = normalizeId(id)\n return resolver.resolve(baseId, id)\n}\n\nconst ANCHOR = /^[a-z_][-a-z0-9._]*$/i\n\nexport function getSchemaRefs(this: Ajv, schema: AnySchema, baseId: string): LocalRefs {\n if (typeof schema == \"boolean\") return {}\n const {schemaId, uriResolver} = this.opts\n const schId = normalizeId(schema[schemaId] || baseId)\n const baseIds: {[JsonPtr in string]?: string} = {\"\": schId}\n const pathPrefix = getFullPath(uriResolver, schId, false)\n const localRefs: LocalRefs = {}\n const schemaRefs: Set = new Set()\n\n traverse(schema, {allKeys: true}, (sch, jsonPtr, _, parentJsonPtr) => {\n if (parentJsonPtr === undefined) return\n const fullPath = pathPrefix + jsonPtr\n let baseId = baseIds[parentJsonPtr]\n if (typeof sch[schemaId] == \"string\") baseId = addRef.call(this, sch[schemaId])\n addAnchor.call(this, sch.$anchor)\n addAnchor.call(this, sch.$dynamicAnchor)\n baseIds[jsonPtr] = baseId\n\n function addRef(this: Ajv, ref: string): string {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const _resolve = this.opts.uriResolver.resolve\n ref = normalizeId(baseId ? _resolve(baseId, ref) : ref)\n if (schemaRefs.has(ref)) throw ambiguos(ref)\n schemaRefs.add(ref)\n let schOrRef = this.refs[ref]\n if (typeof schOrRef == \"string\") schOrRef = this.refs[schOrRef]\n if (typeof schOrRef == \"object\") {\n checkAmbiguosRef(sch, schOrRef.schema, ref)\n } else if (ref !== normalizeId(fullPath)) {\n if (ref[0] === \"#\") {\n checkAmbiguosRef(sch, localRefs[ref], ref)\n localRefs[ref] = sch\n } else {\n this.refs[ref] = fullPath\n }\n }\n return ref\n }\n\n function addAnchor(this: Ajv, anchor: unknown): void {\n if (typeof anchor == \"string\") {\n if (!ANCHOR.test(anchor)) throw new Error(`invalid anchor \"${anchor}\"`)\n addRef.call(this, `#${anchor}`)\n }\n }\n })\n\n return localRefs\n\n function checkAmbiguosRef(sch1: AnySchema, sch2: AnySchema | undefined, ref: string): void {\n if (sch2 !== undefined && !equal(sch1, sch2)) throw ambiguos(ref)\n }\n\n function ambiguos(ref: string): Error {\n return new Error(`reference \"${ref}\" resolves to more than one schema`)\n }\n}\n","import type {AddedKeywordDefinition} from \"../types\"\n\nconst _jsonTypes = [\"string\", \"number\", \"integer\", \"boolean\", \"null\", \"object\", \"array\"] as const\n\nexport type JSONType = typeof _jsonTypes[number]\n\nconst jsonTypes: Set = new Set(_jsonTypes)\n\nexport function isJSONType(x: unknown): x is JSONType {\n return typeof x == \"string\" && jsonTypes.has(x)\n}\n\ntype ValidationTypes = {\n [K in JSONType]: boolean | RuleGroup | undefined\n}\n\nexport interface ValidationRules {\n rules: RuleGroup[]\n post: RuleGroup\n all: {[Key in string]?: boolean | Rule} // rules that have to be validated\n keywords: {[Key in string]?: boolean} // all known keywords (superset of \"all\")\n types: ValidationTypes\n}\n\nexport interface RuleGroup {\n type?: JSONType\n rules: Rule[]\n}\n\n// This interface wraps KeywordDefinition because definition can have multiple keywords\nexport interface Rule {\n keyword: string\n definition: AddedKeywordDefinition\n}\n\nexport function getRules(): ValidationRules {\n const groups: Record<\"number\" | \"string\" | \"array\" | \"object\", RuleGroup> = {\n number: {type: \"number\", rules: []},\n string: {type: \"string\", rules: []},\n array: {type: \"array\", rules: []},\n object: {type: \"object\", rules: []},\n }\n return {\n types: {...groups, integer: true, boolean: true, null: true},\n rules: [{rules: []}, groups.number, groups.string, groups.array, groups.object],\n post: {rules: []},\n all: {},\n keywords: {},\n }\n}\n","import type {AnySchema, EvaluatedProperties, EvaluatedItems} from \"../types\"\nimport type {SchemaCxt, SchemaObjCxt} from \".\"\nimport {_, getProperty, Code, Name, CodeGen} from \"./codegen\"\nimport {_Code} from \"./codegen/code\"\nimport type {Rule, ValidationRules} from \"./rules\"\n\n// TODO refactor to use Set\nexport function toHash(arr: T[]): {[K in T]?: true} {\n const hash: {[K in T]?: true} = {}\n for (const item of arr) hash[item] = true\n return hash\n}\n\nexport function alwaysValidSchema(it: SchemaCxt, schema: AnySchema): boolean | void {\n if (typeof schema == \"boolean\") return schema\n if (Object.keys(schema).length === 0) return true\n checkUnknownRules(it, schema)\n return !schemaHasRules(schema, it.self.RULES.all)\n}\n\nexport function checkUnknownRules(it: SchemaCxt, schema: AnySchema = it.schema): void {\n const {opts, self} = it\n if (!opts.strictSchema) return\n if (typeof schema === \"boolean\") return\n const rules = self.RULES.keywords\n for (const key in schema) {\n if (!rules[key]) checkStrictMode(it, `unknown keyword: \"${key}\"`)\n }\n}\n\nexport function schemaHasRules(\n schema: AnySchema,\n rules: {[Key in string]?: boolean | Rule}\n): boolean {\n if (typeof schema == \"boolean\") return !schema\n for (const key in schema) if (rules[key]) return true\n return false\n}\n\nexport function schemaHasRulesButRef(schema: AnySchema, RULES: ValidationRules): boolean {\n if (typeof schema == \"boolean\") return !schema\n for (const key in schema) if (key !== \"$ref\" && RULES.all[key]) return true\n return false\n}\n\nexport function schemaRefOrVal(\n {topSchemaRef, schemaPath}: SchemaObjCxt,\n schema: unknown,\n keyword: string,\n $data?: string | false\n): Code | number | boolean {\n if (!$data) {\n if (typeof schema == \"number\" || typeof schema == \"boolean\") return schema\n if (typeof schema == \"string\") return _`${schema}`\n }\n return _`${topSchemaRef}${schemaPath}${getProperty(keyword)}`\n}\n\nexport function unescapeFragment(str: string): string {\n return unescapeJsonPointer(decodeURIComponent(str))\n}\n\nexport function escapeFragment(str: string | number): string {\n return encodeURIComponent(escapeJsonPointer(str))\n}\n\nexport function escapeJsonPointer(str: string | number): string {\n if (typeof str == \"number\") return `${str}`\n return str.replace(/~/g, \"~0\").replace(/\\//g, \"~1\")\n}\n\nexport function unescapeJsonPointer(str: string): string {\n return str.replace(/~1/g, \"/\").replace(/~0/g, \"~\")\n}\n\nexport function eachItem(xs: T | T[], f: (x: T) => void): void {\n if (Array.isArray(xs)) {\n for (const x of xs) f(x)\n } else {\n f(xs)\n }\n}\n\ntype SomeEvaluated = EvaluatedProperties | EvaluatedItems\n\ntype MergeEvaluatedFunc = (\n gen: CodeGen,\n from: Name | T,\n to: Name | Exclude | undefined,\n toName?: typeof Name\n) => Name | T\n\ninterface MakeMergeFuncArgs {\n mergeNames: (gen: CodeGen, from: Name, to: Name) => void\n mergeToName: (gen: CodeGen, from: T, to: Name) => void\n mergeValues: (from: T, to: Exclude) => T\n resultToName: (gen: CodeGen, res?: T) => Name\n}\n\nfunction makeMergeEvaluated({\n mergeNames,\n mergeToName,\n mergeValues,\n resultToName,\n}: MakeMergeFuncArgs): MergeEvaluatedFunc {\n return (gen, from, to, toName) => {\n const res =\n to === undefined\n ? from\n : to instanceof Name\n ? (from instanceof Name ? mergeNames(gen, from, to) : mergeToName(gen, from, to), to)\n : from instanceof Name\n ? (mergeToName(gen, to, from), from)\n : mergeValues(from, to)\n return toName === Name && !(res instanceof Name) ? resultToName(gen, res) : res\n }\n}\n\ninterface MergeEvaluated {\n props: MergeEvaluatedFunc\n items: MergeEvaluatedFunc\n}\n\nexport const mergeEvaluated: MergeEvaluated = {\n props: makeMergeEvaluated({\n mergeNames: (gen, from, to) =>\n gen.if(_`${to} !== true && ${from} !== undefined`, () => {\n gen.if(\n _`${from} === true`,\n () => gen.assign(to, true),\n () => gen.assign(to, _`${to} || {}`).code(_`Object.assign(${to}, ${from})`)\n )\n }),\n mergeToName: (gen, from, to) =>\n gen.if(_`${to} !== true`, () => {\n if (from === true) {\n gen.assign(to, true)\n } else {\n gen.assign(to, _`${to} || {}`)\n setEvaluated(gen, to, from)\n }\n }),\n mergeValues: (from, to) => (from === true ? true : {...from, ...to}),\n resultToName: evaluatedPropsToName,\n }),\n items: makeMergeEvaluated({\n mergeNames: (gen, from, to) =>\n gen.if(_`${to} !== true && ${from} !== undefined`, () =>\n gen.assign(to, _`${from} === true ? true : ${to} > ${from} ? ${to} : ${from}`)\n ),\n mergeToName: (gen, from, to) =>\n gen.if(_`${to} !== true`, () =>\n gen.assign(to, from === true ? true : _`${to} > ${from} ? ${to} : ${from}`)\n ),\n mergeValues: (from, to) => (from === true ? true : Math.max(from, to)),\n resultToName: (gen, items) => gen.var(\"items\", items),\n }),\n}\n\nexport function evaluatedPropsToName(gen: CodeGen, ps?: EvaluatedProperties): Name {\n if (ps === true) return gen.var(\"props\", true)\n const props = gen.var(\"props\", _`{}`)\n if (ps !== undefined) setEvaluated(gen, props, ps)\n return props\n}\n\nexport function setEvaluated(gen: CodeGen, props: Name, ps: {[K in string]?: true}): void {\n Object.keys(ps).forEach((p) => gen.assign(_`${props}${getProperty(p)}`, true))\n}\n\nconst snippets: {[S in string]?: _Code} = {}\n\nexport function useFunc(gen: CodeGen, f: {code: string}): Name {\n return gen.scopeValue(\"func\", {\n ref: f,\n code: snippets[f.code] || (snippets[f.code] = new _Code(f.code)),\n })\n}\n\nexport enum Type {\n Num,\n Str,\n}\n\nexport function getErrorPath(\n dataProp: Name | string | number,\n dataPropType?: Type,\n jsPropertySyntax?: boolean\n): Code | string {\n // let path\n if (dataProp instanceof Name) {\n const isNumber = dataPropType === Type.Num\n return jsPropertySyntax\n ? isNumber\n ? _`\"[\" + ${dataProp} + \"]\"`\n : _`\"['\" + ${dataProp} + \"']\"`\n : isNumber\n ? _`\"/\" + ${dataProp}`\n : _`\"/\" + ${dataProp}.replace(/~/g, \"~0\").replace(/\\\\//g, \"~1\")` // TODO maybe use global escapePointer\n }\n return jsPropertySyntax ? getProperty(dataProp).toString() : \"/\" + escapeJsonPointer(dataProp)\n}\n\nexport function checkStrictMode(\n it: SchemaCxt,\n msg: string,\n mode: boolean | \"log\" = it.opts.strictSchema\n): void {\n if (!mode) return\n msg = `strict mode: ${msg}`\n if (mode === true) throw new Error(msg)\n it.self.logger.warn(msg)\n}\n","import type {AnySchemaObject} from \"../../types\"\nimport type {SchemaObjCxt} from \"..\"\nimport type {JSONType, RuleGroup, Rule} from \"../rules\"\n\nexport function schemaHasRulesForType(\n {schema, self}: SchemaObjCxt,\n type: JSONType\n): boolean | undefined {\n const group = self.RULES.types[type]\n return group && group !== true && shouldUseGroup(schema, group)\n}\n\nexport function shouldUseGroup(schema: AnySchemaObject, group: RuleGroup): boolean {\n return group.rules.some((rule) => shouldUseRule(schema, rule))\n}\n\nexport function shouldUseRule(schema: AnySchemaObject, rule: Rule): boolean | undefined {\n return (\n schema[rule.keyword] !== undefined ||\n rule.definition.implements?.some((kwd) => schema[kwd] !== undefined)\n )\n}\n","import type {KeywordErrorDefinition, KeywordErrorCxt} from \"../../types\"\nimport type {SchemaCxt} from \"..\"\nimport {reportError} from \"../errors\"\nimport {_, Name} from \"../codegen\"\nimport N from \"../names\"\n\nconst boolError: KeywordErrorDefinition = {\n message: \"boolean schema is false\",\n}\n\nexport function topBoolOrEmptySchema(it: SchemaCxt): void {\n const {gen, schema, validateName} = it\n if (schema === false) {\n falseSchemaError(it, false)\n } else if (typeof schema == \"object\" && schema.$async === true) {\n gen.return(N.data)\n } else {\n gen.assign(_`${validateName}.errors`, null)\n gen.return(true)\n }\n}\n\nexport function boolOrEmptySchema(it: SchemaCxt, valid: Name): void {\n const {gen, schema} = it\n if (schema === false) {\n gen.var(valid, false) // TODO var\n falseSchemaError(it)\n } else {\n gen.var(valid, true) // TODO var\n }\n}\n\nfunction falseSchemaError(it: SchemaCxt, overrideAllErrors?: boolean): void {\n const {gen, data} = it\n // TODO maybe some other interface should be used for non-keyword validation errors...\n const cxt: KeywordErrorCxt = {\n gen,\n keyword: \"false schema\",\n data,\n schema: false,\n schemaCode: false,\n schemaValue: false,\n params: {},\n it,\n }\n reportError(cxt, boolError, undefined, overrideAllErrors)\n}\n","import type {\n KeywordErrorDefinition,\n KeywordErrorCxt,\n ErrorObject,\n AnySchemaObject,\n} from \"../../types\"\nimport type {SchemaObjCxt} from \"..\"\nimport {isJSONType, JSONType} from \"../rules\"\nimport {schemaHasRulesForType} from \"./applicability\"\nimport {reportError} from \"../errors\"\nimport {_, nil, and, not, operators, Code, Name} from \"../codegen\"\nimport {toHash, schemaRefOrVal} from \"../util\"\n\nexport enum DataType {\n Correct,\n Wrong,\n}\n\nexport function getSchemaTypes(schema: AnySchemaObject): JSONType[] {\n const types = getJSONTypes(schema.type)\n const hasNull = types.includes(\"null\")\n if (hasNull) {\n if (schema.nullable === false) throw new Error(\"type: null contradicts nullable: false\")\n } else {\n if (!types.length && schema.nullable !== undefined) {\n throw new Error('\"nullable\" cannot be used without \"type\"')\n }\n if (schema.nullable === true) types.push(\"null\")\n }\n return types\n}\n\nexport function getJSONTypes(ts: unknown | unknown[]): JSONType[] {\n const types: unknown[] = Array.isArray(ts) ? ts : ts ? [ts] : []\n if (types.every(isJSONType)) return types\n throw new Error(\"type must be JSONType or JSONType[]: \" + types.join(\",\"))\n}\n\nexport function coerceAndCheckDataType(it: SchemaObjCxt, types: JSONType[]): boolean {\n const {gen, data, opts} = it\n const coerceTo = coerceToTypes(types, opts.coerceTypes)\n const checkTypes =\n types.length > 0 &&\n !(coerceTo.length === 0 && types.length === 1 && schemaHasRulesForType(it, types[0]))\n if (checkTypes) {\n const wrongType = checkDataTypes(types, data, opts.strictNumbers, DataType.Wrong)\n gen.if(wrongType, () => {\n if (coerceTo.length) coerceData(it, types, coerceTo)\n else reportTypeError(it)\n })\n }\n return checkTypes\n}\n\nconst COERCIBLE: Set = new Set([\"string\", \"number\", \"integer\", \"boolean\", \"null\"])\nfunction coerceToTypes(types: JSONType[], coerceTypes?: boolean | \"array\"): JSONType[] {\n return coerceTypes\n ? types.filter((t) => COERCIBLE.has(t) || (coerceTypes === \"array\" && t === \"array\"))\n : []\n}\n\nfunction coerceData(it: SchemaObjCxt, types: JSONType[], coerceTo: JSONType[]): void {\n const {gen, data, opts} = it\n const dataType = gen.let(\"dataType\", _`typeof ${data}`)\n const coerced = gen.let(\"coerced\", _`undefined`)\n if (opts.coerceTypes === \"array\") {\n gen.if(_`${dataType} == 'object' && Array.isArray(${data}) && ${data}.length == 1`, () =>\n gen\n .assign(data, _`${data}[0]`)\n .assign(dataType, _`typeof ${data}`)\n .if(checkDataTypes(types, data, opts.strictNumbers), () => gen.assign(coerced, data))\n )\n }\n gen.if(_`${coerced} !== undefined`)\n for (const t of coerceTo) {\n if (COERCIBLE.has(t) || (t === \"array\" && opts.coerceTypes === \"array\")) {\n coerceSpecificType(t)\n }\n }\n gen.else()\n reportTypeError(it)\n gen.endIf()\n\n gen.if(_`${coerced} !== undefined`, () => {\n gen.assign(data, coerced)\n assignParentData(it, coerced)\n })\n\n function coerceSpecificType(t: string): void {\n switch (t) {\n case \"string\":\n gen\n .elseIf(_`${dataType} == \"number\" || ${dataType} == \"boolean\"`)\n .assign(coerced, _`\"\" + ${data}`)\n .elseIf(_`${data} === null`)\n .assign(coerced, _`\"\"`)\n return\n case \"number\":\n gen\n .elseIf(\n _`${dataType} == \"boolean\" || ${data} === null\n || (${dataType} == \"string\" && ${data} && ${data} == +${data})`\n )\n .assign(coerced, _`+${data}`)\n return\n case \"integer\":\n gen\n .elseIf(\n _`${dataType} === \"boolean\" || ${data} === null\n || (${dataType} === \"string\" && ${data} && ${data} == +${data} && !(${data} % 1))`\n )\n .assign(coerced, _`+${data}`)\n return\n case \"boolean\":\n gen\n .elseIf(_`${data} === \"false\" || ${data} === 0 || ${data} === null`)\n .assign(coerced, false)\n .elseIf(_`${data} === \"true\" || ${data} === 1`)\n .assign(coerced, true)\n return\n case \"null\":\n gen.elseIf(_`${data} === \"\" || ${data} === 0 || ${data} === false`)\n gen.assign(coerced, null)\n return\n\n case \"array\":\n gen\n .elseIf(\n _`${dataType} === \"string\" || ${dataType} === \"number\"\n || ${dataType} === \"boolean\" || ${data} === null`\n )\n .assign(coerced, _`[${data}]`)\n }\n }\n}\n\nfunction assignParentData({gen, parentData, parentDataProperty}: SchemaObjCxt, expr: Name): void {\n // TODO use gen.property\n gen.if(_`${parentData} !== undefined`, () =>\n gen.assign(_`${parentData}[${parentDataProperty}]`, expr)\n )\n}\n\nexport function checkDataType(\n dataType: JSONType,\n data: Name,\n strictNums?: boolean | \"log\",\n correct = DataType.Correct\n): Code {\n const EQ = correct === DataType.Correct ? operators.EQ : operators.NEQ\n let cond: Code\n switch (dataType) {\n case \"null\":\n return _`${data} ${EQ} null`\n case \"array\":\n cond = _`Array.isArray(${data})`\n break\n case \"object\":\n cond = _`${data} && typeof ${data} == \"object\" && !Array.isArray(${data})`\n break\n case \"integer\":\n cond = numCond(_`!(${data} % 1) && !isNaN(${data})`)\n break\n case \"number\":\n cond = numCond()\n break\n default:\n return _`typeof ${data} ${EQ} ${dataType}`\n }\n return correct === DataType.Correct ? cond : not(cond)\n\n function numCond(_cond: Code = nil): Code {\n return and(_`typeof ${data} == \"number\"`, _cond, strictNums ? _`isFinite(${data})` : nil)\n }\n}\n\nexport function checkDataTypes(\n dataTypes: JSONType[],\n data: Name,\n strictNums?: boolean | \"log\",\n correct?: DataType\n): Code {\n if (dataTypes.length === 1) {\n return checkDataType(dataTypes[0], data, strictNums, correct)\n }\n let cond: Code\n const types = toHash(dataTypes)\n if (types.array && types.object) {\n const notObj = _`typeof ${data} != \"object\"`\n cond = types.null ? notObj : _`!${data} || ${notObj}`\n delete types.null\n delete types.array\n delete types.object\n } else {\n cond = nil\n }\n if (types.number) delete types.integer\n for (const t in types) cond = and(cond, checkDataType(t as JSONType, data, strictNums, correct))\n return cond\n}\n\nexport type TypeError = ErrorObject<\"type\", {type: string}>\n\nconst typeError: KeywordErrorDefinition = {\n message: ({schema}) => `must be ${schema}`,\n params: ({schema, schemaValue}) =>\n typeof schema == \"string\" ? _`{type: ${schema}}` : _`{type: ${schemaValue}}`,\n}\n\nexport function reportTypeError(it: SchemaObjCxt): void {\n const cxt = getTypeErrorContext(it)\n reportError(cxt, typeError)\n}\n\nfunction getTypeErrorContext(it: SchemaObjCxt): KeywordErrorCxt {\n const {gen, data, schema} = it\n const schemaCode = schemaRefOrVal(it, schema, \"type\")\n return {\n gen,\n keyword: \"type\",\n data,\n schema: schema.type,\n schemaCode,\n schemaValue: schemaCode,\n parentSchema: schema,\n params: {},\n it,\n }\n}\n","import type {SchemaObjCxt} from \"..\"\nimport {_, getProperty, stringify} from \"../codegen\"\nimport {checkStrictMode} from \"../util\"\n\nexport function assignDefaults(it: SchemaObjCxt, ty?: string): void {\n const {properties, items} = it.schema\n if (ty === \"object\" && properties) {\n for (const key in properties) {\n assignDefault(it, key, properties[key].default)\n }\n } else if (ty === \"array\" && Array.isArray(items)) {\n items.forEach((sch, i: number) => assignDefault(it, i, sch.default))\n }\n}\n\nfunction assignDefault(it: SchemaObjCxt, prop: string | number, defaultValue: unknown): void {\n const {gen, compositeRule, data, opts} = it\n if (defaultValue === undefined) return\n const childData = _`${data}${getProperty(prop)}`\n if (compositeRule) {\n checkStrictMode(it, `default is ignored for: ${childData}`)\n return\n }\n\n let condition = _`${childData} === undefined`\n if (opts.useDefaults === \"empty\") {\n condition = _`${condition} || ${childData} === null || ${childData} === \"\"`\n }\n // `${childData} === undefined` +\n // (opts.useDefaults === \"empty\" ? ` || ${childData} === null || ${childData} === \"\"` : \"\")\n gen.if(condition, _`${childData} = ${stringify(defaultValue)}`)\n}\n","import type {\n AddedKeywordDefinition,\n AnySchema,\n AnySchemaObject,\n KeywordErrorCxt,\n KeywordCxtParams,\n} from \"../../types\"\nimport type {SchemaCxt, SchemaObjCxt} from \"..\"\nimport type {InstanceOptions} from \"../../core\"\nimport {boolOrEmptySchema, topBoolOrEmptySchema} from \"./boolSchema\"\nimport {coerceAndCheckDataType, getSchemaTypes} from \"./dataType\"\nimport {shouldUseGroup, shouldUseRule} from \"./applicability\"\nimport {checkDataType, checkDataTypes, reportTypeError, DataType} from \"./dataType\"\nimport {assignDefaults} from \"./defaults\"\nimport {funcKeywordCode, macroKeywordCode, validateKeywordUsage, validSchemaType} from \"./keyword\"\nimport {getSubschema, extendSubschemaData, SubschemaArgs, extendSubschemaMode} from \"./subschema\"\nimport {_, nil, str, or, not, getProperty, Block, Code, Name, CodeGen} from \"../codegen\"\nimport N from \"../names\"\nimport {resolveUrl} from \"../resolve\"\nimport {\n schemaRefOrVal,\n schemaHasRulesButRef,\n checkUnknownRules,\n checkStrictMode,\n unescapeJsonPointer,\n mergeEvaluated,\n} from \"../util\"\nimport type {JSONType, Rule, RuleGroup} from \"../rules\"\nimport {\n ErrorPaths,\n reportError,\n reportExtraError,\n resetErrorsCount,\n keyword$DataError,\n} from \"../errors\"\n\n// schema compilation - generates validation function, subschemaCode (below) is used for subschemas\nexport function validateFunctionCode(it: SchemaCxt): void {\n if (isSchemaObj(it)) {\n checkKeywords(it)\n if (schemaCxtHasRules(it)) {\n topSchemaObjCode(it)\n return\n }\n }\n validateFunction(it, () => topBoolOrEmptySchema(it))\n}\n\nfunction validateFunction(\n {gen, validateName, schema, schemaEnv, opts}: SchemaCxt,\n body: Block\n): void {\n if (opts.code.es5) {\n gen.func(validateName, _`${N.data}, ${N.valCxt}`, schemaEnv.$async, () => {\n gen.code(_`\"use strict\"; ${funcSourceUrl(schema, opts)}`)\n destructureValCxtES5(gen, opts)\n gen.code(body)\n })\n } else {\n gen.func(validateName, _`${N.data}, ${destructureValCxt(opts)}`, schemaEnv.$async, () =>\n gen.code(funcSourceUrl(schema, opts)).code(body)\n )\n }\n}\n\nfunction destructureValCxt(opts: InstanceOptions): Code {\n return _`{${N.instancePath}=\"\", ${N.parentData}, ${N.parentDataProperty}, ${N.rootData}=${\n N.data\n }${opts.dynamicRef ? _`, ${N.dynamicAnchors}={}` : nil}}={}`\n}\n\nfunction destructureValCxtES5(gen: CodeGen, opts: InstanceOptions): void {\n gen.if(\n N.valCxt,\n () => {\n gen.var(N.instancePath, _`${N.valCxt}.${N.instancePath}`)\n gen.var(N.parentData, _`${N.valCxt}.${N.parentData}`)\n gen.var(N.parentDataProperty, _`${N.valCxt}.${N.parentDataProperty}`)\n gen.var(N.rootData, _`${N.valCxt}.${N.rootData}`)\n if (opts.dynamicRef) gen.var(N.dynamicAnchors, _`${N.valCxt}.${N.dynamicAnchors}`)\n },\n () => {\n gen.var(N.instancePath, _`\"\"`)\n gen.var(N.parentData, _`undefined`)\n gen.var(N.parentDataProperty, _`undefined`)\n gen.var(N.rootData, N.data)\n if (opts.dynamicRef) gen.var(N.dynamicAnchors, _`{}`)\n }\n )\n}\n\nfunction topSchemaObjCode(it: SchemaObjCxt): void {\n const {schema, opts, gen} = it\n validateFunction(it, () => {\n if (opts.$comment && schema.$comment) commentKeyword(it)\n checkNoDefault(it)\n gen.let(N.vErrors, null)\n gen.let(N.errors, 0)\n if (opts.unevaluated) resetEvaluated(it)\n typeAndKeywords(it)\n returnResults(it)\n })\n return\n}\n\nfunction resetEvaluated(it: SchemaObjCxt): void {\n // TODO maybe some hook to execute it in the end to check whether props/items are Name, as in assignEvaluated\n const {gen, validateName} = it\n it.evaluated = gen.const(\"evaluated\", _`${validateName}.evaluated`)\n gen.if(_`${it.evaluated}.dynamicProps`, () => gen.assign(_`${it.evaluated}.props`, _`undefined`))\n gen.if(_`${it.evaluated}.dynamicItems`, () => gen.assign(_`${it.evaluated}.items`, _`undefined`))\n}\n\nfunction funcSourceUrl(schema: AnySchema, opts: InstanceOptions): Code {\n const schId = typeof schema == \"object\" && schema[opts.schemaId]\n return schId && (opts.code.source || opts.code.process) ? _`/*# sourceURL=${schId} */` : nil\n}\n\n// schema compilation - this function is used recursively to generate code for sub-schemas\nfunction subschemaCode(it: SchemaCxt, valid: Name): void {\n if (isSchemaObj(it)) {\n checkKeywords(it)\n if (schemaCxtHasRules(it)) {\n subSchemaObjCode(it, valid)\n return\n }\n }\n boolOrEmptySchema(it, valid)\n}\n\nfunction schemaCxtHasRules({schema, self}: SchemaCxt): boolean {\n if (typeof schema == \"boolean\") return !schema\n for (const key in schema) if (self.RULES.all[key]) return true\n return false\n}\n\nfunction isSchemaObj(it: SchemaCxt): it is SchemaObjCxt {\n return typeof it.schema != \"boolean\"\n}\n\nfunction subSchemaObjCode(it: SchemaObjCxt, valid: Name): void {\n const {schema, gen, opts} = it\n if (opts.$comment && schema.$comment) commentKeyword(it)\n updateContext(it)\n checkAsyncSchema(it)\n const errsCount = gen.const(\"_errs\", N.errors)\n typeAndKeywords(it, errsCount)\n // TODO var\n gen.var(valid, _`${errsCount} === ${N.errors}`)\n}\n\nfunction checkKeywords(it: SchemaObjCxt): void {\n checkUnknownRules(it)\n checkRefsAndKeywords(it)\n}\n\nfunction typeAndKeywords(it: SchemaObjCxt, errsCount?: Name): void {\n if (it.opts.jtd) return schemaKeywords(it, [], false, errsCount)\n const types = getSchemaTypes(it.schema)\n const checkedTypes = coerceAndCheckDataType(it, types)\n schemaKeywords(it, types, !checkedTypes, errsCount)\n}\n\nfunction checkRefsAndKeywords(it: SchemaObjCxt): void {\n const {schema, errSchemaPath, opts, self} = it\n if (schema.$ref && opts.ignoreKeywordsWithRef && schemaHasRulesButRef(schema, self.RULES)) {\n self.logger.warn(`$ref: keywords ignored in schema at path \"${errSchemaPath}\"`)\n }\n}\n\nfunction checkNoDefault(it: SchemaObjCxt): void {\n const {schema, opts} = it\n if (schema.default !== undefined && opts.useDefaults && opts.strictSchema) {\n checkStrictMode(it, \"default is ignored in the schema root\")\n }\n}\n\nfunction updateContext(it: SchemaObjCxt): void {\n const schId = it.schema[it.opts.schemaId]\n if (schId) it.baseId = resolveUrl(it.opts.uriResolver, it.baseId, schId)\n}\n\nfunction checkAsyncSchema(it: SchemaObjCxt): void {\n if (it.schema.$async && !it.schemaEnv.$async) throw new Error(\"async schema in sync schema\")\n}\n\nfunction commentKeyword({gen, schemaEnv, schema, errSchemaPath, opts}: SchemaObjCxt): void {\n const msg = schema.$comment\n if (opts.$comment === true) {\n gen.code(_`${N.self}.logger.log(${msg})`)\n } else if (typeof opts.$comment == \"function\") {\n const schemaPath = str`${errSchemaPath}/$comment`\n const rootName = gen.scopeValue(\"root\", {ref: schemaEnv.root})\n gen.code(_`${N.self}.opts.$comment(${msg}, ${schemaPath}, ${rootName}.schema)`)\n }\n}\n\nfunction returnResults(it: SchemaCxt): void {\n const {gen, schemaEnv, validateName, ValidationError, opts} = it\n if (schemaEnv.$async) {\n // TODO assign unevaluated\n gen.if(\n _`${N.errors} === 0`,\n () => gen.return(N.data),\n () => gen.throw(_`new ${ValidationError as Name}(${N.vErrors})`)\n )\n } else {\n gen.assign(_`${validateName}.errors`, N.vErrors)\n if (opts.unevaluated) assignEvaluated(it)\n gen.return(_`${N.errors} === 0`)\n }\n}\n\nfunction assignEvaluated({gen, evaluated, props, items}: SchemaCxt): void {\n if (props instanceof Name) gen.assign(_`${evaluated}.props`, props)\n if (items instanceof Name) gen.assign(_`${evaluated}.items`, items)\n}\n\nfunction schemaKeywords(\n it: SchemaObjCxt,\n types: JSONType[],\n typeErrors: boolean,\n errsCount?: Name\n): void {\n const {gen, schema, data, allErrors, opts, self} = it\n const {RULES} = self\n if (schema.$ref && (opts.ignoreKeywordsWithRef || !schemaHasRulesButRef(schema, RULES))) {\n gen.block(() => keywordCode(it, \"$ref\", (RULES.all.$ref as Rule).definition)) // TODO typecast\n return\n }\n if (!opts.jtd) checkStrictTypes(it, types)\n gen.block(() => {\n for (const group of RULES.rules) groupKeywords(group)\n groupKeywords(RULES.post)\n })\n\n function groupKeywords(group: RuleGroup): void {\n if (!shouldUseGroup(schema, group)) return\n if (group.type) {\n gen.if(checkDataType(group.type, data, opts.strictNumbers))\n iterateKeywords(it, group)\n if (types.length === 1 && types[0] === group.type && typeErrors) {\n gen.else()\n reportTypeError(it)\n }\n gen.endIf()\n } else {\n iterateKeywords(it, group)\n }\n // TODO make it \"ok\" call?\n if (!allErrors) gen.if(_`${N.errors} === ${errsCount || 0}`)\n }\n}\n\nfunction iterateKeywords(it: SchemaObjCxt, group: RuleGroup): void {\n const {\n gen,\n schema,\n opts: {useDefaults},\n } = it\n if (useDefaults) assignDefaults(it, group.type)\n gen.block(() => {\n for (const rule of group.rules) {\n if (shouldUseRule(schema, rule)) {\n keywordCode(it, rule.keyword, rule.definition, group.type)\n }\n }\n })\n}\n\nfunction checkStrictTypes(it: SchemaObjCxt, types: JSONType[]): void {\n if (it.schemaEnv.meta || !it.opts.strictTypes) return\n checkContextTypes(it, types)\n if (!it.opts.allowUnionTypes) checkMultipleTypes(it, types)\n checkKeywordTypes(it, it.dataTypes)\n}\n\nfunction checkContextTypes(it: SchemaObjCxt, types: JSONType[]): void {\n if (!types.length) return\n if (!it.dataTypes.length) {\n it.dataTypes = types\n return\n }\n types.forEach((t) => {\n if (!includesType(it.dataTypes, t)) {\n strictTypesError(it, `type \"${t}\" not allowed by context \"${it.dataTypes.join(\",\")}\"`)\n }\n })\n narrowSchemaTypes(it, types)\n}\n\nfunction checkMultipleTypes(it: SchemaObjCxt, ts: JSONType[]): void {\n if (ts.length > 1 && !(ts.length === 2 && ts.includes(\"null\"))) {\n strictTypesError(it, \"use allowUnionTypes to allow union type keyword\")\n }\n}\n\nfunction checkKeywordTypes(it: SchemaObjCxt, ts: JSONType[]): void {\n const rules = it.self.RULES.all\n for (const keyword in rules) {\n const rule = rules[keyword]\n if (typeof rule == \"object\" && shouldUseRule(it.schema, rule)) {\n const {type} = rule.definition\n if (type.length && !type.some((t) => hasApplicableType(ts, t))) {\n strictTypesError(it, `missing type \"${type.join(\",\")}\" for keyword \"${keyword}\"`)\n }\n }\n }\n}\n\nfunction hasApplicableType(schTs: JSONType[], kwdT: JSONType): boolean {\n return schTs.includes(kwdT) || (kwdT === \"number\" && schTs.includes(\"integer\"))\n}\n\nfunction includesType(ts: JSONType[], t: JSONType): boolean {\n return ts.includes(t) || (t === \"integer\" && ts.includes(\"number\"))\n}\n\nfunction narrowSchemaTypes(it: SchemaObjCxt, withTypes: JSONType[]): void {\n const ts: JSONType[] = []\n for (const t of it.dataTypes) {\n if (includesType(withTypes, t)) ts.push(t)\n else if (withTypes.includes(\"integer\") && t === \"number\") ts.push(\"integer\")\n }\n it.dataTypes = ts\n}\n\nfunction strictTypesError(it: SchemaObjCxt, msg: string): void {\n const schemaPath = it.schemaEnv.baseId + it.errSchemaPath\n msg += ` at \"${schemaPath}\" (strictTypes)`\n checkStrictMode(it, msg, it.opts.strictTypes)\n}\n\nexport class KeywordCxt implements KeywordErrorCxt {\n readonly gen: CodeGen\n readonly allErrors?: boolean\n readonly keyword: string\n readonly data: Name // Name referencing the current level of the data instance\n readonly $data?: string | false\n schema: any // keyword value in the schema\n readonly schemaValue: Code | number | boolean // Code reference to keyword schema value or primitive value\n readonly schemaCode: Code | number | boolean // Code reference to resolved schema value (different if schema is $data)\n readonly schemaType: JSONType[] // allowed type(s) of keyword value in the schema\n readonly parentSchema: AnySchemaObject\n readonly errsCount?: Name // Name reference to the number of validation errors collected before this keyword,\n // requires option trackErrors in keyword definition\n params: KeywordCxtParams // object to pass parameters to error messages from keyword code\n readonly it: SchemaObjCxt // schema compilation context (schema is guaranteed to be an object, not boolean)\n readonly def: AddedKeywordDefinition\n\n constructor(it: SchemaObjCxt, def: AddedKeywordDefinition, keyword: string) {\n validateKeywordUsage(it, def, keyword)\n this.gen = it.gen\n this.allErrors = it.allErrors\n this.keyword = keyword\n this.data = it.data\n this.schema = it.schema[keyword]\n this.$data = def.$data && it.opts.$data && this.schema && this.schema.$data\n this.schemaValue = schemaRefOrVal(it, this.schema, keyword, this.$data)\n this.schemaType = def.schemaType\n this.parentSchema = it.schema\n this.params = {}\n this.it = it\n this.def = def\n\n if (this.$data) {\n this.schemaCode = it.gen.const(\"vSchema\", getData(this.$data, it))\n } else {\n this.schemaCode = this.schemaValue\n if (!validSchemaType(this.schema, def.schemaType, def.allowUndefined)) {\n throw new Error(`${keyword} value must be ${JSON.stringify(def.schemaType)}`)\n }\n }\n\n if (\"code\" in def ? def.trackErrors : def.errors !== false) {\n this.errsCount = it.gen.const(\"_errs\", N.errors)\n }\n }\n\n result(condition: Code, successAction?: () => void, failAction?: () => void): void {\n this.failResult(not(condition), successAction, failAction)\n }\n\n failResult(condition: Code, successAction?: () => void, failAction?: () => void): void {\n this.gen.if(condition)\n if (failAction) failAction()\n else this.error()\n if (successAction) {\n this.gen.else()\n successAction()\n if (this.allErrors) this.gen.endIf()\n } else {\n if (this.allErrors) this.gen.endIf()\n else this.gen.else()\n }\n }\n\n pass(condition: Code, failAction?: () => void): void {\n this.failResult(not(condition), undefined, failAction)\n }\n\n fail(condition?: Code): void {\n if (condition === undefined) {\n this.error()\n if (!this.allErrors) this.gen.if(false) // this branch will be removed by gen.optimize\n return\n }\n this.gen.if(condition)\n this.error()\n if (this.allErrors) this.gen.endIf()\n else this.gen.else()\n }\n\n fail$data(condition: Code): void {\n if (!this.$data) return this.fail(condition)\n const {schemaCode} = this\n this.fail(_`${schemaCode} !== undefined && (${or(this.invalid$data(), condition)})`)\n }\n\n error(append?: boolean, errorParams?: KeywordCxtParams, errorPaths?: ErrorPaths): void {\n if (errorParams) {\n this.setParams(errorParams)\n this._error(append, errorPaths)\n this.setParams({})\n return\n }\n this._error(append, errorPaths)\n }\n\n private _error(append?: boolean, errorPaths?: ErrorPaths): void {\n ;(append ? reportExtraError : reportError)(this, this.def.error, errorPaths)\n }\n\n $dataError(): void {\n reportError(this, this.def.$dataError || keyword$DataError)\n }\n\n reset(): void {\n if (this.errsCount === undefined) throw new Error('add \"trackErrors\" to keyword definition')\n resetErrorsCount(this.gen, this.errsCount)\n }\n\n ok(cond: Code | boolean): void {\n if (!this.allErrors) this.gen.if(cond)\n }\n\n setParams(obj: KeywordCxtParams, assign?: true): void {\n if (assign) Object.assign(this.params, obj)\n else this.params = obj\n }\n\n block$data(valid: Name, codeBlock: () => void, $dataValid: Code = nil): void {\n this.gen.block(() => {\n this.check$data(valid, $dataValid)\n codeBlock()\n })\n }\n\n check$data(valid: Name = nil, $dataValid: Code = nil): void {\n if (!this.$data) return\n const {gen, schemaCode, schemaType, def} = this\n gen.if(or(_`${schemaCode} === undefined`, $dataValid))\n if (valid !== nil) gen.assign(valid, true)\n if (schemaType.length || def.validateSchema) {\n gen.elseIf(this.invalid$data())\n this.$dataError()\n if (valid !== nil) gen.assign(valid, false)\n }\n gen.else()\n }\n\n invalid$data(): Code {\n const {gen, schemaCode, schemaType, def, it} = this\n return or(wrong$DataType(), invalid$DataSchema())\n\n function wrong$DataType(): Code {\n if (schemaType.length) {\n /* istanbul ignore if */\n if (!(schemaCode instanceof Name)) throw new Error(\"ajv implementation error\")\n const st = Array.isArray(schemaType) ? schemaType : [schemaType]\n return _`${checkDataTypes(st, schemaCode, it.opts.strictNumbers, DataType.Wrong)}`\n }\n return nil\n }\n\n function invalid$DataSchema(): Code {\n if (def.validateSchema) {\n const validateSchemaRef = gen.scopeValue(\"validate$data\", {ref: def.validateSchema}) // TODO value.code for standalone\n return _`!${validateSchemaRef}(${schemaCode})`\n }\n return nil\n }\n }\n\n subschema(appl: SubschemaArgs, valid: Name): SchemaCxt {\n const subschema = getSubschema(this.it, appl)\n extendSubschemaData(subschema, this.it, appl)\n extendSubschemaMode(subschema, appl)\n const nextContext = {...this.it, ...subschema, items: undefined, props: undefined}\n subschemaCode(nextContext, valid)\n return nextContext\n }\n\n mergeEvaluated(schemaCxt: SchemaCxt, toName?: typeof Name): void {\n const {it, gen} = this\n if (!it.opts.unevaluated) return\n if (it.props !== true && schemaCxt.props !== undefined) {\n it.props = mergeEvaluated.props(gen, schemaCxt.props, it.props, toName)\n }\n if (it.items !== true && schemaCxt.items !== undefined) {\n it.items = mergeEvaluated.items(gen, schemaCxt.items, it.items, toName)\n }\n }\n\n mergeValidEvaluated(schemaCxt: SchemaCxt, valid: Name): boolean | void {\n const {it, gen} = this\n if (it.opts.unevaluated && (it.props !== true || it.items !== true)) {\n gen.if(valid, () => this.mergeEvaluated(schemaCxt, Name))\n return true\n }\n }\n}\n\nfunction keywordCode(\n it: SchemaObjCxt,\n keyword: string,\n def: AddedKeywordDefinition,\n ruleType?: JSONType\n): void {\n const cxt = new KeywordCxt(it, def, keyword)\n if (\"code\" in def) {\n def.code(cxt, ruleType)\n } else if (cxt.$data && def.validate) {\n funcKeywordCode(cxt, def)\n } else if (\"macro\" in def) {\n macroKeywordCode(cxt, def)\n } else if (def.compile || def.validate) {\n funcKeywordCode(cxt, def)\n }\n}\n\nconst JSON_POINTER = /^\\/(?:[^~]|~0|~1)*$/\nconst RELATIVE_JSON_POINTER = /^([0-9]+)(#|\\/(?:[^~]|~0|~1)*)?$/\nexport function getData(\n $data: string,\n {dataLevel, dataNames, dataPathArr}: SchemaCxt\n): Code | number {\n let jsonPointer\n let data: Code\n if ($data === \"\") return N.rootData\n if ($data[0] === \"/\") {\n if (!JSON_POINTER.test($data)) throw new Error(`Invalid JSON-pointer: ${$data}`)\n jsonPointer = $data\n data = N.rootData\n } else {\n const matches = RELATIVE_JSON_POINTER.exec($data)\n if (!matches) throw new Error(`Invalid JSON-pointer: ${$data}`)\n const up: number = +matches[1]\n jsonPointer = matches[2]\n if (jsonPointer === \"#\") {\n if (up >= dataLevel) throw new Error(errorMsg(\"property/index\", up))\n return dataPathArr[dataLevel - up]\n }\n if (up > dataLevel) throw new Error(errorMsg(\"data\", up))\n data = dataNames[dataLevel - up]\n if (!jsonPointer) return data\n }\n\n let expr = data\n const segments = jsonPointer.split(\"/\")\n for (const segment of segments) {\n if (segment) {\n data = _`${data}${getProperty(unescapeJsonPointer(segment))}`\n expr = _`${expr} && ${data}`\n }\n }\n return expr\n\n function errorMsg(pointerType: string, up: number): string {\n return `Cannot access ${pointerType} ${up} levels up, current level is ${dataLevel}`\n }\n}\n","import type {KeywordCxt} from \".\"\nimport type {\n AnySchema,\n SchemaValidateFunction,\n AnyValidateFunction,\n AddedKeywordDefinition,\n MacroKeywordDefinition,\n FuncKeywordDefinition,\n} from \"../../types\"\nimport type {SchemaObjCxt} from \"..\"\nimport {_, nil, not, stringify, Code, Name, CodeGen} from \"../codegen\"\nimport N from \"../names\"\nimport type {JSONType} from \"../rules\"\nimport {callValidateCode} from \"../../vocabularies/code\"\nimport {extendErrors} from \"../errors\"\n\ntype KeywordCompilationResult = AnySchema | SchemaValidateFunction | AnyValidateFunction\n\nexport function macroKeywordCode(cxt: KeywordCxt, def: MacroKeywordDefinition): void {\n const {gen, keyword, schema, parentSchema, it} = cxt\n const macroSchema = def.macro.call(it.self, schema, parentSchema, it)\n const schemaRef = useKeyword(gen, keyword, macroSchema)\n if (it.opts.validateSchema !== false) it.self.validateSchema(macroSchema, true)\n\n const valid = gen.name(\"valid\")\n cxt.subschema(\n {\n schema: macroSchema,\n schemaPath: nil,\n errSchemaPath: `${it.errSchemaPath}/${keyword}`,\n topSchemaRef: schemaRef,\n compositeRule: true,\n },\n valid\n )\n cxt.pass(valid, () => cxt.error(true))\n}\n\nexport function funcKeywordCode(cxt: KeywordCxt, def: FuncKeywordDefinition): void {\n const {gen, keyword, schema, parentSchema, $data, it} = cxt\n checkAsyncKeyword(it, def)\n const validate =\n !$data && def.compile ? def.compile.call(it.self, schema, parentSchema, it) : def.validate\n const validateRef = useKeyword(gen, keyword, validate)\n const valid = gen.let(\"valid\")\n cxt.block$data(valid, validateKeyword)\n cxt.ok(def.valid ?? valid)\n\n function validateKeyword(): void {\n if (def.errors === false) {\n assignValid()\n if (def.modifying) modifyData(cxt)\n reportErrs(() => cxt.error())\n } else {\n const ruleErrs = def.async ? validateAsync() : validateSync()\n if (def.modifying) modifyData(cxt)\n reportErrs(() => addErrs(cxt, ruleErrs))\n }\n }\n\n function validateAsync(): Name {\n const ruleErrs = gen.let(\"ruleErrs\", null)\n gen.try(\n () => assignValid(_`await `),\n (e) =>\n gen.assign(valid, false).if(\n _`${e} instanceof ${it.ValidationError as Name}`,\n () => gen.assign(ruleErrs, _`${e}.errors`),\n () => gen.throw(e)\n )\n )\n return ruleErrs\n }\n\n function validateSync(): Code {\n const validateErrs = _`${validateRef}.errors`\n gen.assign(validateErrs, null)\n assignValid(nil)\n return validateErrs\n }\n\n function assignValid(_await: Code = def.async ? _`await ` : nil): void {\n const passCxt = it.opts.passContext ? N.this : N.self\n const passSchema = !((\"compile\" in def && !$data) || def.schema === false)\n gen.assign(\n valid,\n _`${_await}${callValidateCode(cxt, validateRef, passCxt, passSchema)}`,\n def.modifying\n )\n }\n\n function reportErrs(errors: () => void): void {\n gen.if(not(def.valid ?? valid), errors)\n }\n}\n\nfunction modifyData(cxt: KeywordCxt): void {\n const {gen, data, it} = cxt\n gen.if(it.parentData, () => gen.assign(data, _`${it.parentData}[${it.parentDataProperty}]`))\n}\n\nfunction addErrs(cxt: KeywordCxt, errs: Code): void {\n const {gen} = cxt\n gen.if(\n _`Array.isArray(${errs})`,\n () => {\n gen\n .assign(N.vErrors, _`${N.vErrors} === null ? ${errs} : ${N.vErrors}.concat(${errs})`)\n .assign(N.errors, _`${N.vErrors}.length`)\n extendErrors(cxt)\n },\n () => cxt.error()\n )\n}\n\nfunction checkAsyncKeyword({schemaEnv}: SchemaObjCxt, def: FuncKeywordDefinition): void {\n if (def.async && !schemaEnv.$async) throw new Error(\"async keyword in sync schema\")\n}\n\nfunction useKeyword(gen: CodeGen, keyword: string, result?: KeywordCompilationResult): Name {\n if (result === undefined) throw new Error(`keyword \"${keyword}\" failed to compile`)\n return gen.scopeValue(\n \"keyword\",\n typeof result == \"function\" ? {ref: result} : {ref: result, code: stringify(result)}\n )\n}\n\nexport function validSchemaType(\n schema: unknown,\n schemaType: JSONType[],\n allowUndefined = false\n): boolean {\n // TODO add tests\n return (\n !schemaType.length ||\n schemaType.some((st) =>\n st === \"array\"\n ? Array.isArray(schema)\n : st === \"object\"\n ? schema && typeof schema == \"object\" && !Array.isArray(schema)\n : typeof schema == st || (allowUndefined && typeof schema == \"undefined\")\n )\n )\n}\n\nexport function validateKeywordUsage(\n {schema, opts, self, errSchemaPath}: SchemaObjCxt,\n def: AddedKeywordDefinition,\n keyword: string\n): void {\n /* istanbul ignore if */\n if (Array.isArray(def.keyword) ? !def.keyword.includes(keyword) : def.keyword !== keyword) {\n throw new Error(\"ajv implementation error\")\n }\n\n const deps = def.dependencies\n if (deps?.some((kwd) => !Object.prototype.hasOwnProperty.call(schema, kwd))) {\n throw new Error(`parent schema must have dependencies of ${keyword}: ${deps.join(\",\")}`)\n }\n\n if (def.validateSchema) {\n const valid = def.validateSchema(schema[keyword])\n if (!valid) {\n const msg =\n `keyword \"${keyword}\" value is invalid at path \"${errSchemaPath}\": ` +\n self.errorsText(def.validateSchema.errors)\n if (opts.validateSchema === \"log\") self.logger.error(msg)\n else throw new Error(msg)\n }\n }\n}\n","import type {AnySchema} from \"../../types\"\nimport type {SchemaObjCxt} from \"..\"\nimport {_, str, getProperty, Code, Name} from \"../codegen\"\nimport {escapeFragment, getErrorPath, Type} from \"../util\"\nimport type {JSONType} from \"../rules\"\n\nexport interface SubschemaContext {\n // TODO use Optional? align with SchemCxt property types\n schema: AnySchema\n schemaPath: Code\n errSchemaPath: string\n topSchemaRef?: Code\n errorPath?: Code\n dataLevel?: number\n dataTypes?: JSONType[]\n data?: Name\n parentData?: Name\n parentDataProperty?: Code | number\n dataNames?: Name[]\n dataPathArr?: (Code | number)[]\n propertyName?: Name\n jtdDiscriminator?: string\n jtdMetadata?: boolean\n compositeRule?: true\n createErrors?: boolean\n allErrors?: boolean\n}\n\nexport type SubschemaArgs = Partial<{\n keyword: string\n schemaProp: string | number\n schema: AnySchema\n schemaPath: Code\n errSchemaPath: string\n topSchemaRef: Code\n data: Name | Code\n dataProp: Code | string | number\n dataTypes: JSONType[]\n definedProperties: Set\n propertyName: Name\n dataPropType: Type\n jtdDiscriminator: string\n jtdMetadata: boolean\n compositeRule: true\n createErrors: boolean\n allErrors: boolean\n}>\n\nexport function getSubschema(\n it: SchemaObjCxt,\n {keyword, schemaProp, schema, schemaPath, errSchemaPath, topSchemaRef}: SubschemaArgs\n): SubschemaContext {\n if (keyword !== undefined && schema !== undefined) {\n throw new Error('both \"keyword\" and \"schema\" passed, only one allowed')\n }\n\n if (keyword !== undefined) {\n const sch = it.schema[keyword]\n return schemaProp === undefined\n ? {\n schema: sch,\n schemaPath: _`${it.schemaPath}${getProperty(keyword)}`,\n errSchemaPath: `${it.errSchemaPath}/${keyword}`,\n }\n : {\n schema: sch[schemaProp],\n schemaPath: _`${it.schemaPath}${getProperty(keyword)}${getProperty(schemaProp)}`,\n errSchemaPath: `${it.errSchemaPath}/${keyword}/${escapeFragment(schemaProp)}`,\n }\n }\n\n if (schema !== undefined) {\n if (schemaPath === undefined || errSchemaPath === undefined || topSchemaRef === undefined) {\n throw new Error('\"schemaPath\", \"errSchemaPath\" and \"topSchemaRef\" are required with \"schema\"')\n }\n return {\n schema,\n schemaPath,\n topSchemaRef,\n errSchemaPath,\n }\n }\n\n throw new Error('either \"keyword\" or \"schema\" must be passed')\n}\n\nexport function extendSubschemaData(\n subschema: SubschemaContext,\n it: SchemaObjCxt,\n {dataProp, dataPropType: dpType, data, dataTypes, propertyName}: SubschemaArgs\n): void {\n if (data !== undefined && dataProp !== undefined) {\n throw new Error('both \"data\" and \"dataProp\" passed, only one allowed')\n }\n\n const {gen} = it\n\n if (dataProp !== undefined) {\n const {errorPath, dataPathArr, opts} = it\n const nextData = gen.let(\"data\", _`${it.data}${getProperty(dataProp)}`, true)\n dataContextProps(nextData)\n subschema.errorPath = str`${errorPath}${getErrorPath(dataProp, dpType, opts.jsPropertySyntax)}`\n subschema.parentDataProperty = _`${dataProp}`\n subschema.dataPathArr = [...dataPathArr, subschema.parentDataProperty]\n }\n\n if (data !== undefined) {\n const nextData = data instanceof Name ? data : gen.let(\"data\", data, true) // replaceable if used once?\n dataContextProps(nextData)\n if (propertyName !== undefined) subschema.propertyName = propertyName\n // TODO something is possibly wrong here with not changing parentDataProperty and not appending dataPathArr\n }\n\n if (dataTypes) subschema.dataTypes = dataTypes\n\n function dataContextProps(_nextData: Name): void {\n subschema.data = _nextData\n subschema.dataLevel = it.dataLevel + 1\n subschema.dataTypes = []\n it.definedProperties = new Set()\n subschema.parentData = it.data\n subschema.dataNames = [...it.dataNames, _nextData]\n }\n}\n\nexport function extendSubschemaMode(\n subschema: SubschemaContext,\n {jtdDiscriminator, jtdMetadata, compositeRule, createErrors, allErrors}: SubschemaArgs\n): void {\n if (compositeRule !== undefined) subschema.compositeRule = compositeRule\n if (createErrors !== undefined) subschema.createErrors = createErrors\n if (allErrors !== undefined) subschema.allErrors = allErrors\n subschema.jtdDiscriminator = jtdDiscriminator // not inherited\n subschema.jtdMetadata = jtdMetadata // not inherited\n}\n","export {\n Format,\n FormatDefinition,\n AsyncFormatDefinition,\n KeywordDefinition,\n KeywordErrorDefinition,\n CodeKeywordDefinition,\n MacroKeywordDefinition,\n FuncKeywordDefinition,\n Vocabulary,\n Schema,\n SchemaObject,\n AnySchemaObject,\n AsyncSchema,\n AnySchema,\n ValidateFunction,\n AsyncValidateFunction,\n AnyValidateFunction,\n ErrorObject,\n ErrorNoParams,\n} from \"./types\"\n\nexport {SchemaCxt, SchemaObjCxt} from \"./compile\"\nexport interface Plugin {\n (ajv: Ajv, options?: Opts): Ajv\n [prop: string]: any\n}\n\nexport {KeywordCxt} from \"./compile/validate\"\nexport {DefinedError} from \"./vocabularies/errors\"\nexport {JSONType} from \"./compile/rules\"\nexport {JSONSchemaType} from \"./types/json-schema\"\nexport {JTDSchemaType, SomeJTDSchemaType, JTDDataType} from \"./types/jtd-schema\"\nexport {_, str, stringify, nil, Name, Code, CodeGen, CodeGenOptions} from \"./compile/codegen\"\n\nimport type {\n Schema,\n AnySchema,\n AnySchemaObject,\n SchemaObject,\n AsyncSchema,\n Vocabulary,\n KeywordDefinition,\n AddedKeywordDefinition,\n AnyValidateFunction,\n ValidateFunction,\n AsyncValidateFunction,\n ErrorObject,\n Format,\n AddedFormat,\n RegExpEngine,\n UriResolver,\n} from \"./types\"\nimport type {JSONSchemaType} from \"./types/json-schema\"\nimport type {JTDSchemaType, SomeJTDSchemaType, JTDDataType} from \"./types/jtd-schema\"\nimport ValidationError from \"./runtime/validation_error\"\nimport MissingRefError from \"./compile/ref_error\"\nimport {getRules, ValidationRules, Rule, RuleGroup, JSONType} from \"./compile/rules\"\nimport {SchemaEnv, compileSchema, resolveSchema} from \"./compile\"\nimport {Code, ValueScope} from \"./compile/codegen\"\nimport {normalizeId, getSchemaRefs} from \"./compile/resolve\"\nimport {getJSONTypes} from \"./compile/validate/dataType\"\nimport {eachItem} from \"./compile/util\"\nimport * as $dataRefSchema from \"./refs/data.json\"\n\nimport DefaultUriResolver from \"./runtime/uri\"\n\nconst defaultRegExp: RegExpEngine = (str, flags) => new RegExp(str, flags)\ndefaultRegExp.code = \"new RegExp\"\n\nconst META_IGNORE_OPTIONS: (keyof Options)[] = [\"removeAdditional\", \"useDefaults\", \"coerceTypes\"]\nconst EXT_SCOPE_NAMES = new Set([\n \"validate\",\n \"serialize\",\n \"parse\",\n \"wrapper\",\n \"root\",\n \"schema\",\n \"keyword\",\n \"pattern\",\n \"formats\",\n \"validate$data\",\n \"func\",\n \"obj\",\n \"Error\",\n])\n\nexport type Options = CurrentOptions & DeprecatedOptions\n\nexport interface CurrentOptions {\n // strict mode options (NEW)\n strict?: boolean | \"log\"\n strictSchema?: boolean | \"log\"\n strictNumbers?: boolean | \"log\"\n strictTypes?: boolean | \"log\"\n strictTuples?: boolean | \"log\"\n strictRequired?: boolean | \"log\"\n allowMatchingProperties?: boolean // disables a strict mode restriction\n allowUnionTypes?: boolean\n validateFormats?: boolean\n // validation and reporting options:\n $data?: boolean\n allErrors?: boolean\n verbose?: boolean\n discriminator?: boolean\n unicodeRegExp?: boolean\n timestamp?: \"string\" | \"date\" // JTD only\n parseDate?: boolean // JTD only\n allowDate?: boolean // JTD only\n $comment?:\n | true\n | ((comment: string, schemaPath?: string, rootSchema?: AnySchemaObject) => unknown)\n formats?: {[Name in string]?: Format}\n keywords?: Vocabulary\n schemas?: AnySchema[] | {[Key in string]?: AnySchema}\n logger?: Logger | false\n loadSchema?: (uri: string) => Promise\n // options to modify validated data:\n removeAdditional?: boolean | \"all\" | \"failing\"\n useDefaults?: boolean | \"empty\"\n coerceTypes?: boolean | \"array\"\n // advanced options:\n next?: boolean // NEW\n unevaluated?: boolean // NEW\n dynamicRef?: boolean // NEW\n schemaId?: \"id\" | \"$id\"\n jtd?: boolean // NEW\n meta?: SchemaObject | boolean\n defaultMeta?: string | AnySchemaObject\n validateSchema?: boolean | \"log\"\n addUsedSchema?: boolean\n inlineRefs?: boolean | number\n passContext?: boolean\n loopRequired?: number\n loopEnum?: number // NEW\n ownProperties?: boolean\n multipleOfPrecision?: number\n int32range?: boolean // JTD only\n messages?: boolean\n code?: CodeOptions // NEW\n uriResolver?: UriResolver\n}\n\nexport interface CodeOptions {\n es5?: boolean\n esm?: boolean\n lines?: boolean\n optimize?: boolean | number\n formats?: Code // code to require (or construct) map of available formats - for standalone code\n source?: boolean\n process?: (code: string, schema?: SchemaEnv) => string\n regExp?: RegExpEngine\n}\n\ninterface InstanceCodeOptions extends CodeOptions {\n regExp: RegExpEngine\n optimize: number\n}\n\ninterface DeprecatedOptions {\n /** @deprecated */\n ignoreKeywordsWithRef?: boolean\n /** @deprecated */\n jsPropertySyntax?: boolean // added instead of jsonPointers\n /** @deprecated */\n unicode?: boolean\n}\n\ninterface RemovedOptions {\n format?: boolean\n errorDataPath?: \"object\" | \"property\"\n nullable?: boolean // \"nullable\" keyword is supported by default\n jsonPointers?: boolean\n extendRefs?: true | \"ignore\" | \"fail\"\n missingRefs?: true | \"ignore\" | \"fail\"\n processCode?: (code: string, schema?: SchemaEnv) => string\n sourceCode?: boolean\n strictDefaults?: boolean\n strictKeywords?: boolean\n uniqueItems?: boolean\n unknownFormats?: true | string[] | \"ignore\"\n cache?: any\n serialize?: (schema: AnySchema) => unknown\n ajvErrors?: boolean\n}\n\ntype OptionsInfo = {\n [K in keyof T]-?: string | undefined\n}\n\nconst removedOptions: OptionsInfo = {\n errorDataPath: \"\",\n format: \"`validateFormats: false` can be used instead.\",\n nullable: '\"nullable\" keyword is supported by default.',\n jsonPointers: \"Deprecated jsPropertySyntax can be used instead.\",\n extendRefs: \"Deprecated ignoreKeywordsWithRef can be used instead.\",\n missingRefs: \"Pass empty schema with $id that should be ignored to ajv.addSchema.\",\n processCode: \"Use option `code: {process: (code, schemaEnv: object) => string}`\",\n sourceCode: \"Use option `code: {source: true}`\",\n strictDefaults: \"It is default now, see option `strict`.\",\n strictKeywords: \"It is default now, see option `strict`.\",\n uniqueItems: '\"uniqueItems\" keyword is always validated.',\n unknownFormats: \"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).\",\n cache: \"Map is used as cache, schema object as key.\",\n serialize: \"Map is used as cache, schema object as key.\",\n ajvErrors: \"It is default now.\",\n}\n\nconst deprecatedOptions: OptionsInfo = {\n ignoreKeywordsWithRef: \"\",\n jsPropertySyntax: \"\",\n unicode: '\"minLength\"/\"maxLength\" account for unicode characters by default.',\n}\n\ntype RequiredInstanceOptions = {\n [K in\n | \"strictSchema\"\n | \"strictNumbers\"\n | \"strictTypes\"\n | \"strictTuples\"\n | \"strictRequired\"\n | \"inlineRefs\"\n | \"loopRequired\"\n | \"loopEnum\"\n | \"meta\"\n | \"messages\"\n | \"schemaId\"\n | \"addUsedSchema\"\n | \"validateSchema\"\n | \"validateFormats\"\n | \"int32range\"\n | \"unicodeRegExp\"\n | \"uriResolver\"]: NonNullable\n} & {code: InstanceCodeOptions}\n\nexport type InstanceOptions = Options & RequiredInstanceOptions\n\nconst MAX_EXPRESSION = 200\n\n// eslint-disable-next-line complexity\nfunction requiredOptions(o: Options): RequiredInstanceOptions {\n const s = o.strict\n const _optz = o.code?.optimize\n const optimize = _optz === true || _optz === undefined ? 1 : _optz || 0\n const regExp = o.code?.regExp ?? defaultRegExp\n const uriResolver = o.uriResolver ?? DefaultUriResolver\n return {\n strictSchema: o.strictSchema ?? s ?? true,\n strictNumbers: o.strictNumbers ?? s ?? true,\n strictTypes: o.strictTypes ?? s ?? \"log\",\n strictTuples: o.strictTuples ?? s ?? \"log\",\n strictRequired: o.strictRequired ?? s ?? false,\n code: o.code ? {...o.code, optimize, regExp} : {optimize, regExp},\n loopRequired: o.loopRequired ?? MAX_EXPRESSION,\n loopEnum: o.loopEnum ?? MAX_EXPRESSION,\n meta: o.meta ?? true,\n messages: o.messages ?? true,\n inlineRefs: o.inlineRefs ?? true,\n schemaId: o.schemaId ?? \"$id\",\n addUsedSchema: o.addUsedSchema ?? true,\n validateSchema: o.validateSchema ?? true,\n validateFormats: o.validateFormats ?? true,\n unicodeRegExp: o.unicodeRegExp ?? true,\n int32range: o.int32range ?? true,\n uriResolver: uriResolver,\n }\n}\n\nexport interface Logger {\n log(...args: unknown[]): unknown\n warn(...args: unknown[]): unknown\n error(...args: unknown[]): unknown\n}\n\nexport default class Ajv {\n opts: InstanceOptions\n errors?: ErrorObject[] | null // errors from the last validation\n logger: Logger\n // shared external scope values for compiled functions\n readonly scope: ValueScope\n readonly schemas: {[Key in string]?: SchemaEnv} = {}\n readonly refs: {[Ref in string]?: SchemaEnv | string} = {}\n readonly formats: {[Name in string]?: AddedFormat} = {}\n readonly RULES: ValidationRules\n readonly _compilations: Set = new Set()\n private readonly _loading: {[Ref in string]?: Promise} = {}\n private readonly _cache: Map = new Map()\n private readonly _metaOpts: InstanceOptions\n\n static ValidationError = ValidationError\n static MissingRefError = MissingRefError\n\n constructor(opts: Options = {}) {\n opts = this.opts = {...opts, ...requiredOptions(opts)}\n const {es5, lines} = this.opts.code\n\n this.scope = new ValueScope({scope: {}, prefixes: EXT_SCOPE_NAMES, es5, lines})\n this.logger = getLogger(opts.logger)\n const formatOpt = opts.validateFormats\n opts.validateFormats = false\n\n this.RULES = getRules()\n checkOptions.call(this, removedOptions, opts, \"NOT SUPPORTED\")\n checkOptions.call(this, deprecatedOptions, opts, \"DEPRECATED\", \"warn\")\n this._metaOpts = getMetaSchemaOptions.call(this)\n\n if (opts.formats) addInitialFormats.call(this)\n this._addVocabularies()\n this._addDefaultMetaSchema()\n if (opts.keywords) addInitialKeywords.call(this, opts.keywords)\n if (typeof opts.meta == \"object\") this.addMetaSchema(opts.meta)\n addInitialSchemas.call(this)\n opts.validateFormats = formatOpt\n }\n\n _addVocabularies(): void {\n this.addKeyword(\"$async\")\n }\n\n _addDefaultMetaSchema(): void {\n const {$data, meta, schemaId} = this.opts\n let _dataRefSchema: SchemaObject = $dataRefSchema\n if (schemaId === \"id\") {\n _dataRefSchema = {...$dataRefSchema}\n _dataRefSchema.id = _dataRefSchema.$id\n delete _dataRefSchema.$id\n }\n if (meta && $data) this.addMetaSchema(_dataRefSchema, _dataRefSchema[schemaId], false)\n }\n\n defaultMeta(): string | AnySchemaObject | undefined {\n const {meta, schemaId} = this.opts\n return (this.opts.defaultMeta = typeof meta == \"object\" ? meta[schemaId] || meta : undefined)\n }\n\n // Validate data using schema\n // AnySchema will be compiled and cached using schema itself as a key for Map\n validate(schema: Schema | string, data: unknown): boolean\n validate(schemaKeyRef: AnySchema | string, data: unknown): boolean | Promise\n validate(schema: Schema | JSONSchemaType | string, data: unknown): data is T\n // Separated for type inference to work\n // eslint-disable-next-line @typescript-eslint/unified-signatures\n validate(schema: JTDSchemaType, data: unknown): data is T\n // This overload is only intended for typescript inference, the first\n // argument prevents manual type annotation from matching this overload\n validate(\n schema: T,\n data: unknown\n ): data is JTDDataType\n validate(schema: AsyncSchema, data: unknown | T): Promise\n validate(schemaKeyRef: AnySchema | string, data: unknown): data is T | Promise\n validate(\n schemaKeyRef: AnySchema | string, // key, ref or schema object\n data: unknown | T // to be validated\n ): boolean | Promise {\n let v: AnyValidateFunction | undefined\n if (typeof schemaKeyRef == \"string\") {\n v = this.getSchema(schemaKeyRef)\n if (!v) throw new Error(`no schema with key or ref \"${schemaKeyRef}\"`)\n } else {\n v = this.compile(schemaKeyRef)\n }\n\n const valid = v(data)\n if (!(\"$async\" in v)) this.errors = v.errors\n return valid\n }\n\n // Create validation function for passed schema\n // _meta: true if schema is a meta-schema. Used internally to compile meta schemas of user-defined keywords.\n compile(schema: Schema | JSONSchemaType, _meta?: boolean): ValidateFunction\n // Separated for type inference to work\n // eslint-disable-next-line @typescript-eslint/unified-signatures\n compile(schema: JTDSchemaType, _meta?: boolean): ValidateFunction\n // This overload is only intended for typescript inference, the first\n // argument prevents manual type annotation from matching this overload\n compile(\n schema: T,\n _meta?: boolean\n ): ValidateFunction>\n compile(schema: AsyncSchema, _meta?: boolean): AsyncValidateFunction\n compile(schema: AnySchema, _meta?: boolean): AnyValidateFunction\n compile(schema: AnySchema, _meta?: boolean): AnyValidateFunction {\n const sch = this._addSchema(schema, _meta)\n return (sch.validate || this._compileSchemaEnv(sch)) as AnyValidateFunction\n }\n\n // Creates validating function for passed schema with asynchronous loading of missing schemas.\n // `loadSchema` option should be a function that accepts schema uri and returns promise that resolves with the schema.\n // TODO allow passing schema URI\n // meta - optional true to compile meta-schema\n compileAsync(\n schema: SchemaObject | JSONSchemaType,\n _meta?: boolean\n ): Promise>\n // Separated for type inference to work\n // eslint-disable-next-line @typescript-eslint/unified-signatures\n compileAsync(schema: JTDSchemaType, _meta?: boolean): Promise>\n compileAsync(schema: AsyncSchema, meta?: boolean): Promise>\n // eslint-disable-next-line @typescript-eslint/unified-signatures\n compileAsync(\n schema: AnySchemaObject,\n meta?: boolean\n ): Promise>\n compileAsync(\n schema: AnySchemaObject,\n meta?: boolean\n ): Promise> {\n if (typeof this.opts.loadSchema != \"function\") {\n throw new Error(\"options.loadSchema should be a function\")\n }\n const {loadSchema} = this.opts\n return runCompileAsync.call(this, schema, meta)\n\n async function runCompileAsync(\n this: Ajv,\n _schema: AnySchemaObject,\n _meta?: boolean\n ): Promise {\n await loadMetaSchema.call(this, _schema.$schema)\n const sch = this._addSchema(_schema, _meta)\n return sch.validate || _compileAsync.call(this, sch)\n }\n\n async function loadMetaSchema(this: Ajv, $ref?: string): Promise {\n if ($ref && !this.getSchema($ref)) {\n await runCompileAsync.call(this, {$ref}, true)\n }\n }\n\n async function _compileAsync(this: Ajv, sch: SchemaEnv): Promise {\n try {\n return this._compileSchemaEnv(sch)\n } catch (e) {\n if (!(e instanceof MissingRefError)) throw e\n checkLoaded.call(this, e)\n await loadMissingSchema.call(this, e.missingSchema)\n return _compileAsync.call(this, sch)\n }\n }\n\n function checkLoaded(this: Ajv, {missingSchema: ref, missingRef}: MissingRefError): void {\n if (this.refs[ref]) {\n throw new Error(`AnySchema ${ref} is loaded but ${missingRef} cannot be resolved`)\n }\n }\n\n async function loadMissingSchema(this: Ajv, ref: string): Promise {\n const _schema = await _loadSchema.call(this, ref)\n if (!this.refs[ref]) await loadMetaSchema.call(this, _schema.$schema)\n if (!this.refs[ref]) this.addSchema(_schema, ref, meta)\n }\n\n async function _loadSchema(this: Ajv, ref: string): Promise {\n const p = this._loading[ref]\n if (p) return p\n try {\n return await (this._loading[ref] = loadSchema(ref))\n } finally {\n delete this._loading[ref]\n }\n }\n }\n\n // Adds schema to the instance\n addSchema(\n schema: AnySchema | AnySchema[], // If array is passed, `key` will be ignored\n key?: string, // Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`.\n _meta?: boolean, // true if schema is a meta-schema. Used internally, addMetaSchema should be used instead.\n _validateSchema = this.opts.validateSchema // false to skip schema validation. Used internally, option validateSchema should be used instead.\n ): Ajv {\n if (Array.isArray(schema)) {\n for (const sch of schema) this.addSchema(sch, undefined, _meta, _validateSchema)\n return this\n }\n let id: string | undefined\n if (typeof schema === \"object\") {\n const {schemaId} = this.opts\n id = schema[schemaId]\n if (id !== undefined && typeof id != \"string\") {\n throw new Error(`schema ${schemaId} must be string`)\n }\n }\n key = normalizeId(key || id)\n this._checkUnique(key)\n this.schemas[key] = this._addSchema(schema, _meta, key, _validateSchema, true)\n return this\n }\n\n // Add schema that will be used to validate other schemas\n // options in META_IGNORE_OPTIONS are alway set to false\n addMetaSchema(\n schema: AnySchemaObject,\n key?: string, // schema key\n _validateSchema = this.opts.validateSchema // false to skip schema validation, can be used to override validateSchema option for meta-schema\n ): Ajv {\n this.addSchema(schema, key, true, _validateSchema)\n return this\n }\n\n // Validate schema against its meta-schema\n validateSchema(schema: AnySchema, throwOrLogError?: boolean): boolean | Promise {\n if (typeof schema == \"boolean\") return true\n let $schema: string | AnySchemaObject | undefined\n $schema = schema.$schema\n if ($schema !== undefined && typeof $schema != \"string\") {\n throw new Error(\"$schema must be a string\")\n }\n $schema = $schema || this.opts.defaultMeta || this.defaultMeta()\n if (!$schema) {\n this.logger.warn(\"meta-schema not available\")\n this.errors = null\n return true\n }\n const valid = this.validate($schema, schema)\n if (!valid && throwOrLogError) {\n const message = \"schema is invalid: \" + this.errorsText()\n if (this.opts.validateSchema === \"log\") this.logger.error(message)\n else throw new Error(message)\n }\n return valid\n }\n\n // Get compiled schema by `key` or `ref`.\n // (`key` that was passed to `addSchema` or full schema reference - `schema.$id` or resolved id)\n getSchema(keyRef: string): AnyValidateFunction | undefined {\n let sch\n while (typeof (sch = getSchEnv.call(this, keyRef)) == \"string\") keyRef = sch\n if (sch === undefined) {\n const {schemaId} = this.opts\n const root = new SchemaEnv({schema: {}, schemaId})\n sch = resolveSchema.call(this, root, keyRef)\n if (!sch) return\n this.refs[keyRef] = sch\n }\n return (sch.validate || this._compileSchemaEnv(sch)) as AnyValidateFunction | undefined\n }\n\n // Remove cached schema(s).\n // If no parameter is passed all schemas but meta-schemas are removed.\n // If RegExp is passed all schemas with key/id matching pattern but meta-schemas are removed.\n // Even if schema is referenced by other schemas it still can be removed as other schemas have local references.\n removeSchema(schemaKeyRef?: AnySchema | string | RegExp): Ajv {\n if (schemaKeyRef instanceof RegExp) {\n this._removeAllSchemas(this.schemas, schemaKeyRef)\n this._removeAllSchemas(this.refs, schemaKeyRef)\n return this\n }\n switch (typeof schemaKeyRef) {\n case \"undefined\":\n this._removeAllSchemas(this.schemas)\n this._removeAllSchemas(this.refs)\n this._cache.clear()\n return this\n case \"string\": {\n const sch = getSchEnv.call(this, schemaKeyRef)\n if (typeof sch == \"object\") this._cache.delete(sch.schema)\n delete this.schemas[schemaKeyRef]\n delete this.refs[schemaKeyRef]\n return this\n }\n case \"object\": {\n const cacheKey = schemaKeyRef\n this._cache.delete(cacheKey)\n let id = schemaKeyRef[this.opts.schemaId]\n if (id) {\n id = normalizeId(id)\n delete this.schemas[id]\n delete this.refs[id]\n }\n return this\n }\n default:\n throw new Error(\"ajv.removeSchema: invalid parameter\")\n }\n }\n\n // add \"vocabulary\" - a collection of keywords\n addVocabulary(definitions: Vocabulary): Ajv {\n for (const def of definitions) this.addKeyword(def)\n return this\n }\n\n addKeyword(\n kwdOrDef: string | KeywordDefinition,\n def?: KeywordDefinition // deprecated\n ): Ajv {\n let keyword: string | string[]\n if (typeof kwdOrDef == \"string\") {\n keyword = kwdOrDef\n if (typeof def == \"object\") {\n this.logger.warn(\"these parameters are deprecated, see docs for addKeyword\")\n def.keyword = keyword\n }\n } else if (typeof kwdOrDef == \"object\" && def === undefined) {\n def = kwdOrDef\n keyword = def.keyword\n if (Array.isArray(keyword) && !keyword.length) {\n throw new Error(\"addKeywords: keyword must be string or non-empty array\")\n }\n } else {\n throw new Error(\"invalid addKeywords parameters\")\n }\n\n checkKeyword.call(this, keyword, def)\n if (!def) {\n eachItem(keyword, (kwd) => addRule.call(this, kwd))\n return this\n }\n keywordMetaschema.call(this, def)\n const definition: AddedKeywordDefinition = {\n ...def,\n type: getJSONTypes(def.type),\n schemaType: getJSONTypes(def.schemaType),\n }\n eachItem(\n keyword,\n definition.type.length === 0\n ? (k) => addRule.call(this, k, definition)\n : (k) => definition.type.forEach((t) => addRule.call(this, k, definition, t))\n )\n return this\n }\n\n getKeyword(keyword: string): AddedKeywordDefinition | boolean {\n const rule = this.RULES.all[keyword]\n return typeof rule == \"object\" ? rule.definition : !!rule\n }\n\n // Remove keyword\n removeKeyword(keyword: string): Ajv {\n // TODO return type should be Ajv\n const {RULES} = this\n delete RULES.keywords[keyword]\n delete RULES.all[keyword]\n for (const group of RULES.rules) {\n const i = group.rules.findIndex((rule) => rule.keyword === keyword)\n if (i >= 0) group.rules.splice(i, 1)\n }\n return this\n }\n\n // Add format\n addFormat(name: string, format: Format): Ajv {\n if (typeof format == \"string\") format = new RegExp(format)\n this.formats[name] = format\n return this\n }\n\n errorsText(\n errors: ErrorObject[] | null | undefined = this.errors, // optional array of validation errors\n {separator = \", \", dataVar = \"data\"}: ErrorsTextOptions = {} // optional options with properties `separator` and `dataVar`\n ): string {\n if (!errors || errors.length === 0) return \"No errors\"\n return errors\n .map((e) => `${dataVar}${e.instancePath} ${e.message}`)\n .reduce((text, msg) => text + separator + msg)\n }\n\n $dataMetaSchema(metaSchema: AnySchemaObject, keywordsJsonPointers: string[]): AnySchemaObject {\n const rules = this.RULES.all\n metaSchema = JSON.parse(JSON.stringify(metaSchema))\n for (const jsonPointer of keywordsJsonPointers) {\n const segments = jsonPointer.split(\"/\").slice(1) // first segment is an empty string\n let keywords = metaSchema\n for (const seg of segments) keywords = keywords[seg] as AnySchemaObject\n\n for (const key in rules) {\n const rule = rules[key]\n if (typeof rule != \"object\") continue\n const {$data} = rule.definition\n const schema = keywords[key] as AnySchemaObject | undefined\n if ($data && schema) keywords[key] = schemaOrData(schema)\n }\n }\n\n return metaSchema\n }\n\n private _removeAllSchemas(schemas: {[Ref in string]?: SchemaEnv | string}, regex?: RegExp): void {\n for (const keyRef in schemas) {\n const sch = schemas[keyRef]\n if (!regex || regex.test(keyRef)) {\n if (typeof sch == \"string\") {\n delete schemas[keyRef]\n } else if (sch && !sch.meta) {\n this._cache.delete(sch.schema)\n delete schemas[keyRef]\n }\n }\n }\n }\n\n _addSchema(\n schema: AnySchema,\n meta?: boolean,\n baseId?: string,\n validateSchema = this.opts.validateSchema,\n addSchema = this.opts.addUsedSchema\n ): SchemaEnv {\n let id: string | undefined\n const {schemaId} = this.opts\n if (typeof schema == \"object\") {\n id = schema[schemaId]\n } else {\n if (this.opts.jtd) throw new Error(\"schema must be object\")\n else if (typeof schema != \"boolean\") throw new Error(\"schema must be object or boolean\")\n }\n let sch = this._cache.get(schema)\n if (sch !== undefined) return sch\n\n baseId = normalizeId(id || baseId)\n const localRefs = getSchemaRefs.call(this, schema, baseId)\n sch = new SchemaEnv({schema, schemaId, meta, baseId, localRefs})\n this._cache.set(sch.schema, sch)\n if (addSchema && !baseId.startsWith(\"#\")) {\n // TODO atm it is allowed to overwrite schemas without id (instead of not adding them)\n if (baseId) this._checkUnique(baseId)\n this.refs[baseId] = sch\n }\n if (validateSchema) this.validateSchema(schema, true)\n return sch\n }\n\n private _checkUnique(id: string): void {\n if (this.schemas[id] || this.refs[id]) {\n throw new Error(`schema with key or id \"${id}\" already exists`)\n }\n }\n\n private _compileSchemaEnv(sch: SchemaEnv): AnyValidateFunction {\n if (sch.meta) this._compileMetaSchema(sch)\n else compileSchema.call(this, sch)\n\n /* istanbul ignore if */\n if (!sch.validate) throw new Error(\"ajv implementation error\")\n return sch.validate\n }\n\n private _compileMetaSchema(sch: SchemaEnv): void {\n const currentOpts = this.opts\n this.opts = this._metaOpts\n try {\n compileSchema.call(this, sch)\n } finally {\n this.opts = currentOpts\n }\n }\n}\n\nexport interface ErrorsTextOptions {\n separator?: string\n dataVar?: string\n}\n\nfunction checkOptions(\n this: Ajv,\n checkOpts: OptionsInfo,\n options: Options & RemovedOptions,\n msg: string,\n log: \"warn\" | \"error\" = \"error\"\n): void {\n for (const key in checkOpts) {\n const opt = key as keyof typeof checkOpts\n if (opt in options) this.logger[log](`${msg}: option ${key}. ${checkOpts[opt]}`)\n }\n}\n\nfunction getSchEnv(this: Ajv, keyRef: string): SchemaEnv | string | undefined {\n keyRef = normalizeId(keyRef) // TODO tests fail without this line\n return this.schemas[keyRef] || this.refs[keyRef]\n}\n\nfunction addInitialSchemas(this: Ajv): void {\n const optsSchemas = this.opts.schemas\n if (!optsSchemas) return\n if (Array.isArray(optsSchemas)) this.addSchema(optsSchemas)\n else for (const key in optsSchemas) this.addSchema(optsSchemas[key] as AnySchema, key)\n}\n\nfunction addInitialFormats(this: Ajv): void {\n for (const name in this.opts.formats) {\n const format = this.opts.formats[name]\n if (format) this.addFormat(name, format)\n }\n}\n\nfunction addInitialKeywords(\n this: Ajv,\n defs: Vocabulary | {[K in string]?: KeywordDefinition}\n): void {\n if (Array.isArray(defs)) {\n this.addVocabulary(defs)\n return\n }\n this.logger.warn(\"keywords option as map is deprecated, pass array\")\n for (const keyword in defs) {\n const def = defs[keyword] as KeywordDefinition\n if (!def.keyword) def.keyword = keyword\n this.addKeyword(def)\n }\n}\n\nfunction getMetaSchemaOptions(this: Ajv): InstanceOptions {\n const metaOpts = {...this.opts}\n for (const opt of META_IGNORE_OPTIONS) delete metaOpts[opt]\n return metaOpts\n}\n\nconst noLogs = {log() {}, warn() {}, error() {}}\n\nfunction getLogger(logger?: Partial | false): Logger {\n if (logger === false) return noLogs\n if (logger === undefined) return console\n if (logger.log && logger.warn && logger.error) return logger as Logger\n throw new Error(\"logger must implement log, warn and error methods\")\n}\n\nconst KEYWORD_NAME = /^[a-z_$][a-z0-9_$:-]*$/i\n\nfunction checkKeyword(this: Ajv, keyword: string | string[], def?: KeywordDefinition): void {\n const {RULES} = this\n eachItem(keyword, (kwd) => {\n if (RULES.keywords[kwd]) throw new Error(`Keyword ${kwd} is already defined`)\n if (!KEYWORD_NAME.test(kwd)) throw new Error(`Keyword ${kwd} has invalid name`)\n })\n if (!def) return\n if (def.$data && !(\"code\" in def || \"validate\" in def)) {\n throw new Error('$data keyword must have \"code\" or \"validate\" function')\n }\n}\n\nfunction addRule(\n this: Ajv,\n keyword: string,\n definition?: AddedKeywordDefinition,\n dataType?: JSONType\n): void {\n const post = definition?.post\n if (dataType && post) throw new Error('keyword with \"post\" flag cannot have \"type\"')\n const {RULES} = this\n let ruleGroup = post ? RULES.post : RULES.rules.find(({type: t}) => t === dataType)\n if (!ruleGroup) {\n ruleGroup = {type: dataType, rules: []}\n RULES.rules.push(ruleGroup)\n }\n RULES.keywords[keyword] = true\n if (!definition) return\n\n const rule: Rule = {\n keyword,\n definition: {\n ...definition,\n type: getJSONTypes(definition.type),\n schemaType: getJSONTypes(definition.schemaType),\n },\n }\n if (definition.before) addBeforeRule.call(this, ruleGroup, rule, definition.before)\n else ruleGroup.rules.push(rule)\n RULES.all[keyword] = rule\n definition.implements?.forEach((kwd) => this.addKeyword(kwd))\n}\n\nfunction addBeforeRule(this: Ajv, ruleGroup: RuleGroup, rule: Rule, before: string): void {\n const i = ruleGroup.rules.findIndex((_rule) => _rule.keyword === before)\n if (i >= 0) {\n ruleGroup.rules.splice(i, 0, rule)\n } else {\n ruleGroup.rules.push(rule)\n this.logger.warn(`rule ${before} is not defined`)\n }\n}\n\nfunction keywordMetaschema(this: Ajv, def: KeywordDefinition): void {\n let {metaSchema} = def\n if (metaSchema === undefined) return\n if (def.$data && this.opts.$data) metaSchema = schemaOrData(metaSchema)\n def.validateSchema = this.compile(metaSchema, true)\n}\n\nconst $dataRef = {\n $ref: \"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#\",\n}\n\nfunction schemaOrData(schema: AnySchema): AnySchemaObject {\n return {anyOf: [schema, $dataRef]}\n}\n","// https://github.com/ajv-validator/ajv/issues/889\nimport * as equal from \"fast-deep-equal\"\n\ntype Equal = typeof equal & {code: string}\n;(equal as Equal).code = 'require(\"ajv/dist/runtime/equal\").default'\n\nexport default equal as Equal\n","// https://mathiasbynens.be/notes/javascript-encoding\n// https://github.com/bestiejs/punycode.js - punycode.ucs2.decode\nexport default function ucs2length(str: string): number {\n const len = str.length\n let length = 0\n let pos = 0\n let value: number\n while (pos < len) {\n length++\n value = str.charCodeAt(pos++)\n if (value >= 0xd800 && value <= 0xdbff && pos < len) {\n // high surrogate, and there is a next character\n value = str.charCodeAt(pos)\n if ((value & 0xfc00) === 0xdc00) pos++ // low surrogate\n }\n }\n return length\n}\n\nucs2length.code = 'require(\"ajv/dist/runtime/ucs2length\").default'\n","import * as uri from \"uri-js\"\n\ntype URI = typeof uri & {code: string}\n;(uri as URI).code = 'require(\"ajv/dist/runtime/uri\").default'\n\nexport default uri as URI\n","import type {ErrorObject} from \"../types\"\n\nexport default class ValidationError extends Error {\n readonly errors: Partial[]\n readonly ajv: true\n readonly validation: true\n\n constructor(errors: Partial[]) {\n super(\"validation failed\")\n this.errors = errors\n this.ajv = this.validation = true\n }\n}\n","import type {\n CodeKeywordDefinition,\n ErrorObject,\n KeywordErrorDefinition,\n AnySchema,\n} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str, not, Name} from \"../../compile/codegen\"\nimport {alwaysValidSchema, checkStrictMode, Type} from \"../../compile/util\"\n\nexport type AdditionalItemsError = ErrorObject<\"additionalItems\", {limit: number}, AnySchema>\n\nconst error: KeywordErrorDefinition = {\n message: ({params: {len}}) => str`must NOT have more than ${len} items`,\n params: ({params: {len}}) => _`{limit: ${len}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"additionalItems\" as const,\n type: \"array\",\n schemaType: [\"boolean\", \"object\"],\n before: \"uniqueItems\",\n error,\n code(cxt: KeywordCxt) {\n const {parentSchema, it} = cxt\n const {items} = parentSchema\n if (!Array.isArray(items)) {\n checkStrictMode(it, '\"additionalItems\" is ignored when \"items\" is not an array of schemas')\n return\n }\n validateAdditionalItems(cxt, items)\n },\n}\n\nexport function validateAdditionalItems(cxt: KeywordCxt, items: AnySchema[]): void {\n const {gen, schema, data, keyword, it} = cxt\n it.items = true\n const len = gen.const(\"len\", _`${data}.length`)\n if (schema === false) {\n cxt.setParams({len: items.length})\n cxt.pass(_`${len} <= ${items.length}`)\n } else if (typeof schema == \"object\" && !alwaysValidSchema(it, schema)) {\n const valid = gen.var(\"valid\", _`${len} <= ${items.length}`) // TODO var\n gen.if(not(valid), () => validateItems(valid))\n cxt.ok(valid)\n }\n\n function validateItems(valid: Name): void {\n gen.forRange(\"i\", items.length, len, (i) => {\n cxt.subschema({keyword, dataProp: i, dataPropType: Type.Num}, valid)\n if (!it.allErrors) gen.if(not(valid), () => gen.break())\n })\n }\n}\n\nexport default def\n","import type {\n CodeKeywordDefinition,\n AddedKeywordDefinition,\n ErrorObject,\n KeywordErrorDefinition,\n AnySchema,\n} from \"../../types\"\nimport {allSchemaProperties, usePattern, isOwnProperty} from \"../code\"\nimport {_, nil, or, not, Code, Name} from \"../../compile/codegen\"\nimport N from \"../../compile/names\"\nimport type {SubschemaArgs} from \"../../compile/validate/subschema\"\nimport {alwaysValidSchema, schemaRefOrVal, Type} from \"../../compile/util\"\n\nexport type AdditionalPropertiesError = ErrorObject<\n \"additionalProperties\",\n {additionalProperty: string},\n AnySchema\n>\n\nconst error: KeywordErrorDefinition = {\n message: \"must NOT have additional properties\",\n params: ({params}) => _`{additionalProperty: ${params.additionalProperty}}`,\n}\n\nconst def: CodeKeywordDefinition & AddedKeywordDefinition = {\n keyword: \"additionalProperties\",\n type: [\"object\"],\n schemaType: [\"boolean\", \"object\"],\n allowUndefined: true,\n trackErrors: true,\n error,\n code(cxt) {\n const {gen, schema, parentSchema, data, errsCount, it} = cxt\n /* istanbul ignore if */\n if (!errsCount) throw new Error(\"ajv implementation error\")\n const {allErrors, opts} = it\n it.props = true\n if (opts.removeAdditional !== \"all\" && alwaysValidSchema(it, schema)) return\n const props = allSchemaProperties(parentSchema.properties)\n const patProps = allSchemaProperties(parentSchema.patternProperties)\n checkAdditionalProperties()\n cxt.ok(_`${errsCount} === ${N.errors}`)\n\n function checkAdditionalProperties(): void {\n gen.forIn(\"key\", data, (key: Name) => {\n if (!props.length && !patProps.length) additionalPropertyCode(key)\n else gen.if(isAdditional(key), () => additionalPropertyCode(key))\n })\n }\n\n function isAdditional(key: Name): Code {\n let definedProp: Code\n if (props.length > 8) {\n // TODO maybe an option instead of hard-coded 8?\n const propsSchema = schemaRefOrVal(it, parentSchema.properties, \"properties\")\n definedProp = isOwnProperty(gen, propsSchema as Code, key)\n } else if (props.length) {\n definedProp = or(...props.map((p) => _`${key} === ${p}`))\n } else {\n definedProp = nil\n }\n if (patProps.length) {\n definedProp = or(definedProp, ...patProps.map((p) => _`${usePattern(cxt, p)}.test(${key})`))\n }\n return not(definedProp)\n }\n\n function deleteAdditional(key: Name): void {\n gen.code(_`delete ${data}[${key}]`)\n }\n\n function additionalPropertyCode(key: Name): void {\n if (opts.removeAdditional === \"all\" || (opts.removeAdditional && schema === false)) {\n deleteAdditional(key)\n return\n }\n\n if (schema === false) {\n cxt.setParams({additionalProperty: key})\n cxt.error()\n if (!allErrors) gen.break()\n return\n }\n\n if (typeof schema == \"object\" && !alwaysValidSchema(it, schema)) {\n const valid = gen.name(\"valid\")\n if (opts.removeAdditional === \"failing\") {\n applyAdditionalSchema(key, valid, false)\n gen.if(not(valid), () => {\n cxt.reset()\n deleteAdditional(key)\n })\n } else {\n applyAdditionalSchema(key, valid)\n if (!allErrors) gen.if(not(valid), () => gen.break())\n }\n }\n }\n\n function applyAdditionalSchema(key: Name, valid: Name, errors?: false): void {\n const subschema: SubschemaArgs = {\n keyword: \"additionalProperties\",\n dataProp: key,\n dataPropType: Type.Str,\n }\n if (errors === false) {\n Object.assign(subschema, {\n compositeRule: true,\n createErrors: false,\n allErrors: false,\n })\n }\n cxt.subschema(subschema, valid)\n }\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, AnySchema} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {alwaysValidSchema} from \"../../compile/util\"\n\nconst def: CodeKeywordDefinition = {\n keyword: \"allOf\",\n schemaType: \"array\",\n code(cxt: KeywordCxt) {\n const {gen, schema, it} = cxt\n /* istanbul ignore if */\n if (!Array.isArray(schema)) throw new Error(\"ajv implementation error\")\n const valid = gen.name(\"valid\")\n schema.forEach((sch: AnySchema, i: number) => {\n if (alwaysValidSchema(it, sch)) return\n const schCxt = cxt.subschema({keyword: \"allOf\", schemaProp: i}, valid)\n cxt.ok(valid)\n cxt.mergeEvaluated(schCxt)\n })\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, ErrorNoParams, AnySchema} from \"../../types\"\nimport {validateUnion} from \"../code\"\n\nexport type AnyOfError = ErrorNoParams<\"anyOf\", AnySchema[]>\n\nconst def: CodeKeywordDefinition = {\n keyword: \"anyOf\",\n schemaType: \"array\",\n trackErrors: true,\n code: validateUnion,\n error: {message: \"must match a schema in anyOf\"},\n}\n\nexport default def\n","import type {\n CodeKeywordDefinition,\n KeywordErrorDefinition,\n ErrorObject,\n AnySchema,\n} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str, Name} from \"../../compile/codegen\"\nimport {alwaysValidSchema, checkStrictMode, Type} from \"../../compile/util\"\n\nexport type ContainsError = ErrorObject<\n \"contains\",\n {minContains: number; maxContains?: number},\n AnySchema\n>\n\nconst error: KeywordErrorDefinition = {\n message: ({params: {min, max}}) =>\n max === undefined\n ? str`must contain at least ${min} valid item(s)`\n : str`must contain at least ${min} and no more than ${max} valid item(s)`,\n params: ({params: {min, max}}) =>\n max === undefined ? _`{minContains: ${min}}` : _`{minContains: ${min}, maxContains: ${max}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"contains\",\n type: \"array\",\n schemaType: [\"object\", \"boolean\"],\n before: \"uniqueItems\",\n trackErrors: true,\n error,\n code(cxt: KeywordCxt) {\n const {gen, schema, parentSchema, data, it} = cxt\n let min: number\n let max: number | undefined\n const {minContains, maxContains} = parentSchema\n if (it.opts.next) {\n min = minContains === undefined ? 1 : minContains\n max = maxContains\n } else {\n min = 1\n }\n const len = gen.const(\"len\", _`${data}.length`)\n cxt.setParams({min, max})\n if (max === undefined && min === 0) {\n checkStrictMode(it, `\"minContains\" == 0 without \"maxContains\": \"contains\" keyword ignored`)\n return\n }\n if (max !== undefined && min > max) {\n checkStrictMode(it, `\"minContains\" > \"maxContains\" is always invalid`)\n cxt.fail()\n return\n }\n if (alwaysValidSchema(it, schema)) {\n let cond = _`${len} >= ${min}`\n if (max !== undefined) cond = _`${cond} && ${len} <= ${max}`\n cxt.pass(cond)\n return\n }\n\n it.items = true\n const valid = gen.name(\"valid\")\n if (max === undefined && min === 1) {\n validateItems(valid, () => gen.if(valid, () => gen.break()))\n } else if (min === 0) {\n gen.let(valid, true)\n if (max !== undefined) gen.if(_`${data}.length > 0`, validateItemsWithCount)\n } else {\n gen.let(valid, false)\n validateItemsWithCount()\n }\n cxt.result(valid, () => cxt.reset())\n\n function validateItemsWithCount(): void {\n const schValid = gen.name(\"_valid\")\n const count = gen.let(\"count\", 0)\n validateItems(schValid, () => gen.if(schValid, () => checkLimits(count)))\n }\n\n function validateItems(_valid: Name, block: () => void): void {\n gen.forRange(\"i\", 0, len, (i) => {\n cxt.subschema(\n {\n keyword: \"contains\",\n dataProp: i,\n dataPropType: Type.Num,\n compositeRule: true,\n },\n _valid\n )\n block()\n })\n }\n\n function checkLimits(count: Name): void {\n gen.code(_`${count}++`)\n if (max === undefined) {\n gen.if(_`${count} >= ${min}`, () => gen.assign(valid, true).break())\n } else {\n gen.if(_`${count} > ${max}`, () => gen.assign(valid, false).break())\n if (min === 1) gen.assign(valid, true)\n else gen.if(_`${count} >= ${min}`, () => gen.assign(valid, true))\n }\n }\n },\n}\n\nexport default def\n","import type {\n CodeKeywordDefinition,\n ErrorObject,\n KeywordErrorDefinition,\n SchemaMap,\n AnySchema,\n} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str} from \"../../compile/codegen\"\nimport {alwaysValidSchema} from \"../../compile/util\"\nimport {checkReportMissingProp, checkMissingProp, reportMissingProp, propertyInData} from \"../code\"\n\nexport type PropertyDependencies = {[K in string]?: string[]}\n\nexport interface DependenciesErrorParams {\n property: string\n missingProperty: string\n depsCount: number\n deps: string // TODO change to string[]\n}\n\ntype SchemaDependencies = SchemaMap\n\nexport type DependenciesError = ErrorObject<\n \"dependencies\",\n DependenciesErrorParams,\n {[K in string]?: string[] | AnySchema}\n>\n\nexport const error: KeywordErrorDefinition = {\n message: ({params: {property, depsCount, deps}}) => {\n const property_ies = depsCount === 1 ? \"property\" : \"properties\"\n return str`must have ${property_ies} ${deps} when property ${property} is present`\n },\n params: ({params: {property, depsCount, deps, missingProperty}}) =>\n _`{property: ${property},\n missingProperty: ${missingProperty},\n depsCount: ${depsCount},\n deps: ${deps}}`, // TODO change to reference\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"dependencies\",\n type: \"object\",\n schemaType: \"object\",\n error,\n code(cxt: KeywordCxt) {\n const [propDeps, schDeps] = splitDependencies(cxt)\n validatePropertyDeps(cxt, propDeps)\n validateSchemaDeps(cxt, schDeps)\n },\n}\n\nfunction splitDependencies({schema}: KeywordCxt): [PropertyDependencies, SchemaDependencies] {\n const propertyDeps: PropertyDependencies = {}\n const schemaDeps: SchemaDependencies = {}\n for (const key in schema) {\n if (key === \"__proto__\") continue\n const deps = Array.isArray(schema[key]) ? propertyDeps : schemaDeps\n deps[key] = schema[key]\n }\n return [propertyDeps, schemaDeps]\n}\n\nexport function validatePropertyDeps(\n cxt: KeywordCxt,\n propertyDeps: {[K in string]?: string[]} = cxt.schema\n): void {\n const {gen, data, it} = cxt\n if (Object.keys(propertyDeps).length === 0) return\n const missing = gen.let(\"missing\")\n for (const prop in propertyDeps) {\n const deps = propertyDeps[prop] as string[]\n if (deps.length === 0) continue\n const hasProperty = propertyInData(gen, data, prop, it.opts.ownProperties)\n cxt.setParams({\n property: prop,\n depsCount: deps.length,\n deps: deps.join(\", \"),\n })\n if (it.allErrors) {\n gen.if(hasProperty, () => {\n for (const depProp of deps) {\n checkReportMissingProp(cxt, depProp)\n }\n })\n } else {\n gen.if(_`${hasProperty} && (${checkMissingProp(cxt, deps, missing)})`)\n reportMissingProp(cxt, missing)\n gen.else()\n }\n }\n}\n\nexport function validateSchemaDeps(cxt: KeywordCxt, schemaDeps: SchemaMap = cxt.schema): void {\n const {gen, data, keyword, it} = cxt\n const valid = gen.name(\"valid\")\n for (const prop in schemaDeps) {\n if (alwaysValidSchema(it, schemaDeps[prop] as AnySchema)) continue\n gen.if(\n propertyInData(gen, data, prop, it.opts.ownProperties),\n () => {\n const schCxt = cxt.subschema({keyword, schemaProp: prop}, valid)\n cxt.mergeValidEvaluated(schCxt, valid)\n },\n () => gen.var(valid, true) // TODO var\n )\n cxt.ok(valid)\n }\n}\n\nexport default def\n","import type {\n CodeKeywordDefinition,\n ErrorObject,\n KeywordErrorDefinition,\n AnySchema,\n} from \"../../types\"\nimport type {SchemaObjCxt} from \"../../compile\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str, not, Name} from \"../../compile/codegen\"\nimport {alwaysValidSchema, checkStrictMode} from \"../../compile/util\"\n\nexport type IfKeywordError = ErrorObject<\"if\", {failingKeyword: string}, AnySchema>\n\nconst error: KeywordErrorDefinition = {\n message: ({params}) => str`must match \"${params.ifClause}\" schema`,\n params: ({params}) => _`{failingKeyword: ${params.ifClause}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"if\",\n schemaType: [\"object\", \"boolean\"],\n trackErrors: true,\n error,\n code(cxt: KeywordCxt) {\n const {gen, parentSchema, it} = cxt\n if (parentSchema.then === undefined && parentSchema.else === undefined) {\n checkStrictMode(it, '\"if\" without \"then\" and \"else\" is ignored')\n }\n const hasThen = hasSchema(it, \"then\")\n const hasElse = hasSchema(it, \"else\")\n if (!hasThen && !hasElse) return\n\n const valid = gen.let(\"valid\", true)\n const schValid = gen.name(\"_valid\")\n validateIf()\n cxt.reset()\n\n if (hasThen && hasElse) {\n const ifClause = gen.let(\"ifClause\")\n cxt.setParams({ifClause})\n gen.if(schValid, validateClause(\"then\", ifClause), validateClause(\"else\", ifClause))\n } else if (hasThen) {\n gen.if(schValid, validateClause(\"then\"))\n } else {\n gen.if(not(schValid), validateClause(\"else\"))\n }\n\n cxt.pass(valid, () => cxt.error(true))\n\n function validateIf(): void {\n const schCxt = cxt.subschema(\n {\n keyword: \"if\",\n compositeRule: true,\n createErrors: false,\n allErrors: false,\n },\n schValid\n )\n cxt.mergeEvaluated(schCxt)\n }\n\n function validateClause(keyword: string, ifClause?: Name): () => void {\n return () => {\n const schCxt = cxt.subschema({keyword}, schValid)\n gen.assign(valid, schValid)\n cxt.mergeValidEvaluated(schCxt, valid)\n if (ifClause) gen.assign(ifClause, _`${keyword}`)\n else cxt.setParams({ifClause: keyword})\n }\n }\n },\n}\n\nfunction hasSchema(it: SchemaObjCxt, keyword: string): boolean {\n const schema = it.schema[keyword]\n return schema !== undefined && !alwaysValidSchema(it, schema)\n}\n\nexport default def\n","import type {ErrorNoParams, Vocabulary} from \"../../types\"\nimport additionalItems, {AdditionalItemsError} from \"./additionalItems\"\nimport prefixItems from \"./prefixItems\"\nimport items from \"./items\"\nimport items2020, {ItemsError} from \"./items2020\"\nimport contains, {ContainsError} from \"./contains\"\nimport dependencies, {DependenciesError} from \"./dependencies\"\nimport propertyNames, {PropertyNamesError} from \"./propertyNames\"\nimport additionalProperties, {AdditionalPropertiesError} from \"./additionalProperties\"\nimport properties from \"./properties\"\nimport patternProperties from \"./patternProperties\"\nimport notKeyword, {NotKeywordError} from \"./not\"\nimport anyOf, {AnyOfError} from \"./anyOf\"\nimport oneOf, {OneOfError} from \"./oneOf\"\nimport allOf from \"./allOf\"\nimport ifKeyword, {IfKeywordError} from \"./if\"\nimport thenElse from \"./thenElse\"\n\nexport default function getApplicator(draft2020 = false): Vocabulary {\n const applicator = [\n // any\n notKeyword,\n anyOf,\n oneOf,\n allOf,\n ifKeyword,\n thenElse,\n // object\n propertyNames,\n additionalProperties,\n dependencies,\n properties,\n patternProperties,\n ]\n // array\n if (draft2020) applicator.push(prefixItems, items2020)\n else applicator.push(additionalItems, items)\n applicator.push(contains)\n return applicator\n}\n\nexport type ApplicatorKeywordError =\n | ErrorNoParams<\"false schema\">\n | AdditionalItemsError\n | ItemsError\n | ContainsError\n | AdditionalPropertiesError\n | DependenciesError\n | IfKeywordError\n | AnyOfError\n | OneOfError\n | NotKeywordError\n | PropertyNamesError\n","import type {CodeKeywordDefinition, AnySchema, AnySchemaObject} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_} from \"../../compile/codegen\"\nimport {alwaysValidSchema, mergeEvaluated, checkStrictMode} from \"../../compile/util\"\nimport {validateArray} from \"../code\"\n\nconst def: CodeKeywordDefinition = {\n keyword: \"items\",\n type: \"array\",\n schemaType: [\"object\", \"array\", \"boolean\"],\n before: \"uniqueItems\",\n code(cxt: KeywordCxt) {\n const {schema, it} = cxt\n if (Array.isArray(schema)) return validateTuple(cxt, \"additionalItems\", schema)\n it.items = true\n if (alwaysValidSchema(it, schema)) return\n cxt.ok(validateArray(cxt))\n },\n}\n\nexport function validateTuple(\n cxt: KeywordCxt,\n extraItems: string,\n schArr: AnySchema[] = cxt.schema\n): void {\n const {gen, parentSchema, data, keyword, it} = cxt\n checkStrictTuple(parentSchema)\n if (it.opts.unevaluated && schArr.length && it.items !== true) {\n it.items = mergeEvaluated.items(gen, schArr.length, it.items)\n }\n const valid = gen.name(\"valid\")\n const len = gen.const(\"len\", _`${data}.length`)\n schArr.forEach((sch: AnySchema, i: number) => {\n if (alwaysValidSchema(it, sch)) return\n gen.if(_`${len} > ${i}`, () =>\n cxt.subschema(\n {\n keyword,\n schemaProp: i,\n dataProp: i,\n },\n valid\n )\n )\n cxt.ok(valid)\n })\n\n function checkStrictTuple(sch: AnySchemaObject): void {\n const {opts, errSchemaPath} = it\n const l = schArr.length\n const fullTuple = l === sch.minItems && (l === sch.maxItems || sch[extraItems] === false)\n if (opts.strictTuples && !fullTuple) {\n const msg = `\"${keyword}\" is ${l}-tuple, but minItems or maxItems/${extraItems} are not specified or different at path \"${errSchemaPath}\"`\n checkStrictMode(it, msg, opts.strictTuples)\n }\n }\n}\n\nexport default def\n","import type {\n CodeKeywordDefinition,\n KeywordErrorDefinition,\n ErrorObject,\n AnySchema,\n} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str} from \"../../compile/codegen\"\nimport {alwaysValidSchema} from \"../../compile/util\"\nimport {validateArray} from \"../code\"\nimport {validateAdditionalItems} from \"./additionalItems\"\n\nexport type ItemsError = ErrorObject<\"items\", {limit: number}, AnySchema>\n\nconst error: KeywordErrorDefinition = {\n message: ({params: {len}}) => str`must NOT have more than ${len} items`,\n params: ({params: {len}}) => _`{limit: ${len}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"items\",\n type: \"array\",\n schemaType: [\"object\", \"boolean\"],\n before: \"uniqueItems\",\n error,\n code(cxt: KeywordCxt) {\n const {schema, parentSchema, it} = cxt\n const {prefixItems} = parentSchema\n it.items = true\n if (alwaysValidSchema(it, schema)) return\n if (prefixItems) validateAdditionalItems(cxt, prefixItems)\n else cxt.ok(validateArray(cxt))\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, ErrorNoParams, AnySchema} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {alwaysValidSchema} from \"../../compile/util\"\n\nexport type NotKeywordError = ErrorNoParams<\"not\", AnySchema>\n\nconst def: CodeKeywordDefinition = {\n keyword: \"not\",\n schemaType: [\"object\", \"boolean\"],\n trackErrors: true,\n code(cxt: KeywordCxt) {\n const {gen, schema, it} = cxt\n if (alwaysValidSchema(it, schema)) {\n cxt.fail()\n return\n }\n\n const valid = gen.name(\"valid\")\n cxt.subschema(\n {\n keyword: \"not\",\n compositeRule: true,\n createErrors: false,\n allErrors: false,\n },\n valid\n )\n\n cxt.failResult(\n valid,\n () => cxt.reset(),\n () => cxt.error()\n )\n },\n error: {message: \"must NOT be valid\"},\n}\n\nexport default def\n","import type {\n CodeKeywordDefinition,\n ErrorObject,\n KeywordErrorDefinition,\n AnySchema,\n} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, Name} from \"../../compile/codegen\"\nimport {alwaysValidSchema} from \"../../compile/util\"\nimport {SchemaCxt} from \"../../compile\"\n\nexport type OneOfError = ErrorObject<\n \"oneOf\",\n {passingSchemas: [number, number] | null},\n AnySchema[]\n>\n\nconst error: KeywordErrorDefinition = {\n message: \"must match exactly one schema in oneOf\",\n params: ({params}) => _`{passingSchemas: ${params.passing}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"oneOf\",\n schemaType: \"array\",\n trackErrors: true,\n error,\n code(cxt: KeywordCxt) {\n const {gen, schema, parentSchema, it} = cxt\n /* istanbul ignore if */\n if (!Array.isArray(schema)) throw new Error(\"ajv implementation error\")\n if (it.opts.discriminator && parentSchema.discriminator) return\n const schArr: AnySchema[] = schema\n const valid = gen.let(\"valid\", false)\n const passing = gen.let(\"passing\", null)\n const schValid = gen.name(\"_valid\")\n cxt.setParams({passing})\n // TODO possibly fail straight away (with warning or exception) if there are two empty always valid schemas\n\n gen.block(validateOneOf)\n\n cxt.result(\n valid,\n () => cxt.reset(),\n () => cxt.error(true)\n )\n\n function validateOneOf(): void {\n schArr.forEach((sch: AnySchema, i: number) => {\n let schCxt: SchemaCxt | undefined\n if (alwaysValidSchema(it, sch)) {\n gen.var(schValid, true)\n } else {\n schCxt = cxt.subschema(\n {\n keyword: \"oneOf\",\n schemaProp: i,\n compositeRule: true,\n },\n schValid\n )\n }\n\n if (i > 0) {\n gen\n .if(_`${schValid} && ${valid}`)\n .assign(valid, false)\n .assign(passing, _`[${passing}, ${i}]`)\n .else()\n }\n\n gen.if(schValid, () => {\n gen.assign(valid, true)\n gen.assign(passing, i)\n if (schCxt) cxt.mergeEvaluated(schCxt, Name)\n })\n })\n }\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {allSchemaProperties, usePattern} from \"../code\"\nimport {_, not, Name} from \"../../compile/codegen\"\nimport {alwaysValidSchema, checkStrictMode} from \"../../compile/util\"\nimport {evaluatedPropsToName, Type} from \"../../compile/util\"\nimport {AnySchema} from \"../../types\"\n\nconst def: CodeKeywordDefinition = {\n keyword: \"patternProperties\",\n type: \"object\",\n schemaType: \"object\",\n code(cxt: KeywordCxt) {\n const {gen, schema, data, parentSchema, it} = cxt\n const {opts} = it\n const patterns = allSchemaProperties(schema)\n const alwaysValidPatterns = patterns.filter((p) =>\n alwaysValidSchema(it, schema[p] as AnySchema)\n )\n\n if (\n patterns.length === 0 ||\n (alwaysValidPatterns.length === patterns.length &&\n (!it.opts.unevaluated || it.props === true))\n ) {\n return\n }\n\n const checkProperties =\n opts.strictSchema && !opts.allowMatchingProperties && parentSchema.properties\n const valid = gen.name(\"valid\")\n if (it.props !== true && !(it.props instanceof Name)) {\n it.props = evaluatedPropsToName(gen, it.props)\n }\n const {props} = it\n validatePatternProperties()\n\n function validatePatternProperties(): void {\n for (const pat of patterns) {\n if (checkProperties) checkMatchingProperties(pat)\n if (it.allErrors) {\n validateProperties(pat)\n } else {\n gen.var(valid, true) // TODO var\n validateProperties(pat)\n gen.if(valid)\n }\n }\n }\n\n function checkMatchingProperties(pat: string): void {\n for (const prop in checkProperties) {\n if (new RegExp(pat).test(prop)) {\n checkStrictMode(\n it,\n `property ${prop} matches pattern ${pat} (use allowMatchingProperties)`\n )\n }\n }\n }\n\n function validateProperties(pat: string): void {\n gen.forIn(\"key\", data, (key) => {\n gen.if(_`${usePattern(cxt, pat)}.test(${key})`, () => {\n const alwaysValid = alwaysValidPatterns.includes(pat)\n if (!alwaysValid) {\n cxt.subschema(\n {\n keyword: \"patternProperties\",\n schemaProp: pat,\n dataProp: key,\n dataPropType: Type.Str,\n },\n valid\n )\n }\n\n if (it.opts.unevaluated && props !== true) {\n gen.assign(_`${props}[${key}]`, true)\n } else if (!alwaysValid && !it.allErrors) {\n // can short-circuit if `unevaluatedProperties` is not supported (opts.next === false)\n // or if all properties were evaluated (props === true)\n gen.if(not(valid), () => gen.break())\n }\n })\n })\n }\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition} from \"../../types\"\nimport {validateTuple} from \"./items\"\n\nconst def: CodeKeywordDefinition = {\n keyword: \"prefixItems\",\n type: \"array\",\n schemaType: [\"array\"],\n before: \"uniqueItems\",\n code: (cxt) => validateTuple(cxt, \"items\"),\n}\n\nexport default def\n","import type {CodeKeywordDefinition} from \"../../types\"\nimport {KeywordCxt} from \"../../compile/validate\"\nimport {propertyInData, allSchemaProperties} from \"../code\"\nimport {alwaysValidSchema, toHash, mergeEvaluated} from \"../../compile/util\"\nimport apDef from \"./additionalProperties\"\n\nconst def: CodeKeywordDefinition = {\n keyword: \"properties\",\n type: \"object\",\n schemaType: \"object\",\n code(cxt: KeywordCxt) {\n const {gen, schema, parentSchema, data, it} = cxt\n if (it.opts.removeAdditional === \"all\" && parentSchema.additionalProperties === undefined) {\n apDef.code(new KeywordCxt(it, apDef, \"additionalProperties\"))\n }\n const allProps = allSchemaProperties(schema)\n for (const prop of allProps) {\n it.definedProperties.add(prop)\n }\n if (it.opts.unevaluated && allProps.length && it.props !== true) {\n it.props = mergeEvaluated.props(gen, toHash(allProps), it.props)\n }\n const properties = allProps.filter((p) => !alwaysValidSchema(it, schema[p]))\n if (properties.length === 0) return\n const valid = gen.name(\"valid\")\n\n for (const prop of properties) {\n if (hasDefault(prop)) {\n applyPropertySchema(prop)\n } else {\n gen.if(propertyInData(gen, data, prop, it.opts.ownProperties))\n applyPropertySchema(prop)\n if (!it.allErrors) gen.else().var(valid, true)\n gen.endIf()\n }\n cxt.it.definedProperties.add(prop)\n cxt.ok(valid)\n }\n\n function hasDefault(prop: string): boolean | undefined {\n return it.opts.useDefaults && !it.compositeRule && schema[prop].default !== undefined\n }\n\n function applyPropertySchema(prop: string): void {\n cxt.subschema(\n {\n keyword: \"properties\",\n schemaProp: prop,\n dataProp: prop,\n },\n valid\n )\n }\n },\n}\n\nexport default def\n","import type {\n CodeKeywordDefinition,\n ErrorObject,\n KeywordErrorDefinition,\n AnySchema,\n} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, not} from \"../../compile/codegen\"\nimport {alwaysValidSchema} from \"../../compile/util\"\n\nexport type PropertyNamesError = ErrorObject<\"propertyNames\", {propertyName: string}, AnySchema>\n\nconst error: KeywordErrorDefinition = {\n message: \"property name must be valid\",\n params: ({params}) => _`{propertyName: ${params.propertyName}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"propertyNames\",\n type: \"object\",\n schemaType: [\"object\", \"boolean\"],\n error,\n code(cxt: KeywordCxt) {\n const {gen, schema, data, it} = cxt\n if (alwaysValidSchema(it, schema)) return\n const valid = gen.name(\"valid\")\n\n gen.forIn(\"key\", data, (key) => {\n cxt.setParams({propertyName: key})\n cxt.subschema(\n {\n keyword: \"propertyNames\",\n data: key,\n dataTypes: [\"string\"],\n propertyName: key,\n compositeRule: true,\n },\n valid\n )\n gen.if(not(valid), () => {\n cxt.error(true)\n if (!it.allErrors) gen.break()\n })\n })\n\n cxt.ok(valid)\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {checkStrictMode} from \"../../compile/util\"\n\nconst def: CodeKeywordDefinition = {\n keyword: [\"then\", \"else\"],\n schemaType: [\"object\", \"boolean\"],\n code({keyword, parentSchema, it}: KeywordCxt) {\n if (parentSchema.if === undefined) checkStrictMode(it, `\"${keyword}\" without \"if\" is ignored`)\n },\n}\n\nexport default def\n","import type {AnySchema, SchemaMap} from \"../types\"\nimport type {SchemaCxt} from \"../compile\"\nimport type {KeywordCxt} from \"../compile/validate\"\nimport {CodeGen, _, and, or, not, nil, strConcat, getProperty, Code, Name} from \"../compile/codegen\"\nimport {alwaysValidSchema, Type} from \"../compile/util\"\nimport N from \"../compile/names\"\nimport {useFunc} from \"../compile/util\"\nexport function checkReportMissingProp(cxt: KeywordCxt, prop: string): void {\n const {gen, data, it} = cxt\n gen.if(noPropertyInData(gen, data, prop, it.opts.ownProperties), () => {\n cxt.setParams({missingProperty: _`${prop}`}, true)\n cxt.error()\n })\n}\n\nexport function checkMissingProp(\n {gen, data, it: {opts}}: KeywordCxt,\n properties: string[],\n missing: Name\n): Code {\n return or(\n ...properties.map((prop) =>\n and(noPropertyInData(gen, data, prop, opts.ownProperties), _`${missing} = ${prop}`)\n )\n )\n}\n\nexport function reportMissingProp(cxt: KeywordCxt, missing: Name): void {\n cxt.setParams({missingProperty: missing}, true)\n cxt.error()\n}\n\nexport function hasPropFunc(gen: CodeGen): Name {\n return gen.scopeValue(\"func\", {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n ref: Object.prototype.hasOwnProperty,\n code: _`Object.prototype.hasOwnProperty`,\n })\n}\n\nexport function isOwnProperty(gen: CodeGen, data: Name, property: Name | string): Code {\n return _`${hasPropFunc(gen)}.call(${data}, ${property})`\n}\n\nexport function propertyInData(\n gen: CodeGen,\n data: Name,\n property: Name | string,\n ownProperties?: boolean\n): Code {\n const cond = _`${data}${getProperty(property)} !== undefined`\n return ownProperties ? _`${cond} && ${isOwnProperty(gen, data, property)}` : cond\n}\n\nexport function noPropertyInData(\n gen: CodeGen,\n data: Name,\n property: Name | string,\n ownProperties?: boolean\n): Code {\n const cond = _`${data}${getProperty(property)} === undefined`\n return ownProperties ? or(cond, not(isOwnProperty(gen, data, property))) : cond\n}\n\nexport function allSchemaProperties(schemaMap?: SchemaMap): string[] {\n return schemaMap ? Object.keys(schemaMap).filter((p) => p !== \"__proto__\") : []\n}\n\nexport function schemaProperties(it: SchemaCxt, schemaMap: SchemaMap): string[] {\n return allSchemaProperties(schemaMap).filter(\n (p) => !alwaysValidSchema(it, schemaMap[p] as AnySchema)\n )\n}\n\nexport function callValidateCode(\n {schemaCode, data, it: {gen, topSchemaRef, schemaPath, errorPath}, it}: KeywordCxt,\n func: Code,\n context: Code,\n passSchema?: boolean\n): Code {\n const dataAndSchema = passSchema ? _`${schemaCode}, ${data}, ${topSchemaRef}${schemaPath}` : data\n const valCxt: [Name, Code | number][] = [\n [N.instancePath, strConcat(N.instancePath, errorPath)],\n [N.parentData, it.parentData],\n [N.parentDataProperty, it.parentDataProperty],\n [N.rootData, N.rootData],\n ]\n if (it.opts.dynamicRef) valCxt.push([N.dynamicAnchors, N.dynamicAnchors])\n const args = _`${dataAndSchema}, ${gen.object(...valCxt)}`\n return context !== nil ? _`${func}.call(${context}, ${args})` : _`${func}(${args})`\n}\n\nconst newRegExp = _`new RegExp`\n\nexport function usePattern({gen, it: {opts}}: KeywordCxt, pattern: string): Name {\n const u = opts.unicodeRegExp ? \"u\" : \"\"\n const {regExp} = opts.code\n const rx = regExp(pattern, u)\n\n return gen.scopeValue(\"pattern\", {\n key: rx.toString(),\n ref: rx,\n code: _`${regExp.code === \"new RegExp\" ? newRegExp : useFunc(gen, regExp)}(${pattern}, ${u})`,\n })\n}\n\nexport function validateArray(cxt: KeywordCxt): Name {\n const {gen, data, keyword, it} = cxt\n const valid = gen.name(\"valid\")\n if (it.allErrors) {\n const validArr = gen.let(\"valid\", true)\n validateItems(() => gen.assign(validArr, false))\n return validArr\n }\n gen.var(valid, true)\n validateItems(() => gen.break())\n return valid\n\n function validateItems(notValid: () => void): void {\n const len = gen.const(\"len\", _`${data}.length`)\n gen.forRange(\"i\", 0, len, (i) => {\n cxt.subschema(\n {\n keyword,\n dataProp: i,\n dataPropType: Type.Num,\n },\n valid\n )\n gen.if(not(valid), notValid)\n })\n }\n}\n\nexport function validateUnion(cxt: KeywordCxt): void {\n const {gen, schema, keyword, it} = cxt\n /* istanbul ignore if */\n if (!Array.isArray(schema)) throw new Error(\"ajv implementation error\")\n const alwaysValid = schema.some((sch: AnySchema) => alwaysValidSchema(it, sch))\n if (alwaysValid && !it.opts.unevaluated) return\n\n const valid = gen.let(\"valid\", false)\n const schValid = gen.name(\"_valid\")\n\n gen.block(() =>\n schema.forEach((_sch: AnySchema, i: number) => {\n const schCxt = cxt.subschema(\n {\n keyword,\n schemaProp: i,\n compositeRule: true,\n },\n schValid\n )\n gen.assign(valid, _`${valid} || ${schValid}`)\n const merged = cxt.mergeValidEvaluated(schCxt, schValid)\n // can short-circuit if `unevaluatedProperties/Items` not supported (opts.unevaluated !== true)\n // or if all properties and items were evaluated (it.props === true && it.items === true)\n if (!merged) gen.if(not(valid))\n })\n )\n\n cxt.result(\n valid,\n () => cxt.reset(),\n () => cxt.error(true)\n )\n}\n","import type {CodeKeywordDefinition} from \"../../types\"\n\nconst def: CodeKeywordDefinition = {\n keyword: \"id\",\n code() {\n throw new Error('NOT SUPPORTED: keyword \"id\", use \"$id\" for schema ID')\n },\n}\n\nexport default def\n","import type {Vocabulary} from \"../../types\"\nimport idKeyword from \"./id\"\nimport refKeyword from \"./ref\"\n\nconst core: Vocabulary = [\n \"$schema\",\n \"$id\",\n \"$defs\",\n \"$vocabulary\",\n {keyword: \"$comment\"},\n \"definitions\",\n idKeyword,\n refKeyword,\n]\n\nexport default core\n","import type {CodeKeywordDefinition, AnySchema} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport MissingRefError from \"../../compile/ref_error\"\nimport {callValidateCode} from \"../code\"\nimport {_, nil, stringify, Code, Name} from \"../../compile/codegen\"\nimport N from \"../../compile/names\"\nimport {SchemaEnv, resolveRef} from \"../../compile\"\nimport {mergeEvaluated} from \"../../compile/util\"\n\nconst def: CodeKeywordDefinition = {\n keyword: \"$ref\",\n schemaType: \"string\",\n code(cxt: KeywordCxt): void {\n const {gen, schema: $ref, it} = cxt\n const {baseId, schemaEnv: env, validateName, opts, self} = it\n const {root} = env\n if (($ref === \"#\" || $ref === \"#/\") && baseId === root.baseId) return callRootRef()\n const schOrEnv = resolveRef.call(self, root, baseId, $ref)\n if (schOrEnv === undefined) throw new MissingRefError(it.opts.uriResolver, baseId, $ref)\n if (schOrEnv instanceof SchemaEnv) return callValidate(schOrEnv)\n return inlineRefSchema(schOrEnv)\n\n function callRootRef(): void {\n if (env === root) return callRef(cxt, validateName, env, env.$async)\n const rootName = gen.scopeValue(\"root\", {ref: root})\n return callRef(cxt, _`${rootName}.validate`, root, root.$async)\n }\n\n function callValidate(sch: SchemaEnv): void {\n const v = getValidate(cxt, sch)\n callRef(cxt, v, sch, sch.$async)\n }\n\n function inlineRefSchema(sch: AnySchema): void {\n const schName = gen.scopeValue(\n \"schema\",\n opts.code.source === true ? {ref: sch, code: stringify(sch)} : {ref: sch}\n )\n const valid = gen.name(\"valid\")\n const schCxt = cxt.subschema(\n {\n schema: sch,\n dataTypes: [],\n schemaPath: nil,\n topSchemaRef: schName,\n errSchemaPath: $ref,\n },\n valid\n )\n cxt.mergeEvaluated(schCxt)\n cxt.ok(valid)\n }\n },\n}\n\nexport function getValidate(cxt: KeywordCxt, sch: SchemaEnv): Code {\n const {gen} = cxt\n return sch.validate\n ? gen.scopeValue(\"validate\", {ref: sch.validate})\n : _`${gen.scopeValue(\"wrapper\", {ref: sch})}.validate`\n}\n\nexport function callRef(cxt: KeywordCxt, v: Code, sch?: SchemaEnv, $async?: boolean): void {\n const {gen, it} = cxt\n const {allErrors, schemaEnv: env, opts} = it\n const passCxt = opts.passContext ? N.this : nil\n if ($async) callAsyncRef()\n else callSyncRef()\n\n function callAsyncRef(): void {\n if (!env.$async) throw new Error(\"async schema referenced by sync schema\")\n const valid = gen.let(\"valid\")\n gen.try(\n () => {\n gen.code(_`await ${callValidateCode(cxt, v, passCxt)}`)\n addEvaluatedFrom(v) // TODO will not work with async, it has to be returned with the result\n if (!allErrors) gen.assign(valid, true)\n },\n (e) => {\n gen.if(_`!(${e} instanceof ${it.ValidationError as Name})`, () => gen.throw(e))\n addErrorsFrom(e)\n if (!allErrors) gen.assign(valid, false)\n }\n )\n cxt.ok(valid)\n }\n\n function callSyncRef(): void {\n cxt.result(\n callValidateCode(cxt, v, passCxt),\n () => addEvaluatedFrom(v),\n () => addErrorsFrom(v)\n )\n }\n\n function addErrorsFrom(source: Code): void {\n const errs = _`${source}.errors`\n gen.assign(N.vErrors, _`${N.vErrors} === null ? ${errs} : ${N.vErrors}.concat(${errs})`) // TODO tagged\n gen.assign(N.errors, _`${N.vErrors}.length`)\n }\n\n function addEvaluatedFrom(source: Code): void {\n if (!it.opts.unevaluated) return\n const schEvaluated = sch?.validate?.evaluated\n // TODO refactor\n if (it.props !== true) {\n if (schEvaluated && !schEvaluated.dynamicProps) {\n if (schEvaluated.props !== undefined) {\n it.props = mergeEvaluated.props(gen, schEvaluated.props, it.props)\n }\n } else {\n const props = gen.var(\"props\", _`${source}.evaluated.props`)\n it.props = mergeEvaluated.props(gen, props, it.props, Name)\n }\n }\n if (it.items !== true) {\n if (schEvaluated && !schEvaluated.dynamicItems) {\n if (schEvaluated.items !== undefined) {\n it.items = mergeEvaluated.items(gen, schEvaluated.items, it.items)\n }\n } else {\n const items = gen.var(\"items\", _`${source}.evaluated.items`)\n it.items = mergeEvaluated.items(gen, items, it.items, Name)\n }\n }\n }\n}\n\nexport default def\n","import type {CodeKeywordDefinition, AnySchemaObject, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, getProperty, Name} from \"../../compile/codegen\"\nimport {DiscrError, DiscrErrorObj} from \"../discriminator/types\"\nimport {resolveRef, SchemaEnv} from \"../../compile\"\nimport {schemaHasRulesButRef} from \"../../compile/util\"\n\nexport type DiscriminatorError = DiscrErrorObj | DiscrErrorObj\n\nconst error: KeywordErrorDefinition = {\n message: ({params: {discrError, tagName}}) =>\n discrError === DiscrError.Tag\n ? `tag \"${tagName}\" must be string`\n : `value of tag \"${tagName}\" must be in oneOf`,\n params: ({params: {discrError, tag, tagName}}) =>\n _`{error: ${discrError}, tag: ${tagName}, tagValue: ${tag}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"discriminator\",\n type: \"object\",\n schemaType: \"object\",\n error,\n code(cxt: KeywordCxt) {\n const {gen, data, schema, parentSchema, it} = cxt\n const {oneOf} = parentSchema\n if (!it.opts.discriminator) {\n throw new Error(\"discriminator: requires discriminator option\")\n }\n const tagName = schema.propertyName\n if (typeof tagName != \"string\") throw new Error(\"discriminator: requires propertyName\")\n if (schema.mapping) throw new Error(\"discriminator: mapping is not supported\")\n if (!oneOf) throw new Error(\"discriminator: requires oneOf keyword\")\n const valid = gen.let(\"valid\", false)\n const tag = gen.const(\"tag\", _`${data}${getProperty(tagName)}`)\n gen.if(\n _`typeof ${tag} == \"string\"`,\n () => validateMapping(),\n () => cxt.error(false, {discrError: DiscrError.Tag, tag, tagName})\n )\n cxt.ok(valid)\n\n function validateMapping(): void {\n const mapping = getMapping()\n gen.if(false)\n for (const tagValue in mapping) {\n gen.elseIf(_`${tag} === ${tagValue}`)\n gen.assign(valid, applyTagSchema(mapping[tagValue]))\n }\n gen.else()\n cxt.error(false, {discrError: DiscrError.Mapping, tag, tagName})\n gen.endIf()\n }\n\n function applyTagSchema(schemaProp?: number): Name {\n const _valid = gen.name(\"valid\")\n const schCxt = cxt.subschema({keyword: \"oneOf\", schemaProp}, _valid)\n cxt.mergeEvaluated(schCxt, Name)\n return _valid\n }\n\n function getMapping(): {[T in string]?: number} {\n const oneOfMapping: {[T in string]?: number} = {}\n const topRequired = hasRequired(parentSchema)\n let tagRequired = true\n for (let i = 0; i < oneOf.length; i++) {\n let sch = oneOf[i]\n if (sch?.$ref && !schemaHasRulesButRef(sch, it.self.RULES)) {\n sch = resolveRef.call(it.self, it.schemaEnv.root, it.baseId, sch?.$ref)\n if (sch instanceof SchemaEnv) sch = sch.schema\n }\n const propSch = sch?.properties?.[tagName]\n if (typeof propSch != \"object\") {\n throw new Error(\n `discriminator: oneOf subschemas (or referenced schemas) must have \"properties/${tagName}\"`\n )\n }\n tagRequired = tagRequired && (topRequired || hasRequired(sch))\n addMappings(propSch, i)\n }\n if (!tagRequired) throw new Error(`discriminator: \"${tagName}\" must be required`)\n return oneOfMapping\n\n function hasRequired({required}: AnySchemaObject): boolean {\n return Array.isArray(required) && required.includes(tagName)\n }\n\n function addMappings(sch: AnySchemaObject, i: number): void {\n if (sch.const) {\n addMapping(sch.const, i)\n } else if (sch.enum) {\n for (const tagValue of sch.enum) {\n addMapping(tagValue, i)\n }\n } else {\n throw new Error(`discriminator: \"properties/${tagName}\" must have \"const\" or \"enum\"`)\n }\n }\n\n function addMapping(tagValue: unknown, i: number): void {\n if (typeof tagValue != \"string\" || tagValue in oneOfMapping) {\n throw new Error(`discriminator: \"${tagName}\" values must be unique strings`)\n }\n oneOfMapping[tagValue] = i\n }\n }\n },\n}\n\nexport default def\n","import type {ErrorObject} from \"../../types\"\n\nexport enum DiscrError {\n Tag = \"tag\",\n Mapping = \"mapping\",\n}\n\nexport type DiscrErrorObj = ErrorObject<\n \"discriminator\",\n {error: E; tag: string; tagValue: unknown},\n string\n>\n","import type {Vocabulary} from \"../types\"\nimport coreVocabulary from \"./core\"\nimport validationVocabulary from \"./validation\"\nimport getApplicatorVocabulary from \"./applicator\"\nimport formatVocabulary from \"./format\"\nimport {metadataVocabulary, contentVocabulary} from \"./metadata\"\n\nconst draft7Vocabularies: Vocabulary[] = [\n coreVocabulary,\n validationVocabulary,\n getApplicatorVocabulary(),\n formatVocabulary,\n metadataVocabulary,\n contentVocabulary,\n]\n\nexport default draft7Vocabularies\n","import type {\n AddedFormat,\n FormatValidator,\n AsyncFormatValidator,\n CodeKeywordDefinition,\n KeywordErrorDefinition,\n ErrorObject,\n} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str, nil, or, Code, getProperty, regexpCode} from \"../../compile/codegen\"\n\ntype FormatValidate =\n | FormatValidator\n | FormatValidator\n | AsyncFormatValidator\n | AsyncFormatValidator\n | RegExp\n | string\n | true\n\nexport type FormatError = ErrorObject<\"format\", {format: string}, string | {$data: string}>\n\nconst error: KeywordErrorDefinition = {\n message: ({schemaCode}) => str`must match format \"${schemaCode}\"`,\n params: ({schemaCode}) => _`{format: ${schemaCode}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"format\",\n type: [\"number\", \"string\"],\n schemaType: \"string\",\n $data: true,\n error,\n code(cxt: KeywordCxt, ruleType?: string) {\n const {gen, data, $data, schema, schemaCode, it} = cxt\n const {opts, errSchemaPath, schemaEnv, self} = it\n if (!opts.validateFormats) return\n\n if ($data) validate$DataFormat()\n else validateFormat()\n\n function validate$DataFormat(): void {\n const fmts = gen.scopeValue(\"formats\", {\n ref: self.formats,\n code: opts.code.formats,\n })\n const fDef = gen.const(\"fDef\", _`${fmts}[${schemaCode}]`)\n const fType = gen.let(\"fType\")\n const format = gen.let(\"format\")\n // TODO simplify\n gen.if(\n _`typeof ${fDef} == \"object\" && !(${fDef} instanceof RegExp)`,\n () => gen.assign(fType, _`${fDef}.type || \"string\"`).assign(format, _`${fDef}.validate`),\n () => gen.assign(fType, _`\"string\"`).assign(format, fDef)\n )\n cxt.fail$data(or(unknownFmt(), invalidFmt()))\n\n function unknownFmt(): Code {\n if (opts.strictSchema === false) return nil\n return _`${schemaCode} && !${format}`\n }\n\n function invalidFmt(): Code {\n const callFormat = schemaEnv.$async\n ? _`(${fDef}.async ? await ${format}(${data}) : ${format}(${data}))`\n : _`${format}(${data})`\n const validData = _`(typeof ${format} == \"function\" ? ${callFormat} : ${format}.test(${data}))`\n return _`${format} && ${format} !== true && ${fType} === ${ruleType} && !${validData}`\n }\n }\n\n function validateFormat(): void {\n const formatDef: AddedFormat | undefined = self.formats[schema]\n if (!formatDef) {\n unknownFormat()\n return\n }\n if (formatDef === true) return\n const [fmtType, format, fmtRef] = getFormat(formatDef)\n if (fmtType === ruleType) cxt.pass(validCondition())\n\n function unknownFormat(): void {\n if (opts.strictSchema === false) {\n self.logger.warn(unknownMsg())\n return\n }\n throw new Error(unknownMsg())\n\n function unknownMsg(): string {\n return `unknown format \"${schema as string}\" ignored in schema at path \"${errSchemaPath}\"`\n }\n }\n\n function getFormat(fmtDef: AddedFormat): [string, FormatValidate, Code] {\n const code =\n fmtDef instanceof RegExp\n ? regexpCode(fmtDef)\n : opts.code.formats\n ? _`${opts.code.formats}${getProperty(schema)}`\n : undefined\n const fmt = gen.scopeValue(\"formats\", {key: schema, ref: fmtDef, code})\n if (typeof fmtDef == \"object\" && !(fmtDef instanceof RegExp)) {\n return [fmtDef.type || \"string\", fmtDef.validate, _`${fmt}.validate`]\n }\n\n return [\"string\", fmtDef, fmt]\n }\n\n function validCondition(): Code {\n if (typeof formatDef == \"object\" && !(formatDef instanceof RegExp) && formatDef.async) {\n if (!schemaEnv.$async) throw new Error(\"async format in sync schema\")\n return _`await ${fmtRef}(${data})`\n }\n return typeof format == \"function\" ? _`${fmtRef}(${data})` : _`${fmtRef}.test(${data})`\n }\n }\n },\n}\n\nexport default def\n","import type {Vocabulary} from \"../../types\"\nimport formatKeyword from \"./format\"\n\nconst format: Vocabulary = [formatKeyword]\n\nexport default format\n","import type {Vocabulary} from \"../types\"\n\nexport const metadataVocabulary: Vocabulary = [\n \"title\",\n \"description\",\n \"default\",\n \"deprecated\",\n \"readOnly\",\n \"writeOnly\",\n \"examples\",\n]\n\nexport const contentVocabulary: Vocabulary = [\n \"contentMediaType\",\n \"contentEncoding\",\n \"contentSchema\",\n]\n","import type {CodeKeywordDefinition, ErrorObject, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_} from \"../../compile/codegen\"\nimport {useFunc} from \"../../compile/util\"\nimport equal from \"../../runtime/equal\"\n\nexport type ConstError = ErrorObject<\"const\", {allowedValue: any}>\n\nconst error: KeywordErrorDefinition = {\n message: \"must be equal to constant\",\n params: ({schemaCode}) => _`{allowedValue: ${schemaCode}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"const\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {gen, data, $data, schemaCode, schema} = cxt\n if ($data || (schema && typeof schema == \"object\")) {\n cxt.fail$data(_`!${useFunc(gen, equal)}(${data}, ${schemaCode})`)\n } else {\n cxt.fail(_`${schema} !== ${data}`)\n }\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, ErrorObject, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, or, Name, Code} from \"../../compile/codegen\"\nimport {useFunc} from \"../../compile/util\"\nimport equal from \"../../runtime/equal\"\n\nexport type EnumError = ErrorObject<\"enum\", {allowedValues: any[]}, any[] | {$data: string}>\n\nconst error: KeywordErrorDefinition = {\n message: \"must be equal to one of the allowed values\",\n params: ({schemaCode}) => _`{allowedValues: ${schemaCode}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"enum\",\n schemaType: \"array\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {gen, data, $data, schema, schemaCode, it} = cxt\n if (!$data && schema.length === 0) throw new Error(\"enum must have non-empty array\")\n const useLoop = schema.length >= it.opts.loopEnum\n let eql: Name | undefined\n const getEql = (): Name => (eql ??= useFunc(gen, equal))\n\n let valid: Code\n if (useLoop || $data) {\n valid = gen.let(\"valid\")\n cxt.block$data(valid, loopEnum)\n } else {\n /* istanbul ignore if */\n if (!Array.isArray(schema)) throw new Error(\"ajv implementation error\")\n const vSchema = gen.const(\"vSchema\", schemaCode)\n valid = or(...schema.map((_x: unknown, i: number) => equalCode(vSchema, i)))\n }\n cxt.pass(valid)\n\n function loopEnum(): void {\n gen.assign(valid, false)\n gen.forOf(\"v\", schemaCode as Code, (v) =>\n gen.if(_`${getEql()}(${data}, ${v})`, () => gen.assign(valid, true).break())\n )\n }\n\n function equalCode(vSchema: Name, i: number): Code {\n const sch = schema[i]\n return typeof sch === \"object\" && sch !== null\n ? _`${getEql()}(${data}, ${vSchema}[${i}])`\n : _`${data} === ${sch}`\n }\n },\n}\n\nexport default def\n","import type {ErrorObject, Vocabulary} from \"../../types\"\nimport limitNumber, {LimitNumberError} from \"./limitNumber\"\nimport multipleOf, {MultipleOfError} from \"./multipleOf\"\nimport limitLength from \"./limitLength\"\nimport pattern, {PatternError} from \"./pattern\"\nimport limitProperties from \"./limitProperties\"\nimport required, {RequiredError} from \"./required\"\nimport limitItems from \"./limitItems\"\nimport uniqueItems, {UniqueItemsError} from \"./uniqueItems\"\nimport constKeyword, {ConstError} from \"./const\"\nimport enumKeyword, {EnumError} from \"./enum\"\n\nconst validation: Vocabulary = [\n // number\n limitNumber,\n multipleOf,\n // string\n limitLength,\n pattern,\n // object\n limitProperties,\n required,\n // array\n limitItems,\n uniqueItems,\n // any\n {keyword: \"type\", schemaType: [\"string\", \"array\"]},\n {keyword: \"nullable\", schemaType: \"boolean\"},\n constKeyword,\n enumKeyword,\n]\n\nexport default validation\n\ntype LimitError = ErrorObject<\n \"maxItems\" | \"minItems\" | \"minProperties\" | \"maxProperties\" | \"minLength\" | \"maxLength\",\n {limit: number},\n number | {$data: string}\n>\n\nexport type ValidationKeywordError =\n | LimitError\n | LimitNumberError\n | MultipleOfError\n | PatternError\n | RequiredError\n | UniqueItemsError\n | ConstError\n | EnumError\n","import type {CodeKeywordDefinition, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str, operators} from \"../../compile/codegen\"\n\nconst error: KeywordErrorDefinition = {\n message({keyword, schemaCode}) {\n const comp = keyword === \"maxItems\" ? \"more\" : \"fewer\"\n return str`must NOT have ${comp} than ${schemaCode} items`\n },\n params: ({schemaCode}) => _`{limit: ${schemaCode}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: [\"maxItems\", \"minItems\"],\n type: \"array\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {keyword, data, schemaCode} = cxt\n const op = keyword === \"maxItems\" ? operators.GT : operators.LT\n cxt.fail$data(_`${data}.length ${op} ${schemaCode}`)\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str, operators} from \"../../compile/codegen\"\nimport {useFunc} from \"../../compile/util\"\nimport ucs2length from \"../../runtime/ucs2length\"\n\nconst error: KeywordErrorDefinition = {\n message({keyword, schemaCode}) {\n const comp = keyword === \"maxLength\" ? \"more\" : \"fewer\"\n return str`must NOT have ${comp} than ${schemaCode} characters`\n },\n params: ({schemaCode}) => _`{limit: ${schemaCode}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: [\"maxLength\", \"minLength\"],\n type: \"string\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {keyword, data, schemaCode, it} = cxt\n const op = keyword === \"maxLength\" ? operators.GT : operators.LT\n const len =\n it.opts.unicode === false ? _`${data}.length` : _`${useFunc(cxt.gen, ucs2length)}(${data})`\n cxt.fail$data(_`${len} ${op} ${schemaCode}`)\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, ErrorObject, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str, operators, Code} from \"../../compile/codegen\"\n\nconst ops = operators\n\ntype Kwd = \"maximum\" | \"minimum\" | \"exclusiveMaximum\" | \"exclusiveMinimum\"\n\ntype Comparison = \"<=\" | \">=\" | \"<\" | \">\"\n\nconst KWDs: {[K in Kwd]: {okStr: Comparison; ok: Code; fail: Code}} = {\n maximum: {okStr: \"<=\", ok: ops.LTE, fail: ops.GT},\n minimum: {okStr: \">=\", ok: ops.GTE, fail: ops.LT},\n exclusiveMaximum: {okStr: \"<\", ok: ops.LT, fail: ops.GTE},\n exclusiveMinimum: {okStr: \">\", ok: ops.GT, fail: ops.LTE},\n}\n\nexport type LimitNumberError = ErrorObject<\n Kwd,\n {limit: number; comparison: Comparison},\n number | {$data: string}\n>\n\nconst error: KeywordErrorDefinition = {\n message: ({keyword, schemaCode}) => str`must be ${KWDs[keyword as Kwd].okStr} ${schemaCode}`,\n params: ({keyword, schemaCode}) =>\n _`{comparison: ${KWDs[keyword as Kwd].okStr}, limit: ${schemaCode}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: Object.keys(KWDs),\n type: \"number\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {keyword, data, schemaCode} = cxt\n cxt.fail$data(_`${data} ${KWDs[keyword as Kwd].fail} ${schemaCode} || isNaN(${data})`)\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str, operators} from \"../../compile/codegen\"\n\nconst error: KeywordErrorDefinition = {\n message({keyword, schemaCode}) {\n const comp = keyword === \"maxProperties\" ? \"more\" : \"fewer\"\n return str`must NOT have ${comp} than ${schemaCode} properties`\n },\n params: ({schemaCode}) => _`{limit: ${schemaCode}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: [\"maxProperties\", \"minProperties\"],\n type: \"object\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {keyword, data, schemaCode} = cxt\n const op = keyword === \"maxProperties\" ? operators.GT : operators.LT\n cxt.fail$data(_`Object.keys(${data}).length ${op} ${schemaCode}`)\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, ErrorObject, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str} from \"../../compile/codegen\"\n\nexport type MultipleOfError = ErrorObject<\n \"multipleOf\",\n {multipleOf: number},\n number | {$data: string}\n>\n\nconst error: KeywordErrorDefinition = {\n message: ({schemaCode}) => str`must be multiple of ${schemaCode}`,\n params: ({schemaCode}) => _`{multipleOf: ${schemaCode}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"multipleOf\",\n type: \"number\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {gen, data, schemaCode, it} = cxt\n // const bdt = bad$DataType(schemaCode, def.schemaType, $data)\n const prec = it.opts.multipleOfPrecision\n const res = gen.let(\"res\")\n const invalid = prec\n ? _`Math.abs(Math.round(${res}) - ${res}) > 1e-${prec}`\n : _`${res} !== parseInt(${res})`\n cxt.fail$data(_`(${schemaCode} === 0 || (${res} = ${data}/${schemaCode}, ${invalid}))`)\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, ErrorObject, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {usePattern} from \"../code\"\nimport {_, str} from \"../../compile/codegen\"\n\nexport type PatternError = ErrorObject<\"pattern\", {pattern: string}, string | {$data: string}>\n\nconst error: KeywordErrorDefinition = {\n message: ({schemaCode}) => str`must match pattern \"${schemaCode}\"`,\n params: ({schemaCode}) => _`{pattern: ${schemaCode}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"pattern\",\n type: \"string\",\n schemaType: \"string\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {data, $data, schema, schemaCode, it} = cxt\n // TODO regexp should be wrapped in try/catchs\n const u = it.opts.unicodeRegExp ? \"u\" : \"\"\n const regExp = $data ? _`(new RegExp(${schemaCode}, ${u}))` : usePattern(cxt, schema)\n cxt.fail$data(_`!${regExp}.test(${data})`)\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, ErrorObject, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {\n checkReportMissingProp,\n checkMissingProp,\n reportMissingProp,\n propertyInData,\n noPropertyInData,\n} from \"../code\"\nimport {_, str, nil, not, Name, Code} from \"../../compile/codegen\"\nimport {checkStrictMode} from \"../../compile/util\"\n\nexport type RequiredError = ErrorObject<\n \"required\",\n {missingProperty: string},\n string[] | {$data: string}\n>\n\nconst error: KeywordErrorDefinition = {\n message: ({params: {missingProperty}}) => str`must have required property '${missingProperty}'`,\n params: ({params: {missingProperty}}) => _`{missingProperty: ${missingProperty}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"required\",\n type: \"object\",\n schemaType: \"array\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {gen, schema, schemaCode, data, $data, it} = cxt\n const {opts} = it\n if (!$data && schema.length === 0) return\n const useLoop = schema.length >= opts.loopRequired\n if (it.allErrors) allErrorsMode()\n else exitOnErrorMode()\n\n if (opts.strictRequired) {\n const props = cxt.parentSchema.properties\n const {definedProperties} = cxt.it\n for (const requiredKey of schema) {\n if (props?.[requiredKey] === undefined && !definedProperties.has(requiredKey)) {\n const schemaPath = it.schemaEnv.baseId + it.errSchemaPath\n const msg = `required property \"${requiredKey}\" is not defined at \"${schemaPath}\" (strictRequired)`\n checkStrictMode(it, msg, it.opts.strictRequired)\n }\n }\n }\n\n function allErrorsMode(): void {\n if (useLoop || $data) {\n cxt.block$data(nil, loopAllRequired)\n } else {\n for (const prop of schema) {\n checkReportMissingProp(cxt, prop)\n }\n }\n }\n\n function exitOnErrorMode(): void {\n const missing = gen.let(\"missing\")\n if (useLoop || $data) {\n const valid = gen.let(\"valid\", true)\n cxt.block$data(valid, () => loopUntilMissing(missing, valid))\n cxt.ok(valid)\n } else {\n gen.if(checkMissingProp(cxt, schema, missing))\n reportMissingProp(cxt, missing)\n gen.else()\n }\n }\n\n function loopAllRequired(): void {\n gen.forOf(\"prop\", schemaCode as Code, (prop) => {\n cxt.setParams({missingProperty: prop})\n gen.if(noPropertyInData(gen, data, prop, opts.ownProperties), () => cxt.error())\n })\n }\n\n function loopUntilMissing(missing: Name, valid: Name): void {\n cxt.setParams({missingProperty: missing})\n gen.forOf(\n missing,\n schemaCode as Code,\n () => {\n gen.assign(valid, propertyInData(gen, data, missing, opts.ownProperties))\n gen.if(not(valid), () => {\n cxt.error()\n gen.break()\n })\n },\n nil\n )\n }\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, ErrorObject, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {checkDataTypes, getSchemaTypes, DataType} from \"../../compile/validate/dataType\"\nimport {_, str, Name} from \"../../compile/codegen\"\nimport {useFunc} from \"../../compile/util\"\nimport equal from \"../../runtime/equal\"\n\nexport type UniqueItemsError = ErrorObject<\n \"uniqueItems\",\n {i: number; j: number},\n boolean | {$data: string}\n>\n\nconst error: KeywordErrorDefinition = {\n message: ({params: {i, j}}) =>\n str`must NOT have duplicate items (items ## ${j} and ${i} are identical)`,\n params: ({params: {i, j}}) => _`{i: ${i}, j: ${j}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"uniqueItems\",\n type: \"array\",\n schemaType: \"boolean\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {gen, data, $data, schema, parentSchema, schemaCode, it} = cxt\n if (!$data && !schema) return\n const valid = gen.let(\"valid\")\n const itemTypes = parentSchema.items ? getSchemaTypes(parentSchema.items) : []\n cxt.block$data(valid, validateUniqueItems, _`${schemaCode} === false`)\n cxt.ok(valid)\n\n function validateUniqueItems(): void {\n const i = gen.let(\"i\", _`${data}.length`)\n const j = gen.let(\"j\")\n cxt.setParams({i, j})\n gen.assign(valid, true)\n gen.if(_`${i} > 1`, () => (canOptimize() ? loopN : loopN2)(i, j))\n }\n\n function canOptimize(): boolean {\n return itemTypes.length > 0 && !itemTypes.some((t) => t === \"object\" || t === \"array\")\n }\n\n function loopN(i: Name, j: Name): void {\n const item = gen.name(\"item\")\n const wrongType = checkDataTypes(itemTypes, item, it.opts.strictNumbers, DataType.Wrong)\n const indices = gen.const(\"indices\", _`{}`)\n gen.for(_`;${i}--;`, () => {\n gen.let(item, _`${data}[${i}]`)\n gen.if(wrongType, _`continue`)\n if (itemTypes.length > 1) gen.if(_`typeof ${item} == \"string\"`, _`${item} += \"_\"`)\n gen\n .if(_`typeof ${indices}[${item}] == \"number\"`, () => {\n gen.assign(j, _`${indices}[${item}]`)\n cxt.error()\n gen.assign(valid, false).break()\n })\n .code(_`${indices}[${item}] = ${i}`)\n })\n }\n\n function loopN2(i: Name, j: Name): void {\n const eql = useFunc(gen, equal)\n const outer = gen.name(\"outer\")\n gen.label(outer).for(_`;${i}--;`, () =>\n gen.for(_`${j} = ${i}; ${j}--;`, () =>\n gen.if(_`${eql}(${data}[${i}], ${data}[${j}])`, () => {\n cxt.error()\n gen.assign(valid, false).break(outer)\n })\n )\n )\n }\n },\n}\n\nexport default def\n","'use strict';\n\nvar traverse = module.exports = function (schema, opts, cb) {\n // Legacy support for v0.3.1 and earlier.\n if (typeof opts == 'function') {\n cb = opts;\n opts = {};\n }\n\n cb = opts.cb || cb;\n var pre = (typeof cb == 'function') ? cb : cb.pre || function() {};\n var post = cb.post || function() {};\n\n _traverse(opts, pre, post, schema, '', schema);\n};\n\n\ntraverse.keywords = {\n additionalItems: true,\n items: true,\n contains: true,\n additionalProperties: true,\n propertyNames: true,\n not: true,\n if: true,\n then: true,\n else: true\n};\n\ntraverse.arrayKeywords = {\n items: true,\n allOf: true,\n anyOf: true,\n oneOf: true\n};\n\ntraverse.propsKeywords = {\n $defs: true,\n definitions: true,\n properties: true,\n patternProperties: true,\n dependencies: true\n};\n\ntraverse.skipKeywords = {\n default: true,\n enum: true,\n const: true,\n required: true,\n maximum: true,\n minimum: true,\n exclusiveMaximum: true,\n exclusiveMinimum: true,\n multipleOf: true,\n maxLength: true,\n minLength: true,\n pattern: true,\n format: true,\n maxItems: true,\n minItems: true,\n uniqueItems: true,\n maxProperties: true,\n minProperties: true\n};\n\n\nfunction _traverse(opts, pre, post, schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) {\n if (schema && typeof schema == 'object' && !Array.isArray(schema)) {\n pre(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);\n for (var key in schema) {\n var sch = schema[key];\n if (Array.isArray(sch)) {\n if (key in traverse.arrayKeywords) {\n for (var i=0; i,\n compare: FormatCompare\n): FormatDefinition {\n return {validate, compare}\n}\n\nexport const fullFormats: DefinedFormats = {\n // date: http://tools.ietf.org/html/rfc3339#section-5.6\n date: fmtDef(date, compareDate),\n // date-time: http://tools.ietf.org/html/rfc3339#section-5.6\n time: fmtDef(time, compareTime),\n \"date-time\": fmtDef(date_time, compareDateTime),\n // duration: https://tools.ietf.org/html/rfc3339#appendix-A\n duration: /^P(?!$)((\\d+Y)?(\\d+M)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+S)?)?|(\\d+W)?)$/,\n uri,\n \"uri-reference\":\n /^(?:[a-z][a-z0-9+\\-.]*:)?(?:\\/?\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\\.[a-z0-9\\-._~!$&'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)|(?:[a-z0-9\\-._~!$&'\"()*+,;=]|%[0-9a-f]{2})*)(?::\\d*)?(?:\\/(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})*)*|\\/(?:(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\\?(?:[a-z0-9\\-._~!$&'\"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\\-._~!$&'\"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,\n // uri-template: https://tools.ietf.org/html/rfc6570\n \"uri-template\":\n /^(?:(?:[^\\x00-\\x20\"'<>%\\\\^`{|}]|%[0-9a-f]{2})|\\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\\*)?)*\\})*$/i,\n // For the source: https://gist.github.com/dperini/729294\n // For test cases: https://mathiasbynens.be/demo/url-regex\n url: /^(?:https?|ftp):\\/\\/(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u{00a1}-\\u{ffff}]+-)*[a-z0-9\\u{00a1}-\\u{ffff}]+)(?:\\.(?:[a-z0-9\\u{00a1}-\\u{ffff}]+-)*[a-z0-9\\u{00a1}-\\u{ffff}]+)*(?:\\.(?:[a-z\\u{00a1}-\\u{ffff}]{2,})))(?::\\d{2,5})?(?:\\/[^\\s]*)?$/iu,\n email:\n /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,\n hostname:\n /^(?=.{1,253}\\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\\.?$/i,\n // optimized https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html\n ipv4: /^(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$/,\n ipv6: /^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))$/i,\n regex,\n // uuid: http://tools.ietf.org/html/rfc4122\n uuid: /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,\n // JSON-pointer: https://tools.ietf.org/html/rfc6901\n // uri fragment: https://tools.ietf.org/html/rfc3986#appendix-A\n \"json-pointer\": /^(?:\\/(?:[^~/]|~0|~1)*)*$/,\n \"json-pointer-uri-fragment\": /^#(?:\\/(?:[a-z0-9_\\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,\n // relative JSON-pointer: http://tools.ietf.org/html/draft-luff-relative-json-pointer-00\n \"relative-json-pointer\": /^(?:0|[1-9][0-9]*)(?:#|(?:\\/(?:[^~/]|~0|~1)*)*)$/,\n // the following formats are used by the openapi specification: https://spec.openapis.org/oas/v3.0.0#data-types\n // byte: https://github.com/miguelmota/is-base64\n byte,\n // signed 32 bit integer\n int32: {type: \"number\", validate: validateInt32},\n // signed 64 bit integer\n int64: {type: \"number\", validate: validateInt64},\n // C-type float\n float: {type: \"number\", validate: validateNumber},\n // C-type double\n double: {type: \"number\", validate: validateNumber},\n // hint to the UI to hide input strings\n password: true,\n // unchecked string payload\n binary: true,\n}\n\nexport const fastFormats: DefinedFormats = {\n ...fullFormats,\n date: fmtDef(/^\\d\\d\\d\\d-[0-1]\\d-[0-3]\\d$/, compareDate),\n time: fmtDef(\n /^(?:[0-2]\\d:[0-5]\\d:[0-5]\\d|23:59:60)(?:\\.\\d+)?(?:z|[+-]\\d\\d(?::?\\d\\d)?)?$/i,\n compareTime\n ),\n \"date-time\": fmtDef(\n /^\\d\\d\\d\\d-[0-1]\\d-[0-3]\\d[t\\s](?:[0-2]\\d:[0-5]\\d:[0-5]\\d|23:59:60)(?:\\.\\d+)?(?:z|[+-]\\d\\d(?::?\\d\\d)?)$/i,\n compareDateTime\n ),\n // uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js\n uri: /^(?:[a-z][a-z0-9+\\-.]*:)(?:\\/?\\/)?[^\\s]*$/i,\n \"uri-reference\": /^(?:(?:[a-z][a-z0-9+\\-.]*:)?\\/?\\/)?(?:[^\\\\\\s#][^\\s#]*)?(?:#[^\\\\\\s]*)?$/i,\n // email (sources from jsen validator):\n // http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address#answer-8829363\n // http://www.w3.org/TR/html5/forms.html#valid-e-mail-address (search for 'wilful violation')\n email:\n /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,\n}\n\nexport const formatNames = Object.keys(fullFormats) as FormatName[]\n\nfunction isLeapYear(year: number): boolean {\n // https://tools.ietf.org/html/rfc3339#appendix-C\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0)\n}\n\nconst DATE = /^(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)$/\nconst DAYS = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\n\nfunction date(str: string): boolean {\n // full-date from http://tools.ietf.org/html/rfc3339#section-5.6\n const matches: string[] | null = DATE.exec(str)\n if (!matches) return false\n const year: number = +matches[1]\n const month: number = +matches[2]\n const day: number = +matches[3]\n return (\n month >= 1 &&\n month <= 12 &&\n day >= 1 &&\n day <= (month === 2 && isLeapYear(year) ? 29 : DAYS[month])\n )\n}\n\nfunction compareDate(d1: string, d2: string): number | undefined {\n if (!(d1 && d2)) return undefined\n if (d1 > d2) return 1\n if (d1 < d2) return -1\n return 0\n}\n\nconst TIME = /^(\\d\\d):(\\d\\d):(\\d\\d)(\\.\\d+)?(z|[+-]\\d\\d(?::?\\d\\d)?)?$/i\n\nfunction time(str: string, withTimeZone?: boolean): boolean {\n const matches: string[] | null = TIME.exec(str)\n if (!matches) return false\n\n const hour: number = +matches[1]\n const minute: number = +matches[2]\n const second: number = +matches[3]\n const timeZone: string = matches[5]\n return (\n ((hour <= 23 && minute <= 59 && second <= 59) ||\n (hour === 23 && minute === 59 && second === 60)) &&\n (!withTimeZone || timeZone !== \"\")\n )\n}\n\nfunction compareTime(t1: string, t2: string): number | undefined {\n if (!(t1 && t2)) return undefined\n const a1 = TIME.exec(t1)\n const a2 = TIME.exec(t2)\n if (!(a1 && a2)) return undefined\n t1 = a1[1] + a1[2] + a1[3] + (a1[4] || \"\")\n t2 = a2[1] + a2[2] + a2[3] + (a2[4] || \"\")\n if (t1 > t2) return 1\n if (t1 < t2) return -1\n return 0\n}\n\nconst DATE_TIME_SEPARATOR = /t|\\s/i\nfunction date_time(str: string): boolean {\n // http://tools.ietf.org/html/rfc3339#section-5.6\n const dateTime: string[] = str.split(DATE_TIME_SEPARATOR)\n return dateTime.length === 2 && date(dateTime[0]) && time(dateTime[1], true)\n}\n\nfunction compareDateTime(dt1: string, dt2: string): number | undefined {\n if (!(dt1 && dt2)) return undefined\n const [d1, t1] = dt1.split(DATE_TIME_SEPARATOR)\n const [d2, t2] = dt2.split(DATE_TIME_SEPARATOR)\n const res = compareDate(d1, d2)\n if (res === undefined) return undefined\n return res || compareTime(t1, t2)\n}\n\nconst NOT_URI_FRAGMENT = /\\/|:/\nconst URI =\n /^(?:[a-z][a-z0-9+\\-.]*:)(?:\\/?\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\\.[a-z0-9\\-._~!$&'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)|(?:[a-z0-9\\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\\d*)?(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\\?(?:[a-z0-9\\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i\n\nfunction uri(str: string): boolean {\n // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required \".\"\n return NOT_URI_FRAGMENT.test(str) && URI.test(str)\n}\n\nconst BYTE = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm\n\nfunction byte(str: string): boolean {\n BYTE.lastIndex = 0\n return BYTE.test(str)\n}\n\nconst MIN_INT32 = -(2 ** 31)\nconst MAX_INT32 = 2 ** 31 - 1\n\nfunction validateInt32(value: number): boolean {\n return Number.isInteger(value) && value <= MAX_INT32 && value >= MIN_INT32\n}\n\nfunction validateInt64(value: number): boolean {\n // JSON and javascript max Int is 2**53, so any int that passes isInteger is valid for Int64\n return Number.isInteger(value)\n}\n\nfunction validateNumber(): boolean {\n return true\n}\n\nconst Z_ANCHOR = /[^\\\\]\\\\Z/\nfunction regex(str: string): boolean {\n if (Z_ANCHOR.test(str)) return false\n try {\n new RegExp(str)\n return true\n } catch (e) {\n return false\n }\n}\n","import {\n DefinedFormats,\n FormatMode,\n FormatName,\n formatNames,\n fastFormats,\n fullFormats,\n} from \"./formats\"\nimport formatLimit from \"./limit\"\nimport type Ajv from \"ajv\"\nimport type {Plugin, Format} from \"ajv\"\nimport {_, Name} from \"ajv/dist/compile/codegen\"\n\nexport {FormatMode, FormatName} from \"./formats\"\nexport {LimitFormatError} from \"./limit\"\nexport interface FormatOptions {\n mode?: FormatMode\n formats?: FormatName[]\n keywords?: boolean\n}\n\nexport type FormatsPluginOptions = FormatName[] | FormatOptions\n\nexport interface FormatsPlugin extends Plugin {\n get: (format: FormatName, mode?: FormatMode) => Format\n}\n\nconst fullName = new Name(\"fullFormats\")\nconst fastName = new Name(\"fastFormats\")\n\nconst formatsPlugin: FormatsPlugin = (\n ajv: Ajv,\n opts: FormatsPluginOptions = {keywords: true}\n): Ajv => {\n if (Array.isArray(opts)) {\n addFormats(ajv, opts, fullFormats, fullName)\n return ajv\n }\n const [formats, exportName] =\n opts.mode === \"fast\" ? [fastFormats, fastName] : [fullFormats, fullName]\n const list = opts.formats || formatNames\n addFormats(ajv, list, formats, exportName)\n if (opts.keywords) formatLimit(ajv)\n return ajv\n}\n\nformatsPlugin.get = (name: FormatName, mode: FormatMode = \"full\"): Format => {\n const formats = mode === \"fast\" ? fastFormats : fullFormats\n const f = formats[name]\n if (!f) throw new Error(`Unknown format \"${name}\"`)\n return f\n}\n\nfunction addFormats(ajv: Ajv, list: FormatName[], fs: DefinedFormats, exportName: Name): void {\n ajv.opts.code.formats ??= _`require(\"ajv-formats/dist/formats\").${exportName}`\n for (const f of list) ajv.addFormat(f, fs[f])\n}\n\nmodule.exports = exports = formatsPlugin\nObject.defineProperty(exports, \"__esModule\", {value: true})\n\nexport default formatsPlugin\n","import type Ajv from \"ajv\"\nimport type {\n Plugin,\n CodeKeywordDefinition,\n KeywordErrorDefinition,\n Code,\n Name,\n ErrorObject,\n} from \"ajv\"\nimport type {AddedFormat} from \"ajv/dist/types\"\nimport type {Rule} from \"ajv/dist/compile/rules\"\nimport {KeywordCxt} from \"ajv\"\nimport {_, str, or, getProperty, operators} from \"ajv/dist/compile/codegen\"\n\ntype Kwd = \"formatMaximum\" | \"formatMinimum\" | \"formatExclusiveMaximum\" | \"formatExclusiveMinimum\"\n\ntype Comparison = \"<=\" | \">=\" | \"<\" | \">\"\n\nconst ops = operators\n\nconst KWDs: {[K in Kwd]: {okStr: Comparison; ok: Code; fail: Code}} = {\n formatMaximum: {okStr: \"<=\", ok: ops.LTE, fail: ops.GT},\n formatMinimum: {okStr: \">=\", ok: ops.GTE, fail: ops.LT},\n formatExclusiveMaximum: {okStr: \"<\", ok: ops.LT, fail: ops.GTE},\n formatExclusiveMinimum: {okStr: \">\", ok: ops.GT, fail: ops.LTE},\n}\n\nexport type LimitFormatError = ErrorObject\n\nconst error: KeywordErrorDefinition = {\n message: ({keyword, schemaCode}) => str`should be ${KWDs[keyword as Kwd].okStr} ${schemaCode}`,\n params: ({keyword, schemaCode}) =>\n _`{comparison: ${KWDs[keyword as Kwd].okStr}, limit: ${schemaCode}}`,\n}\n\nexport const formatLimitDefinition: CodeKeywordDefinition = {\n keyword: Object.keys(KWDs),\n type: \"string\",\n schemaType: \"string\",\n $data: true,\n error,\n code(cxt) {\n const {gen, data, schemaCode, keyword, it} = cxt\n const {opts, self} = it\n if (!opts.validateFormats) return\n\n const fCxt = new KeywordCxt(it, (self.RULES.all.format as Rule).definition, \"format\")\n if (fCxt.$data) validate$DataFormat()\n else validateFormat()\n\n function validate$DataFormat(): void {\n const fmts = gen.scopeValue(\"formats\", {\n ref: self.formats,\n code: opts.code.formats,\n })\n const fmt = gen.const(\"fmt\", _`${fmts}[${fCxt.schemaCode}]`)\n cxt.fail$data(\n or(\n _`typeof ${fmt} != \"object\"`,\n _`${fmt} instanceof RegExp`,\n _`typeof ${fmt}.compare != \"function\"`,\n compareCode(fmt)\n )\n )\n }\n\n function validateFormat(): void {\n const format = fCxt.schema as string\n const fmtDef: AddedFormat | undefined = self.formats[format]\n if (!fmtDef || fmtDef === true) return\n if (\n typeof fmtDef != \"object\" ||\n fmtDef instanceof RegExp ||\n typeof fmtDef.compare != \"function\"\n ) {\n throw new Error(`\"${keyword}\": format \"${format}\" does not define \"compare\" function`)\n }\n const fmt = gen.scopeValue(\"formats\", {\n key: format,\n ref: fmtDef,\n code: opts.code.formats ? _`${opts.code.formats}${getProperty(format)}` : undefined,\n })\n\n cxt.fail$data(compareCode(fmt))\n }\n\n function compareCode(fmt: Name): Code {\n return _`${fmt}.compare(${data}, ${schemaCode}) ${KWDs[keyword as Kwd].fail} 0`\n }\n },\n dependencies: [\"format\"],\n}\n\nconst formatLimitPlugin: Plugin = (ajv: Ajv): Ajv => {\n ajv.addKeyword(formatLimitDefinition)\n return ajv\n}\n\nexport default formatLimitPlugin\n","import type {AnySchemaObject} from \"./types\"\nimport AjvCore from \"./core\"\nimport draft7Vocabularies from \"./vocabularies/draft7\"\nimport discriminator from \"./vocabularies/discriminator\"\nimport * as draft7MetaSchema from \"./refs/json-schema-draft-07.json\"\n\nconst META_SUPPORT_DATA = [\"/properties\"]\n\nconst META_SCHEMA_ID = \"http://json-schema.org/draft-07/schema\"\n\nclass Ajv extends AjvCore {\n _addVocabularies(): void {\n super._addVocabularies()\n draft7Vocabularies.forEach((v) => this.addVocabulary(v))\n if (this.opts.discriminator) this.addKeyword(discriminator)\n }\n\n _addDefaultMetaSchema(): void {\n super._addDefaultMetaSchema()\n if (!this.opts.meta) return\n const metaSchema = this.opts.$data\n ? this.$dataMetaSchema(draft7MetaSchema, META_SUPPORT_DATA)\n : draft7MetaSchema\n this.addMetaSchema(metaSchema, META_SCHEMA_ID, false)\n this.refs[\"http://json-schema.org/schema\"] = META_SCHEMA_ID\n }\n\n defaultMeta(): string | AnySchemaObject | undefined {\n return (this.opts.defaultMeta =\n super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : undefined))\n }\n}\n\nmodule.exports = exports = Ajv\nObject.defineProperty(exports, \"__esModule\", {value: true})\n\nexport default Ajv\n\nexport {\n Format,\n FormatDefinition,\n AsyncFormatDefinition,\n KeywordDefinition,\n KeywordErrorDefinition,\n CodeKeywordDefinition,\n MacroKeywordDefinition,\n FuncKeywordDefinition,\n Vocabulary,\n Schema,\n SchemaObject,\n AnySchemaObject,\n AsyncSchema,\n AnySchema,\n ValidateFunction,\n AsyncValidateFunction,\n SchemaValidateFunction,\n ErrorObject,\n ErrorNoParams,\n} from \"./types\"\n\nexport {Plugin, Options, CodeOptions, InstanceOptions, Logger, ErrorsTextOptions} from \"./core\"\nexport {SchemaCxt, SchemaObjCxt} from \"./compile\"\nexport {KeywordCxt} from \"./compile/validate\"\nexport {DefinedError} from \"./vocabularies/errors\"\nexport {JSONType} from \"./compile/rules\"\nexport {JSONSchemaType} from \"./types/json-schema\"\nexport {_, str, stringify, nil, Name, Code, CodeGen, CodeGenOptions} from \"./compile/codegen\"\nexport {default as ValidationError} from \"./runtime/validation_error\"\nexport {default as MissingRefError} from \"./compile/ref_error\"\n","export abstract class _CodeOrName {\n abstract readonly str: string\n abstract readonly names: UsedNames\n abstract toString(): string\n abstract emptyStr(): boolean\n}\n\nexport const IDENTIFIER = /^[a-z$_][a-z$_0-9]*$/i\n\nexport class Name extends _CodeOrName {\n readonly str: string\n constructor(s: string) {\n super()\n if (!IDENTIFIER.test(s)) throw new Error(\"CodeGen: name must be a valid identifier\")\n this.str = s\n }\n\n toString(): string {\n return this.str\n }\n\n emptyStr(): boolean {\n return false\n }\n\n get names(): UsedNames {\n return {[this.str]: 1}\n }\n}\n\nexport class _Code extends _CodeOrName {\n readonly _items: readonly CodeItem[]\n private _str?: string\n private _names?: UsedNames\n\n constructor(code: string | readonly CodeItem[]) {\n super()\n this._items = typeof code === \"string\" ? [code] : code\n }\n\n toString(): string {\n return this.str\n }\n\n emptyStr(): boolean {\n if (this._items.length > 1) return false\n const item = this._items[0]\n return item === \"\" || item === '\"\"'\n }\n\n get str(): string {\n return (this._str ??= this._items.reduce((s: string, c: CodeItem) => `${s}${c}`, \"\"))\n }\n\n get names(): UsedNames {\n return (this._names ??= this._items.reduce((names: UsedNames, c) => {\n if (c instanceof Name) names[c.str] = (names[c.str] || 0) + 1\n return names\n }, {}))\n }\n}\n\nexport type CodeItem = Name | string | number | boolean | null\n\nexport type UsedNames = Record\n\nexport type Code = _Code | Name\n\nexport type SafeExpr = Code | number | boolean | null\n\nexport const nil = new _Code(\"\")\n\ntype CodeArg = SafeExpr | string | undefined\n\nexport function _(strs: TemplateStringsArray, ...args: CodeArg[]): _Code {\n const code: CodeItem[] = [strs[0]]\n let i = 0\n while (i < args.length) {\n addCodeArg(code, args[i])\n code.push(strs[++i])\n }\n return new _Code(code)\n}\n\nconst plus = new _Code(\"+\")\n\nexport function str(strs: TemplateStringsArray, ...args: (CodeArg | string[])[]): _Code {\n const expr: CodeItem[] = [safeStringify(strs[0])]\n let i = 0\n while (i < args.length) {\n expr.push(plus)\n addCodeArg(expr, args[i])\n expr.push(plus, safeStringify(strs[++i]))\n }\n optimize(expr)\n return new _Code(expr)\n}\n\nexport function addCodeArg(code: CodeItem[], arg: CodeArg | string[]): void {\n if (arg instanceof _Code) code.push(...arg._items)\n else if (arg instanceof Name) code.push(arg)\n else code.push(interpolate(arg))\n}\n\nfunction optimize(expr: CodeItem[]): void {\n let i = 1\n while (i < expr.length - 1) {\n if (expr[i] === plus) {\n const res = mergeExprItems(expr[i - 1], expr[i + 1])\n if (res !== undefined) {\n expr.splice(i - 1, 3, res)\n continue\n }\n expr[i++] = \"+\"\n }\n i++\n }\n}\n\nfunction mergeExprItems(a: CodeItem, b: CodeItem): CodeItem | undefined {\n if (b === '\"\"') return a\n if (a === '\"\"') return b\n if (typeof a == \"string\") {\n if (b instanceof Name || a[a.length - 1] !== '\"') return\n if (typeof b != \"string\") return `${a.slice(0, -1)}${b}\"`\n if (b[0] === '\"') return a.slice(0, -1) + b.slice(1)\n return\n }\n if (typeof b == \"string\" && b[0] === '\"' && !(a instanceof Name)) return `\"${a}${b.slice(1)}`\n return\n}\n\nexport function strConcat(c1: Code, c2: Code): Code {\n return c2.emptyStr() ? c1 : c1.emptyStr() ? c2 : str`${c1}${c2}`\n}\n\n// TODO do not allow arrays here\nfunction interpolate(x?: string | string[] | number | boolean | null): SafeExpr | string {\n return typeof x == \"number\" || typeof x == \"boolean\" || x === null\n ? x\n : safeStringify(Array.isArray(x) ? x.join(\",\") : x)\n}\n\nexport function stringify(x: unknown): Code {\n return new _Code(safeStringify(x))\n}\n\nexport function safeStringify(x: unknown): string {\n return JSON.stringify(x)\n .replace(/\\u2028/g, \"\\\\u2028\")\n .replace(/\\u2029/g, \"\\\\u2029\")\n}\n\nexport function getProperty(key: Code | string | number): Code {\n return typeof key == \"string\" && IDENTIFIER.test(key) ? new _Code(`.${key}`) : _`[${key}]`\n}\n\n//Does best effort to format the name properly\nexport function getEsmExportName(key: Code | string | number): Code {\n if (typeof key == \"string\" && IDENTIFIER.test(key)) {\n return new _Code(`${key}`)\n }\n throw new Error(`CodeGen: invalid export name: ${key}, use explicit $id name mapping`)\n}\n\nexport function regexpCode(rx: RegExp): Code {\n return new _Code(rx.toString())\n}\n","import type {ScopeValueSets, NameValue, ValueScope, ValueScopeName} from \"./scope\"\nimport {_, nil, _Code, Code, Name, UsedNames, CodeItem, addCodeArg, _CodeOrName} from \"./code\"\nimport {Scope, varKinds} from \"./scope\"\n\nexport {_, str, strConcat, nil, getProperty, stringify, regexpCode, Name, Code} from \"./code\"\nexport {Scope, ScopeStore, ValueScope, ValueScopeName, ScopeValueSets, varKinds} from \"./scope\"\n\n// type for expressions that can be safely inserted in code without quotes\nexport type SafeExpr = Code | number | boolean | null\n\n// type that is either Code of function that adds code to CodeGen instance using its methods\nexport type Block = Code | (() => void)\n\nexport const operators = {\n GT: new _Code(\">\"),\n GTE: new _Code(\">=\"),\n LT: new _Code(\"<\"),\n LTE: new _Code(\"<=\"),\n EQ: new _Code(\"===\"),\n NEQ: new _Code(\"!==\"),\n NOT: new _Code(\"!\"),\n OR: new _Code(\"||\"),\n AND: new _Code(\"&&\"),\n ADD: new _Code(\"+\"),\n}\n\nabstract class Node {\n abstract readonly names: UsedNames\n\n optimizeNodes(): this | ChildNode | ChildNode[] | undefined {\n return this\n }\n\n optimizeNames(_names: UsedNames, _constants: Constants): this | undefined {\n return this\n }\n\n // get count(): number {\n // return 1\n // }\n}\n\nclass Def extends Node {\n constructor(private readonly varKind: Name, private readonly name: Name, private rhs?: SafeExpr) {\n super()\n }\n\n render({es5, _n}: CGOptions): string {\n const varKind = es5 ? varKinds.var : this.varKind\n const rhs = this.rhs === undefined ? \"\" : ` = ${this.rhs}`\n return `${varKind} ${this.name}${rhs};` + _n\n }\n\n optimizeNames(names: UsedNames, constants: Constants): this | undefined {\n if (!names[this.name.str]) return\n if (this.rhs) this.rhs = optimizeExpr(this.rhs, names, constants)\n return this\n }\n\n get names(): UsedNames {\n return this.rhs instanceof _CodeOrName ? this.rhs.names : {}\n }\n}\n\nclass Assign extends Node {\n constructor(readonly lhs: Code, public rhs: SafeExpr, private readonly sideEffects?: boolean) {\n super()\n }\n\n render({_n}: CGOptions): string {\n return `${this.lhs} = ${this.rhs};` + _n\n }\n\n optimizeNames(names: UsedNames, constants: Constants): this | undefined {\n if (this.lhs instanceof Name && !names[this.lhs.str] && !this.sideEffects) return\n this.rhs = optimizeExpr(this.rhs, names, constants)\n return this\n }\n\n get names(): UsedNames {\n const names = this.lhs instanceof Name ? {} : {...this.lhs.names}\n return addExprNames(names, this.rhs)\n }\n}\n\nclass AssignOp extends Assign {\n constructor(lhs: Code, private readonly op: Code, rhs: SafeExpr, sideEffects?: boolean) {\n super(lhs, rhs, sideEffects)\n }\n\n render({_n}: CGOptions): string {\n return `${this.lhs} ${this.op}= ${this.rhs};` + _n\n }\n}\n\nclass Label extends Node {\n readonly names: UsedNames = {}\n constructor(readonly label: Name) {\n super()\n }\n\n render({_n}: CGOptions): string {\n return `${this.label}:` + _n\n }\n}\n\nclass Break extends Node {\n readonly names: UsedNames = {}\n constructor(readonly label?: Code) {\n super()\n }\n\n render({_n}: CGOptions): string {\n const label = this.label ? ` ${this.label}` : \"\"\n return `break${label};` + _n\n }\n}\n\nclass Throw extends Node {\n constructor(readonly error: Code) {\n super()\n }\n\n render({_n}: CGOptions): string {\n return `throw ${this.error};` + _n\n }\n\n get names(): UsedNames {\n return this.error.names\n }\n}\n\nclass AnyCode extends Node {\n constructor(private code: SafeExpr) {\n super()\n }\n\n render({_n}: CGOptions): string {\n return `${this.code};` + _n\n }\n\n optimizeNodes(): this | undefined {\n return `${this.code}` ? this : undefined\n }\n\n optimizeNames(names: UsedNames, constants: Constants): this {\n this.code = optimizeExpr(this.code, names, constants)\n return this\n }\n\n get names(): UsedNames {\n return this.code instanceof _CodeOrName ? this.code.names : {}\n }\n}\n\nabstract class ParentNode extends Node {\n constructor(readonly nodes: ChildNode[] = []) {\n super()\n }\n\n render(opts: CGOptions): string {\n return this.nodes.reduce((code, n) => code + n.render(opts), \"\")\n }\n\n optimizeNodes(): this | ChildNode | ChildNode[] | undefined {\n const {nodes} = this\n let i = nodes.length\n while (i--) {\n const n = nodes[i].optimizeNodes()\n if (Array.isArray(n)) nodes.splice(i, 1, ...n)\n else if (n) nodes[i] = n\n else nodes.splice(i, 1)\n }\n return nodes.length > 0 ? this : undefined\n }\n\n optimizeNames(names: UsedNames, constants: Constants): this | undefined {\n const {nodes} = this\n let i = nodes.length\n while (i--) {\n // iterating backwards improves 1-pass optimization\n const n = nodes[i]\n if (n.optimizeNames(names, constants)) continue\n subtractNames(names, n.names)\n nodes.splice(i, 1)\n }\n return nodes.length > 0 ? this : undefined\n }\n\n get names(): UsedNames {\n return this.nodes.reduce((names: UsedNames, n) => addNames(names, n.names), {})\n }\n\n // get count(): number {\n // return this.nodes.reduce((c, n) => c + n.count, 1)\n // }\n}\n\nabstract class BlockNode extends ParentNode {\n render(opts: CGOptions): string {\n return \"{\" + opts._n + super.render(opts) + \"}\" + opts._n\n }\n}\n\nclass Root extends ParentNode {}\n\nclass Else extends BlockNode {\n static readonly kind = \"else\"\n}\n\nclass If extends BlockNode {\n static readonly kind = \"if\"\n else?: If | Else\n constructor(private condition: Code | boolean, nodes?: ChildNode[]) {\n super(nodes)\n }\n\n render(opts: CGOptions): string {\n let code = `if(${this.condition})` + super.render(opts)\n if (this.else) code += \"else \" + this.else.render(opts)\n return code\n }\n\n optimizeNodes(): If | ChildNode[] | undefined {\n super.optimizeNodes()\n const cond = this.condition\n if (cond === true) return this.nodes // else is ignored here\n let e = this.else\n if (e) {\n const ns = e.optimizeNodes()\n e = this.else = Array.isArray(ns) ? new Else(ns) : (ns as Else | undefined)\n }\n if (e) {\n if (cond === false) return e instanceof If ? e : e.nodes\n if (this.nodes.length) return this\n return new If(not(cond), e instanceof If ? [e] : e.nodes)\n }\n if (cond === false || !this.nodes.length) return undefined\n return this\n }\n\n optimizeNames(names: UsedNames, constants: Constants): this | undefined {\n this.else = this.else?.optimizeNames(names, constants)\n if (!(super.optimizeNames(names, constants) || this.else)) return\n this.condition = optimizeExpr(this.condition, names, constants)\n return this\n }\n\n get names(): UsedNames {\n const names = super.names\n addExprNames(names, this.condition)\n if (this.else) addNames(names, this.else.names)\n return names\n }\n\n // get count(): number {\n // return super.count + (this.else?.count || 0)\n // }\n}\n\nabstract class For extends BlockNode {\n static readonly kind = \"for\"\n}\n\nclass ForLoop extends For {\n constructor(private iteration: Code) {\n super()\n }\n\n render(opts: CGOptions): string {\n return `for(${this.iteration})` + super.render(opts)\n }\n\n optimizeNames(names: UsedNames, constants: Constants): this | undefined {\n if (!super.optimizeNames(names, constants)) return\n this.iteration = optimizeExpr(this.iteration, names, constants)\n return this\n }\n\n get names(): UsedNames {\n return addNames(super.names, this.iteration.names)\n }\n}\n\nclass ForRange extends For {\n constructor(\n private readonly varKind: Name,\n private readonly name: Name,\n private readonly from: SafeExpr,\n private readonly to: SafeExpr\n ) {\n super()\n }\n\n render(opts: CGOptions): string {\n const varKind = opts.es5 ? varKinds.var : this.varKind\n const {name, from, to} = this\n return `for(${varKind} ${name}=${from}; ${name}<${to}; ${name}++)` + super.render(opts)\n }\n\n get names(): UsedNames {\n const names = addExprNames(super.names, this.from)\n return addExprNames(names, this.to)\n }\n}\n\nclass ForIter extends For {\n constructor(\n private readonly loop: \"of\" | \"in\",\n private readonly varKind: Name,\n private readonly name: Name,\n private iterable: Code\n ) {\n super()\n }\n\n render(opts: CGOptions): string {\n return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})` + super.render(opts)\n }\n\n optimizeNames(names: UsedNames, constants: Constants): this | undefined {\n if (!super.optimizeNames(names, constants)) return\n this.iterable = optimizeExpr(this.iterable, names, constants)\n return this\n }\n\n get names(): UsedNames {\n return addNames(super.names, this.iterable.names)\n }\n}\n\nclass Func extends BlockNode {\n static readonly kind = \"func\"\n constructor(public name: Name, public args: Code, public async?: boolean) {\n super()\n }\n\n render(opts: CGOptions): string {\n const _async = this.async ? \"async \" : \"\"\n return `${_async}function ${this.name}(${this.args})` + super.render(opts)\n }\n}\n\nclass Return extends ParentNode {\n static readonly kind = \"return\"\n\n render(opts: CGOptions): string {\n return \"return \" + super.render(opts)\n }\n}\n\nclass Try extends BlockNode {\n catch?: Catch\n finally?: Finally\n\n render(opts: CGOptions): string {\n let code = \"try\" + super.render(opts)\n if (this.catch) code += this.catch.render(opts)\n if (this.finally) code += this.finally.render(opts)\n return code\n }\n\n optimizeNodes(): this {\n super.optimizeNodes()\n this.catch?.optimizeNodes() as Catch | undefined\n this.finally?.optimizeNodes() as Finally | undefined\n return this\n }\n\n optimizeNames(names: UsedNames, constants: Constants): this {\n super.optimizeNames(names, constants)\n this.catch?.optimizeNames(names, constants)\n this.finally?.optimizeNames(names, constants)\n return this\n }\n\n get names(): UsedNames {\n const names = super.names\n if (this.catch) addNames(names, this.catch.names)\n if (this.finally) addNames(names, this.finally.names)\n return names\n }\n\n // get count(): number {\n // return super.count + (this.catch?.count || 0) + (this.finally?.count || 0)\n // }\n}\n\nclass Catch extends BlockNode {\n static readonly kind = \"catch\"\n constructor(readonly error: Name) {\n super()\n }\n\n render(opts: CGOptions): string {\n return `catch(${this.error})` + super.render(opts)\n }\n}\n\nclass Finally extends BlockNode {\n static readonly kind = \"finally\"\n render(opts: CGOptions): string {\n return \"finally\" + super.render(opts)\n }\n}\n\ntype StartBlockNode = If | For | Func | Return | Try\n\ntype LeafNode = Def | Assign | Label | Break | Throw | AnyCode\n\ntype ChildNode = StartBlockNode | LeafNode\n\ntype EndBlockNodeType =\n | typeof If\n | typeof Else\n | typeof For\n | typeof Func\n | typeof Return\n | typeof Catch\n | typeof Finally\n\ntype Constants = Record\n\nexport interface CodeGenOptions {\n es5?: boolean\n lines?: boolean\n ownProperties?: boolean\n}\n\ninterface CGOptions extends CodeGenOptions {\n _n: \"\\n\" | \"\"\n}\n\nexport class CodeGen {\n readonly _scope: Scope\n readonly _extScope: ValueScope\n readonly _values: ScopeValueSets = {}\n private readonly _nodes: ParentNode[]\n private readonly _blockStarts: number[] = []\n private readonly _constants: Constants = {}\n private readonly opts: CGOptions\n\n constructor(extScope: ValueScope, opts: CodeGenOptions = {}) {\n this.opts = {...opts, _n: opts.lines ? \"\\n\" : \"\"}\n this._extScope = extScope\n this._scope = new Scope({parent: extScope})\n this._nodes = [new Root()]\n }\n\n toString(): string {\n return this._root.render(this.opts)\n }\n\n // returns unique name in the internal scope\n name(prefix: string): Name {\n return this._scope.name(prefix)\n }\n\n // reserves unique name in the external scope\n scopeName(prefix: string): ValueScopeName {\n return this._extScope.name(prefix)\n }\n\n // reserves unique name in the external scope and assigns value to it\n scopeValue(prefixOrName: ValueScopeName | string, value: NameValue): Name {\n const name = this._extScope.value(prefixOrName, value)\n const vs = this._values[name.prefix] || (this._values[name.prefix] = new Set())\n vs.add(name)\n return name\n }\n\n getScopeValue(prefix: string, keyOrRef: unknown): ValueScopeName | undefined {\n return this._extScope.getValue(prefix, keyOrRef)\n }\n\n // return code that assigns values in the external scope to the names that are used internally\n // (same names that were returned by gen.scopeName or gen.scopeValue)\n scopeRefs(scopeName: Name): Code {\n return this._extScope.scopeRefs(scopeName, this._values)\n }\n\n scopeCode(): Code {\n return this._extScope.scopeCode(this._values)\n }\n\n private _def(\n varKind: Name,\n nameOrPrefix: Name | string,\n rhs?: SafeExpr,\n constant?: boolean\n ): Name {\n const name = this._scope.toName(nameOrPrefix)\n if (rhs !== undefined && constant) this._constants[name.str] = rhs\n this._leafNode(new Def(varKind, name, rhs))\n return name\n }\n\n // `const` declaration (`var` in es5 mode)\n const(nameOrPrefix: Name | string, rhs: SafeExpr, _constant?: boolean): Name {\n return this._def(varKinds.const, nameOrPrefix, rhs, _constant)\n }\n\n // `let` declaration with optional assignment (`var` in es5 mode)\n let(nameOrPrefix: Name | string, rhs?: SafeExpr, _constant?: boolean): Name {\n return this._def(varKinds.let, nameOrPrefix, rhs, _constant)\n }\n\n // `var` declaration with optional assignment\n var(nameOrPrefix: Name | string, rhs?: SafeExpr, _constant?: boolean): Name {\n return this._def(varKinds.var, nameOrPrefix, rhs, _constant)\n }\n\n // assignment code\n assign(lhs: Code, rhs: SafeExpr, sideEffects?: boolean): CodeGen {\n return this._leafNode(new Assign(lhs, rhs, sideEffects))\n }\n\n // `+=` code\n add(lhs: Code, rhs: SafeExpr): CodeGen {\n return this._leafNode(new AssignOp(lhs, operators.ADD, rhs))\n }\n\n // appends passed SafeExpr to code or executes Block\n code(c: Block | SafeExpr): CodeGen {\n if (typeof c == \"function\") c()\n else if (c !== nil) this._leafNode(new AnyCode(c))\n return this\n }\n\n // returns code for object literal for the passed argument list of key-value pairs\n object(...keyValues: [Name | string, SafeExpr | string][]): _Code {\n const code: CodeItem[] = [\"{\"]\n for (const [key, value] of keyValues) {\n if (code.length > 1) code.push(\",\")\n code.push(key)\n if (key !== value || this.opts.es5) {\n code.push(\":\")\n addCodeArg(code, value)\n }\n }\n code.push(\"}\")\n return new _Code(code)\n }\n\n // `if` clause (or statement if `thenBody` and, optionally, `elseBody` are passed)\n if(condition: Code | boolean, thenBody?: Block, elseBody?: Block): CodeGen {\n this._blockNode(new If(condition))\n\n if (thenBody && elseBody) {\n this.code(thenBody).else().code(elseBody).endIf()\n } else if (thenBody) {\n this.code(thenBody).endIf()\n } else if (elseBody) {\n throw new Error('CodeGen: \"else\" body without \"then\" body')\n }\n return this\n }\n\n // `else if` clause - invalid without `if` or after `else` clauses\n elseIf(condition: Code | boolean): CodeGen {\n return this._elseNode(new If(condition))\n }\n\n // `else` clause - only valid after `if` or `else if` clauses\n else(): CodeGen {\n return this._elseNode(new Else())\n }\n\n // end `if` statement (needed if gen.if was used only with condition)\n endIf(): CodeGen {\n return this._endBlockNode(If, Else)\n }\n\n private _for(node: For, forBody?: Block): CodeGen {\n this._blockNode(node)\n if (forBody) this.code(forBody).endFor()\n return this\n }\n\n // a generic `for` clause (or statement if `forBody` is passed)\n for(iteration: Code, forBody?: Block): CodeGen {\n return this._for(new ForLoop(iteration), forBody)\n }\n\n // `for` statement for a range of values\n forRange(\n nameOrPrefix: Name | string,\n from: SafeExpr,\n to: SafeExpr,\n forBody: (index: Name) => void,\n varKind: Code = this.opts.es5 ? varKinds.var : varKinds.let\n ): CodeGen {\n const name = this._scope.toName(nameOrPrefix)\n return this._for(new ForRange(varKind, name, from, to), () => forBody(name))\n }\n\n // `for-of` statement (in es5 mode replace with a normal for loop)\n forOf(\n nameOrPrefix: Name | string,\n iterable: Code,\n forBody: (item: Name) => void,\n varKind: Code = varKinds.const\n ): CodeGen {\n const name = this._scope.toName(nameOrPrefix)\n if (this.opts.es5) {\n const arr = iterable instanceof Name ? iterable : this.var(\"_arr\", iterable)\n return this.forRange(\"_i\", 0, _`${arr}.length`, (i) => {\n this.var(name, _`${arr}[${i}]`)\n forBody(name)\n })\n }\n return this._for(new ForIter(\"of\", varKind, name, iterable), () => forBody(name))\n }\n\n // `for-in` statement.\n // With option `ownProperties` replaced with a `for-of` loop for object keys\n forIn(\n nameOrPrefix: Name | string,\n obj: Code,\n forBody: (item: Name) => void,\n varKind: Code = this.opts.es5 ? varKinds.var : varKinds.const\n ): CodeGen {\n if (this.opts.ownProperties) {\n return this.forOf(nameOrPrefix, _`Object.keys(${obj})`, forBody)\n }\n const name = this._scope.toName(nameOrPrefix)\n return this._for(new ForIter(\"in\", varKind, name, obj), () => forBody(name))\n }\n\n // end `for` loop\n endFor(): CodeGen {\n return this._endBlockNode(For)\n }\n\n // `label` statement\n label(label: Name): CodeGen {\n return this._leafNode(new Label(label))\n }\n\n // `break` statement\n break(label?: Code): CodeGen {\n return this._leafNode(new Break(label))\n }\n\n // `return` statement\n return(value: Block | SafeExpr): CodeGen {\n const node = new Return()\n this._blockNode(node)\n this.code(value)\n if (node.nodes.length !== 1) throw new Error('CodeGen: \"return\" should have one node')\n return this._endBlockNode(Return)\n }\n\n // `try` statement\n try(tryBody: Block, catchCode?: (e: Name) => void, finallyCode?: Block): CodeGen {\n if (!catchCode && !finallyCode) throw new Error('CodeGen: \"try\" without \"catch\" and \"finally\"')\n const node = new Try()\n this._blockNode(node)\n this.code(tryBody)\n if (catchCode) {\n const error = this.name(\"e\")\n this._currNode = node.catch = new Catch(error)\n catchCode(error)\n }\n if (finallyCode) {\n this._currNode = node.finally = new Finally()\n this.code(finallyCode)\n }\n return this._endBlockNode(Catch, Finally)\n }\n\n // `throw` statement\n throw(error: Code): CodeGen {\n return this._leafNode(new Throw(error))\n }\n\n // start self-balancing block\n block(body?: Block, nodeCount?: number): CodeGen {\n this._blockStarts.push(this._nodes.length)\n if (body) this.code(body).endBlock(nodeCount)\n return this\n }\n\n // end the current self-balancing block\n endBlock(nodeCount?: number): CodeGen {\n const len = this._blockStarts.pop()\n if (len === undefined) throw new Error(\"CodeGen: not in self-balancing block\")\n const toClose = this._nodes.length - len\n if (toClose < 0 || (nodeCount !== undefined && toClose !== nodeCount)) {\n throw new Error(`CodeGen: wrong number of nodes: ${toClose} vs ${nodeCount} expected`)\n }\n this._nodes.length = len\n return this\n }\n\n // `function` heading (or definition if funcBody is passed)\n func(name: Name, args: Code = nil, async?: boolean, funcBody?: Block): CodeGen {\n this._blockNode(new Func(name, args, async))\n if (funcBody) this.code(funcBody).endFunc()\n return this\n }\n\n // end function definition\n endFunc(): CodeGen {\n return this._endBlockNode(Func)\n }\n\n optimize(n = 1): void {\n while (n-- > 0) {\n this._root.optimizeNodes()\n this._root.optimizeNames(this._root.names, this._constants)\n }\n }\n\n private _leafNode(node: LeafNode): CodeGen {\n this._currNode.nodes.push(node)\n return this\n }\n\n private _blockNode(node: StartBlockNode): void {\n this._currNode.nodes.push(node)\n this._nodes.push(node)\n }\n\n private _endBlockNode(N1: EndBlockNodeType, N2?: EndBlockNodeType): CodeGen {\n const n = this._currNode\n if (n instanceof N1 || (N2 && n instanceof N2)) {\n this._nodes.pop()\n return this\n }\n throw new Error(`CodeGen: not in block \"${N2 ? `${N1.kind}/${N2.kind}` : N1.kind}\"`)\n }\n\n private _elseNode(node: If | Else): CodeGen {\n const n = this._currNode\n if (!(n instanceof If)) {\n throw new Error('CodeGen: \"else\" without \"if\"')\n }\n this._currNode = n.else = node\n return this\n }\n\n private get _root(): Root {\n return this._nodes[0] as Root\n }\n\n private get _currNode(): ParentNode {\n const ns = this._nodes\n return ns[ns.length - 1]\n }\n\n private set _currNode(node: ParentNode) {\n const ns = this._nodes\n ns[ns.length - 1] = node\n }\n\n // get nodeCount(): number {\n // return this._root.count\n // }\n}\n\nfunction addNames(names: UsedNames, from: UsedNames): UsedNames {\n for (const n in from) names[n] = (names[n] || 0) + (from[n] || 0)\n return names\n}\n\nfunction addExprNames(names: UsedNames, from: SafeExpr): UsedNames {\n return from instanceof _CodeOrName ? addNames(names, from.names) : names\n}\n\nfunction optimizeExpr(expr: T, names: UsedNames, constants: Constants): T\nfunction optimizeExpr(expr: SafeExpr, names: UsedNames, constants: Constants): SafeExpr {\n if (expr instanceof Name) return replaceName(expr)\n if (!canOptimize(expr)) return expr\n return new _Code(\n expr._items.reduce((items: CodeItem[], c: SafeExpr | string) => {\n if (c instanceof Name) c = replaceName(c)\n if (c instanceof _Code) items.push(...c._items)\n else items.push(c)\n return items\n }, [])\n )\n\n function replaceName(n: Name): SafeExpr {\n const c = constants[n.str]\n if (c === undefined || names[n.str] !== 1) return n\n delete names[n.str]\n return c\n }\n\n function canOptimize(e: SafeExpr): e is _Code {\n return (\n e instanceof _Code &&\n e._items.some(\n (c) => c instanceof Name && names[c.str] === 1 && constants[c.str] !== undefined\n )\n )\n }\n}\n\nfunction subtractNames(names: UsedNames, from: UsedNames): void {\n for (const n in from) names[n] = (names[n] || 0) - (from[n] || 0)\n}\n\nexport function not(x: T): T\nexport function not(x: Code | SafeExpr): Code | SafeExpr {\n return typeof x == \"boolean\" || typeof x == \"number\" || x === null ? !x : _`!${par(x)}`\n}\n\nconst andCode = mappend(operators.AND)\n\n// boolean AND (&&) expression with the passed arguments\nexport function and(...args: Code[]): Code {\n return args.reduce(andCode)\n}\n\nconst orCode = mappend(operators.OR)\n\n// boolean OR (||) expression with the passed arguments\nexport function or(...args: Code[]): Code {\n return args.reduce(orCode)\n}\n\ntype MAppend = (x: Code, y: Code) => Code\n\nfunction mappend(op: Code): MAppend {\n return (x, y) => (x === nil ? y : y === nil ? x : _`${par(x)} ${op} ${par(y)}`)\n}\n\nfunction par(x: Code): Code {\n return x instanceof Name ? x : _`(${x})`\n}\n","import {_, nil, Code, Name} from \"./code\"\n\ninterface NameGroup {\n prefix: string\n index: number\n}\n\nexport interface NameValue {\n ref: ValueReference // this is the reference to any value that can be referred to from generated code via `globals` var in the closure\n key?: unknown // any key to identify a global to avoid duplicates, if not passed ref is used\n code?: Code // this is the code creating the value needed for standalone code wit_out closure - can be a primitive value, function or import (`require`)\n}\n\nexport type ValueReference = unknown // possibly make CodeGen parameterized type on this type\n\nclass ValueError extends Error {\n readonly value?: NameValue\n constructor(name: ValueScopeName) {\n super(`CodeGen: \"code\" for ${name} not defined`)\n this.value = name.value\n }\n}\n\ninterface ScopeOptions {\n prefixes?: Set\n parent?: Scope\n}\n\ninterface ValueScopeOptions extends ScopeOptions {\n scope: ScopeStore\n es5?: boolean\n lines?: boolean\n}\n\nexport type ScopeStore = Record\n\ntype ScopeValues = {\n [Prefix in string]?: Map\n}\n\nexport type ScopeValueSets = {\n [Prefix in string]?: Set\n}\n\nexport enum UsedValueState {\n Started,\n Completed,\n}\n\nexport type UsedScopeValues = {\n [Prefix in string]?: Map\n}\n\nexport const varKinds = {\n const: new Name(\"const\"),\n let: new Name(\"let\"),\n var: new Name(\"var\"),\n}\n\nexport class Scope {\n protected readonly _names: {[Prefix in string]?: NameGroup} = {}\n protected readonly _prefixes?: Set\n protected readonly _parent?: Scope\n\n constructor({prefixes, parent}: ScopeOptions = {}) {\n this._prefixes = prefixes\n this._parent = parent\n }\n\n toName(nameOrPrefix: Name | string): Name {\n return nameOrPrefix instanceof Name ? nameOrPrefix : this.name(nameOrPrefix)\n }\n\n name(prefix: string): Name {\n return new Name(this._newName(prefix))\n }\n\n protected _newName(prefix: string): string {\n const ng = this._names[prefix] || this._nameGroup(prefix)\n return `${prefix}${ng.index++}`\n }\n\n private _nameGroup(prefix: string): NameGroup {\n if (this._parent?._prefixes?.has(prefix) || (this._prefixes && !this._prefixes.has(prefix))) {\n throw new Error(`CodeGen: prefix \"${prefix}\" is not allowed in this scope`)\n }\n return (this._names[prefix] = {prefix, index: 0})\n }\n}\n\ninterface ScopePath {\n property: string\n itemIndex: number\n}\n\nexport class ValueScopeName extends Name {\n readonly prefix: string\n value?: NameValue\n scopePath?: Code\n\n constructor(prefix: string, nameStr: string) {\n super(nameStr)\n this.prefix = prefix\n }\n\n setValue(value: NameValue, {property, itemIndex}: ScopePath): void {\n this.value = value\n this.scopePath = _`.${new Name(property)}[${itemIndex}]`\n }\n}\n\ninterface VSOptions extends ValueScopeOptions {\n _n: Code\n}\n\nconst line = _`\\n`\n\nexport class ValueScope extends Scope {\n protected readonly _values: ScopeValues = {}\n protected readonly _scope: ScopeStore\n readonly opts: VSOptions\n\n constructor(opts: ValueScopeOptions) {\n super(opts)\n this._scope = opts.scope\n this.opts = {...opts, _n: opts.lines ? line : nil}\n }\n\n get(): ScopeStore {\n return this._scope\n }\n\n name(prefix: string): ValueScopeName {\n return new ValueScopeName(prefix, this._newName(prefix))\n }\n\n value(nameOrPrefix: ValueScopeName | string, value: NameValue): ValueScopeName {\n if (value.ref === undefined) throw new Error(\"CodeGen: ref must be passed in value\")\n const name = this.toName(nameOrPrefix) as ValueScopeName\n const {prefix} = name\n const valueKey = value.key ?? value.ref\n let vs = this._values[prefix]\n if (vs) {\n const _name = vs.get(valueKey)\n if (_name) return _name\n } else {\n vs = this._values[prefix] = new Map()\n }\n vs.set(valueKey, name)\n\n const s = this._scope[prefix] || (this._scope[prefix] = [])\n const itemIndex = s.length\n s[itemIndex] = value.ref\n name.setValue(value, {property: prefix, itemIndex})\n return name\n }\n\n getValue(prefix: string, keyOrRef: unknown): ValueScopeName | undefined {\n const vs = this._values[prefix]\n if (!vs) return\n return vs.get(keyOrRef)\n }\n\n scopeRefs(scopeName: Name, values: ScopeValues | ScopeValueSets = this._values): Code {\n return this._reduceValues(values, (name: ValueScopeName) => {\n if (name.scopePath === undefined) throw new Error(`CodeGen: name \"${name}\" has no value`)\n return _`${scopeName}${name.scopePath}`\n })\n }\n\n scopeCode(\n values: ScopeValues | ScopeValueSets = this._values,\n usedValues?: UsedScopeValues,\n getCode?: (n: ValueScopeName) => Code | undefined\n ): Code {\n return this._reduceValues(\n values,\n (name: ValueScopeName) => {\n if (name.value === undefined) throw new Error(`CodeGen: name \"${name}\" has no value`)\n return name.value.code\n },\n usedValues,\n getCode\n )\n }\n\n private _reduceValues(\n values: ScopeValues | ScopeValueSets,\n valueCode: (n: ValueScopeName) => Code | undefined,\n usedValues: UsedScopeValues = {},\n getCode?: (n: ValueScopeName) => Code | undefined\n ): Code {\n let code: Code = nil\n for (const prefix in values) {\n const vs = values[prefix]\n if (!vs) continue\n const nameSet = (usedValues[prefix] = usedValues[prefix] || new Map())\n vs.forEach((name: ValueScopeName) => {\n if (nameSet.has(name)) return\n nameSet.set(name, UsedValueState.Started)\n let c = valueCode(name)\n if (c) {\n const def = this.opts.es5 ? varKinds.var : varKinds.const\n code = _`${code}${def} ${name} = ${c};${this.opts._n}`\n } else if ((c = getCode?.(name))) {\n code = _`${code}${c}${this.opts._n}`\n } else {\n throw new ValueError(name)\n }\n nameSet.set(name, UsedValueState.Completed)\n })\n }\n return code\n }\n}\n","import type {KeywordErrorCxt, KeywordErrorDefinition} from \"../types\"\nimport type {SchemaCxt} from \"./index\"\nimport {CodeGen, _, str, strConcat, Code, Name} from \"./codegen\"\nimport {SafeExpr} from \"./codegen/code\"\nimport {getErrorPath, Type} from \"./util\"\nimport N from \"./names\"\n\nexport const keywordError: KeywordErrorDefinition = {\n message: ({keyword}) => str`must pass \"${keyword}\" keyword validation`,\n}\n\nexport const keyword$DataError: KeywordErrorDefinition = {\n message: ({keyword, schemaType}) =>\n schemaType\n ? str`\"${keyword}\" keyword must be ${schemaType} ($data)`\n : str`\"${keyword}\" keyword is invalid ($data)`,\n}\n\nexport interface ErrorPaths {\n instancePath?: Code\n schemaPath?: string\n parentSchema?: boolean\n}\n\nexport function reportError(\n cxt: KeywordErrorCxt,\n error: KeywordErrorDefinition = keywordError,\n errorPaths?: ErrorPaths,\n overrideAllErrors?: boolean\n): void {\n const {it} = cxt\n const {gen, compositeRule, allErrors} = it\n const errObj = errorObjectCode(cxt, error, errorPaths)\n if (overrideAllErrors ?? (compositeRule || allErrors)) {\n addError(gen, errObj)\n } else {\n returnErrors(it, _`[${errObj}]`)\n }\n}\n\nexport function reportExtraError(\n cxt: KeywordErrorCxt,\n error: KeywordErrorDefinition = keywordError,\n errorPaths?: ErrorPaths\n): void {\n const {it} = cxt\n const {gen, compositeRule, allErrors} = it\n const errObj = errorObjectCode(cxt, error, errorPaths)\n addError(gen, errObj)\n if (!(compositeRule || allErrors)) {\n returnErrors(it, N.vErrors)\n }\n}\n\nexport function resetErrorsCount(gen: CodeGen, errsCount: Name): void {\n gen.assign(N.errors, errsCount)\n gen.if(_`${N.vErrors} !== null`, () =>\n gen.if(\n errsCount,\n () => gen.assign(_`${N.vErrors}.length`, errsCount),\n () => gen.assign(N.vErrors, null)\n )\n )\n}\n\nexport function extendErrors({\n gen,\n keyword,\n schemaValue,\n data,\n errsCount,\n it,\n}: KeywordErrorCxt): void {\n /* istanbul ignore if */\n if (errsCount === undefined) throw new Error(\"ajv implementation error\")\n const err = gen.name(\"err\")\n gen.forRange(\"i\", errsCount, N.errors, (i) => {\n gen.const(err, _`${N.vErrors}[${i}]`)\n gen.if(_`${err}.instancePath === undefined`, () =>\n gen.assign(_`${err}.instancePath`, strConcat(N.instancePath, it.errorPath))\n )\n gen.assign(_`${err}.schemaPath`, str`${it.errSchemaPath}/${keyword}`)\n if (it.opts.verbose) {\n gen.assign(_`${err}.schema`, schemaValue)\n gen.assign(_`${err}.data`, data)\n }\n })\n}\n\nfunction addError(gen: CodeGen, errObj: Code): void {\n const err = gen.const(\"err\", errObj)\n gen.if(\n _`${N.vErrors} === null`,\n () => gen.assign(N.vErrors, _`[${err}]`),\n _`${N.vErrors}.push(${err})`\n )\n gen.code(_`${N.errors}++`)\n}\n\nfunction returnErrors(it: SchemaCxt, errs: Code): void {\n const {gen, validateName, schemaEnv} = it\n if (schemaEnv.$async) {\n gen.throw(_`new ${it.ValidationError as Name}(${errs})`)\n } else {\n gen.assign(_`${validateName}.errors`, errs)\n gen.return(false)\n }\n}\n\nconst E = {\n keyword: new Name(\"keyword\"),\n schemaPath: new Name(\"schemaPath\"), // also used in JTD errors\n params: new Name(\"params\"),\n propertyName: new Name(\"propertyName\"),\n message: new Name(\"message\"),\n schema: new Name(\"schema\"),\n parentSchema: new Name(\"parentSchema\"),\n}\n\nfunction errorObjectCode(\n cxt: KeywordErrorCxt,\n error: KeywordErrorDefinition,\n errorPaths?: ErrorPaths\n): Code {\n const {createErrors} = cxt.it\n if (createErrors === false) return _`{}`\n return errorObject(cxt, error, errorPaths)\n}\n\nfunction errorObject(\n cxt: KeywordErrorCxt,\n error: KeywordErrorDefinition,\n errorPaths: ErrorPaths = {}\n): Code {\n const {gen, it} = cxt\n const keyValues: [Name, SafeExpr | string][] = [\n errorInstancePath(it, errorPaths),\n errorSchemaPath(cxt, errorPaths),\n ]\n extraErrorProps(cxt, error, keyValues)\n return gen.object(...keyValues)\n}\n\nfunction errorInstancePath({errorPath}: SchemaCxt, {instancePath}: ErrorPaths): [Name, Code] {\n const instPath = instancePath\n ? str`${errorPath}${getErrorPath(instancePath, Type.Str)}`\n : errorPath\n return [N.instancePath, strConcat(N.instancePath, instPath)]\n}\n\nfunction errorSchemaPath(\n {keyword, it: {errSchemaPath}}: KeywordErrorCxt,\n {schemaPath, parentSchema}: ErrorPaths\n): [Name, string | Code] {\n let schPath = parentSchema ? errSchemaPath : str`${errSchemaPath}/${keyword}`\n if (schemaPath) {\n schPath = str`${schPath}${getErrorPath(schemaPath, Type.Str)}`\n }\n return [E.schemaPath, schPath]\n}\n\nfunction extraErrorProps(\n cxt: KeywordErrorCxt,\n {params, message}: KeywordErrorDefinition,\n keyValues: [Name, SafeExpr | string][]\n): void {\n const {keyword, data, schemaValue, it} = cxt\n const {opts, propertyName, topSchemaRef, schemaPath} = it\n keyValues.push(\n [E.keyword, keyword],\n [E.params, typeof params == \"function\" ? params(cxt) : params || _`{}`]\n )\n if (opts.messages) {\n keyValues.push([E.message, typeof message == \"function\" ? message(cxt) : message])\n }\n if (opts.verbose) {\n keyValues.push(\n [E.schema, schemaValue],\n [E.parentSchema, _`${topSchemaRef}${schemaPath}`],\n [N.data, data]\n )\n }\n if (propertyName) keyValues.push([E.propertyName, propertyName])\n}\n","import type {\n AnySchema,\n AnySchemaObject,\n AnyValidateFunction,\n AsyncValidateFunction,\n EvaluatedProperties,\n EvaluatedItems,\n} from \"../types\"\nimport type Ajv from \"../core\"\nimport type {InstanceOptions} from \"../core\"\nimport {CodeGen, _, nil, stringify, Name, Code, ValueScopeName} from \"./codegen\"\nimport ValidationError from \"../runtime/validation_error\"\nimport N from \"./names\"\nimport {LocalRefs, getFullPath, _getFullPath, inlineRef, normalizeId, resolveUrl} from \"./resolve\"\nimport {schemaHasRulesButRef, unescapeFragment} from \"./util\"\nimport {validateFunctionCode} from \"./validate\"\nimport * as URI from \"uri-js\"\nimport {JSONType} from \"./rules\"\n\nexport type SchemaRefs = {\n [Ref in string]?: SchemaEnv | AnySchema\n}\n\nexport interface SchemaCxt {\n readonly gen: CodeGen\n readonly allErrors?: boolean // validation mode - whether to collect all errors or break on error\n readonly data: Name // Name with reference to the current part of data instance\n readonly parentData: Name // should be used in keywords modifying data\n readonly parentDataProperty: Code | number // should be used in keywords modifying data\n readonly dataNames: Name[]\n readonly dataPathArr: (Code | number)[]\n readonly dataLevel: number // the level of the currently validated data,\n // it can be used to access both the property names and the data on all levels from the top.\n dataTypes: JSONType[] // data types applied to the current part of data instance\n definedProperties: Set // set of properties to keep track of for required checks\n readonly topSchemaRef: Code\n readonly validateName: Name\n evaluated?: Name\n readonly ValidationError?: Name\n readonly schema: AnySchema // current schema object - equal to parentSchema passed via KeywordCxt\n readonly schemaEnv: SchemaEnv\n readonly rootId: string\n baseId: string // the current schema base URI that should be used as the base for resolving URIs in references (\\$ref)\n readonly schemaPath: Code // the run-time expression that evaluates to the property name of the current schema\n readonly errSchemaPath: string // this is actual string, should not be changed to Code\n readonly errorPath: Code\n readonly propertyName?: Name\n readonly compositeRule?: boolean // true indicates that the current schema is inside the compound keyword,\n // where failing some rule doesn't mean validation failure (`anyOf`, `oneOf`, `not`, `if`).\n // This flag is used to determine whether you can return validation result immediately after any error in case the option `allErrors` is not `true.\n // You only need to use it if you have many steps in your keywords and potentially can define multiple errors.\n props?: EvaluatedProperties | Name // properties evaluated by this schema - used by parent schema or assigned to validation function\n items?: EvaluatedItems | Name // last item evaluated by this schema - used by parent schema or assigned to validation function\n jtdDiscriminator?: string\n jtdMetadata?: boolean\n readonly createErrors?: boolean\n readonly opts: InstanceOptions // Ajv instance option.\n readonly self: Ajv // current Ajv instance\n}\n\nexport interface SchemaObjCxt extends SchemaCxt {\n readonly schema: AnySchemaObject\n}\ninterface SchemaEnvArgs {\n readonly schema: AnySchema\n readonly schemaId?: \"$id\" | \"id\"\n readonly root?: SchemaEnv\n readonly baseId?: string\n readonly schemaPath?: string\n readonly localRefs?: LocalRefs\n readonly meta?: boolean\n}\n\nexport class SchemaEnv implements SchemaEnvArgs {\n readonly schema: AnySchema\n readonly schemaId?: \"$id\" | \"id\"\n readonly root: SchemaEnv\n baseId: string // TODO possibly, it should be readonly\n schemaPath?: string\n localRefs?: LocalRefs\n readonly meta?: boolean\n readonly $async?: boolean // true if the current schema is asynchronous.\n readonly refs: SchemaRefs = {}\n readonly dynamicAnchors: {[Ref in string]?: true} = {}\n validate?: AnyValidateFunction\n validateName?: ValueScopeName\n serialize?: (data: unknown) => string\n serializeName?: ValueScopeName\n parse?: (data: string) => unknown\n parseName?: ValueScopeName\n\n constructor(env: SchemaEnvArgs) {\n let schema: AnySchemaObject | undefined\n if (typeof env.schema == \"object\") schema = env.schema\n this.schema = env.schema\n this.schemaId = env.schemaId\n this.root = env.root || this\n this.baseId = env.baseId ?? normalizeId(schema?.[env.schemaId || \"$id\"])\n this.schemaPath = env.schemaPath\n this.localRefs = env.localRefs\n this.meta = env.meta\n this.$async = schema?.$async\n this.refs = {}\n }\n}\n\n// let codeSize = 0\n// let nodeCount = 0\n\n// Compiles schema in SchemaEnv\nexport function compileSchema(this: Ajv, sch: SchemaEnv): SchemaEnv {\n // TODO refactor - remove compilations\n const _sch = getCompilingSchema.call(this, sch)\n if (_sch) return _sch\n const rootId = getFullPath(this.opts.uriResolver, sch.root.baseId) // TODO if getFullPath removed 1 tests fails\n const {es5, lines} = this.opts.code\n const {ownProperties} = this.opts\n const gen = new CodeGen(this.scope, {es5, lines, ownProperties})\n let _ValidationError\n if (sch.$async) {\n _ValidationError = gen.scopeValue(\"Error\", {\n ref: ValidationError,\n code: _`require(\"ajv/dist/runtime/validation_error\").default`,\n })\n }\n\n const validateName = gen.scopeName(\"validate\")\n sch.validateName = validateName\n\n const schemaCxt: SchemaCxt = {\n gen,\n allErrors: this.opts.allErrors,\n data: N.data,\n parentData: N.parentData,\n parentDataProperty: N.parentDataProperty,\n dataNames: [N.data],\n dataPathArr: [nil], // TODO can its length be used as dataLevel if nil is removed?\n dataLevel: 0,\n dataTypes: [],\n definedProperties: new Set(),\n topSchemaRef: gen.scopeValue(\n \"schema\",\n this.opts.code.source === true\n ? {ref: sch.schema, code: stringify(sch.schema)}\n : {ref: sch.schema}\n ),\n validateName,\n ValidationError: _ValidationError,\n schema: sch.schema,\n schemaEnv: sch,\n rootId,\n baseId: sch.baseId || rootId,\n schemaPath: nil,\n errSchemaPath: sch.schemaPath || (this.opts.jtd ? \"\" : \"#\"),\n errorPath: _`\"\"`,\n opts: this.opts,\n self: this,\n }\n\n let sourceCode: string | undefined\n try {\n this._compilations.add(sch)\n validateFunctionCode(schemaCxt)\n gen.optimize(this.opts.code.optimize)\n // gen.optimize(1)\n const validateCode = gen.toString()\n sourceCode = `${gen.scopeRefs(N.scope)}return ${validateCode}`\n // console.log((codeSize += sourceCode.length), (nodeCount += gen.nodeCount))\n if (this.opts.code.process) sourceCode = this.opts.code.process(sourceCode, sch)\n // console.log(\"\\n\\n\\n *** \\n\", sourceCode)\n const makeValidate = new Function(`${N.self}`, `${N.scope}`, sourceCode)\n const validate: AnyValidateFunction = makeValidate(this, this.scope.get())\n this.scope.value(validateName, {ref: validate})\n\n validate.errors = null\n validate.schema = sch.schema\n validate.schemaEnv = sch\n if (sch.$async) (validate as AsyncValidateFunction).$async = true\n if (this.opts.code.source === true) {\n validate.source = {validateName, validateCode, scopeValues: gen._values}\n }\n if (this.opts.unevaluated) {\n const {props, items} = schemaCxt\n validate.evaluated = {\n props: props instanceof Name ? undefined : props,\n items: items instanceof Name ? undefined : items,\n dynamicProps: props instanceof Name,\n dynamicItems: items instanceof Name,\n }\n if (validate.source) validate.source.evaluated = stringify(validate.evaluated)\n }\n sch.validate = validate\n return sch\n } catch (e) {\n delete sch.validate\n delete sch.validateName\n if (sourceCode) this.logger.error(\"Error compiling schema, function code:\", sourceCode)\n // console.log(\"\\n\\n\\n *** \\n\", sourceCode, this.opts)\n throw e\n } finally {\n this._compilations.delete(sch)\n }\n}\n\nexport function resolveRef(\n this: Ajv,\n root: SchemaEnv,\n baseId: string,\n ref: string\n): AnySchema | SchemaEnv | undefined {\n ref = resolveUrl(this.opts.uriResolver, baseId, ref)\n const schOrFunc = root.refs[ref]\n if (schOrFunc) return schOrFunc\n\n let _sch = resolve.call(this, root, ref)\n if (_sch === undefined) {\n const schema = root.localRefs?.[ref] // TODO maybe localRefs should hold SchemaEnv\n const {schemaId} = this.opts\n if (schema) _sch = new SchemaEnv({schema, schemaId, root, baseId})\n }\n\n if (_sch === undefined) return\n return (root.refs[ref] = inlineOrCompile.call(this, _sch))\n}\n\nfunction inlineOrCompile(this: Ajv, sch: SchemaEnv): AnySchema | SchemaEnv {\n if (inlineRef(sch.schema, this.opts.inlineRefs)) return sch.schema\n return sch.validate ? sch : compileSchema.call(this, sch)\n}\n\n// Index of schema compilation in the currently compiled list\nexport function getCompilingSchema(this: Ajv, schEnv: SchemaEnv): SchemaEnv | void {\n for (const sch of this._compilations) {\n if (sameSchemaEnv(sch, schEnv)) return sch\n }\n}\n\nfunction sameSchemaEnv(s1: SchemaEnv, s2: SchemaEnv): boolean {\n return s1.schema === s2.schema && s1.root === s2.root && s1.baseId === s2.baseId\n}\n\n// resolve and compile the references ($ref)\n// TODO returns AnySchemaObject (if the schema can be inlined) or validation function\nfunction resolve(\n this: Ajv,\n root: SchemaEnv, // information about the root schema for the current schema\n ref: string // reference to resolve\n): SchemaEnv | undefined {\n let sch\n while (typeof (sch = this.refs[ref]) == \"string\") ref = sch\n return sch || this.schemas[ref] || resolveSchema.call(this, root, ref)\n}\n\n// Resolve schema, its root and baseId\nexport function resolveSchema(\n this: Ajv,\n root: SchemaEnv, // root object with properties schema, refs TODO below SchemaEnv is assigned to it\n ref: string // reference to resolve\n): SchemaEnv | undefined {\n const p = this.opts.uriResolver.parse(ref)\n const refPath = _getFullPath(this.opts.uriResolver, p)\n let baseId = getFullPath(this.opts.uriResolver, root.baseId, undefined)\n // TODO `Object.keys(root.schema).length > 0` should not be needed - but removing breaks 2 tests\n if (Object.keys(root.schema).length > 0 && refPath === baseId) {\n return getJsonPointer.call(this, p, root)\n }\n\n const id = normalizeId(refPath)\n const schOrRef = this.refs[id] || this.schemas[id]\n if (typeof schOrRef == \"string\") {\n const sch = resolveSchema.call(this, root, schOrRef)\n if (typeof sch?.schema !== \"object\") return\n return getJsonPointer.call(this, p, sch)\n }\n\n if (typeof schOrRef?.schema !== \"object\") return\n if (!schOrRef.validate) compileSchema.call(this, schOrRef)\n if (id === normalizeId(ref)) {\n const {schema} = schOrRef\n const {schemaId} = this.opts\n const schId = schema[schemaId]\n if (schId) baseId = resolveUrl(this.opts.uriResolver, baseId, schId)\n return new SchemaEnv({schema, schemaId, root, baseId})\n }\n return getJsonPointer.call(this, p, schOrRef)\n}\n\nconst PREVENT_SCOPE_CHANGE = new Set([\n \"properties\",\n \"patternProperties\",\n \"enum\",\n \"dependencies\",\n \"definitions\",\n])\n\nfunction getJsonPointer(\n this: Ajv,\n parsedRef: URI.URIComponents,\n {baseId, schema, root}: SchemaEnv\n): SchemaEnv | undefined {\n if (parsedRef.fragment?.[0] !== \"/\") return\n for (const part of parsedRef.fragment.slice(1).split(\"/\")) {\n if (typeof schema === \"boolean\") return\n const partSchema = schema[unescapeFragment(part)]\n if (partSchema === undefined) return\n schema = partSchema\n // TODO PREVENT_SCOPE_CHANGE could be defined in keyword def?\n const schId = typeof schema === \"object\" && schema[this.opts.schemaId]\n if (!PREVENT_SCOPE_CHANGE.has(part) && schId) {\n baseId = resolveUrl(this.opts.uriResolver, baseId, schId)\n }\n }\n let env: SchemaEnv | undefined\n if (typeof schema != \"boolean\" && schema.$ref && !schemaHasRulesButRef(schema, this.RULES)) {\n const $ref = resolveUrl(this.opts.uriResolver, baseId, schema.$ref)\n env = resolveSchema.call(this, root, $ref)\n }\n // even though resolution failed we need to return SchemaEnv to throw exception\n // so that compileAsync loads missing schema.\n const {schemaId} = this.opts\n env = env || new SchemaEnv({schema, schemaId, root, baseId})\n if (env.schema !== env.root.schema) return env\n return undefined\n}\n","import {Name} from \"./codegen\"\n\nconst names = {\n // validation function arguments\n data: new Name(\"data\"), // data passed to validation function\n // args passed from referencing schema\n valCxt: new Name(\"valCxt\"), // validation/data context - should not be used directly, it is destructured to the names below\n instancePath: new Name(\"instancePath\"),\n parentData: new Name(\"parentData\"),\n parentDataProperty: new Name(\"parentDataProperty\"),\n rootData: new Name(\"rootData\"), // root data - same as the data passed to the first/top validation function\n dynamicAnchors: new Name(\"dynamicAnchors\"), // used to support recursiveRef and dynamicRef\n // function scoped variables\n vErrors: new Name(\"vErrors\"), // null or array of validation errors\n errors: new Name(\"errors\"), // counter of validation errors\n this: new Name(\"this\"),\n // \"globals\"\n self: new Name(\"self\"),\n scope: new Name(\"scope\"),\n // JTD serialize/parse name for JSON string and position\n json: new Name(\"json\"),\n jsonPos: new Name(\"jsonPos\"),\n jsonLen: new Name(\"jsonLen\"),\n jsonPart: new Name(\"jsonPart\"),\n}\n\nexport default names\n","import {resolveUrl, normalizeId, getFullPath} from \"./resolve\"\nimport type {UriResolver} from \"../types\"\n\nexport default class MissingRefError extends Error {\n readonly missingRef: string\n readonly missingSchema: string\n\n constructor(resolver: UriResolver, baseId: string, ref: string, msg?: string) {\n super(msg || `can't resolve reference ${ref} from id ${baseId}`)\n this.missingRef = resolveUrl(resolver, baseId, ref)\n this.missingSchema = normalizeId(getFullPath(resolver, this.missingRef))\n }\n}\n","import type {AnySchema, AnySchemaObject, UriResolver} from \"../types\"\nimport type Ajv from \"../ajv\"\nimport type {URIComponents} from \"uri-js\"\nimport {eachItem} from \"./util\"\nimport * as equal from \"fast-deep-equal\"\nimport * as traverse from \"json-schema-traverse\"\n\n// the hash of local references inside the schema (created by getSchemaRefs), used for inline resolution\nexport type LocalRefs = {[Ref in string]?: AnySchemaObject}\n\n// TODO refactor to use keyword definitions\nconst SIMPLE_INLINED = new Set([\n \"type\",\n \"format\",\n \"pattern\",\n \"maxLength\",\n \"minLength\",\n \"maxProperties\",\n \"minProperties\",\n \"maxItems\",\n \"minItems\",\n \"maximum\",\n \"minimum\",\n \"uniqueItems\",\n \"multipleOf\",\n \"required\",\n \"enum\",\n \"const\",\n])\n\nexport function inlineRef(schema: AnySchema, limit: boolean | number = true): boolean {\n if (typeof schema == \"boolean\") return true\n if (limit === true) return !hasRef(schema)\n if (!limit) return false\n return countKeys(schema) <= limit\n}\n\nconst REF_KEYWORDS = new Set([\n \"$ref\",\n \"$recursiveRef\",\n \"$recursiveAnchor\",\n \"$dynamicRef\",\n \"$dynamicAnchor\",\n])\n\nfunction hasRef(schema: AnySchemaObject): boolean {\n for (const key in schema) {\n if (REF_KEYWORDS.has(key)) return true\n const sch = schema[key]\n if (Array.isArray(sch) && sch.some(hasRef)) return true\n if (typeof sch == \"object\" && hasRef(sch)) return true\n }\n return false\n}\n\nfunction countKeys(schema: AnySchemaObject): number {\n let count = 0\n for (const key in schema) {\n if (key === \"$ref\") return Infinity\n count++\n if (SIMPLE_INLINED.has(key)) continue\n if (typeof schema[key] == \"object\") {\n eachItem(schema[key], (sch) => (count += countKeys(sch)))\n }\n if (count === Infinity) return Infinity\n }\n return count\n}\n\nexport function getFullPath(resolver: UriResolver, id = \"\", normalize?: boolean): string {\n if (normalize !== false) id = normalizeId(id)\n const p = resolver.parse(id)\n return _getFullPath(resolver, p)\n}\n\nexport function _getFullPath(resolver: UriResolver, p: URIComponents): string {\n const serialized = resolver.serialize(p)\n return serialized.split(\"#\")[0] + \"#\"\n}\n\nconst TRAILING_SLASH_HASH = /#\\/?$/\nexport function normalizeId(id: string | undefined): string {\n return id ? id.replace(TRAILING_SLASH_HASH, \"\") : \"\"\n}\n\nexport function resolveUrl(resolver: UriResolver, baseId: string, id: string): string {\n id = normalizeId(id)\n return resolver.resolve(baseId, id)\n}\n\nconst ANCHOR = /^[a-z_][-a-z0-9._]*$/i\n\nexport function getSchemaRefs(this: Ajv, schema: AnySchema, baseId: string): LocalRefs {\n if (typeof schema == \"boolean\") return {}\n const {schemaId, uriResolver} = this.opts\n const schId = normalizeId(schema[schemaId] || baseId)\n const baseIds: {[JsonPtr in string]?: string} = {\"\": schId}\n const pathPrefix = getFullPath(uriResolver, schId, false)\n const localRefs: LocalRefs = {}\n const schemaRefs: Set = new Set()\n\n traverse(schema, {allKeys: true}, (sch, jsonPtr, _, parentJsonPtr) => {\n if (parentJsonPtr === undefined) return\n const fullPath = pathPrefix + jsonPtr\n let baseId = baseIds[parentJsonPtr]\n if (typeof sch[schemaId] == \"string\") baseId = addRef.call(this, sch[schemaId])\n addAnchor.call(this, sch.$anchor)\n addAnchor.call(this, sch.$dynamicAnchor)\n baseIds[jsonPtr] = baseId\n\n function addRef(this: Ajv, ref: string): string {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const _resolve = this.opts.uriResolver.resolve\n ref = normalizeId(baseId ? _resolve(baseId, ref) : ref)\n if (schemaRefs.has(ref)) throw ambiguos(ref)\n schemaRefs.add(ref)\n let schOrRef = this.refs[ref]\n if (typeof schOrRef == \"string\") schOrRef = this.refs[schOrRef]\n if (typeof schOrRef == \"object\") {\n checkAmbiguosRef(sch, schOrRef.schema, ref)\n } else if (ref !== normalizeId(fullPath)) {\n if (ref[0] === \"#\") {\n checkAmbiguosRef(sch, localRefs[ref], ref)\n localRefs[ref] = sch\n } else {\n this.refs[ref] = fullPath\n }\n }\n return ref\n }\n\n function addAnchor(this: Ajv, anchor: unknown): void {\n if (typeof anchor == \"string\") {\n if (!ANCHOR.test(anchor)) throw new Error(`invalid anchor \"${anchor}\"`)\n addRef.call(this, `#${anchor}`)\n }\n }\n })\n\n return localRefs\n\n function checkAmbiguosRef(sch1: AnySchema, sch2: AnySchema | undefined, ref: string): void {\n if (sch2 !== undefined && !equal(sch1, sch2)) throw ambiguos(ref)\n }\n\n function ambiguos(ref: string): Error {\n return new Error(`reference \"${ref}\" resolves to more than one schema`)\n }\n}\n","import type {AddedKeywordDefinition} from \"../types\"\n\nconst _jsonTypes = [\"string\", \"number\", \"integer\", \"boolean\", \"null\", \"object\", \"array\"] as const\n\nexport type JSONType = typeof _jsonTypes[number]\n\nconst jsonTypes: Set = new Set(_jsonTypes)\n\nexport function isJSONType(x: unknown): x is JSONType {\n return typeof x == \"string\" && jsonTypes.has(x)\n}\n\ntype ValidationTypes = {\n [K in JSONType]: boolean | RuleGroup | undefined\n}\n\nexport interface ValidationRules {\n rules: RuleGroup[]\n post: RuleGroup\n all: {[Key in string]?: boolean | Rule} // rules that have to be validated\n keywords: {[Key in string]?: boolean} // all known keywords (superset of \"all\")\n types: ValidationTypes\n}\n\nexport interface RuleGroup {\n type?: JSONType\n rules: Rule[]\n}\n\n// This interface wraps KeywordDefinition because definition can have multiple keywords\nexport interface Rule {\n keyword: string\n definition: AddedKeywordDefinition\n}\n\nexport function getRules(): ValidationRules {\n const groups: Record<\"number\" | \"string\" | \"array\" | \"object\", RuleGroup> = {\n number: {type: \"number\", rules: []},\n string: {type: \"string\", rules: []},\n array: {type: \"array\", rules: []},\n object: {type: \"object\", rules: []},\n }\n return {\n types: {...groups, integer: true, boolean: true, null: true},\n rules: [{rules: []}, groups.number, groups.string, groups.array, groups.object],\n post: {rules: []},\n all: {},\n keywords: {},\n }\n}\n","import type {AnySchema, EvaluatedProperties, EvaluatedItems} from \"../types\"\nimport type {SchemaCxt, SchemaObjCxt} from \".\"\nimport {_, getProperty, Code, Name, CodeGen} from \"./codegen\"\nimport {_Code} from \"./codegen/code\"\nimport type {Rule, ValidationRules} from \"./rules\"\n\n// TODO refactor to use Set\nexport function toHash(arr: T[]): {[K in T]?: true} {\n const hash: {[K in T]?: true} = {}\n for (const item of arr) hash[item] = true\n return hash\n}\n\nexport function alwaysValidSchema(it: SchemaCxt, schema: AnySchema): boolean | void {\n if (typeof schema == \"boolean\") return schema\n if (Object.keys(schema).length === 0) return true\n checkUnknownRules(it, schema)\n return !schemaHasRules(schema, it.self.RULES.all)\n}\n\nexport function checkUnknownRules(it: SchemaCxt, schema: AnySchema = it.schema): void {\n const {opts, self} = it\n if (!opts.strictSchema) return\n if (typeof schema === \"boolean\") return\n const rules = self.RULES.keywords\n for (const key in schema) {\n if (!rules[key]) checkStrictMode(it, `unknown keyword: \"${key}\"`)\n }\n}\n\nexport function schemaHasRules(\n schema: AnySchema,\n rules: {[Key in string]?: boolean | Rule}\n): boolean {\n if (typeof schema == \"boolean\") return !schema\n for (const key in schema) if (rules[key]) return true\n return false\n}\n\nexport function schemaHasRulesButRef(schema: AnySchema, RULES: ValidationRules): boolean {\n if (typeof schema == \"boolean\") return !schema\n for (const key in schema) if (key !== \"$ref\" && RULES.all[key]) return true\n return false\n}\n\nexport function schemaRefOrVal(\n {topSchemaRef, schemaPath}: SchemaObjCxt,\n schema: unknown,\n keyword: string,\n $data?: string | false\n): Code | number | boolean {\n if (!$data) {\n if (typeof schema == \"number\" || typeof schema == \"boolean\") return schema\n if (typeof schema == \"string\") return _`${schema}`\n }\n return _`${topSchemaRef}${schemaPath}${getProperty(keyword)}`\n}\n\nexport function unescapeFragment(str: string): string {\n return unescapeJsonPointer(decodeURIComponent(str))\n}\n\nexport function escapeFragment(str: string | number): string {\n return encodeURIComponent(escapeJsonPointer(str))\n}\n\nexport function escapeJsonPointer(str: string | number): string {\n if (typeof str == \"number\") return `${str}`\n return str.replace(/~/g, \"~0\").replace(/\\//g, \"~1\")\n}\n\nexport function unescapeJsonPointer(str: string): string {\n return str.replace(/~1/g, \"/\").replace(/~0/g, \"~\")\n}\n\nexport function eachItem(xs: T | T[], f: (x: T) => void): void {\n if (Array.isArray(xs)) {\n for (const x of xs) f(x)\n } else {\n f(xs)\n }\n}\n\ntype SomeEvaluated = EvaluatedProperties | EvaluatedItems\n\ntype MergeEvaluatedFunc = (\n gen: CodeGen,\n from: Name | T,\n to: Name | Exclude | undefined,\n toName?: typeof Name\n) => Name | T\n\ninterface MakeMergeFuncArgs {\n mergeNames: (gen: CodeGen, from: Name, to: Name) => void\n mergeToName: (gen: CodeGen, from: T, to: Name) => void\n mergeValues: (from: T, to: Exclude) => T\n resultToName: (gen: CodeGen, res?: T) => Name\n}\n\nfunction makeMergeEvaluated({\n mergeNames,\n mergeToName,\n mergeValues,\n resultToName,\n}: MakeMergeFuncArgs): MergeEvaluatedFunc {\n return (gen, from, to, toName) => {\n const res =\n to === undefined\n ? from\n : to instanceof Name\n ? (from instanceof Name ? mergeNames(gen, from, to) : mergeToName(gen, from, to), to)\n : from instanceof Name\n ? (mergeToName(gen, to, from), from)\n : mergeValues(from, to)\n return toName === Name && !(res instanceof Name) ? resultToName(gen, res) : res\n }\n}\n\ninterface MergeEvaluated {\n props: MergeEvaluatedFunc\n items: MergeEvaluatedFunc\n}\n\nexport const mergeEvaluated: MergeEvaluated = {\n props: makeMergeEvaluated({\n mergeNames: (gen, from, to) =>\n gen.if(_`${to} !== true && ${from} !== undefined`, () => {\n gen.if(\n _`${from} === true`,\n () => gen.assign(to, true),\n () => gen.assign(to, _`${to} || {}`).code(_`Object.assign(${to}, ${from})`)\n )\n }),\n mergeToName: (gen, from, to) =>\n gen.if(_`${to} !== true`, () => {\n if (from === true) {\n gen.assign(to, true)\n } else {\n gen.assign(to, _`${to} || {}`)\n setEvaluated(gen, to, from)\n }\n }),\n mergeValues: (from, to) => (from === true ? true : {...from, ...to}),\n resultToName: evaluatedPropsToName,\n }),\n items: makeMergeEvaluated({\n mergeNames: (gen, from, to) =>\n gen.if(_`${to} !== true && ${from} !== undefined`, () =>\n gen.assign(to, _`${from} === true ? true : ${to} > ${from} ? ${to} : ${from}`)\n ),\n mergeToName: (gen, from, to) =>\n gen.if(_`${to} !== true`, () =>\n gen.assign(to, from === true ? true : _`${to} > ${from} ? ${to} : ${from}`)\n ),\n mergeValues: (from, to) => (from === true ? true : Math.max(from, to)),\n resultToName: (gen, items) => gen.var(\"items\", items),\n }),\n}\n\nexport function evaluatedPropsToName(gen: CodeGen, ps?: EvaluatedProperties): Name {\n if (ps === true) return gen.var(\"props\", true)\n const props = gen.var(\"props\", _`{}`)\n if (ps !== undefined) setEvaluated(gen, props, ps)\n return props\n}\n\nexport function setEvaluated(gen: CodeGen, props: Name, ps: {[K in string]?: true}): void {\n Object.keys(ps).forEach((p) => gen.assign(_`${props}${getProperty(p)}`, true))\n}\n\nconst snippets: {[S in string]?: _Code} = {}\n\nexport function useFunc(gen: CodeGen, f: {code: string}): Name {\n return gen.scopeValue(\"func\", {\n ref: f,\n code: snippets[f.code] || (snippets[f.code] = new _Code(f.code)),\n })\n}\n\nexport enum Type {\n Num,\n Str,\n}\n\nexport function getErrorPath(\n dataProp: Name | string | number,\n dataPropType?: Type,\n jsPropertySyntax?: boolean\n): Code | string {\n // let path\n if (dataProp instanceof Name) {\n const isNumber = dataPropType === Type.Num\n return jsPropertySyntax\n ? isNumber\n ? _`\"[\" + ${dataProp} + \"]\"`\n : _`\"['\" + ${dataProp} + \"']\"`\n : isNumber\n ? _`\"/\" + ${dataProp}`\n : _`\"/\" + ${dataProp}.replace(/~/g, \"~0\").replace(/\\\\//g, \"~1\")` // TODO maybe use global escapePointer\n }\n return jsPropertySyntax ? getProperty(dataProp).toString() : \"/\" + escapeJsonPointer(dataProp)\n}\n\nexport function checkStrictMode(\n it: SchemaCxt,\n msg: string,\n mode: boolean | \"log\" = it.opts.strictSchema\n): void {\n if (!mode) return\n msg = `strict mode: ${msg}`\n if (mode === true) throw new Error(msg)\n it.self.logger.warn(msg)\n}\n","import type {AnySchemaObject} from \"../../types\"\nimport type {SchemaObjCxt} from \"..\"\nimport type {JSONType, RuleGroup, Rule} from \"../rules\"\n\nexport function schemaHasRulesForType(\n {schema, self}: SchemaObjCxt,\n type: JSONType\n): boolean | undefined {\n const group = self.RULES.types[type]\n return group && group !== true && shouldUseGroup(schema, group)\n}\n\nexport function shouldUseGroup(schema: AnySchemaObject, group: RuleGroup): boolean {\n return group.rules.some((rule) => shouldUseRule(schema, rule))\n}\n\nexport function shouldUseRule(schema: AnySchemaObject, rule: Rule): boolean | undefined {\n return (\n schema[rule.keyword] !== undefined ||\n rule.definition.implements?.some((kwd) => schema[kwd] !== undefined)\n )\n}\n","import type {KeywordErrorDefinition, KeywordErrorCxt} from \"../../types\"\nimport type {SchemaCxt} from \"..\"\nimport {reportError} from \"../errors\"\nimport {_, Name} from \"../codegen\"\nimport N from \"../names\"\n\nconst boolError: KeywordErrorDefinition = {\n message: \"boolean schema is false\",\n}\n\nexport function topBoolOrEmptySchema(it: SchemaCxt): void {\n const {gen, schema, validateName} = it\n if (schema === false) {\n falseSchemaError(it, false)\n } else if (typeof schema == \"object\" && schema.$async === true) {\n gen.return(N.data)\n } else {\n gen.assign(_`${validateName}.errors`, null)\n gen.return(true)\n }\n}\n\nexport function boolOrEmptySchema(it: SchemaCxt, valid: Name): void {\n const {gen, schema} = it\n if (schema === false) {\n gen.var(valid, false) // TODO var\n falseSchemaError(it)\n } else {\n gen.var(valid, true) // TODO var\n }\n}\n\nfunction falseSchemaError(it: SchemaCxt, overrideAllErrors?: boolean): void {\n const {gen, data} = it\n // TODO maybe some other interface should be used for non-keyword validation errors...\n const cxt: KeywordErrorCxt = {\n gen,\n keyword: \"false schema\",\n data,\n schema: false,\n schemaCode: false,\n schemaValue: false,\n params: {},\n it,\n }\n reportError(cxt, boolError, undefined, overrideAllErrors)\n}\n","import type {\n KeywordErrorDefinition,\n KeywordErrorCxt,\n ErrorObject,\n AnySchemaObject,\n} from \"../../types\"\nimport type {SchemaObjCxt} from \"..\"\nimport {isJSONType, JSONType} from \"../rules\"\nimport {schemaHasRulesForType} from \"./applicability\"\nimport {reportError} from \"../errors\"\nimport {_, nil, and, not, operators, Code, Name} from \"../codegen\"\nimport {toHash, schemaRefOrVal} from \"../util\"\n\nexport enum DataType {\n Correct,\n Wrong,\n}\n\nexport function getSchemaTypes(schema: AnySchemaObject): JSONType[] {\n const types = getJSONTypes(schema.type)\n const hasNull = types.includes(\"null\")\n if (hasNull) {\n if (schema.nullable === false) throw new Error(\"type: null contradicts nullable: false\")\n } else {\n if (!types.length && schema.nullable !== undefined) {\n throw new Error('\"nullable\" cannot be used without \"type\"')\n }\n if (schema.nullable === true) types.push(\"null\")\n }\n return types\n}\n\nexport function getJSONTypes(ts: unknown | unknown[]): JSONType[] {\n const types: unknown[] = Array.isArray(ts) ? ts : ts ? [ts] : []\n if (types.every(isJSONType)) return types\n throw new Error(\"type must be JSONType or JSONType[]: \" + types.join(\",\"))\n}\n\nexport function coerceAndCheckDataType(it: SchemaObjCxt, types: JSONType[]): boolean {\n const {gen, data, opts} = it\n const coerceTo = coerceToTypes(types, opts.coerceTypes)\n const checkTypes =\n types.length > 0 &&\n !(coerceTo.length === 0 && types.length === 1 && schemaHasRulesForType(it, types[0]))\n if (checkTypes) {\n const wrongType = checkDataTypes(types, data, opts.strictNumbers, DataType.Wrong)\n gen.if(wrongType, () => {\n if (coerceTo.length) coerceData(it, types, coerceTo)\n else reportTypeError(it)\n })\n }\n return checkTypes\n}\n\nconst COERCIBLE: Set = new Set([\"string\", \"number\", \"integer\", \"boolean\", \"null\"])\nfunction coerceToTypes(types: JSONType[], coerceTypes?: boolean | \"array\"): JSONType[] {\n return coerceTypes\n ? types.filter((t) => COERCIBLE.has(t) || (coerceTypes === \"array\" && t === \"array\"))\n : []\n}\n\nfunction coerceData(it: SchemaObjCxt, types: JSONType[], coerceTo: JSONType[]): void {\n const {gen, data, opts} = it\n const dataType = gen.let(\"dataType\", _`typeof ${data}`)\n const coerced = gen.let(\"coerced\", _`undefined`)\n if (opts.coerceTypes === \"array\") {\n gen.if(_`${dataType} == 'object' && Array.isArray(${data}) && ${data}.length == 1`, () =>\n gen\n .assign(data, _`${data}[0]`)\n .assign(dataType, _`typeof ${data}`)\n .if(checkDataTypes(types, data, opts.strictNumbers), () => gen.assign(coerced, data))\n )\n }\n gen.if(_`${coerced} !== undefined`)\n for (const t of coerceTo) {\n if (COERCIBLE.has(t) || (t === \"array\" && opts.coerceTypes === \"array\")) {\n coerceSpecificType(t)\n }\n }\n gen.else()\n reportTypeError(it)\n gen.endIf()\n\n gen.if(_`${coerced} !== undefined`, () => {\n gen.assign(data, coerced)\n assignParentData(it, coerced)\n })\n\n function coerceSpecificType(t: string): void {\n switch (t) {\n case \"string\":\n gen\n .elseIf(_`${dataType} == \"number\" || ${dataType} == \"boolean\"`)\n .assign(coerced, _`\"\" + ${data}`)\n .elseIf(_`${data} === null`)\n .assign(coerced, _`\"\"`)\n return\n case \"number\":\n gen\n .elseIf(\n _`${dataType} == \"boolean\" || ${data} === null\n || (${dataType} == \"string\" && ${data} && ${data} == +${data})`\n )\n .assign(coerced, _`+${data}`)\n return\n case \"integer\":\n gen\n .elseIf(\n _`${dataType} === \"boolean\" || ${data} === null\n || (${dataType} === \"string\" && ${data} && ${data} == +${data} && !(${data} % 1))`\n )\n .assign(coerced, _`+${data}`)\n return\n case \"boolean\":\n gen\n .elseIf(_`${data} === \"false\" || ${data} === 0 || ${data} === null`)\n .assign(coerced, false)\n .elseIf(_`${data} === \"true\" || ${data} === 1`)\n .assign(coerced, true)\n return\n case \"null\":\n gen.elseIf(_`${data} === \"\" || ${data} === 0 || ${data} === false`)\n gen.assign(coerced, null)\n return\n\n case \"array\":\n gen\n .elseIf(\n _`${dataType} === \"string\" || ${dataType} === \"number\"\n || ${dataType} === \"boolean\" || ${data} === null`\n )\n .assign(coerced, _`[${data}]`)\n }\n }\n}\n\nfunction assignParentData({gen, parentData, parentDataProperty}: SchemaObjCxt, expr: Name): void {\n // TODO use gen.property\n gen.if(_`${parentData} !== undefined`, () =>\n gen.assign(_`${parentData}[${parentDataProperty}]`, expr)\n )\n}\n\nexport function checkDataType(\n dataType: JSONType,\n data: Name,\n strictNums?: boolean | \"log\",\n correct = DataType.Correct\n): Code {\n const EQ = correct === DataType.Correct ? operators.EQ : operators.NEQ\n let cond: Code\n switch (dataType) {\n case \"null\":\n return _`${data} ${EQ} null`\n case \"array\":\n cond = _`Array.isArray(${data})`\n break\n case \"object\":\n cond = _`${data} && typeof ${data} == \"object\" && !Array.isArray(${data})`\n break\n case \"integer\":\n cond = numCond(_`!(${data} % 1) && !isNaN(${data})`)\n break\n case \"number\":\n cond = numCond()\n break\n default:\n return _`typeof ${data} ${EQ} ${dataType}`\n }\n return correct === DataType.Correct ? cond : not(cond)\n\n function numCond(_cond: Code = nil): Code {\n return and(_`typeof ${data} == \"number\"`, _cond, strictNums ? _`isFinite(${data})` : nil)\n }\n}\n\nexport function checkDataTypes(\n dataTypes: JSONType[],\n data: Name,\n strictNums?: boolean | \"log\",\n correct?: DataType\n): Code {\n if (dataTypes.length === 1) {\n return checkDataType(dataTypes[0], data, strictNums, correct)\n }\n let cond: Code\n const types = toHash(dataTypes)\n if (types.array && types.object) {\n const notObj = _`typeof ${data} != \"object\"`\n cond = types.null ? notObj : _`!${data} || ${notObj}`\n delete types.null\n delete types.array\n delete types.object\n } else {\n cond = nil\n }\n if (types.number) delete types.integer\n for (const t in types) cond = and(cond, checkDataType(t as JSONType, data, strictNums, correct))\n return cond\n}\n\nexport type TypeError = ErrorObject<\"type\", {type: string}>\n\nconst typeError: KeywordErrorDefinition = {\n message: ({schema}) => `must be ${schema}`,\n params: ({schema, schemaValue}) =>\n typeof schema == \"string\" ? _`{type: ${schema}}` : _`{type: ${schemaValue}}`,\n}\n\nexport function reportTypeError(it: SchemaObjCxt): void {\n const cxt = getTypeErrorContext(it)\n reportError(cxt, typeError)\n}\n\nfunction getTypeErrorContext(it: SchemaObjCxt): KeywordErrorCxt {\n const {gen, data, schema} = it\n const schemaCode = schemaRefOrVal(it, schema, \"type\")\n return {\n gen,\n keyword: \"type\",\n data,\n schema: schema.type,\n schemaCode,\n schemaValue: schemaCode,\n parentSchema: schema,\n params: {},\n it,\n }\n}\n","import type {SchemaObjCxt} from \"..\"\nimport {_, getProperty, stringify} from \"../codegen\"\nimport {checkStrictMode} from \"../util\"\n\nexport function assignDefaults(it: SchemaObjCxt, ty?: string): void {\n const {properties, items} = it.schema\n if (ty === \"object\" && properties) {\n for (const key in properties) {\n assignDefault(it, key, properties[key].default)\n }\n } else if (ty === \"array\" && Array.isArray(items)) {\n items.forEach((sch, i: number) => assignDefault(it, i, sch.default))\n }\n}\n\nfunction assignDefault(it: SchemaObjCxt, prop: string | number, defaultValue: unknown): void {\n const {gen, compositeRule, data, opts} = it\n if (defaultValue === undefined) return\n const childData = _`${data}${getProperty(prop)}`\n if (compositeRule) {\n checkStrictMode(it, `default is ignored for: ${childData}`)\n return\n }\n\n let condition = _`${childData} === undefined`\n if (opts.useDefaults === \"empty\") {\n condition = _`${condition} || ${childData} === null || ${childData} === \"\"`\n }\n // `${childData} === undefined` +\n // (opts.useDefaults === \"empty\" ? ` || ${childData} === null || ${childData} === \"\"` : \"\")\n gen.if(condition, _`${childData} = ${stringify(defaultValue)}`)\n}\n","import type {\n AddedKeywordDefinition,\n AnySchema,\n AnySchemaObject,\n KeywordErrorCxt,\n KeywordCxtParams,\n} from \"../../types\"\nimport type {SchemaCxt, SchemaObjCxt} from \"..\"\nimport type {InstanceOptions} from \"../../core\"\nimport {boolOrEmptySchema, topBoolOrEmptySchema} from \"./boolSchema\"\nimport {coerceAndCheckDataType, getSchemaTypes} from \"./dataType\"\nimport {shouldUseGroup, shouldUseRule} from \"./applicability\"\nimport {checkDataType, checkDataTypes, reportTypeError, DataType} from \"./dataType\"\nimport {assignDefaults} from \"./defaults\"\nimport {funcKeywordCode, macroKeywordCode, validateKeywordUsage, validSchemaType} from \"./keyword\"\nimport {getSubschema, extendSubschemaData, SubschemaArgs, extendSubschemaMode} from \"./subschema\"\nimport {_, nil, str, or, not, getProperty, Block, Code, Name, CodeGen} from \"../codegen\"\nimport N from \"../names\"\nimport {resolveUrl} from \"../resolve\"\nimport {\n schemaRefOrVal,\n schemaHasRulesButRef,\n checkUnknownRules,\n checkStrictMode,\n unescapeJsonPointer,\n mergeEvaluated,\n} from \"../util\"\nimport type {JSONType, Rule, RuleGroup} from \"../rules\"\nimport {\n ErrorPaths,\n reportError,\n reportExtraError,\n resetErrorsCount,\n keyword$DataError,\n} from \"../errors\"\n\n// schema compilation - generates validation function, subschemaCode (below) is used for subschemas\nexport function validateFunctionCode(it: SchemaCxt): void {\n if (isSchemaObj(it)) {\n checkKeywords(it)\n if (schemaCxtHasRules(it)) {\n topSchemaObjCode(it)\n return\n }\n }\n validateFunction(it, () => topBoolOrEmptySchema(it))\n}\n\nfunction validateFunction(\n {gen, validateName, schema, schemaEnv, opts}: SchemaCxt,\n body: Block\n): void {\n if (opts.code.es5) {\n gen.func(validateName, _`${N.data}, ${N.valCxt}`, schemaEnv.$async, () => {\n gen.code(_`\"use strict\"; ${funcSourceUrl(schema, opts)}`)\n destructureValCxtES5(gen, opts)\n gen.code(body)\n })\n } else {\n gen.func(validateName, _`${N.data}, ${destructureValCxt(opts)}`, schemaEnv.$async, () =>\n gen.code(funcSourceUrl(schema, opts)).code(body)\n )\n }\n}\n\nfunction destructureValCxt(opts: InstanceOptions): Code {\n return _`{${N.instancePath}=\"\", ${N.parentData}, ${N.parentDataProperty}, ${N.rootData}=${\n N.data\n }${opts.dynamicRef ? _`, ${N.dynamicAnchors}={}` : nil}}={}`\n}\n\nfunction destructureValCxtES5(gen: CodeGen, opts: InstanceOptions): void {\n gen.if(\n N.valCxt,\n () => {\n gen.var(N.instancePath, _`${N.valCxt}.${N.instancePath}`)\n gen.var(N.parentData, _`${N.valCxt}.${N.parentData}`)\n gen.var(N.parentDataProperty, _`${N.valCxt}.${N.parentDataProperty}`)\n gen.var(N.rootData, _`${N.valCxt}.${N.rootData}`)\n if (opts.dynamicRef) gen.var(N.dynamicAnchors, _`${N.valCxt}.${N.dynamicAnchors}`)\n },\n () => {\n gen.var(N.instancePath, _`\"\"`)\n gen.var(N.parentData, _`undefined`)\n gen.var(N.parentDataProperty, _`undefined`)\n gen.var(N.rootData, N.data)\n if (opts.dynamicRef) gen.var(N.dynamicAnchors, _`{}`)\n }\n )\n}\n\nfunction topSchemaObjCode(it: SchemaObjCxt): void {\n const {schema, opts, gen} = it\n validateFunction(it, () => {\n if (opts.$comment && schema.$comment) commentKeyword(it)\n checkNoDefault(it)\n gen.let(N.vErrors, null)\n gen.let(N.errors, 0)\n if (opts.unevaluated) resetEvaluated(it)\n typeAndKeywords(it)\n returnResults(it)\n })\n return\n}\n\nfunction resetEvaluated(it: SchemaObjCxt): void {\n // TODO maybe some hook to execute it in the end to check whether props/items are Name, as in assignEvaluated\n const {gen, validateName} = it\n it.evaluated = gen.const(\"evaluated\", _`${validateName}.evaluated`)\n gen.if(_`${it.evaluated}.dynamicProps`, () => gen.assign(_`${it.evaluated}.props`, _`undefined`))\n gen.if(_`${it.evaluated}.dynamicItems`, () => gen.assign(_`${it.evaluated}.items`, _`undefined`))\n}\n\nfunction funcSourceUrl(schema: AnySchema, opts: InstanceOptions): Code {\n const schId = typeof schema == \"object\" && schema[opts.schemaId]\n return schId && (opts.code.source || opts.code.process) ? _`/*# sourceURL=${schId} */` : nil\n}\n\n// schema compilation - this function is used recursively to generate code for sub-schemas\nfunction subschemaCode(it: SchemaCxt, valid: Name): void {\n if (isSchemaObj(it)) {\n checkKeywords(it)\n if (schemaCxtHasRules(it)) {\n subSchemaObjCode(it, valid)\n return\n }\n }\n boolOrEmptySchema(it, valid)\n}\n\nfunction schemaCxtHasRules({schema, self}: SchemaCxt): boolean {\n if (typeof schema == \"boolean\") return !schema\n for (const key in schema) if (self.RULES.all[key]) return true\n return false\n}\n\nfunction isSchemaObj(it: SchemaCxt): it is SchemaObjCxt {\n return typeof it.schema != \"boolean\"\n}\n\nfunction subSchemaObjCode(it: SchemaObjCxt, valid: Name): void {\n const {schema, gen, opts} = it\n if (opts.$comment && schema.$comment) commentKeyword(it)\n updateContext(it)\n checkAsyncSchema(it)\n const errsCount = gen.const(\"_errs\", N.errors)\n typeAndKeywords(it, errsCount)\n // TODO var\n gen.var(valid, _`${errsCount} === ${N.errors}`)\n}\n\nfunction checkKeywords(it: SchemaObjCxt): void {\n checkUnknownRules(it)\n checkRefsAndKeywords(it)\n}\n\nfunction typeAndKeywords(it: SchemaObjCxt, errsCount?: Name): void {\n if (it.opts.jtd) return schemaKeywords(it, [], false, errsCount)\n const types = getSchemaTypes(it.schema)\n const checkedTypes = coerceAndCheckDataType(it, types)\n schemaKeywords(it, types, !checkedTypes, errsCount)\n}\n\nfunction checkRefsAndKeywords(it: SchemaObjCxt): void {\n const {schema, errSchemaPath, opts, self} = it\n if (schema.$ref && opts.ignoreKeywordsWithRef && schemaHasRulesButRef(schema, self.RULES)) {\n self.logger.warn(`$ref: keywords ignored in schema at path \"${errSchemaPath}\"`)\n }\n}\n\nfunction checkNoDefault(it: SchemaObjCxt): void {\n const {schema, opts} = it\n if (schema.default !== undefined && opts.useDefaults && opts.strictSchema) {\n checkStrictMode(it, \"default is ignored in the schema root\")\n }\n}\n\nfunction updateContext(it: SchemaObjCxt): void {\n const schId = it.schema[it.opts.schemaId]\n if (schId) it.baseId = resolveUrl(it.opts.uriResolver, it.baseId, schId)\n}\n\nfunction checkAsyncSchema(it: SchemaObjCxt): void {\n if (it.schema.$async && !it.schemaEnv.$async) throw new Error(\"async schema in sync schema\")\n}\n\nfunction commentKeyword({gen, schemaEnv, schema, errSchemaPath, opts}: SchemaObjCxt): void {\n const msg = schema.$comment\n if (opts.$comment === true) {\n gen.code(_`${N.self}.logger.log(${msg})`)\n } else if (typeof opts.$comment == \"function\") {\n const schemaPath = str`${errSchemaPath}/$comment`\n const rootName = gen.scopeValue(\"root\", {ref: schemaEnv.root})\n gen.code(_`${N.self}.opts.$comment(${msg}, ${schemaPath}, ${rootName}.schema)`)\n }\n}\n\nfunction returnResults(it: SchemaCxt): void {\n const {gen, schemaEnv, validateName, ValidationError, opts} = it\n if (schemaEnv.$async) {\n // TODO assign unevaluated\n gen.if(\n _`${N.errors} === 0`,\n () => gen.return(N.data),\n () => gen.throw(_`new ${ValidationError as Name}(${N.vErrors})`)\n )\n } else {\n gen.assign(_`${validateName}.errors`, N.vErrors)\n if (opts.unevaluated) assignEvaluated(it)\n gen.return(_`${N.errors} === 0`)\n }\n}\n\nfunction assignEvaluated({gen, evaluated, props, items}: SchemaCxt): void {\n if (props instanceof Name) gen.assign(_`${evaluated}.props`, props)\n if (items instanceof Name) gen.assign(_`${evaluated}.items`, items)\n}\n\nfunction schemaKeywords(\n it: SchemaObjCxt,\n types: JSONType[],\n typeErrors: boolean,\n errsCount?: Name\n): void {\n const {gen, schema, data, allErrors, opts, self} = it\n const {RULES} = self\n if (schema.$ref && (opts.ignoreKeywordsWithRef || !schemaHasRulesButRef(schema, RULES))) {\n gen.block(() => keywordCode(it, \"$ref\", (RULES.all.$ref as Rule).definition)) // TODO typecast\n return\n }\n if (!opts.jtd) checkStrictTypes(it, types)\n gen.block(() => {\n for (const group of RULES.rules) groupKeywords(group)\n groupKeywords(RULES.post)\n })\n\n function groupKeywords(group: RuleGroup): void {\n if (!shouldUseGroup(schema, group)) return\n if (group.type) {\n gen.if(checkDataType(group.type, data, opts.strictNumbers))\n iterateKeywords(it, group)\n if (types.length === 1 && types[0] === group.type && typeErrors) {\n gen.else()\n reportTypeError(it)\n }\n gen.endIf()\n } else {\n iterateKeywords(it, group)\n }\n // TODO make it \"ok\" call?\n if (!allErrors) gen.if(_`${N.errors} === ${errsCount || 0}`)\n }\n}\n\nfunction iterateKeywords(it: SchemaObjCxt, group: RuleGroup): void {\n const {\n gen,\n schema,\n opts: {useDefaults},\n } = it\n if (useDefaults) assignDefaults(it, group.type)\n gen.block(() => {\n for (const rule of group.rules) {\n if (shouldUseRule(schema, rule)) {\n keywordCode(it, rule.keyword, rule.definition, group.type)\n }\n }\n })\n}\n\nfunction checkStrictTypes(it: SchemaObjCxt, types: JSONType[]): void {\n if (it.schemaEnv.meta || !it.opts.strictTypes) return\n checkContextTypes(it, types)\n if (!it.opts.allowUnionTypes) checkMultipleTypes(it, types)\n checkKeywordTypes(it, it.dataTypes)\n}\n\nfunction checkContextTypes(it: SchemaObjCxt, types: JSONType[]): void {\n if (!types.length) return\n if (!it.dataTypes.length) {\n it.dataTypes = types\n return\n }\n types.forEach((t) => {\n if (!includesType(it.dataTypes, t)) {\n strictTypesError(it, `type \"${t}\" not allowed by context \"${it.dataTypes.join(\",\")}\"`)\n }\n })\n narrowSchemaTypes(it, types)\n}\n\nfunction checkMultipleTypes(it: SchemaObjCxt, ts: JSONType[]): void {\n if (ts.length > 1 && !(ts.length === 2 && ts.includes(\"null\"))) {\n strictTypesError(it, \"use allowUnionTypes to allow union type keyword\")\n }\n}\n\nfunction checkKeywordTypes(it: SchemaObjCxt, ts: JSONType[]): void {\n const rules = it.self.RULES.all\n for (const keyword in rules) {\n const rule = rules[keyword]\n if (typeof rule == \"object\" && shouldUseRule(it.schema, rule)) {\n const {type} = rule.definition\n if (type.length && !type.some((t) => hasApplicableType(ts, t))) {\n strictTypesError(it, `missing type \"${type.join(\",\")}\" for keyword \"${keyword}\"`)\n }\n }\n }\n}\n\nfunction hasApplicableType(schTs: JSONType[], kwdT: JSONType): boolean {\n return schTs.includes(kwdT) || (kwdT === \"number\" && schTs.includes(\"integer\"))\n}\n\nfunction includesType(ts: JSONType[], t: JSONType): boolean {\n return ts.includes(t) || (t === \"integer\" && ts.includes(\"number\"))\n}\n\nfunction narrowSchemaTypes(it: SchemaObjCxt, withTypes: JSONType[]): void {\n const ts: JSONType[] = []\n for (const t of it.dataTypes) {\n if (includesType(withTypes, t)) ts.push(t)\n else if (withTypes.includes(\"integer\") && t === \"number\") ts.push(\"integer\")\n }\n it.dataTypes = ts\n}\n\nfunction strictTypesError(it: SchemaObjCxt, msg: string): void {\n const schemaPath = it.schemaEnv.baseId + it.errSchemaPath\n msg += ` at \"${schemaPath}\" (strictTypes)`\n checkStrictMode(it, msg, it.opts.strictTypes)\n}\n\nexport class KeywordCxt implements KeywordErrorCxt {\n readonly gen: CodeGen\n readonly allErrors?: boolean\n readonly keyword: string\n readonly data: Name // Name referencing the current level of the data instance\n readonly $data?: string | false\n schema: any // keyword value in the schema\n readonly schemaValue: Code | number | boolean // Code reference to keyword schema value or primitive value\n readonly schemaCode: Code | number | boolean // Code reference to resolved schema value (different if schema is $data)\n readonly schemaType: JSONType[] // allowed type(s) of keyword value in the schema\n readonly parentSchema: AnySchemaObject\n readonly errsCount?: Name // Name reference to the number of validation errors collected before this keyword,\n // requires option trackErrors in keyword definition\n params: KeywordCxtParams // object to pass parameters to error messages from keyword code\n readonly it: SchemaObjCxt // schema compilation context (schema is guaranteed to be an object, not boolean)\n readonly def: AddedKeywordDefinition\n\n constructor(it: SchemaObjCxt, def: AddedKeywordDefinition, keyword: string) {\n validateKeywordUsage(it, def, keyword)\n this.gen = it.gen\n this.allErrors = it.allErrors\n this.keyword = keyword\n this.data = it.data\n this.schema = it.schema[keyword]\n this.$data = def.$data && it.opts.$data && this.schema && this.schema.$data\n this.schemaValue = schemaRefOrVal(it, this.schema, keyword, this.$data)\n this.schemaType = def.schemaType\n this.parentSchema = it.schema\n this.params = {}\n this.it = it\n this.def = def\n\n if (this.$data) {\n this.schemaCode = it.gen.const(\"vSchema\", getData(this.$data, it))\n } else {\n this.schemaCode = this.schemaValue\n if (!validSchemaType(this.schema, def.schemaType, def.allowUndefined)) {\n throw new Error(`${keyword} value must be ${JSON.stringify(def.schemaType)}`)\n }\n }\n\n if (\"code\" in def ? def.trackErrors : def.errors !== false) {\n this.errsCount = it.gen.const(\"_errs\", N.errors)\n }\n }\n\n result(condition: Code, successAction?: () => void, failAction?: () => void): void {\n this.failResult(not(condition), successAction, failAction)\n }\n\n failResult(condition: Code, successAction?: () => void, failAction?: () => void): void {\n this.gen.if(condition)\n if (failAction) failAction()\n else this.error()\n if (successAction) {\n this.gen.else()\n successAction()\n if (this.allErrors) this.gen.endIf()\n } else {\n if (this.allErrors) this.gen.endIf()\n else this.gen.else()\n }\n }\n\n pass(condition: Code, failAction?: () => void): void {\n this.failResult(not(condition), undefined, failAction)\n }\n\n fail(condition?: Code): void {\n if (condition === undefined) {\n this.error()\n if (!this.allErrors) this.gen.if(false) // this branch will be removed by gen.optimize\n return\n }\n this.gen.if(condition)\n this.error()\n if (this.allErrors) this.gen.endIf()\n else this.gen.else()\n }\n\n fail$data(condition: Code): void {\n if (!this.$data) return this.fail(condition)\n const {schemaCode} = this\n this.fail(_`${schemaCode} !== undefined && (${or(this.invalid$data(), condition)})`)\n }\n\n error(append?: boolean, errorParams?: KeywordCxtParams, errorPaths?: ErrorPaths): void {\n if (errorParams) {\n this.setParams(errorParams)\n this._error(append, errorPaths)\n this.setParams({})\n return\n }\n this._error(append, errorPaths)\n }\n\n private _error(append?: boolean, errorPaths?: ErrorPaths): void {\n ;(append ? reportExtraError : reportError)(this, this.def.error, errorPaths)\n }\n\n $dataError(): void {\n reportError(this, this.def.$dataError || keyword$DataError)\n }\n\n reset(): void {\n if (this.errsCount === undefined) throw new Error('add \"trackErrors\" to keyword definition')\n resetErrorsCount(this.gen, this.errsCount)\n }\n\n ok(cond: Code | boolean): void {\n if (!this.allErrors) this.gen.if(cond)\n }\n\n setParams(obj: KeywordCxtParams, assign?: true): void {\n if (assign) Object.assign(this.params, obj)\n else this.params = obj\n }\n\n block$data(valid: Name, codeBlock: () => void, $dataValid: Code = nil): void {\n this.gen.block(() => {\n this.check$data(valid, $dataValid)\n codeBlock()\n })\n }\n\n check$data(valid: Name = nil, $dataValid: Code = nil): void {\n if (!this.$data) return\n const {gen, schemaCode, schemaType, def} = this\n gen.if(or(_`${schemaCode} === undefined`, $dataValid))\n if (valid !== nil) gen.assign(valid, true)\n if (schemaType.length || def.validateSchema) {\n gen.elseIf(this.invalid$data())\n this.$dataError()\n if (valid !== nil) gen.assign(valid, false)\n }\n gen.else()\n }\n\n invalid$data(): Code {\n const {gen, schemaCode, schemaType, def, it} = this\n return or(wrong$DataType(), invalid$DataSchema())\n\n function wrong$DataType(): Code {\n if (schemaType.length) {\n /* istanbul ignore if */\n if (!(schemaCode instanceof Name)) throw new Error(\"ajv implementation error\")\n const st = Array.isArray(schemaType) ? schemaType : [schemaType]\n return _`${checkDataTypes(st, schemaCode, it.opts.strictNumbers, DataType.Wrong)}`\n }\n return nil\n }\n\n function invalid$DataSchema(): Code {\n if (def.validateSchema) {\n const validateSchemaRef = gen.scopeValue(\"validate$data\", {ref: def.validateSchema}) // TODO value.code for standalone\n return _`!${validateSchemaRef}(${schemaCode})`\n }\n return nil\n }\n }\n\n subschema(appl: SubschemaArgs, valid: Name): SchemaCxt {\n const subschema = getSubschema(this.it, appl)\n extendSubschemaData(subschema, this.it, appl)\n extendSubschemaMode(subschema, appl)\n const nextContext = {...this.it, ...subschema, items: undefined, props: undefined}\n subschemaCode(nextContext, valid)\n return nextContext\n }\n\n mergeEvaluated(schemaCxt: SchemaCxt, toName?: typeof Name): void {\n const {it, gen} = this\n if (!it.opts.unevaluated) return\n if (it.props !== true && schemaCxt.props !== undefined) {\n it.props = mergeEvaluated.props(gen, schemaCxt.props, it.props, toName)\n }\n if (it.items !== true && schemaCxt.items !== undefined) {\n it.items = mergeEvaluated.items(gen, schemaCxt.items, it.items, toName)\n }\n }\n\n mergeValidEvaluated(schemaCxt: SchemaCxt, valid: Name): boolean | void {\n const {it, gen} = this\n if (it.opts.unevaluated && (it.props !== true || it.items !== true)) {\n gen.if(valid, () => this.mergeEvaluated(schemaCxt, Name))\n return true\n }\n }\n}\n\nfunction keywordCode(\n it: SchemaObjCxt,\n keyword: string,\n def: AddedKeywordDefinition,\n ruleType?: JSONType\n): void {\n const cxt = new KeywordCxt(it, def, keyword)\n if (\"code\" in def) {\n def.code(cxt, ruleType)\n } else if (cxt.$data && def.validate) {\n funcKeywordCode(cxt, def)\n } else if (\"macro\" in def) {\n macroKeywordCode(cxt, def)\n } else if (def.compile || def.validate) {\n funcKeywordCode(cxt, def)\n }\n}\n\nconst JSON_POINTER = /^\\/(?:[^~]|~0|~1)*$/\nconst RELATIVE_JSON_POINTER = /^([0-9]+)(#|\\/(?:[^~]|~0|~1)*)?$/\nexport function getData(\n $data: string,\n {dataLevel, dataNames, dataPathArr}: SchemaCxt\n): Code | number {\n let jsonPointer\n let data: Code\n if ($data === \"\") return N.rootData\n if ($data[0] === \"/\") {\n if (!JSON_POINTER.test($data)) throw new Error(`Invalid JSON-pointer: ${$data}`)\n jsonPointer = $data\n data = N.rootData\n } else {\n const matches = RELATIVE_JSON_POINTER.exec($data)\n if (!matches) throw new Error(`Invalid JSON-pointer: ${$data}`)\n const up: number = +matches[1]\n jsonPointer = matches[2]\n if (jsonPointer === \"#\") {\n if (up >= dataLevel) throw new Error(errorMsg(\"property/index\", up))\n return dataPathArr[dataLevel - up]\n }\n if (up > dataLevel) throw new Error(errorMsg(\"data\", up))\n data = dataNames[dataLevel - up]\n if (!jsonPointer) return data\n }\n\n let expr = data\n const segments = jsonPointer.split(\"/\")\n for (const segment of segments) {\n if (segment) {\n data = _`${data}${getProperty(unescapeJsonPointer(segment))}`\n expr = _`${expr} && ${data}`\n }\n }\n return expr\n\n function errorMsg(pointerType: string, up: number): string {\n return `Cannot access ${pointerType} ${up} levels up, current level is ${dataLevel}`\n }\n}\n","import type {KeywordCxt} from \".\"\nimport type {\n AnySchema,\n SchemaValidateFunction,\n AnyValidateFunction,\n AddedKeywordDefinition,\n MacroKeywordDefinition,\n FuncKeywordDefinition,\n} from \"../../types\"\nimport type {SchemaObjCxt} from \"..\"\nimport {_, nil, not, stringify, Code, Name, CodeGen} from \"../codegen\"\nimport N from \"../names\"\nimport type {JSONType} from \"../rules\"\nimport {callValidateCode} from \"../../vocabularies/code\"\nimport {extendErrors} from \"../errors\"\n\ntype KeywordCompilationResult = AnySchema | SchemaValidateFunction | AnyValidateFunction\n\nexport function macroKeywordCode(cxt: KeywordCxt, def: MacroKeywordDefinition): void {\n const {gen, keyword, schema, parentSchema, it} = cxt\n const macroSchema = def.macro.call(it.self, schema, parentSchema, it)\n const schemaRef = useKeyword(gen, keyword, macroSchema)\n if (it.opts.validateSchema !== false) it.self.validateSchema(macroSchema, true)\n\n const valid = gen.name(\"valid\")\n cxt.subschema(\n {\n schema: macroSchema,\n schemaPath: nil,\n errSchemaPath: `${it.errSchemaPath}/${keyword}`,\n topSchemaRef: schemaRef,\n compositeRule: true,\n },\n valid\n )\n cxt.pass(valid, () => cxt.error(true))\n}\n\nexport function funcKeywordCode(cxt: KeywordCxt, def: FuncKeywordDefinition): void {\n const {gen, keyword, schema, parentSchema, $data, it} = cxt\n checkAsyncKeyword(it, def)\n const validate =\n !$data && def.compile ? def.compile.call(it.self, schema, parentSchema, it) : def.validate\n const validateRef = useKeyword(gen, keyword, validate)\n const valid = gen.let(\"valid\")\n cxt.block$data(valid, validateKeyword)\n cxt.ok(def.valid ?? valid)\n\n function validateKeyword(): void {\n if (def.errors === false) {\n assignValid()\n if (def.modifying) modifyData(cxt)\n reportErrs(() => cxt.error())\n } else {\n const ruleErrs = def.async ? validateAsync() : validateSync()\n if (def.modifying) modifyData(cxt)\n reportErrs(() => addErrs(cxt, ruleErrs))\n }\n }\n\n function validateAsync(): Name {\n const ruleErrs = gen.let(\"ruleErrs\", null)\n gen.try(\n () => assignValid(_`await `),\n (e) =>\n gen.assign(valid, false).if(\n _`${e} instanceof ${it.ValidationError as Name}`,\n () => gen.assign(ruleErrs, _`${e}.errors`),\n () => gen.throw(e)\n )\n )\n return ruleErrs\n }\n\n function validateSync(): Code {\n const validateErrs = _`${validateRef}.errors`\n gen.assign(validateErrs, null)\n assignValid(nil)\n return validateErrs\n }\n\n function assignValid(_await: Code = def.async ? _`await ` : nil): void {\n const passCxt = it.opts.passContext ? N.this : N.self\n const passSchema = !((\"compile\" in def && !$data) || def.schema === false)\n gen.assign(\n valid,\n _`${_await}${callValidateCode(cxt, validateRef, passCxt, passSchema)}`,\n def.modifying\n )\n }\n\n function reportErrs(errors: () => void): void {\n gen.if(not(def.valid ?? valid), errors)\n }\n}\n\nfunction modifyData(cxt: KeywordCxt): void {\n const {gen, data, it} = cxt\n gen.if(it.parentData, () => gen.assign(data, _`${it.parentData}[${it.parentDataProperty}]`))\n}\n\nfunction addErrs(cxt: KeywordCxt, errs: Code): void {\n const {gen} = cxt\n gen.if(\n _`Array.isArray(${errs})`,\n () => {\n gen\n .assign(N.vErrors, _`${N.vErrors} === null ? ${errs} : ${N.vErrors}.concat(${errs})`)\n .assign(N.errors, _`${N.vErrors}.length`)\n extendErrors(cxt)\n },\n () => cxt.error()\n )\n}\n\nfunction checkAsyncKeyword({schemaEnv}: SchemaObjCxt, def: FuncKeywordDefinition): void {\n if (def.async && !schemaEnv.$async) throw new Error(\"async keyword in sync schema\")\n}\n\nfunction useKeyword(gen: CodeGen, keyword: string, result?: KeywordCompilationResult): Name {\n if (result === undefined) throw new Error(`keyword \"${keyword}\" failed to compile`)\n return gen.scopeValue(\n \"keyword\",\n typeof result == \"function\" ? {ref: result} : {ref: result, code: stringify(result)}\n )\n}\n\nexport function validSchemaType(\n schema: unknown,\n schemaType: JSONType[],\n allowUndefined = false\n): boolean {\n // TODO add tests\n return (\n !schemaType.length ||\n schemaType.some((st) =>\n st === \"array\"\n ? Array.isArray(schema)\n : st === \"object\"\n ? schema && typeof schema == \"object\" && !Array.isArray(schema)\n : typeof schema == st || (allowUndefined && typeof schema == \"undefined\")\n )\n )\n}\n\nexport function validateKeywordUsage(\n {schema, opts, self, errSchemaPath}: SchemaObjCxt,\n def: AddedKeywordDefinition,\n keyword: string\n): void {\n /* istanbul ignore if */\n if (Array.isArray(def.keyword) ? !def.keyword.includes(keyword) : def.keyword !== keyword) {\n throw new Error(\"ajv implementation error\")\n }\n\n const deps = def.dependencies\n if (deps?.some((kwd) => !Object.prototype.hasOwnProperty.call(schema, kwd))) {\n throw new Error(`parent schema must have dependencies of ${keyword}: ${deps.join(\",\")}`)\n }\n\n if (def.validateSchema) {\n const valid = def.validateSchema(schema[keyword])\n if (!valid) {\n const msg =\n `keyword \"${keyword}\" value is invalid at path \"${errSchemaPath}\": ` +\n self.errorsText(def.validateSchema.errors)\n if (opts.validateSchema === \"log\") self.logger.error(msg)\n else throw new Error(msg)\n }\n }\n}\n","import type {AnySchema} from \"../../types\"\nimport type {SchemaObjCxt} from \"..\"\nimport {_, str, getProperty, Code, Name} from \"../codegen\"\nimport {escapeFragment, getErrorPath, Type} from \"../util\"\nimport type {JSONType} from \"../rules\"\n\nexport interface SubschemaContext {\n // TODO use Optional? align with SchemCxt property types\n schema: AnySchema\n schemaPath: Code\n errSchemaPath: string\n topSchemaRef?: Code\n errorPath?: Code\n dataLevel?: number\n dataTypes?: JSONType[]\n data?: Name\n parentData?: Name\n parentDataProperty?: Code | number\n dataNames?: Name[]\n dataPathArr?: (Code | number)[]\n propertyName?: Name\n jtdDiscriminator?: string\n jtdMetadata?: boolean\n compositeRule?: true\n createErrors?: boolean\n allErrors?: boolean\n}\n\nexport type SubschemaArgs = Partial<{\n keyword: string\n schemaProp: string | number\n schema: AnySchema\n schemaPath: Code\n errSchemaPath: string\n topSchemaRef: Code\n data: Name | Code\n dataProp: Code | string | number\n dataTypes: JSONType[]\n definedProperties: Set\n propertyName: Name\n dataPropType: Type\n jtdDiscriminator: string\n jtdMetadata: boolean\n compositeRule: true\n createErrors: boolean\n allErrors: boolean\n}>\n\nexport function getSubschema(\n it: SchemaObjCxt,\n {keyword, schemaProp, schema, schemaPath, errSchemaPath, topSchemaRef}: SubschemaArgs\n): SubschemaContext {\n if (keyword !== undefined && schema !== undefined) {\n throw new Error('both \"keyword\" and \"schema\" passed, only one allowed')\n }\n\n if (keyword !== undefined) {\n const sch = it.schema[keyword]\n return schemaProp === undefined\n ? {\n schema: sch,\n schemaPath: _`${it.schemaPath}${getProperty(keyword)}`,\n errSchemaPath: `${it.errSchemaPath}/${keyword}`,\n }\n : {\n schema: sch[schemaProp],\n schemaPath: _`${it.schemaPath}${getProperty(keyword)}${getProperty(schemaProp)}`,\n errSchemaPath: `${it.errSchemaPath}/${keyword}/${escapeFragment(schemaProp)}`,\n }\n }\n\n if (schema !== undefined) {\n if (schemaPath === undefined || errSchemaPath === undefined || topSchemaRef === undefined) {\n throw new Error('\"schemaPath\", \"errSchemaPath\" and \"topSchemaRef\" are required with \"schema\"')\n }\n return {\n schema,\n schemaPath,\n topSchemaRef,\n errSchemaPath,\n }\n }\n\n throw new Error('either \"keyword\" or \"schema\" must be passed')\n}\n\nexport function extendSubschemaData(\n subschema: SubschemaContext,\n it: SchemaObjCxt,\n {dataProp, dataPropType: dpType, data, dataTypes, propertyName}: SubschemaArgs\n): void {\n if (data !== undefined && dataProp !== undefined) {\n throw new Error('both \"data\" and \"dataProp\" passed, only one allowed')\n }\n\n const {gen} = it\n\n if (dataProp !== undefined) {\n const {errorPath, dataPathArr, opts} = it\n const nextData = gen.let(\"data\", _`${it.data}${getProperty(dataProp)}`, true)\n dataContextProps(nextData)\n subschema.errorPath = str`${errorPath}${getErrorPath(dataProp, dpType, opts.jsPropertySyntax)}`\n subschema.parentDataProperty = _`${dataProp}`\n subschema.dataPathArr = [...dataPathArr, subschema.parentDataProperty]\n }\n\n if (data !== undefined) {\n const nextData = data instanceof Name ? data : gen.let(\"data\", data, true) // replaceable if used once?\n dataContextProps(nextData)\n if (propertyName !== undefined) subschema.propertyName = propertyName\n // TODO something is possibly wrong here with not changing parentDataProperty and not appending dataPathArr\n }\n\n if (dataTypes) subschema.dataTypes = dataTypes\n\n function dataContextProps(_nextData: Name): void {\n subschema.data = _nextData\n subschema.dataLevel = it.dataLevel + 1\n subschema.dataTypes = []\n it.definedProperties = new Set()\n subschema.parentData = it.data\n subschema.dataNames = [...it.dataNames, _nextData]\n }\n}\n\nexport function extendSubschemaMode(\n subschema: SubschemaContext,\n {jtdDiscriminator, jtdMetadata, compositeRule, createErrors, allErrors}: SubschemaArgs\n): void {\n if (compositeRule !== undefined) subschema.compositeRule = compositeRule\n if (createErrors !== undefined) subschema.createErrors = createErrors\n if (allErrors !== undefined) subschema.allErrors = allErrors\n subschema.jtdDiscriminator = jtdDiscriminator // not inherited\n subschema.jtdMetadata = jtdMetadata // not inherited\n}\n","export {\n Format,\n FormatDefinition,\n AsyncFormatDefinition,\n KeywordDefinition,\n KeywordErrorDefinition,\n CodeKeywordDefinition,\n MacroKeywordDefinition,\n FuncKeywordDefinition,\n Vocabulary,\n Schema,\n SchemaObject,\n AnySchemaObject,\n AsyncSchema,\n AnySchema,\n ValidateFunction,\n AsyncValidateFunction,\n AnyValidateFunction,\n ErrorObject,\n ErrorNoParams,\n} from \"./types\"\n\nexport {SchemaCxt, SchemaObjCxt} from \"./compile\"\nexport interface Plugin {\n (ajv: Ajv, options?: Opts): Ajv\n [prop: string]: any\n}\n\nexport {KeywordCxt} from \"./compile/validate\"\nexport {DefinedError} from \"./vocabularies/errors\"\nexport {JSONType} from \"./compile/rules\"\nexport {JSONSchemaType} from \"./types/json-schema\"\nexport {JTDSchemaType, SomeJTDSchemaType, JTDDataType} from \"./types/jtd-schema\"\nexport {_, str, stringify, nil, Name, Code, CodeGen, CodeGenOptions} from \"./compile/codegen\"\n\nimport type {\n Schema,\n AnySchema,\n AnySchemaObject,\n SchemaObject,\n AsyncSchema,\n Vocabulary,\n KeywordDefinition,\n AddedKeywordDefinition,\n AnyValidateFunction,\n ValidateFunction,\n AsyncValidateFunction,\n ErrorObject,\n Format,\n AddedFormat,\n RegExpEngine,\n UriResolver,\n} from \"./types\"\nimport type {JSONSchemaType} from \"./types/json-schema\"\nimport type {JTDSchemaType, SomeJTDSchemaType, JTDDataType} from \"./types/jtd-schema\"\nimport ValidationError from \"./runtime/validation_error\"\nimport MissingRefError from \"./compile/ref_error\"\nimport {getRules, ValidationRules, Rule, RuleGroup, JSONType} from \"./compile/rules\"\nimport {SchemaEnv, compileSchema, resolveSchema} from \"./compile\"\nimport {Code, ValueScope} from \"./compile/codegen\"\nimport {normalizeId, getSchemaRefs} from \"./compile/resolve\"\nimport {getJSONTypes} from \"./compile/validate/dataType\"\nimport {eachItem} from \"./compile/util\"\nimport * as $dataRefSchema from \"./refs/data.json\"\n\nimport DefaultUriResolver from \"./runtime/uri\"\n\nconst defaultRegExp: RegExpEngine = (str, flags) => new RegExp(str, flags)\ndefaultRegExp.code = \"new RegExp\"\n\nconst META_IGNORE_OPTIONS: (keyof Options)[] = [\"removeAdditional\", \"useDefaults\", \"coerceTypes\"]\nconst EXT_SCOPE_NAMES = new Set([\n \"validate\",\n \"serialize\",\n \"parse\",\n \"wrapper\",\n \"root\",\n \"schema\",\n \"keyword\",\n \"pattern\",\n \"formats\",\n \"validate$data\",\n \"func\",\n \"obj\",\n \"Error\",\n])\n\nexport type Options = CurrentOptions & DeprecatedOptions\n\nexport interface CurrentOptions {\n // strict mode options (NEW)\n strict?: boolean | \"log\"\n strictSchema?: boolean | \"log\"\n strictNumbers?: boolean | \"log\"\n strictTypes?: boolean | \"log\"\n strictTuples?: boolean | \"log\"\n strictRequired?: boolean | \"log\"\n allowMatchingProperties?: boolean // disables a strict mode restriction\n allowUnionTypes?: boolean\n validateFormats?: boolean\n // validation and reporting options:\n $data?: boolean\n allErrors?: boolean\n verbose?: boolean\n discriminator?: boolean\n unicodeRegExp?: boolean\n timestamp?: \"string\" | \"date\" // JTD only\n parseDate?: boolean // JTD only\n allowDate?: boolean // JTD only\n $comment?:\n | true\n | ((comment: string, schemaPath?: string, rootSchema?: AnySchemaObject) => unknown)\n formats?: {[Name in string]?: Format}\n keywords?: Vocabulary\n schemas?: AnySchema[] | {[Key in string]?: AnySchema}\n logger?: Logger | false\n loadSchema?: (uri: string) => Promise\n // options to modify validated data:\n removeAdditional?: boolean | \"all\" | \"failing\"\n useDefaults?: boolean | \"empty\"\n coerceTypes?: boolean | \"array\"\n // advanced options:\n next?: boolean // NEW\n unevaluated?: boolean // NEW\n dynamicRef?: boolean // NEW\n schemaId?: \"id\" | \"$id\"\n jtd?: boolean // NEW\n meta?: SchemaObject | boolean\n defaultMeta?: string | AnySchemaObject\n validateSchema?: boolean | \"log\"\n addUsedSchema?: boolean\n inlineRefs?: boolean | number\n passContext?: boolean\n loopRequired?: number\n loopEnum?: number // NEW\n ownProperties?: boolean\n multipleOfPrecision?: number\n int32range?: boolean // JTD only\n messages?: boolean\n code?: CodeOptions // NEW\n uriResolver?: UriResolver\n}\n\nexport interface CodeOptions {\n es5?: boolean\n esm?: boolean\n lines?: boolean\n optimize?: boolean | number\n formats?: Code // code to require (or construct) map of available formats - for standalone code\n source?: boolean\n process?: (code: string, schema?: SchemaEnv) => string\n regExp?: RegExpEngine\n}\n\ninterface InstanceCodeOptions extends CodeOptions {\n regExp: RegExpEngine\n optimize: number\n}\n\ninterface DeprecatedOptions {\n /** @deprecated */\n ignoreKeywordsWithRef?: boolean\n /** @deprecated */\n jsPropertySyntax?: boolean // added instead of jsonPointers\n /** @deprecated */\n unicode?: boolean\n}\n\ninterface RemovedOptions {\n format?: boolean\n errorDataPath?: \"object\" | \"property\"\n nullable?: boolean // \"nullable\" keyword is supported by default\n jsonPointers?: boolean\n extendRefs?: true | \"ignore\" | \"fail\"\n missingRefs?: true | \"ignore\" | \"fail\"\n processCode?: (code: string, schema?: SchemaEnv) => string\n sourceCode?: boolean\n strictDefaults?: boolean\n strictKeywords?: boolean\n uniqueItems?: boolean\n unknownFormats?: true | string[] | \"ignore\"\n cache?: any\n serialize?: (schema: AnySchema) => unknown\n ajvErrors?: boolean\n}\n\ntype OptionsInfo = {\n [K in keyof T]-?: string | undefined\n}\n\nconst removedOptions: OptionsInfo = {\n errorDataPath: \"\",\n format: \"`validateFormats: false` can be used instead.\",\n nullable: '\"nullable\" keyword is supported by default.',\n jsonPointers: \"Deprecated jsPropertySyntax can be used instead.\",\n extendRefs: \"Deprecated ignoreKeywordsWithRef can be used instead.\",\n missingRefs: \"Pass empty schema with $id that should be ignored to ajv.addSchema.\",\n processCode: \"Use option `code: {process: (code, schemaEnv: object) => string}`\",\n sourceCode: \"Use option `code: {source: true}`\",\n strictDefaults: \"It is default now, see option `strict`.\",\n strictKeywords: \"It is default now, see option `strict`.\",\n uniqueItems: '\"uniqueItems\" keyword is always validated.',\n unknownFormats: \"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).\",\n cache: \"Map is used as cache, schema object as key.\",\n serialize: \"Map is used as cache, schema object as key.\",\n ajvErrors: \"It is default now.\",\n}\n\nconst deprecatedOptions: OptionsInfo = {\n ignoreKeywordsWithRef: \"\",\n jsPropertySyntax: \"\",\n unicode: '\"minLength\"/\"maxLength\" account for unicode characters by default.',\n}\n\ntype RequiredInstanceOptions = {\n [K in\n | \"strictSchema\"\n | \"strictNumbers\"\n | \"strictTypes\"\n | \"strictTuples\"\n | \"strictRequired\"\n | \"inlineRefs\"\n | \"loopRequired\"\n | \"loopEnum\"\n | \"meta\"\n | \"messages\"\n | \"schemaId\"\n | \"addUsedSchema\"\n | \"validateSchema\"\n | \"validateFormats\"\n | \"int32range\"\n | \"unicodeRegExp\"\n | \"uriResolver\"]: NonNullable\n} & {code: InstanceCodeOptions}\n\nexport type InstanceOptions = Options & RequiredInstanceOptions\n\nconst MAX_EXPRESSION = 200\n\n// eslint-disable-next-line complexity\nfunction requiredOptions(o: Options): RequiredInstanceOptions {\n const s = o.strict\n const _optz = o.code?.optimize\n const optimize = _optz === true || _optz === undefined ? 1 : _optz || 0\n const regExp = o.code?.regExp ?? defaultRegExp\n const uriResolver = o.uriResolver ?? DefaultUriResolver\n return {\n strictSchema: o.strictSchema ?? s ?? true,\n strictNumbers: o.strictNumbers ?? s ?? true,\n strictTypes: o.strictTypes ?? s ?? \"log\",\n strictTuples: o.strictTuples ?? s ?? \"log\",\n strictRequired: o.strictRequired ?? s ?? false,\n code: o.code ? {...o.code, optimize, regExp} : {optimize, regExp},\n loopRequired: o.loopRequired ?? MAX_EXPRESSION,\n loopEnum: o.loopEnum ?? MAX_EXPRESSION,\n meta: o.meta ?? true,\n messages: o.messages ?? true,\n inlineRefs: o.inlineRefs ?? true,\n schemaId: o.schemaId ?? \"$id\",\n addUsedSchema: o.addUsedSchema ?? true,\n validateSchema: o.validateSchema ?? true,\n validateFormats: o.validateFormats ?? true,\n unicodeRegExp: o.unicodeRegExp ?? true,\n int32range: o.int32range ?? true,\n uriResolver: uriResolver,\n }\n}\n\nexport interface Logger {\n log(...args: unknown[]): unknown\n warn(...args: unknown[]): unknown\n error(...args: unknown[]): unknown\n}\n\nexport default class Ajv {\n opts: InstanceOptions\n errors?: ErrorObject[] | null // errors from the last validation\n logger: Logger\n // shared external scope values for compiled functions\n readonly scope: ValueScope\n readonly schemas: {[Key in string]?: SchemaEnv} = {}\n readonly refs: {[Ref in string]?: SchemaEnv | string} = {}\n readonly formats: {[Name in string]?: AddedFormat} = {}\n readonly RULES: ValidationRules\n readonly _compilations: Set = new Set()\n private readonly _loading: {[Ref in string]?: Promise} = {}\n private readonly _cache: Map = new Map()\n private readonly _metaOpts: InstanceOptions\n\n static ValidationError = ValidationError\n static MissingRefError = MissingRefError\n\n constructor(opts: Options = {}) {\n opts = this.opts = {...opts, ...requiredOptions(opts)}\n const {es5, lines} = this.opts.code\n\n this.scope = new ValueScope({scope: {}, prefixes: EXT_SCOPE_NAMES, es5, lines})\n this.logger = getLogger(opts.logger)\n const formatOpt = opts.validateFormats\n opts.validateFormats = false\n\n this.RULES = getRules()\n checkOptions.call(this, removedOptions, opts, \"NOT SUPPORTED\")\n checkOptions.call(this, deprecatedOptions, opts, \"DEPRECATED\", \"warn\")\n this._metaOpts = getMetaSchemaOptions.call(this)\n\n if (opts.formats) addInitialFormats.call(this)\n this._addVocabularies()\n this._addDefaultMetaSchema()\n if (opts.keywords) addInitialKeywords.call(this, opts.keywords)\n if (typeof opts.meta == \"object\") this.addMetaSchema(opts.meta)\n addInitialSchemas.call(this)\n opts.validateFormats = formatOpt\n }\n\n _addVocabularies(): void {\n this.addKeyword(\"$async\")\n }\n\n _addDefaultMetaSchema(): void {\n const {$data, meta, schemaId} = this.opts\n let _dataRefSchema: SchemaObject = $dataRefSchema\n if (schemaId === \"id\") {\n _dataRefSchema = {...$dataRefSchema}\n _dataRefSchema.id = _dataRefSchema.$id\n delete _dataRefSchema.$id\n }\n if (meta && $data) this.addMetaSchema(_dataRefSchema, _dataRefSchema[schemaId], false)\n }\n\n defaultMeta(): string | AnySchemaObject | undefined {\n const {meta, schemaId} = this.opts\n return (this.opts.defaultMeta = typeof meta == \"object\" ? meta[schemaId] || meta : undefined)\n }\n\n // Validate data using schema\n // AnySchema will be compiled and cached using schema itself as a key for Map\n validate(schema: Schema | string, data: unknown): boolean\n validate(schemaKeyRef: AnySchema | string, data: unknown): boolean | Promise\n validate(schema: Schema | JSONSchemaType | string, data: unknown): data is T\n // Separated for type inference to work\n // eslint-disable-next-line @typescript-eslint/unified-signatures\n validate(schema: JTDSchemaType, data: unknown): data is T\n // This overload is only intended for typescript inference, the first\n // argument prevents manual type annotation from matching this overload\n validate(\n schema: T,\n data: unknown\n ): data is JTDDataType\n validate(schema: AsyncSchema, data: unknown | T): Promise\n validate(schemaKeyRef: AnySchema | string, data: unknown): data is T | Promise\n validate(\n schemaKeyRef: AnySchema | string, // key, ref or schema object\n data: unknown | T // to be validated\n ): boolean | Promise {\n let v: AnyValidateFunction | undefined\n if (typeof schemaKeyRef == \"string\") {\n v = this.getSchema(schemaKeyRef)\n if (!v) throw new Error(`no schema with key or ref \"${schemaKeyRef}\"`)\n } else {\n v = this.compile(schemaKeyRef)\n }\n\n const valid = v(data)\n if (!(\"$async\" in v)) this.errors = v.errors\n return valid\n }\n\n // Create validation function for passed schema\n // _meta: true if schema is a meta-schema. Used internally to compile meta schemas of user-defined keywords.\n compile(schema: Schema | JSONSchemaType, _meta?: boolean): ValidateFunction\n // Separated for type inference to work\n // eslint-disable-next-line @typescript-eslint/unified-signatures\n compile(schema: JTDSchemaType, _meta?: boolean): ValidateFunction\n // This overload is only intended for typescript inference, the first\n // argument prevents manual type annotation from matching this overload\n compile(\n schema: T,\n _meta?: boolean\n ): ValidateFunction>\n compile(schema: AsyncSchema, _meta?: boolean): AsyncValidateFunction\n compile(schema: AnySchema, _meta?: boolean): AnyValidateFunction\n compile(schema: AnySchema, _meta?: boolean): AnyValidateFunction {\n const sch = this._addSchema(schema, _meta)\n return (sch.validate || this._compileSchemaEnv(sch)) as AnyValidateFunction\n }\n\n // Creates validating function for passed schema with asynchronous loading of missing schemas.\n // `loadSchema` option should be a function that accepts schema uri and returns promise that resolves with the schema.\n // TODO allow passing schema URI\n // meta - optional true to compile meta-schema\n compileAsync(\n schema: SchemaObject | JSONSchemaType,\n _meta?: boolean\n ): Promise>\n // Separated for type inference to work\n // eslint-disable-next-line @typescript-eslint/unified-signatures\n compileAsync(schema: JTDSchemaType, _meta?: boolean): Promise>\n compileAsync(schema: AsyncSchema, meta?: boolean): Promise>\n // eslint-disable-next-line @typescript-eslint/unified-signatures\n compileAsync(\n schema: AnySchemaObject,\n meta?: boolean\n ): Promise>\n compileAsync(\n schema: AnySchemaObject,\n meta?: boolean\n ): Promise> {\n if (typeof this.opts.loadSchema != \"function\") {\n throw new Error(\"options.loadSchema should be a function\")\n }\n const {loadSchema} = this.opts\n return runCompileAsync.call(this, schema, meta)\n\n async function runCompileAsync(\n this: Ajv,\n _schema: AnySchemaObject,\n _meta?: boolean\n ): Promise {\n await loadMetaSchema.call(this, _schema.$schema)\n const sch = this._addSchema(_schema, _meta)\n return sch.validate || _compileAsync.call(this, sch)\n }\n\n async function loadMetaSchema(this: Ajv, $ref?: string): Promise {\n if ($ref && !this.getSchema($ref)) {\n await runCompileAsync.call(this, {$ref}, true)\n }\n }\n\n async function _compileAsync(this: Ajv, sch: SchemaEnv): Promise {\n try {\n return this._compileSchemaEnv(sch)\n } catch (e) {\n if (!(e instanceof MissingRefError)) throw e\n checkLoaded.call(this, e)\n await loadMissingSchema.call(this, e.missingSchema)\n return _compileAsync.call(this, sch)\n }\n }\n\n function checkLoaded(this: Ajv, {missingSchema: ref, missingRef}: MissingRefError): void {\n if (this.refs[ref]) {\n throw new Error(`AnySchema ${ref} is loaded but ${missingRef} cannot be resolved`)\n }\n }\n\n async function loadMissingSchema(this: Ajv, ref: string): Promise {\n const _schema = await _loadSchema.call(this, ref)\n if (!this.refs[ref]) await loadMetaSchema.call(this, _schema.$schema)\n if (!this.refs[ref]) this.addSchema(_schema, ref, meta)\n }\n\n async function _loadSchema(this: Ajv, ref: string): Promise {\n const p = this._loading[ref]\n if (p) return p\n try {\n return await (this._loading[ref] = loadSchema(ref))\n } finally {\n delete this._loading[ref]\n }\n }\n }\n\n // Adds schema to the instance\n addSchema(\n schema: AnySchema | AnySchema[], // If array is passed, `key` will be ignored\n key?: string, // Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`.\n _meta?: boolean, // true if schema is a meta-schema. Used internally, addMetaSchema should be used instead.\n _validateSchema = this.opts.validateSchema // false to skip schema validation. Used internally, option validateSchema should be used instead.\n ): Ajv {\n if (Array.isArray(schema)) {\n for (const sch of schema) this.addSchema(sch, undefined, _meta, _validateSchema)\n return this\n }\n let id: string | undefined\n if (typeof schema === \"object\") {\n const {schemaId} = this.opts\n id = schema[schemaId]\n if (id !== undefined && typeof id != \"string\") {\n throw new Error(`schema ${schemaId} must be string`)\n }\n }\n key = normalizeId(key || id)\n this._checkUnique(key)\n this.schemas[key] = this._addSchema(schema, _meta, key, _validateSchema, true)\n return this\n }\n\n // Add schema that will be used to validate other schemas\n // options in META_IGNORE_OPTIONS are alway set to false\n addMetaSchema(\n schema: AnySchemaObject,\n key?: string, // schema key\n _validateSchema = this.opts.validateSchema // false to skip schema validation, can be used to override validateSchema option for meta-schema\n ): Ajv {\n this.addSchema(schema, key, true, _validateSchema)\n return this\n }\n\n // Validate schema against its meta-schema\n validateSchema(schema: AnySchema, throwOrLogError?: boolean): boolean | Promise {\n if (typeof schema == \"boolean\") return true\n let $schema: string | AnySchemaObject | undefined\n $schema = schema.$schema\n if ($schema !== undefined && typeof $schema != \"string\") {\n throw new Error(\"$schema must be a string\")\n }\n $schema = $schema || this.opts.defaultMeta || this.defaultMeta()\n if (!$schema) {\n this.logger.warn(\"meta-schema not available\")\n this.errors = null\n return true\n }\n const valid = this.validate($schema, schema)\n if (!valid && throwOrLogError) {\n const message = \"schema is invalid: \" + this.errorsText()\n if (this.opts.validateSchema === \"log\") this.logger.error(message)\n else throw new Error(message)\n }\n return valid\n }\n\n // Get compiled schema by `key` or `ref`.\n // (`key` that was passed to `addSchema` or full schema reference - `schema.$id` or resolved id)\n getSchema(keyRef: string): AnyValidateFunction | undefined {\n let sch\n while (typeof (sch = getSchEnv.call(this, keyRef)) == \"string\") keyRef = sch\n if (sch === undefined) {\n const {schemaId} = this.opts\n const root = new SchemaEnv({schema: {}, schemaId})\n sch = resolveSchema.call(this, root, keyRef)\n if (!sch) return\n this.refs[keyRef] = sch\n }\n return (sch.validate || this._compileSchemaEnv(sch)) as AnyValidateFunction | undefined\n }\n\n // Remove cached schema(s).\n // If no parameter is passed all schemas but meta-schemas are removed.\n // If RegExp is passed all schemas with key/id matching pattern but meta-schemas are removed.\n // Even if schema is referenced by other schemas it still can be removed as other schemas have local references.\n removeSchema(schemaKeyRef?: AnySchema | string | RegExp): Ajv {\n if (schemaKeyRef instanceof RegExp) {\n this._removeAllSchemas(this.schemas, schemaKeyRef)\n this._removeAllSchemas(this.refs, schemaKeyRef)\n return this\n }\n switch (typeof schemaKeyRef) {\n case \"undefined\":\n this._removeAllSchemas(this.schemas)\n this._removeAllSchemas(this.refs)\n this._cache.clear()\n return this\n case \"string\": {\n const sch = getSchEnv.call(this, schemaKeyRef)\n if (typeof sch == \"object\") this._cache.delete(sch.schema)\n delete this.schemas[schemaKeyRef]\n delete this.refs[schemaKeyRef]\n return this\n }\n case \"object\": {\n const cacheKey = schemaKeyRef\n this._cache.delete(cacheKey)\n let id = schemaKeyRef[this.opts.schemaId]\n if (id) {\n id = normalizeId(id)\n delete this.schemas[id]\n delete this.refs[id]\n }\n return this\n }\n default:\n throw new Error(\"ajv.removeSchema: invalid parameter\")\n }\n }\n\n // add \"vocabulary\" - a collection of keywords\n addVocabulary(definitions: Vocabulary): Ajv {\n for (const def of definitions) this.addKeyword(def)\n return this\n }\n\n addKeyword(\n kwdOrDef: string | KeywordDefinition,\n def?: KeywordDefinition // deprecated\n ): Ajv {\n let keyword: string | string[]\n if (typeof kwdOrDef == \"string\") {\n keyword = kwdOrDef\n if (typeof def == \"object\") {\n this.logger.warn(\"these parameters are deprecated, see docs for addKeyword\")\n def.keyword = keyword\n }\n } else if (typeof kwdOrDef == \"object\" && def === undefined) {\n def = kwdOrDef\n keyword = def.keyword\n if (Array.isArray(keyword) && !keyword.length) {\n throw new Error(\"addKeywords: keyword must be string or non-empty array\")\n }\n } else {\n throw new Error(\"invalid addKeywords parameters\")\n }\n\n checkKeyword.call(this, keyword, def)\n if (!def) {\n eachItem(keyword, (kwd) => addRule.call(this, kwd))\n return this\n }\n keywordMetaschema.call(this, def)\n const definition: AddedKeywordDefinition = {\n ...def,\n type: getJSONTypes(def.type),\n schemaType: getJSONTypes(def.schemaType),\n }\n eachItem(\n keyword,\n definition.type.length === 0\n ? (k) => addRule.call(this, k, definition)\n : (k) => definition.type.forEach((t) => addRule.call(this, k, definition, t))\n )\n return this\n }\n\n getKeyword(keyword: string): AddedKeywordDefinition | boolean {\n const rule = this.RULES.all[keyword]\n return typeof rule == \"object\" ? rule.definition : !!rule\n }\n\n // Remove keyword\n removeKeyword(keyword: string): Ajv {\n // TODO return type should be Ajv\n const {RULES} = this\n delete RULES.keywords[keyword]\n delete RULES.all[keyword]\n for (const group of RULES.rules) {\n const i = group.rules.findIndex((rule) => rule.keyword === keyword)\n if (i >= 0) group.rules.splice(i, 1)\n }\n return this\n }\n\n // Add format\n addFormat(name: string, format: Format): Ajv {\n if (typeof format == \"string\") format = new RegExp(format)\n this.formats[name] = format\n return this\n }\n\n errorsText(\n errors: ErrorObject[] | null | undefined = this.errors, // optional array of validation errors\n {separator = \", \", dataVar = \"data\"}: ErrorsTextOptions = {} // optional options with properties `separator` and `dataVar`\n ): string {\n if (!errors || errors.length === 0) return \"No errors\"\n return errors\n .map((e) => `${dataVar}${e.instancePath} ${e.message}`)\n .reduce((text, msg) => text + separator + msg)\n }\n\n $dataMetaSchema(metaSchema: AnySchemaObject, keywordsJsonPointers: string[]): AnySchemaObject {\n const rules = this.RULES.all\n metaSchema = JSON.parse(JSON.stringify(metaSchema))\n for (const jsonPointer of keywordsJsonPointers) {\n const segments = jsonPointer.split(\"/\").slice(1) // first segment is an empty string\n let keywords = metaSchema\n for (const seg of segments) keywords = keywords[seg] as AnySchemaObject\n\n for (const key in rules) {\n const rule = rules[key]\n if (typeof rule != \"object\") continue\n const {$data} = rule.definition\n const schema = keywords[key] as AnySchemaObject | undefined\n if ($data && schema) keywords[key] = schemaOrData(schema)\n }\n }\n\n return metaSchema\n }\n\n private _removeAllSchemas(schemas: {[Ref in string]?: SchemaEnv | string}, regex?: RegExp): void {\n for (const keyRef in schemas) {\n const sch = schemas[keyRef]\n if (!regex || regex.test(keyRef)) {\n if (typeof sch == \"string\") {\n delete schemas[keyRef]\n } else if (sch && !sch.meta) {\n this._cache.delete(sch.schema)\n delete schemas[keyRef]\n }\n }\n }\n }\n\n _addSchema(\n schema: AnySchema,\n meta?: boolean,\n baseId?: string,\n validateSchema = this.opts.validateSchema,\n addSchema = this.opts.addUsedSchema\n ): SchemaEnv {\n let id: string | undefined\n const {schemaId} = this.opts\n if (typeof schema == \"object\") {\n id = schema[schemaId]\n } else {\n if (this.opts.jtd) throw new Error(\"schema must be object\")\n else if (typeof schema != \"boolean\") throw new Error(\"schema must be object or boolean\")\n }\n let sch = this._cache.get(schema)\n if (sch !== undefined) return sch\n\n baseId = normalizeId(id || baseId)\n const localRefs = getSchemaRefs.call(this, schema, baseId)\n sch = new SchemaEnv({schema, schemaId, meta, baseId, localRefs})\n this._cache.set(sch.schema, sch)\n if (addSchema && !baseId.startsWith(\"#\")) {\n // TODO atm it is allowed to overwrite schemas without id (instead of not adding them)\n if (baseId) this._checkUnique(baseId)\n this.refs[baseId] = sch\n }\n if (validateSchema) this.validateSchema(schema, true)\n return sch\n }\n\n private _checkUnique(id: string): void {\n if (this.schemas[id] || this.refs[id]) {\n throw new Error(`schema with key or id \"${id}\" already exists`)\n }\n }\n\n private _compileSchemaEnv(sch: SchemaEnv): AnyValidateFunction {\n if (sch.meta) this._compileMetaSchema(sch)\n else compileSchema.call(this, sch)\n\n /* istanbul ignore if */\n if (!sch.validate) throw new Error(\"ajv implementation error\")\n return sch.validate\n }\n\n private _compileMetaSchema(sch: SchemaEnv): void {\n const currentOpts = this.opts\n this.opts = this._metaOpts\n try {\n compileSchema.call(this, sch)\n } finally {\n this.opts = currentOpts\n }\n }\n}\n\nexport interface ErrorsTextOptions {\n separator?: string\n dataVar?: string\n}\n\nfunction checkOptions(\n this: Ajv,\n checkOpts: OptionsInfo,\n options: Options & RemovedOptions,\n msg: string,\n log: \"warn\" | \"error\" = \"error\"\n): void {\n for (const key in checkOpts) {\n const opt = key as keyof typeof checkOpts\n if (opt in options) this.logger[log](`${msg}: option ${key}. ${checkOpts[opt]}`)\n }\n}\n\nfunction getSchEnv(this: Ajv, keyRef: string): SchemaEnv | string | undefined {\n keyRef = normalizeId(keyRef) // TODO tests fail without this line\n return this.schemas[keyRef] || this.refs[keyRef]\n}\n\nfunction addInitialSchemas(this: Ajv): void {\n const optsSchemas = this.opts.schemas\n if (!optsSchemas) return\n if (Array.isArray(optsSchemas)) this.addSchema(optsSchemas)\n else for (const key in optsSchemas) this.addSchema(optsSchemas[key] as AnySchema, key)\n}\n\nfunction addInitialFormats(this: Ajv): void {\n for (const name in this.opts.formats) {\n const format = this.opts.formats[name]\n if (format) this.addFormat(name, format)\n }\n}\n\nfunction addInitialKeywords(\n this: Ajv,\n defs: Vocabulary | {[K in string]?: KeywordDefinition}\n): void {\n if (Array.isArray(defs)) {\n this.addVocabulary(defs)\n return\n }\n this.logger.warn(\"keywords option as map is deprecated, pass array\")\n for (const keyword in defs) {\n const def = defs[keyword] as KeywordDefinition\n if (!def.keyword) def.keyword = keyword\n this.addKeyword(def)\n }\n}\n\nfunction getMetaSchemaOptions(this: Ajv): InstanceOptions {\n const metaOpts = {...this.opts}\n for (const opt of META_IGNORE_OPTIONS) delete metaOpts[opt]\n return metaOpts\n}\n\nconst noLogs = {log() {}, warn() {}, error() {}}\n\nfunction getLogger(logger?: Partial | false): Logger {\n if (logger === false) return noLogs\n if (logger === undefined) return console\n if (logger.log && logger.warn && logger.error) return logger as Logger\n throw new Error(\"logger must implement log, warn and error methods\")\n}\n\nconst KEYWORD_NAME = /^[a-z_$][a-z0-9_$:-]*$/i\n\nfunction checkKeyword(this: Ajv, keyword: string | string[], def?: KeywordDefinition): void {\n const {RULES} = this\n eachItem(keyword, (kwd) => {\n if (RULES.keywords[kwd]) throw new Error(`Keyword ${kwd} is already defined`)\n if (!KEYWORD_NAME.test(kwd)) throw new Error(`Keyword ${kwd} has invalid name`)\n })\n if (!def) return\n if (def.$data && !(\"code\" in def || \"validate\" in def)) {\n throw new Error('$data keyword must have \"code\" or \"validate\" function')\n }\n}\n\nfunction addRule(\n this: Ajv,\n keyword: string,\n definition?: AddedKeywordDefinition,\n dataType?: JSONType\n): void {\n const post = definition?.post\n if (dataType && post) throw new Error('keyword with \"post\" flag cannot have \"type\"')\n const {RULES} = this\n let ruleGroup = post ? RULES.post : RULES.rules.find(({type: t}) => t === dataType)\n if (!ruleGroup) {\n ruleGroup = {type: dataType, rules: []}\n RULES.rules.push(ruleGroup)\n }\n RULES.keywords[keyword] = true\n if (!definition) return\n\n const rule: Rule = {\n keyword,\n definition: {\n ...definition,\n type: getJSONTypes(definition.type),\n schemaType: getJSONTypes(definition.schemaType),\n },\n }\n if (definition.before) addBeforeRule.call(this, ruleGroup, rule, definition.before)\n else ruleGroup.rules.push(rule)\n RULES.all[keyword] = rule\n definition.implements?.forEach((kwd) => this.addKeyword(kwd))\n}\n\nfunction addBeforeRule(this: Ajv, ruleGroup: RuleGroup, rule: Rule, before: string): void {\n const i = ruleGroup.rules.findIndex((_rule) => _rule.keyword === before)\n if (i >= 0) {\n ruleGroup.rules.splice(i, 0, rule)\n } else {\n ruleGroup.rules.push(rule)\n this.logger.warn(`rule ${before} is not defined`)\n }\n}\n\nfunction keywordMetaschema(this: Ajv, def: KeywordDefinition): void {\n let {metaSchema} = def\n if (metaSchema === undefined) return\n if (def.$data && this.opts.$data) metaSchema = schemaOrData(metaSchema)\n def.validateSchema = this.compile(metaSchema, true)\n}\n\nconst $dataRef = {\n $ref: \"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#\",\n}\n\nfunction schemaOrData(schema: AnySchema): AnySchemaObject {\n return {anyOf: [schema, $dataRef]}\n}\n","// https://github.com/ajv-validator/ajv/issues/889\nimport * as equal from \"fast-deep-equal\"\n\ntype Equal = typeof equal & {code: string}\n;(equal as Equal).code = 'require(\"ajv/dist/runtime/equal\").default'\n\nexport default equal as Equal\n","// https://mathiasbynens.be/notes/javascript-encoding\n// https://github.com/bestiejs/punycode.js - punycode.ucs2.decode\nexport default function ucs2length(str: string): number {\n const len = str.length\n let length = 0\n let pos = 0\n let value: number\n while (pos < len) {\n length++\n value = str.charCodeAt(pos++)\n if (value >= 0xd800 && value <= 0xdbff && pos < len) {\n // high surrogate, and there is a next character\n value = str.charCodeAt(pos)\n if ((value & 0xfc00) === 0xdc00) pos++ // low surrogate\n }\n }\n return length\n}\n\nucs2length.code = 'require(\"ajv/dist/runtime/ucs2length\").default'\n","import * as uri from \"uri-js\"\n\ntype URI = typeof uri & {code: string}\n;(uri as URI).code = 'require(\"ajv/dist/runtime/uri\").default'\n\nexport default uri as URI\n","import type {ErrorObject} from \"../types\"\n\nexport default class ValidationError extends Error {\n readonly errors: Partial[]\n readonly ajv: true\n readonly validation: true\n\n constructor(errors: Partial[]) {\n super(\"validation failed\")\n this.errors = errors\n this.ajv = this.validation = true\n }\n}\n","import type {\n CodeKeywordDefinition,\n ErrorObject,\n KeywordErrorDefinition,\n AnySchema,\n} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str, not, Name} from \"../../compile/codegen\"\nimport {alwaysValidSchema, checkStrictMode, Type} from \"../../compile/util\"\n\nexport type AdditionalItemsError = ErrorObject<\"additionalItems\", {limit: number}, AnySchema>\n\nconst error: KeywordErrorDefinition = {\n message: ({params: {len}}) => str`must NOT have more than ${len} items`,\n params: ({params: {len}}) => _`{limit: ${len}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"additionalItems\" as const,\n type: \"array\",\n schemaType: [\"boolean\", \"object\"],\n before: \"uniqueItems\",\n error,\n code(cxt: KeywordCxt) {\n const {parentSchema, it} = cxt\n const {items} = parentSchema\n if (!Array.isArray(items)) {\n checkStrictMode(it, '\"additionalItems\" is ignored when \"items\" is not an array of schemas')\n return\n }\n validateAdditionalItems(cxt, items)\n },\n}\n\nexport function validateAdditionalItems(cxt: KeywordCxt, items: AnySchema[]): void {\n const {gen, schema, data, keyword, it} = cxt\n it.items = true\n const len = gen.const(\"len\", _`${data}.length`)\n if (schema === false) {\n cxt.setParams({len: items.length})\n cxt.pass(_`${len} <= ${items.length}`)\n } else if (typeof schema == \"object\" && !alwaysValidSchema(it, schema)) {\n const valid = gen.var(\"valid\", _`${len} <= ${items.length}`) // TODO var\n gen.if(not(valid), () => validateItems(valid))\n cxt.ok(valid)\n }\n\n function validateItems(valid: Name): void {\n gen.forRange(\"i\", items.length, len, (i) => {\n cxt.subschema({keyword, dataProp: i, dataPropType: Type.Num}, valid)\n if (!it.allErrors) gen.if(not(valid), () => gen.break())\n })\n }\n}\n\nexport default def\n","import type {\n CodeKeywordDefinition,\n AddedKeywordDefinition,\n ErrorObject,\n KeywordErrorDefinition,\n AnySchema,\n} from \"../../types\"\nimport {allSchemaProperties, usePattern, isOwnProperty} from \"../code\"\nimport {_, nil, or, not, Code, Name} from \"../../compile/codegen\"\nimport N from \"../../compile/names\"\nimport type {SubschemaArgs} from \"../../compile/validate/subschema\"\nimport {alwaysValidSchema, schemaRefOrVal, Type} from \"../../compile/util\"\n\nexport type AdditionalPropertiesError = ErrorObject<\n \"additionalProperties\",\n {additionalProperty: string},\n AnySchema\n>\n\nconst error: KeywordErrorDefinition = {\n message: \"must NOT have additional properties\",\n params: ({params}) => _`{additionalProperty: ${params.additionalProperty}}`,\n}\n\nconst def: CodeKeywordDefinition & AddedKeywordDefinition = {\n keyword: \"additionalProperties\",\n type: [\"object\"],\n schemaType: [\"boolean\", \"object\"],\n allowUndefined: true,\n trackErrors: true,\n error,\n code(cxt) {\n const {gen, schema, parentSchema, data, errsCount, it} = cxt\n /* istanbul ignore if */\n if (!errsCount) throw new Error(\"ajv implementation error\")\n const {allErrors, opts} = it\n it.props = true\n if (opts.removeAdditional !== \"all\" && alwaysValidSchema(it, schema)) return\n const props = allSchemaProperties(parentSchema.properties)\n const patProps = allSchemaProperties(parentSchema.patternProperties)\n checkAdditionalProperties()\n cxt.ok(_`${errsCount} === ${N.errors}`)\n\n function checkAdditionalProperties(): void {\n gen.forIn(\"key\", data, (key: Name) => {\n if (!props.length && !patProps.length) additionalPropertyCode(key)\n else gen.if(isAdditional(key), () => additionalPropertyCode(key))\n })\n }\n\n function isAdditional(key: Name): Code {\n let definedProp: Code\n if (props.length > 8) {\n // TODO maybe an option instead of hard-coded 8?\n const propsSchema = schemaRefOrVal(it, parentSchema.properties, \"properties\")\n definedProp = isOwnProperty(gen, propsSchema as Code, key)\n } else if (props.length) {\n definedProp = or(...props.map((p) => _`${key} === ${p}`))\n } else {\n definedProp = nil\n }\n if (patProps.length) {\n definedProp = or(definedProp, ...patProps.map((p) => _`${usePattern(cxt, p)}.test(${key})`))\n }\n return not(definedProp)\n }\n\n function deleteAdditional(key: Name): void {\n gen.code(_`delete ${data}[${key}]`)\n }\n\n function additionalPropertyCode(key: Name): void {\n if (opts.removeAdditional === \"all\" || (opts.removeAdditional && schema === false)) {\n deleteAdditional(key)\n return\n }\n\n if (schema === false) {\n cxt.setParams({additionalProperty: key})\n cxt.error()\n if (!allErrors) gen.break()\n return\n }\n\n if (typeof schema == \"object\" && !alwaysValidSchema(it, schema)) {\n const valid = gen.name(\"valid\")\n if (opts.removeAdditional === \"failing\") {\n applyAdditionalSchema(key, valid, false)\n gen.if(not(valid), () => {\n cxt.reset()\n deleteAdditional(key)\n })\n } else {\n applyAdditionalSchema(key, valid)\n if (!allErrors) gen.if(not(valid), () => gen.break())\n }\n }\n }\n\n function applyAdditionalSchema(key: Name, valid: Name, errors?: false): void {\n const subschema: SubschemaArgs = {\n keyword: \"additionalProperties\",\n dataProp: key,\n dataPropType: Type.Str,\n }\n if (errors === false) {\n Object.assign(subschema, {\n compositeRule: true,\n createErrors: false,\n allErrors: false,\n })\n }\n cxt.subschema(subschema, valid)\n }\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, AnySchema} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {alwaysValidSchema} from \"../../compile/util\"\n\nconst def: CodeKeywordDefinition = {\n keyword: \"allOf\",\n schemaType: \"array\",\n code(cxt: KeywordCxt) {\n const {gen, schema, it} = cxt\n /* istanbul ignore if */\n if (!Array.isArray(schema)) throw new Error(\"ajv implementation error\")\n const valid = gen.name(\"valid\")\n schema.forEach((sch: AnySchema, i: number) => {\n if (alwaysValidSchema(it, sch)) return\n const schCxt = cxt.subschema({keyword: \"allOf\", schemaProp: i}, valid)\n cxt.ok(valid)\n cxt.mergeEvaluated(schCxt)\n })\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, ErrorNoParams, AnySchema} from \"../../types\"\nimport {validateUnion} from \"../code\"\n\nexport type AnyOfError = ErrorNoParams<\"anyOf\", AnySchema[]>\n\nconst def: CodeKeywordDefinition = {\n keyword: \"anyOf\",\n schemaType: \"array\",\n trackErrors: true,\n code: validateUnion,\n error: {message: \"must match a schema in anyOf\"},\n}\n\nexport default def\n","import type {\n CodeKeywordDefinition,\n KeywordErrorDefinition,\n ErrorObject,\n AnySchema,\n} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str, Name} from \"../../compile/codegen\"\nimport {alwaysValidSchema, checkStrictMode, Type} from \"../../compile/util\"\n\nexport type ContainsError = ErrorObject<\n \"contains\",\n {minContains: number; maxContains?: number},\n AnySchema\n>\n\nconst error: KeywordErrorDefinition = {\n message: ({params: {min, max}}) =>\n max === undefined\n ? str`must contain at least ${min} valid item(s)`\n : str`must contain at least ${min} and no more than ${max} valid item(s)`,\n params: ({params: {min, max}}) =>\n max === undefined ? _`{minContains: ${min}}` : _`{minContains: ${min}, maxContains: ${max}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"contains\",\n type: \"array\",\n schemaType: [\"object\", \"boolean\"],\n before: \"uniqueItems\",\n trackErrors: true,\n error,\n code(cxt: KeywordCxt) {\n const {gen, schema, parentSchema, data, it} = cxt\n let min: number\n let max: number | undefined\n const {minContains, maxContains} = parentSchema\n if (it.opts.next) {\n min = minContains === undefined ? 1 : minContains\n max = maxContains\n } else {\n min = 1\n }\n const len = gen.const(\"len\", _`${data}.length`)\n cxt.setParams({min, max})\n if (max === undefined && min === 0) {\n checkStrictMode(it, `\"minContains\" == 0 without \"maxContains\": \"contains\" keyword ignored`)\n return\n }\n if (max !== undefined && min > max) {\n checkStrictMode(it, `\"minContains\" > \"maxContains\" is always invalid`)\n cxt.fail()\n return\n }\n if (alwaysValidSchema(it, schema)) {\n let cond = _`${len} >= ${min}`\n if (max !== undefined) cond = _`${cond} && ${len} <= ${max}`\n cxt.pass(cond)\n return\n }\n\n it.items = true\n const valid = gen.name(\"valid\")\n if (max === undefined && min === 1) {\n validateItems(valid, () => gen.if(valid, () => gen.break()))\n } else if (min === 0) {\n gen.let(valid, true)\n if (max !== undefined) gen.if(_`${data}.length > 0`, validateItemsWithCount)\n } else {\n gen.let(valid, false)\n validateItemsWithCount()\n }\n cxt.result(valid, () => cxt.reset())\n\n function validateItemsWithCount(): void {\n const schValid = gen.name(\"_valid\")\n const count = gen.let(\"count\", 0)\n validateItems(schValid, () => gen.if(schValid, () => checkLimits(count)))\n }\n\n function validateItems(_valid: Name, block: () => void): void {\n gen.forRange(\"i\", 0, len, (i) => {\n cxt.subschema(\n {\n keyword: \"contains\",\n dataProp: i,\n dataPropType: Type.Num,\n compositeRule: true,\n },\n _valid\n )\n block()\n })\n }\n\n function checkLimits(count: Name): void {\n gen.code(_`${count}++`)\n if (max === undefined) {\n gen.if(_`${count} >= ${min}`, () => gen.assign(valid, true).break())\n } else {\n gen.if(_`${count} > ${max}`, () => gen.assign(valid, false).break())\n if (min === 1) gen.assign(valid, true)\n else gen.if(_`${count} >= ${min}`, () => gen.assign(valid, true))\n }\n }\n },\n}\n\nexport default def\n","import type {\n CodeKeywordDefinition,\n ErrorObject,\n KeywordErrorDefinition,\n SchemaMap,\n AnySchema,\n} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str} from \"../../compile/codegen\"\nimport {alwaysValidSchema} from \"../../compile/util\"\nimport {checkReportMissingProp, checkMissingProp, reportMissingProp, propertyInData} from \"../code\"\n\nexport type PropertyDependencies = {[K in string]?: string[]}\n\nexport interface DependenciesErrorParams {\n property: string\n missingProperty: string\n depsCount: number\n deps: string // TODO change to string[]\n}\n\ntype SchemaDependencies = SchemaMap\n\nexport type DependenciesError = ErrorObject<\n \"dependencies\",\n DependenciesErrorParams,\n {[K in string]?: string[] | AnySchema}\n>\n\nexport const error: KeywordErrorDefinition = {\n message: ({params: {property, depsCount, deps}}) => {\n const property_ies = depsCount === 1 ? \"property\" : \"properties\"\n return str`must have ${property_ies} ${deps} when property ${property} is present`\n },\n params: ({params: {property, depsCount, deps, missingProperty}}) =>\n _`{property: ${property},\n missingProperty: ${missingProperty},\n depsCount: ${depsCount},\n deps: ${deps}}`, // TODO change to reference\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"dependencies\",\n type: \"object\",\n schemaType: \"object\",\n error,\n code(cxt: KeywordCxt) {\n const [propDeps, schDeps] = splitDependencies(cxt)\n validatePropertyDeps(cxt, propDeps)\n validateSchemaDeps(cxt, schDeps)\n },\n}\n\nfunction splitDependencies({schema}: KeywordCxt): [PropertyDependencies, SchemaDependencies] {\n const propertyDeps: PropertyDependencies = {}\n const schemaDeps: SchemaDependencies = {}\n for (const key in schema) {\n if (key === \"__proto__\") continue\n const deps = Array.isArray(schema[key]) ? propertyDeps : schemaDeps\n deps[key] = schema[key]\n }\n return [propertyDeps, schemaDeps]\n}\n\nexport function validatePropertyDeps(\n cxt: KeywordCxt,\n propertyDeps: {[K in string]?: string[]} = cxt.schema\n): void {\n const {gen, data, it} = cxt\n if (Object.keys(propertyDeps).length === 0) return\n const missing = gen.let(\"missing\")\n for (const prop in propertyDeps) {\n const deps = propertyDeps[prop] as string[]\n if (deps.length === 0) continue\n const hasProperty = propertyInData(gen, data, prop, it.opts.ownProperties)\n cxt.setParams({\n property: prop,\n depsCount: deps.length,\n deps: deps.join(\", \"),\n })\n if (it.allErrors) {\n gen.if(hasProperty, () => {\n for (const depProp of deps) {\n checkReportMissingProp(cxt, depProp)\n }\n })\n } else {\n gen.if(_`${hasProperty} && (${checkMissingProp(cxt, deps, missing)})`)\n reportMissingProp(cxt, missing)\n gen.else()\n }\n }\n}\n\nexport function validateSchemaDeps(cxt: KeywordCxt, schemaDeps: SchemaMap = cxt.schema): void {\n const {gen, data, keyword, it} = cxt\n const valid = gen.name(\"valid\")\n for (const prop in schemaDeps) {\n if (alwaysValidSchema(it, schemaDeps[prop] as AnySchema)) continue\n gen.if(\n propertyInData(gen, data, prop, it.opts.ownProperties),\n () => {\n const schCxt = cxt.subschema({keyword, schemaProp: prop}, valid)\n cxt.mergeValidEvaluated(schCxt, valid)\n },\n () => gen.var(valid, true) // TODO var\n )\n cxt.ok(valid)\n }\n}\n\nexport default def\n","import type {\n CodeKeywordDefinition,\n ErrorObject,\n KeywordErrorDefinition,\n AnySchema,\n} from \"../../types\"\nimport type {SchemaObjCxt} from \"../../compile\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str, not, Name} from \"../../compile/codegen\"\nimport {alwaysValidSchema, checkStrictMode} from \"../../compile/util\"\n\nexport type IfKeywordError = ErrorObject<\"if\", {failingKeyword: string}, AnySchema>\n\nconst error: KeywordErrorDefinition = {\n message: ({params}) => str`must match \"${params.ifClause}\" schema`,\n params: ({params}) => _`{failingKeyword: ${params.ifClause}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"if\",\n schemaType: [\"object\", \"boolean\"],\n trackErrors: true,\n error,\n code(cxt: KeywordCxt) {\n const {gen, parentSchema, it} = cxt\n if (parentSchema.then === undefined && parentSchema.else === undefined) {\n checkStrictMode(it, '\"if\" without \"then\" and \"else\" is ignored')\n }\n const hasThen = hasSchema(it, \"then\")\n const hasElse = hasSchema(it, \"else\")\n if (!hasThen && !hasElse) return\n\n const valid = gen.let(\"valid\", true)\n const schValid = gen.name(\"_valid\")\n validateIf()\n cxt.reset()\n\n if (hasThen && hasElse) {\n const ifClause = gen.let(\"ifClause\")\n cxt.setParams({ifClause})\n gen.if(schValid, validateClause(\"then\", ifClause), validateClause(\"else\", ifClause))\n } else if (hasThen) {\n gen.if(schValid, validateClause(\"then\"))\n } else {\n gen.if(not(schValid), validateClause(\"else\"))\n }\n\n cxt.pass(valid, () => cxt.error(true))\n\n function validateIf(): void {\n const schCxt = cxt.subschema(\n {\n keyword: \"if\",\n compositeRule: true,\n createErrors: false,\n allErrors: false,\n },\n schValid\n )\n cxt.mergeEvaluated(schCxt)\n }\n\n function validateClause(keyword: string, ifClause?: Name): () => void {\n return () => {\n const schCxt = cxt.subschema({keyword}, schValid)\n gen.assign(valid, schValid)\n cxt.mergeValidEvaluated(schCxt, valid)\n if (ifClause) gen.assign(ifClause, _`${keyword}`)\n else cxt.setParams({ifClause: keyword})\n }\n }\n },\n}\n\nfunction hasSchema(it: SchemaObjCxt, keyword: string): boolean {\n const schema = it.schema[keyword]\n return schema !== undefined && !alwaysValidSchema(it, schema)\n}\n\nexport default def\n","import type {ErrorNoParams, Vocabulary} from \"../../types\"\nimport additionalItems, {AdditionalItemsError} from \"./additionalItems\"\nimport prefixItems from \"./prefixItems\"\nimport items from \"./items\"\nimport items2020, {ItemsError} from \"./items2020\"\nimport contains, {ContainsError} from \"./contains\"\nimport dependencies, {DependenciesError} from \"./dependencies\"\nimport propertyNames, {PropertyNamesError} from \"./propertyNames\"\nimport additionalProperties, {AdditionalPropertiesError} from \"./additionalProperties\"\nimport properties from \"./properties\"\nimport patternProperties from \"./patternProperties\"\nimport notKeyword, {NotKeywordError} from \"./not\"\nimport anyOf, {AnyOfError} from \"./anyOf\"\nimport oneOf, {OneOfError} from \"./oneOf\"\nimport allOf from \"./allOf\"\nimport ifKeyword, {IfKeywordError} from \"./if\"\nimport thenElse from \"./thenElse\"\n\nexport default function getApplicator(draft2020 = false): Vocabulary {\n const applicator = [\n // any\n notKeyword,\n anyOf,\n oneOf,\n allOf,\n ifKeyword,\n thenElse,\n // object\n propertyNames,\n additionalProperties,\n dependencies,\n properties,\n patternProperties,\n ]\n // array\n if (draft2020) applicator.push(prefixItems, items2020)\n else applicator.push(additionalItems, items)\n applicator.push(contains)\n return applicator\n}\n\nexport type ApplicatorKeywordError =\n | ErrorNoParams<\"false schema\">\n | AdditionalItemsError\n | ItemsError\n | ContainsError\n | AdditionalPropertiesError\n | DependenciesError\n | IfKeywordError\n | AnyOfError\n | OneOfError\n | NotKeywordError\n | PropertyNamesError\n","import type {CodeKeywordDefinition, AnySchema, AnySchemaObject} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_} from \"../../compile/codegen\"\nimport {alwaysValidSchema, mergeEvaluated, checkStrictMode} from \"../../compile/util\"\nimport {validateArray} from \"../code\"\n\nconst def: CodeKeywordDefinition = {\n keyword: \"items\",\n type: \"array\",\n schemaType: [\"object\", \"array\", \"boolean\"],\n before: \"uniqueItems\",\n code(cxt: KeywordCxt) {\n const {schema, it} = cxt\n if (Array.isArray(schema)) return validateTuple(cxt, \"additionalItems\", schema)\n it.items = true\n if (alwaysValidSchema(it, schema)) return\n cxt.ok(validateArray(cxt))\n },\n}\n\nexport function validateTuple(\n cxt: KeywordCxt,\n extraItems: string,\n schArr: AnySchema[] = cxt.schema\n): void {\n const {gen, parentSchema, data, keyword, it} = cxt\n checkStrictTuple(parentSchema)\n if (it.opts.unevaluated && schArr.length && it.items !== true) {\n it.items = mergeEvaluated.items(gen, schArr.length, it.items)\n }\n const valid = gen.name(\"valid\")\n const len = gen.const(\"len\", _`${data}.length`)\n schArr.forEach((sch: AnySchema, i: number) => {\n if (alwaysValidSchema(it, sch)) return\n gen.if(_`${len} > ${i}`, () =>\n cxt.subschema(\n {\n keyword,\n schemaProp: i,\n dataProp: i,\n },\n valid\n )\n )\n cxt.ok(valid)\n })\n\n function checkStrictTuple(sch: AnySchemaObject): void {\n const {opts, errSchemaPath} = it\n const l = schArr.length\n const fullTuple = l === sch.minItems && (l === sch.maxItems || sch[extraItems] === false)\n if (opts.strictTuples && !fullTuple) {\n const msg = `\"${keyword}\" is ${l}-tuple, but minItems or maxItems/${extraItems} are not specified or different at path \"${errSchemaPath}\"`\n checkStrictMode(it, msg, opts.strictTuples)\n }\n }\n}\n\nexport default def\n","import type {\n CodeKeywordDefinition,\n KeywordErrorDefinition,\n ErrorObject,\n AnySchema,\n} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str} from \"../../compile/codegen\"\nimport {alwaysValidSchema} from \"../../compile/util\"\nimport {validateArray} from \"../code\"\nimport {validateAdditionalItems} from \"./additionalItems\"\n\nexport type ItemsError = ErrorObject<\"items\", {limit: number}, AnySchema>\n\nconst error: KeywordErrorDefinition = {\n message: ({params: {len}}) => str`must NOT have more than ${len} items`,\n params: ({params: {len}}) => _`{limit: ${len}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"items\",\n type: \"array\",\n schemaType: [\"object\", \"boolean\"],\n before: \"uniqueItems\",\n error,\n code(cxt: KeywordCxt) {\n const {schema, parentSchema, it} = cxt\n const {prefixItems} = parentSchema\n it.items = true\n if (alwaysValidSchema(it, schema)) return\n if (prefixItems) validateAdditionalItems(cxt, prefixItems)\n else cxt.ok(validateArray(cxt))\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, ErrorNoParams, AnySchema} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {alwaysValidSchema} from \"../../compile/util\"\n\nexport type NotKeywordError = ErrorNoParams<\"not\", AnySchema>\n\nconst def: CodeKeywordDefinition = {\n keyword: \"not\",\n schemaType: [\"object\", \"boolean\"],\n trackErrors: true,\n code(cxt: KeywordCxt) {\n const {gen, schema, it} = cxt\n if (alwaysValidSchema(it, schema)) {\n cxt.fail()\n return\n }\n\n const valid = gen.name(\"valid\")\n cxt.subschema(\n {\n keyword: \"not\",\n compositeRule: true,\n createErrors: false,\n allErrors: false,\n },\n valid\n )\n\n cxt.failResult(\n valid,\n () => cxt.reset(),\n () => cxt.error()\n )\n },\n error: {message: \"must NOT be valid\"},\n}\n\nexport default def\n","import type {\n CodeKeywordDefinition,\n ErrorObject,\n KeywordErrorDefinition,\n AnySchema,\n} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, Name} from \"../../compile/codegen\"\nimport {alwaysValidSchema} from \"../../compile/util\"\nimport {SchemaCxt} from \"../../compile\"\n\nexport type OneOfError = ErrorObject<\n \"oneOf\",\n {passingSchemas: [number, number] | null},\n AnySchema[]\n>\n\nconst error: KeywordErrorDefinition = {\n message: \"must match exactly one schema in oneOf\",\n params: ({params}) => _`{passingSchemas: ${params.passing}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"oneOf\",\n schemaType: \"array\",\n trackErrors: true,\n error,\n code(cxt: KeywordCxt) {\n const {gen, schema, parentSchema, it} = cxt\n /* istanbul ignore if */\n if (!Array.isArray(schema)) throw new Error(\"ajv implementation error\")\n if (it.opts.discriminator && parentSchema.discriminator) return\n const schArr: AnySchema[] = schema\n const valid = gen.let(\"valid\", false)\n const passing = gen.let(\"passing\", null)\n const schValid = gen.name(\"_valid\")\n cxt.setParams({passing})\n // TODO possibly fail straight away (with warning or exception) if there are two empty always valid schemas\n\n gen.block(validateOneOf)\n\n cxt.result(\n valid,\n () => cxt.reset(),\n () => cxt.error(true)\n )\n\n function validateOneOf(): void {\n schArr.forEach((sch: AnySchema, i: number) => {\n let schCxt: SchemaCxt | undefined\n if (alwaysValidSchema(it, sch)) {\n gen.var(schValid, true)\n } else {\n schCxt = cxt.subschema(\n {\n keyword: \"oneOf\",\n schemaProp: i,\n compositeRule: true,\n },\n schValid\n )\n }\n\n if (i > 0) {\n gen\n .if(_`${schValid} && ${valid}`)\n .assign(valid, false)\n .assign(passing, _`[${passing}, ${i}]`)\n .else()\n }\n\n gen.if(schValid, () => {\n gen.assign(valid, true)\n gen.assign(passing, i)\n if (schCxt) cxt.mergeEvaluated(schCxt, Name)\n })\n })\n }\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {allSchemaProperties, usePattern} from \"../code\"\nimport {_, not, Name} from \"../../compile/codegen\"\nimport {alwaysValidSchema, checkStrictMode} from \"../../compile/util\"\nimport {evaluatedPropsToName, Type} from \"../../compile/util\"\nimport {AnySchema} from \"../../types\"\n\nconst def: CodeKeywordDefinition = {\n keyword: \"patternProperties\",\n type: \"object\",\n schemaType: \"object\",\n code(cxt: KeywordCxt) {\n const {gen, schema, data, parentSchema, it} = cxt\n const {opts} = it\n const patterns = allSchemaProperties(schema)\n const alwaysValidPatterns = patterns.filter((p) =>\n alwaysValidSchema(it, schema[p] as AnySchema)\n )\n\n if (\n patterns.length === 0 ||\n (alwaysValidPatterns.length === patterns.length &&\n (!it.opts.unevaluated || it.props === true))\n ) {\n return\n }\n\n const checkProperties =\n opts.strictSchema && !opts.allowMatchingProperties && parentSchema.properties\n const valid = gen.name(\"valid\")\n if (it.props !== true && !(it.props instanceof Name)) {\n it.props = evaluatedPropsToName(gen, it.props)\n }\n const {props} = it\n validatePatternProperties()\n\n function validatePatternProperties(): void {\n for (const pat of patterns) {\n if (checkProperties) checkMatchingProperties(pat)\n if (it.allErrors) {\n validateProperties(pat)\n } else {\n gen.var(valid, true) // TODO var\n validateProperties(pat)\n gen.if(valid)\n }\n }\n }\n\n function checkMatchingProperties(pat: string): void {\n for (const prop in checkProperties) {\n if (new RegExp(pat).test(prop)) {\n checkStrictMode(\n it,\n `property ${prop} matches pattern ${pat} (use allowMatchingProperties)`\n )\n }\n }\n }\n\n function validateProperties(pat: string): void {\n gen.forIn(\"key\", data, (key) => {\n gen.if(_`${usePattern(cxt, pat)}.test(${key})`, () => {\n const alwaysValid = alwaysValidPatterns.includes(pat)\n if (!alwaysValid) {\n cxt.subschema(\n {\n keyword: \"patternProperties\",\n schemaProp: pat,\n dataProp: key,\n dataPropType: Type.Str,\n },\n valid\n )\n }\n\n if (it.opts.unevaluated && props !== true) {\n gen.assign(_`${props}[${key}]`, true)\n } else if (!alwaysValid && !it.allErrors) {\n // can short-circuit if `unevaluatedProperties` is not supported (opts.next === false)\n // or if all properties were evaluated (props === true)\n gen.if(not(valid), () => gen.break())\n }\n })\n })\n }\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition} from \"../../types\"\nimport {validateTuple} from \"./items\"\n\nconst def: CodeKeywordDefinition = {\n keyword: \"prefixItems\",\n type: \"array\",\n schemaType: [\"array\"],\n before: \"uniqueItems\",\n code: (cxt) => validateTuple(cxt, \"items\"),\n}\n\nexport default def\n","import type {CodeKeywordDefinition} from \"../../types\"\nimport {KeywordCxt} from \"../../compile/validate\"\nimport {propertyInData, allSchemaProperties} from \"../code\"\nimport {alwaysValidSchema, toHash, mergeEvaluated} from \"../../compile/util\"\nimport apDef from \"./additionalProperties\"\n\nconst def: CodeKeywordDefinition = {\n keyword: \"properties\",\n type: \"object\",\n schemaType: \"object\",\n code(cxt: KeywordCxt) {\n const {gen, schema, parentSchema, data, it} = cxt\n if (it.opts.removeAdditional === \"all\" && parentSchema.additionalProperties === undefined) {\n apDef.code(new KeywordCxt(it, apDef, \"additionalProperties\"))\n }\n const allProps = allSchemaProperties(schema)\n for (const prop of allProps) {\n it.definedProperties.add(prop)\n }\n if (it.opts.unevaluated && allProps.length && it.props !== true) {\n it.props = mergeEvaluated.props(gen, toHash(allProps), it.props)\n }\n const properties = allProps.filter((p) => !alwaysValidSchema(it, schema[p]))\n if (properties.length === 0) return\n const valid = gen.name(\"valid\")\n\n for (const prop of properties) {\n if (hasDefault(prop)) {\n applyPropertySchema(prop)\n } else {\n gen.if(propertyInData(gen, data, prop, it.opts.ownProperties))\n applyPropertySchema(prop)\n if (!it.allErrors) gen.else().var(valid, true)\n gen.endIf()\n }\n cxt.it.definedProperties.add(prop)\n cxt.ok(valid)\n }\n\n function hasDefault(prop: string): boolean | undefined {\n return it.opts.useDefaults && !it.compositeRule && schema[prop].default !== undefined\n }\n\n function applyPropertySchema(prop: string): void {\n cxt.subschema(\n {\n keyword: \"properties\",\n schemaProp: prop,\n dataProp: prop,\n },\n valid\n )\n }\n },\n}\n\nexport default def\n","import type {\n CodeKeywordDefinition,\n ErrorObject,\n KeywordErrorDefinition,\n AnySchema,\n} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, not} from \"../../compile/codegen\"\nimport {alwaysValidSchema} from \"../../compile/util\"\n\nexport type PropertyNamesError = ErrorObject<\"propertyNames\", {propertyName: string}, AnySchema>\n\nconst error: KeywordErrorDefinition = {\n message: \"property name must be valid\",\n params: ({params}) => _`{propertyName: ${params.propertyName}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"propertyNames\",\n type: \"object\",\n schemaType: [\"object\", \"boolean\"],\n error,\n code(cxt: KeywordCxt) {\n const {gen, schema, data, it} = cxt\n if (alwaysValidSchema(it, schema)) return\n const valid = gen.name(\"valid\")\n\n gen.forIn(\"key\", data, (key) => {\n cxt.setParams({propertyName: key})\n cxt.subschema(\n {\n keyword: \"propertyNames\",\n data: key,\n dataTypes: [\"string\"],\n propertyName: key,\n compositeRule: true,\n },\n valid\n )\n gen.if(not(valid), () => {\n cxt.error(true)\n if (!it.allErrors) gen.break()\n })\n })\n\n cxt.ok(valid)\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {checkStrictMode} from \"../../compile/util\"\n\nconst def: CodeKeywordDefinition = {\n keyword: [\"then\", \"else\"],\n schemaType: [\"object\", \"boolean\"],\n code({keyword, parentSchema, it}: KeywordCxt) {\n if (parentSchema.if === undefined) checkStrictMode(it, `\"${keyword}\" without \"if\" is ignored`)\n },\n}\n\nexport default def\n","import type {AnySchema, SchemaMap} from \"../types\"\nimport type {SchemaCxt} from \"../compile\"\nimport type {KeywordCxt} from \"../compile/validate\"\nimport {CodeGen, _, and, or, not, nil, strConcat, getProperty, Code, Name} from \"../compile/codegen\"\nimport {alwaysValidSchema, Type} from \"../compile/util\"\nimport N from \"../compile/names\"\nimport {useFunc} from \"../compile/util\"\nexport function checkReportMissingProp(cxt: KeywordCxt, prop: string): void {\n const {gen, data, it} = cxt\n gen.if(noPropertyInData(gen, data, prop, it.opts.ownProperties), () => {\n cxt.setParams({missingProperty: _`${prop}`}, true)\n cxt.error()\n })\n}\n\nexport function checkMissingProp(\n {gen, data, it: {opts}}: KeywordCxt,\n properties: string[],\n missing: Name\n): Code {\n return or(\n ...properties.map((prop) =>\n and(noPropertyInData(gen, data, prop, opts.ownProperties), _`${missing} = ${prop}`)\n )\n )\n}\n\nexport function reportMissingProp(cxt: KeywordCxt, missing: Name): void {\n cxt.setParams({missingProperty: missing}, true)\n cxt.error()\n}\n\nexport function hasPropFunc(gen: CodeGen): Name {\n return gen.scopeValue(\"func\", {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n ref: Object.prototype.hasOwnProperty,\n code: _`Object.prototype.hasOwnProperty`,\n })\n}\n\nexport function isOwnProperty(gen: CodeGen, data: Name, property: Name | string): Code {\n return _`${hasPropFunc(gen)}.call(${data}, ${property})`\n}\n\nexport function propertyInData(\n gen: CodeGen,\n data: Name,\n property: Name | string,\n ownProperties?: boolean\n): Code {\n const cond = _`${data}${getProperty(property)} !== undefined`\n return ownProperties ? _`${cond} && ${isOwnProperty(gen, data, property)}` : cond\n}\n\nexport function noPropertyInData(\n gen: CodeGen,\n data: Name,\n property: Name | string,\n ownProperties?: boolean\n): Code {\n const cond = _`${data}${getProperty(property)} === undefined`\n return ownProperties ? or(cond, not(isOwnProperty(gen, data, property))) : cond\n}\n\nexport function allSchemaProperties(schemaMap?: SchemaMap): string[] {\n return schemaMap ? Object.keys(schemaMap).filter((p) => p !== \"__proto__\") : []\n}\n\nexport function schemaProperties(it: SchemaCxt, schemaMap: SchemaMap): string[] {\n return allSchemaProperties(schemaMap).filter(\n (p) => !alwaysValidSchema(it, schemaMap[p] as AnySchema)\n )\n}\n\nexport function callValidateCode(\n {schemaCode, data, it: {gen, topSchemaRef, schemaPath, errorPath}, it}: KeywordCxt,\n func: Code,\n context: Code,\n passSchema?: boolean\n): Code {\n const dataAndSchema = passSchema ? _`${schemaCode}, ${data}, ${topSchemaRef}${schemaPath}` : data\n const valCxt: [Name, Code | number][] = [\n [N.instancePath, strConcat(N.instancePath, errorPath)],\n [N.parentData, it.parentData],\n [N.parentDataProperty, it.parentDataProperty],\n [N.rootData, N.rootData],\n ]\n if (it.opts.dynamicRef) valCxt.push([N.dynamicAnchors, N.dynamicAnchors])\n const args = _`${dataAndSchema}, ${gen.object(...valCxt)}`\n return context !== nil ? _`${func}.call(${context}, ${args})` : _`${func}(${args})`\n}\n\nconst newRegExp = _`new RegExp`\n\nexport function usePattern({gen, it: {opts}}: KeywordCxt, pattern: string): Name {\n const u = opts.unicodeRegExp ? \"u\" : \"\"\n const {regExp} = opts.code\n const rx = regExp(pattern, u)\n\n return gen.scopeValue(\"pattern\", {\n key: rx.toString(),\n ref: rx,\n code: _`${regExp.code === \"new RegExp\" ? newRegExp : useFunc(gen, regExp)}(${pattern}, ${u})`,\n })\n}\n\nexport function validateArray(cxt: KeywordCxt): Name {\n const {gen, data, keyword, it} = cxt\n const valid = gen.name(\"valid\")\n if (it.allErrors) {\n const validArr = gen.let(\"valid\", true)\n validateItems(() => gen.assign(validArr, false))\n return validArr\n }\n gen.var(valid, true)\n validateItems(() => gen.break())\n return valid\n\n function validateItems(notValid: () => void): void {\n const len = gen.const(\"len\", _`${data}.length`)\n gen.forRange(\"i\", 0, len, (i) => {\n cxt.subschema(\n {\n keyword,\n dataProp: i,\n dataPropType: Type.Num,\n },\n valid\n )\n gen.if(not(valid), notValid)\n })\n }\n}\n\nexport function validateUnion(cxt: KeywordCxt): void {\n const {gen, schema, keyword, it} = cxt\n /* istanbul ignore if */\n if (!Array.isArray(schema)) throw new Error(\"ajv implementation error\")\n const alwaysValid = schema.some((sch: AnySchema) => alwaysValidSchema(it, sch))\n if (alwaysValid && !it.opts.unevaluated) return\n\n const valid = gen.let(\"valid\", false)\n const schValid = gen.name(\"_valid\")\n\n gen.block(() =>\n schema.forEach((_sch: AnySchema, i: number) => {\n const schCxt = cxt.subschema(\n {\n keyword,\n schemaProp: i,\n compositeRule: true,\n },\n schValid\n )\n gen.assign(valid, _`${valid} || ${schValid}`)\n const merged = cxt.mergeValidEvaluated(schCxt, schValid)\n // can short-circuit if `unevaluatedProperties/Items` not supported (opts.unevaluated !== true)\n // or if all properties and items were evaluated (it.props === true && it.items === true)\n if (!merged) gen.if(not(valid))\n })\n )\n\n cxt.result(\n valid,\n () => cxt.reset(),\n () => cxt.error(true)\n )\n}\n","import type {CodeKeywordDefinition} from \"../../types\"\n\nconst def: CodeKeywordDefinition = {\n keyword: \"id\",\n code() {\n throw new Error('NOT SUPPORTED: keyword \"id\", use \"$id\" for schema ID')\n },\n}\n\nexport default def\n","import type {Vocabulary} from \"../../types\"\nimport idKeyword from \"./id\"\nimport refKeyword from \"./ref\"\n\nconst core: Vocabulary = [\n \"$schema\",\n \"$id\",\n \"$defs\",\n \"$vocabulary\",\n {keyword: \"$comment\"},\n \"definitions\",\n idKeyword,\n refKeyword,\n]\n\nexport default core\n","import type {CodeKeywordDefinition, AnySchema} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport MissingRefError from \"../../compile/ref_error\"\nimport {callValidateCode} from \"../code\"\nimport {_, nil, stringify, Code, Name} from \"../../compile/codegen\"\nimport N from \"../../compile/names\"\nimport {SchemaEnv, resolveRef} from \"../../compile\"\nimport {mergeEvaluated} from \"../../compile/util\"\n\nconst def: CodeKeywordDefinition = {\n keyword: \"$ref\",\n schemaType: \"string\",\n code(cxt: KeywordCxt): void {\n const {gen, schema: $ref, it} = cxt\n const {baseId, schemaEnv: env, validateName, opts, self} = it\n const {root} = env\n if (($ref === \"#\" || $ref === \"#/\") && baseId === root.baseId) return callRootRef()\n const schOrEnv = resolveRef.call(self, root, baseId, $ref)\n if (schOrEnv === undefined) throw new MissingRefError(it.opts.uriResolver, baseId, $ref)\n if (schOrEnv instanceof SchemaEnv) return callValidate(schOrEnv)\n return inlineRefSchema(schOrEnv)\n\n function callRootRef(): void {\n if (env === root) return callRef(cxt, validateName, env, env.$async)\n const rootName = gen.scopeValue(\"root\", {ref: root})\n return callRef(cxt, _`${rootName}.validate`, root, root.$async)\n }\n\n function callValidate(sch: SchemaEnv): void {\n const v = getValidate(cxt, sch)\n callRef(cxt, v, sch, sch.$async)\n }\n\n function inlineRefSchema(sch: AnySchema): void {\n const schName = gen.scopeValue(\n \"schema\",\n opts.code.source === true ? {ref: sch, code: stringify(sch)} : {ref: sch}\n )\n const valid = gen.name(\"valid\")\n const schCxt = cxt.subschema(\n {\n schema: sch,\n dataTypes: [],\n schemaPath: nil,\n topSchemaRef: schName,\n errSchemaPath: $ref,\n },\n valid\n )\n cxt.mergeEvaluated(schCxt)\n cxt.ok(valid)\n }\n },\n}\n\nexport function getValidate(cxt: KeywordCxt, sch: SchemaEnv): Code {\n const {gen} = cxt\n return sch.validate\n ? gen.scopeValue(\"validate\", {ref: sch.validate})\n : _`${gen.scopeValue(\"wrapper\", {ref: sch})}.validate`\n}\n\nexport function callRef(cxt: KeywordCxt, v: Code, sch?: SchemaEnv, $async?: boolean): void {\n const {gen, it} = cxt\n const {allErrors, schemaEnv: env, opts} = it\n const passCxt = opts.passContext ? N.this : nil\n if ($async) callAsyncRef()\n else callSyncRef()\n\n function callAsyncRef(): void {\n if (!env.$async) throw new Error(\"async schema referenced by sync schema\")\n const valid = gen.let(\"valid\")\n gen.try(\n () => {\n gen.code(_`await ${callValidateCode(cxt, v, passCxt)}`)\n addEvaluatedFrom(v) // TODO will not work with async, it has to be returned with the result\n if (!allErrors) gen.assign(valid, true)\n },\n (e) => {\n gen.if(_`!(${e} instanceof ${it.ValidationError as Name})`, () => gen.throw(e))\n addErrorsFrom(e)\n if (!allErrors) gen.assign(valid, false)\n }\n )\n cxt.ok(valid)\n }\n\n function callSyncRef(): void {\n cxt.result(\n callValidateCode(cxt, v, passCxt),\n () => addEvaluatedFrom(v),\n () => addErrorsFrom(v)\n )\n }\n\n function addErrorsFrom(source: Code): void {\n const errs = _`${source}.errors`\n gen.assign(N.vErrors, _`${N.vErrors} === null ? ${errs} : ${N.vErrors}.concat(${errs})`) // TODO tagged\n gen.assign(N.errors, _`${N.vErrors}.length`)\n }\n\n function addEvaluatedFrom(source: Code): void {\n if (!it.opts.unevaluated) return\n const schEvaluated = sch?.validate?.evaluated\n // TODO refactor\n if (it.props !== true) {\n if (schEvaluated && !schEvaluated.dynamicProps) {\n if (schEvaluated.props !== undefined) {\n it.props = mergeEvaluated.props(gen, schEvaluated.props, it.props)\n }\n } else {\n const props = gen.var(\"props\", _`${source}.evaluated.props`)\n it.props = mergeEvaluated.props(gen, props, it.props, Name)\n }\n }\n if (it.items !== true) {\n if (schEvaluated && !schEvaluated.dynamicItems) {\n if (schEvaluated.items !== undefined) {\n it.items = mergeEvaluated.items(gen, schEvaluated.items, it.items)\n }\n } else {\n const items = gen.var(\"items\", _`${source}.evaluated.items`)\n it.items = mergeEvaluated.items(gen, items, it.items, Name)\n }\n }\n }\n}\n\nexport default def\n","import type {CodeKeywordDefinition, AnySchemaObject, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, getProperty, Name} from \"../../compile/codegen\"\nimport {DiscrError, DiscrErrorObj} from \"../discriminator/types\"\nimport {resolveRef, SchemaEnv} from \"../../compile\"\nimport {schemaHasRulesButRef} from \"../../compile/util\"\n\nexport type DiscriminatorError = DiscrErrorObj | DiscrErrorObj\n\nconst error: KeywordErrorDefinition = {\n message: ({params: {discrError, tagName}}) =>\n discrError === DiscrError.Tag\n ? `tag \"${tagName}\" must be string`\n : `value of tag \"${tagName}\" must be in oneOf`,\n params: ({params: {discrError, tag, tagName}}) =>\n _`{error: ${discrError}, tag: ${tagName}, tagValue: ${tag}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"discriminator\",\n type: \"object\",\n schemaType: \"object\",\n error,\n code(cxt: KeywordCxt) {\n const {gen, data, schema, parentSchema, it} = cxt\n const {oneOf} = parentSchema\n if (!it.opts.discriminator) {\n throw new Error(\"discriminator: requires discriminator option\")\n }\n const tagName = schema.propertyName\n if (typeof tagName != \"string\") throw new Error(\"discriminator: requires propertyName\")\n if (schema.mapping) throw new Error(\"discriminator: mapping is not supported\")\n if (!oneOf) throw new Error(\"discriminator: requires oneOf keyword\")\n const valid = gen.let(\"valid\", false)\n const tag = gen.const(\"tag\", _`${data}${getProperty(tagName)}`)\n gen.if(\n _`typeof ${tag} == \"string\"`,\n () => validateMapping(),\n () => cxt.error(false, {discrError: DiscrError.Tag, tag, tagName})\n )\n cxt.ok(valid)\n\n function validateMapping(): void {\n const mapping = getMapping()\n gen.if(false)\n for (const tagValue in mapping) {\n gen.elseIf(_`${tag} === ${tagValue}`)\n gen.assign(valid, applyTagSchema(mapping[tagValue]))\n }\n gen.else()\n cxt.error(false, {discrError: DiscrError.Mapping, tag, tagName})\n gen.endIf()\n }\n\n function applyTagSchema(schemaProp?: number): Name {\n const _valid = gen.name(\"valid\")\n const schCxt = cxt.subschema({keyword: \"oneOf\", schemaProp}, _valid)\n cxt.mergeEvaluated(schCxt, Name)\n return _valid\n }\n\n function getMapping(): {[T in string]?: number} {\n const oneOfMapping: {[T in string]?: number} = {}\n const topRequired = hasRequired(parentSchema)\n let tagRequired = true\n for (let i = 0; i < oneOf.length; i++) {\n let sch = oneOf[i]\n if (sch?.$ref && !schemaHasRulesButRef(sch, it.self.RULES)) {\n sch = resolveRef.call(it.self, it.schemaEnv.root, it.baseId, sch?.$ref)\n if (sch instanceof SchemaEnv) sch = sch.schema\n }\n const propSch = sch?.properties?.[tagName]\n if (typeof propSch != \"object\") {\n throw new Error(\n `discriminator: oneOf subschemas (or referenced schemas) must have \"properties/${tagName}\"`\n )\n }\n tagRequired = tagRequired && (topRequired || hasRequired(sch))\n addMappings(propSch, i)\n }\n if (!tagRequired) throw new Error(`discriminator: \"${tagName}\" must be required`)\n return oneOfMapping\n\n function hasRequired({required}: AnySchemaObject): boolean {\n return Array.isArray(required) && required.includes(tagName)\n }\n\n function addMappings(sch: AnySchemaObject, i: number): void {\n if (sch.const) {\n addMapping(sch.const, i)\n } else if (sch.enum) {\n for (const tagValue of sch.enum) {\n addMapping(tagValue, i)\n }\n } else {\n throw new Error(`discriminator: \"properties/${tagName}\" must have \"const\" or \"enum\"`)\n }\n }\n\n function addMapping(tagValue: unknown, i: number): void {\n if (typeof tagValue != \"string\" || tagValue in oneOfMapping) {\n throw new Error(`discriminator: \"${tagName}\" values must be unique strings`)\n }\n oneOfMapping[tagValue] = i\n }\n }\n },\n}\n\nexport default def\n","import type {ErrorObject} from \"../../types\"\n\nexport enum DiscrError {\n Tag = \"tag\",\n Mapping = \"mapping\",\n}\n\nexport type DiscrErrorObj = ErrorObject<\n \"discriminator\",\n {error: E; tag: string; tagValue: unknown},\n string\n>\n","import type {Vocabulary} from \"../types\"\nimport coreVocabulary from \"./core\"\nimport validationVocabulary from \"./validation\"\nimport getApplicatorVocabulary from \"./applicator\"\nimport formatVocabulary from \"./format\"\nimport {metadataVocabulary, contentVocabulary} from \"./metadata\"\n\nconst draft7Vocabularies: Vocabulary[] = [\n coreVocabulary,\n validationVocabulary,\n getApplicatorVocabulary(),\n formatVocabulary,\n metadataVocabulary,\n contentVocabulary,\n]\n\nexport default draft7Vocabularies\n","import type {\n AddedFormat,\n FormatValidator,\n AsyncFormatValidator,\n CodeKeywordDefinition,\n KeywordErrorDefinition,\n ErrorObject,\n} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str, nil, or, Code, getProperty, regexpCode} from \"../../compile/codegen\"\n\ntype FormatValidate =\n | FormatValidator\n | FormatValidator\n | AsyncFormatValidator\n | AsyncFormatValidator\n | RegExp\n | string\n | true\n\nexport type FormatError = ErrorObject<\"format\", {format: string}, string | {$data: string}>\n\nconst error: KeywordErrorDefinition = {\n message: ({schemaCode}) => str`must match format \"${schemaCode}\"`,\n params: ({schemaCode}) => _`{format: ${schemaCode}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"format\",\n type: [\"number\", \"string\"],\n schemaType: \"string\",\n $data: true,\n error,\n code(cxt: KeywordCxt, ruleType?: string) {\n const {gen, data, $data, schema, schemaCode, it} = cxt\n const {opts, errSchemaPath, schemaEnv, self} = it\n if (!opts.validateFormats) return\n\n if ($data) validate$DataFormat()\n else validateFormat()\n\n function validate$DataFormat(): void {\n const fmts = gen.scopeValue(\"formats\", {\n ref: self.formats,\n code: opts.code.formats,\n })\n const fDef = gen.const(\"fDef\", _`${fmts}[${schemaCode}]`)\n const fType = gen.let(\"fType\")\n const format = gen.let(\"format\")\n // TODO simplify\n gen.if(\n _`typeof ${fDef} == \"object\" && !(${fDef} instanceof RegExp)`,\n () => gen.assign(fType, _`${fDef}.type || \"string\"`).assign(format, _`${fDef}.validate`),\n () => gen.assign(fType, _`\"string\"`).assign(format, fDef)\n )\n cxt.fail$data(or(unknownFmt(), invalidFmt()))\n\n function unknownFmt(): Code {\n if (opts.strictSchema === false) return nil\n return _`${schemaCode} && !${format}`\n }\n\n function invalidFmt(): Code {\n const callFormat = schemaEnv.$async\n ? _`(${fDef}.async ? await ${format}(${data}) : ${format}(${data}))`\n : _`${format}(${data})`\n const validData = _`(typeof ${format} == \"function\" ? ${callFormat} : ${format}.test(${data}))`\n return _`${format} && ${format} !== true && ${fType} === ${ruleType} && !${validData}`\n }\n }\n\n function validateFormat(): void {\n const formatDef: AddedFormat | undefined = self.formats[schema]\n if (!formatDef) {\n unknownFormat()\n return\n }\n if (formatDef === true) return\n const [fmtType, format, fmtRef] = getFormat(formatDef)\n if (fmtType === ruleType) cxt.pass(validCondition())\n\n function unknownFormat(): void {\n if (opts.strictSchema === false) {\n self.logger.warn(unknownMsg())\n return\n }\n throw new Error(unknownMsg())\n\n function unknownMsg(): string {\n return `unknown format \"${schema as string}\" ignored in schema at path \"${errSchemaPath}\"`\n }\n }\n\n function getFormat(fmtDef: AddedFormat): [string, FormatValidate, Code] {\n const code =\n fmtDef instanceof RegExp\n ? regexpCode(fmtDef)\n : opts.code.formats\n ? _`${opts.code.formats}${getProperty(schema)}`\n : undefined\n const fmt = gen.scopeValue(\"formats\", {key: schema, ref: fmtDef, code})\n if (typeof fmtDef == \"object\" && !(fmtDef instanceof RegExp)) {\n return [fmtDef.type || \"string\", fmtDef.validate, _`${fmt}.validate`]\n }\n\n return [\"string\", fmtDef, fmt]\n }\n\n function validCondition(): Code {\n if (typeof formatDef == \"object\" && !(formatDef instanceof RegExp) && formatDef.async) {\n if (!schemaEnv.$async) throw new Error(\"async format in sync schema\")\n return _`await ${fmtRef}(${data})`\n }\n return typeof format == \"function\" ? _`${fmtRef}(${data})` : _`${fmtRef}.test(${data})`\n }\n }\n },\n}\n\nexport default def\n","import type {Vocabulary} from \"../../types\"\nimport formatKeyword from \"./format\"\n\nconst format: Vocabulary = [formatKeyword]\n\nexport default format\n","import type {Vocabulary} from \"../types\"\n\nexport const metadataVocabulary: Vocabulary = [\n \"title\",\n \"description\",\n \"default\",\n \"deprecated\",\n \"readOnly\",\n \"writeOnly\",\n \"examples\",\n]\n\nexport const contentVocabulary: Vocabulary = [\n \"contentMediaType\",\n \"contentEncoding\",\n \"contentSchema\",\n]\n","import type {CodeKeywordDefinition, ErrorObject, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_} from \"../../compile/codegen\"\nimport {useFunc} from \"../../compile/util\"\nimport equal from \"../../runtime/equal\"\n\nexport type ConstError = ErrorObject<\"const\", {allowedValue: any}>\n\nconst error: KeywordErrorDefinition = {\n message: \"must be equal to constant\",\n params: ({schemaCode}) => _`{allowedValue: ${schemaCode}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"const\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {gen, data, $data, schemaCode, schema} = cxt\n if ($data || (schema && typeof schema == \"object\")) {\n cxt.fail$data(_`!${useFunc(gen, equal)}(${data}, ${schemaCode})`)\n } else {\n cxt.fail(_`${schema} !== ${data}`)\n }\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, ErrorObject, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, or, Name, Code} from \"../../compile/codegen\"\nimport {useFunc} from \"../../compile/util\"\nimport equal from \"../../runtime/equal\"\n\nexport type EnumError = ErrorObject<\"enum\", {allowedValues: any[]}, any[] | {$data: string}>\n\nconst error: KeywordErrorDefinition = {\n message: \"must be equal to one of the allowed values\",\n params: ({schemaCode}) => _`{allowedValues: ${schemaCode}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"enum\",\n schemaType: \"array\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {gen, data, $data, schema, schemaCode, it} = cxt\n if (!$data && schema.length === 0) throw new Error(\"enum must have non-empty array\")\n const useLoop = schema.length >= it.opts.loopEnum\n let eql: Name | undefined\n const getEql = (): Name => (eql ??= useFunc(gen, equal))\n\n let valid: Code\n if (useLoop || $data) {\n valid = gen.let(\"valid\")\n cxt.block$data(valid, loopEnum)\n } else {\n /* istanbul ignore if */\n if (!Array.isArray(schema)) throw new Error(\"ajv implementation error\")\n const vSchema = gen.const(\"vSchema\", schemaCode)\n valid = or(...schema.map((_x: unknown, i: number) => equalCode(vSchema, i)))\n }\n cxt.pass(valid)\n\n function loopEnum(): void {\n gen.assign(valid, false)\n gen.forOf(\"v\", schemaCode as Code, (v) =>\n gen.if(_`${getEql()}(${data}, ${v})`, () => gen.assign(valid, true).break())\n )\n }\n\n function equalCode(vSchema: Name, i: number): Code {\n const sch = schema[i]\n return typeof sch === \"object\" && sch !== null\n ? _`${getEql()}(${data}, ${vSchema}[${i}])`\n : _`${data} === ${sch}`\n }\n },\n}\n\nexport default def\n","import type {ErrorObject, Vocabulary} from \"../../types\"\nimport limitNumber, {LimitNumberError} from \"./limitNumber\"\nimport multipleOf, {MultipleOfError} from \"./multipleOf\"\nimport limitLength from \"./limitLength\"\nimport pattern, {PatternError} from \"./pattern\"\nimport limitProperties from \"./limitProperties\"\nimport required, {RequiredError} from \"./required\"\nimport limitItems from \"./limitItems\"\nimport uniqueItems, {UniqueItemsError} from \"./uniqueItems\"\nimport constKeyword, {ConstError} from \"./const\"\nimport enumKeyword, {EnumError} from \"./enum\"\n\nconst validation: Vocabulary = [\n // number\n limitNumber,\n multipleOf,\n // string\n limitLength,\n pattern,\n // object\n limitProperties,\n required,\n // array\n limitItems,\n uniqueItems,\n // any\n {keyword: \"type\", schemaType: [\"string\", \"array\"]},\n {keyword: \"nullable\", schemaType: \"boolean\"},\n constKeyword,\n enumKeyword,\n]\n\nexport default validation\n\ntype LimitError = ErrorObject<\n \"maxItems\" | \"minItems\" | \"minProperties\" | \"maxProperties\" | \"minLength\" | \"maxLength\",\n {limit: number},\n number | {$data: string}\n>\n\nexport type ValidationKeywordError =\n | LimitError\n | LimitNumberError\n | MultipleOfError\n | PatternError\n | RequiredError\n | UniqueItemsError\n | ConstError\n | EnumError\n","import type {CodeKeywordDefinition, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str, operators} from \"../../compile/codegen\"\n\nconst error: KeywordErrorDefinition = {\n message({keyword, schemaCode}) {\n const comp = keyword === \"maxItems\" ? \"more\" : \"fewer\"\n return str`must NOT have ${comp} than ${schemaCode} items`\n },\n params: ({schemaCode}) => _`{limit: ${schemaCode}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: [\"maxItems\", \"minItems\"],\n type: \"array\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {keyword, data, schemaCode} = cxt\n const op = keyword === \"maxItems\" ? operators.GT : operators.LT\n cxt.fail$data(_`${data}.length ${op} ${schemaCode}`)\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str, operators} from \"../../compile/codegen\"\nimport {useFunc} from \"../../compile/util\"\nimport ucs2length from \"../../runtime/ucs2length\"\n\nconst error: KeywordErrorDefinition = {\n message({keyword, schemaCode}) {\n const comp = keyword === \"maxLength\" ? \"more\" : \"fewer\"\n return str`must NOT have ${comp} than ${schemaCode} characters`\n },\n params: ({schemaCode}) => _`{limit: ${schemaCode}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: [\"maxLength\", \"minLength\"],\n type: \"string\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {keyword, data, schemaCode, it} = cxt\n const op = keyword === \"maxLength\" ? operators.GT : operators.LT\n const len =\n it.opts.unicode === false ? _`${data}.length` : _`${useFunc(cxt.gen, ucs2length)}(${data})`\n cxt.fail$data(_`${len} ${op} ${schemaCode}`)\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, ErrorObject, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str, operators, Code} from \"../../compile/codegen\"\n\nconst ops = operators\n\ntype Kwd = \"maximum\" | \"minimum\" | \"exclusiveMaximum\" | \"exclusiveMinimum\"\n\ntype Comparison = \"<=\" | \">=\" | \"<\" | \">\"\n\nconst KWDs: {[K in Kwd]: {okStr: Comparison; ok: Code; fail: Code}} = {\n maximum: {okStr: \"<=\", ok: ops.LTE, fail: ops.GT},\n minimum: {okStr: \">=\", ok: ops.GTE, fail: ops.LT},\n exclusiveMaximum: {okStr: \"<\", ok: ops.LT, fail: ops.GTE},\n exclusiveMinimum: {okStr: \">\", ok: ops.GT, fail: ops.LTE},\n}\n\nexport type LimitNumberError = ErrorObject<\n Kwd,\n {limit: number; comparison: Comparison},\n number | {$data: string}\n>\n\nconst error: KeywordErrorDefinition = {\n message: ({keyword, schemaCode}) => str`must be ${KWDs[keyword as Kwd].okStr} ${schemaCode}`,\n params: ({keyword, schemaCode}) =>\n _`{comparison: ${KWDs[keyword as Kwd].okStr}, limit: ${schemaCode}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: Object.keys(KWDs),\n type: \"number\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {keyword, data, schemaCode} = cxt\n cxt.fail$data(_`${data} ${KWDs[keyword as Kwd].fail} ${schemaCode} || isNaN(${data})`)\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str, operators} from \"../../compile/codegen\"\n\nconst error: KeywordErrorDefinition = {\n message({keyword, schemaCode}) {\n const comp = keyword === \"maxProperties\" ? \"more\" : \"fewer\"\n return str`must NOT have ${comp} than ${schemaCode} properties`\n },\n params: ({schemaCode}) => _`{limit: ${schemaCode}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: [\"maxProperties\", \"minProperties\"],\n type: \"object\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {keyword, data, schemaCode} = cxt\n const op = keyword === \"maxProperties\" ? operators.GT : operators.LT\n cxt.fail$data(_`Object.keys(${data}).length ${op} ${schemaCode}`)\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, ErrorObject, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {_, str} from \"../../compile/codegen\"\n\nexport type MultipleOfError = ErrorObject<\n \"multipleOf\",\n {multipleOf: number},\n number | {$data: string}\n>\n\nconst error: KeywordErrorDefinition = {\n message: ({schemaCode}) => str`must be multiple of ${schemaCode}`,\n params: ({schemaCode}) => _`{multipleOf: ${schemaCode}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"multipleOf\",\n type: \"number\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {gen, data, schemaCode, it} = cxt\n // const bdt = bad$DataType(schemaCode, def.schemaType, $data)\n const prec = it.opts.multipleOfPrecision\n const res = gen.let(\"res\")\n const invalid = prec\n ? _`Math.abs(Math.round(${res}) - ${res}) > 1e-${prec}`\n : _`${res} !== parseInt(${res})`\n cxt.fail$data(_`(${schemaCode} === 0 || (${res} = ${data}/${schemaCode}, ${invalid}))`)\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, ErrorObject, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {usePattern} from \"../code\"\nimport {_, str} from \"../../compile/codegen\"\n\nexport type PatternError = ErrorObject<\"pattern\", {pattern: string}, string | {$data: string}>\n\nconst error: KeywordErrorDefinition = {\n message: ({schemaCode}) => str`must match pattern \"${schemaCode}\"`,\n params: ({schemaCode}) => _`{pattern: ${schemaCode}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"pattern\",\n type: \"string\",\n schemaType: \"string\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {data, $data, schema, schemaCode, it} = cxt\n // TODO regexp should be wrapped in try/catchs\n const u = it.opts.unicodeRegExp ? \"u\" : \"\"\n const regExp = $data ? _`(new RegExp(${schemaCode}, ${u}))` : usePattern(cxt, schema)\n cxt.fail$data(_`!${regExp}.test(${data})`)\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, ErrorObject, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {\n checkReportMissingProp,\n checkMissingProp,\n reportMissingProp,\n propertyInData,\n noPropertyInData,\n} from \"../code\"\nimport {_, str, nil, not, Name, Code} from \"../../compile/codegen\"\nimport {checkStrictMode} from \"../../compile/util\"\n\nexport type RequiredError = ErrorObject<\n \"required\",\n {missingProperty: string},\n string[] | {$data: string}\n>\n\nconst error: KeywordErrorDefinition = {\n message: ({params: {missingProperty}}) => str`must have required property '${missingProperty}'`,\n params: ({params: {missingProperty}}) => _`{missingProperty: ${missingProperty}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"required\",\n type: \"object\",\n schemaType: \"array\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {gen, schema, schemaCode, data, $data, it} = cxt\n const {opts} = it\n if (!$data && schema.length === 0) return\n const useLoop = schema.length >= opts.loopRequired\n if (it.allErrors) allErrorsMode()\n else exitOnErrorMode()\n\n if (opts.strictRequired) {\n const props = cxt.parentSchema.properties\n const {definedProperties} = cxt.it\n for (const requiredKey of schema) {\n if (props?.[requiredKey] === undefined && !definedProperties.has(requiredKey)) {\n const schemaPath = it.schemaEnv.baseId + it.errSchemaPath\n const msg = `required property \"${requiredKey}\" is not defined at \"${schemaPath}\" (strictRequired)`\n checkStrictMode(it, msg, it.opts.strictRequired)\n }\n }\n }\n\n function allErrorsMode(): void {\n if (useLoop || $data) {\n cxt.block$data(nil, loopAllRequired)\n } else {\n for (const prop of schema) {\n checkReportMissingProp(cxt, prop)\n }\n }\n }\n\n function exitOnErrorMode(): void {\n const missing = gen.let(\"missing\")\n if (useLoop || $data) {\n const valid = gen.let(\"valid\", true)\n cxt.block$data(valid, () => loopUntilMissing(missing, valid))\n cxt.ok(valid)\n } else {\n gen.if(checkMissingProp(cxt, schema, missing))\n reportMissingProp(cxt, missing)\n gen.else()\n }\n }\n\n function loopAllRequired(): void {\n gen.forOf(\"prop\", schemaCode as Code, (prop) => {\n cxt.setParams({missingProperty: prop})\n gen.if(noPropertyInData(gen, data, prop, opts.ownProperties), () => cxt.error())\n })\n }\n\n function loopUntilMissing(missing: Name, valid: Name): void {\n cxt.setParams({missingProperty: missing})\n gen.forOf(\n missing,\n schemaCode as Code,\n () => {\n gen.assign(valid, propertyInData(gen, data, missing, opts.ownProperties))\n gen.if(not(valid), () => {\n cxt.error()\n gen.break()\n })\n },\n nil\n )\n }\n },\n}\n\nexport default def\n","import type {CodeKeywordDefinition, ErrorObject, KeywordErrorDefinition} from \"../../types\"\nimport type {KeywordCxt} from \"../../compile/validate\"\nimport {checkDataTypes, getSchemaTypes, DataType} from \"../../compile/validate/dataType\"\nimport {_, str, Name} from \"../../compile/codegen\"\nimport {useFunc} from \"../../compile/util\"\nimport equal from \"../../runtime/equal\"\n\nexport type UniqueItemsError = ErrorObject<\n \"uniqueItems\",\n {i: number; j: number},\n boolean | {$data: string}\n>\n\nconst error: KeywordErrorDefinition = {\n message: ({params: {i, j}}) =>\n str`must NOT have duplicate items (items ## ${j} and ${i} are identical)`,\n params: ({params: {i, j}}) => _`{i: ${i}, j: ${j}}`,\n}\n\nconst def: CodeKeywordDefinition = {\n keyword: \"uniqueItems\",\n type: \"array\",\n schemaType: \"boolean\",\n $data: true,\n error,\n code(cxt: KeywordCxt) {\n const {gen, data, $data, schema, parentSchema, schemaCode, it} = cxt\n if (!$data && !schema) return\n const valid = gen.let(\"valid\")\n const itemTypes = parentSchema.items ? getSchemaTypes(parentSchema.items) : []\n cxt.block$data(valid, validateUniqueItems, _`${schemaCode} === false`)\n cxt.ok(valid)\n\n function validateUniqueItems(): void {\n const i = gen.let(\"i\", _`${data}.length`)\n const j = gen.let(\"j\")\n cxt.setParams({i, j})\n gen.assign(valid, true)\n gen.if(_`${i} > 1`, () => (canOptimize() ? loopN : loopN2)(i, j))\n }\n\n function canOptimize(): boolean {\n return itemTypes.length > 0 && !itemTypes.some((t) => t === \"object\" || t === \"array\")\n }\n\n function loopN(i: Name, j: Name): void {\n const item = gen.name(\"item\")\n const wrongType = checkDataTypes(itemTypes, item, it.opts.strictNumbers, DataType.Wrong)\n const indices = gen.const(\"indices\", _`{}`)\n gen.for(_`;${i}--;`, () => {\n gen.let(item, _`${data}[${i}]`)\n gen.if(wrongType, _`continue`)\n if (itemTypes.length > 1) gen.if(_`typeof ${item} == \"string\"`, _`${item} += \"_\"`)\n gen\n .if(_`typeof ${indices}[${item}] == \"number\"`, () => {\n gen.assign(j, _`${indices}[${item}]`)\n cxt.error()\n gen.assign(valid, false).break()\n })\n .code(_`${indices}[${item}] = ${i}`)\n })\n }\n\n function loopN2(i: Name, j: Name): void {\n const eql = useFunc(gen, equal)\n const outer = gen.name(\"outer\")\n gen.label(outer).for(_`;${i}--;`, () =>\n gen.for(_`${j} = ${i}; ${j}--;`, () =>\n gen.if(_`${eql}(${data}[${i}], ${data}[${j}])`, () => {\n cxt.error()\n gen.assign(valid, false).break(outer)\n })\n )\n )\n }\n },\n}\n\nexport default def\n","'use strict';\n\nvar traverse = module.exports = function (schema, opts, cb) {\n // Legacy support for v0.3.1 and earlier.\n if (typeof opts == 'function') {\n cb = opts;\n opts = {};\n }\n\n cb = opts.cb || cb;\n var pre = (typeof cb == 'function') ? cb : cb.pre || function() {};\n var post = cb.post || function() {};\n\n _traverse(opts, pre, post, schema, '', schema);\n};\n\n\ntraverse.keywords = {\n additionalItems: true,\n items: true,\n contains: true,\n additionalProperties: true,\n propertyNames: true,\n not: true,\n if: true,\n then: true,\n else: true\n};\n\ntraverse.arrayKeywords = {\n items: true,\n allOf: true,\n anyOf: true,\n oneOf: true\n};\n\ntraverse.propsKeywords = {\n $defs: true,\n definitions: true,\n properties: true,\n patternProperties: true,\n dependencies: true\n};\n\ntraverse.skipKeywords = {\n default: true,\n enum: true,\n const: true,\n required: true,\n maximum: true,\n minimum: true,\n exclusiveMaximum: true,\n exclusiveMinimum: true,\n multipleOf: true,\n maxLength: true,\n minLength: true,\n pattern: true,\n format: true,\n maxItems: true,\n minItems: true,\n uniqueItems: true,\n maxProperties: true,\n minProperties: true\n};\n\n\nfunction _traverse(opts, pre, post, schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) {\n if (schema && typeof schema == 'object' && !Array.isArray(schema)) {\n pre(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);\n for (var key in schema) {\n var sch = schema[key];\n if (Array.isArray(sch)) {\n if (key in traverse.arrayKeywords) {\n for (var i=0; i b ) {\n\t\t\tt = b;\n\t\t\tb = a;\n\t\t\ta = t;\n\t\t}\n\t\tb = b - a; // b=0 iff b=a\n\t}\n\t// Restore common factors of 2...\n\treturn k * a;\n} // end FUNCTION gcd()\n\n/**\n* FUNCTION: bitwise( a, b )\n*\tComputes the greatest common divisor of two integers `a` and `b`, using the binary GCD algorithm and bitwise operations.\n*\n* @param {Number} a - safe integer\n* @param {Number} b - safe integer\n* @returns {Number} greatest common divisor\n*/\nfunction bitwise( a, b ) {\n\tvar k = 0,\n\t\tt;\n\t// Simple cases:\n\tif ( a === 0 ) {\n\t\treturn b;\n\t}\n\tif ( b === 0 ) {\n\t\treturn a;\n\t}\n\t// Reduce `a` and/or `b` to odd numbers and keep track of the greatest power of 2 dividing both `a` and `b`...\n\twhile ( (a & 1) === 0 && (b & 1) === 0 ) {\n\t\ta >>>= 1; // right shift\n\t\tb >>>= 1; // right shift\n\t\tk++;\n\t}\n\t// Reduce `a` to an odd number...\n\twhile ( (a & 1) === 0 ) {\n\t\ta >>>= 1; // right shift\n\t}\n\t// Henceforth, `a` is always odd...\n\twhile ( b ) {\n\t\t// Remove all factors of 2 in `b`, as they are not common...\n\t\twhile ( (b & 1) === 0 ) {\n\t\t\tb >>>= 1; // right shift\n\t\t}\n\t\t// `a` and `b` are both odd. Swap values such that `b` is the larger of the two values, and then set `b` to the difference (which is even)...\n\t\tif ( a > b ) {\n\t\t\tt = b;\n\t\t\tb = a;\n\t\t\ta = t;\n\t\t}\n\t\tb = b - a; // b=0 iff b=a\n\t}\n\t// Restore common factors of 2...\n\treturn a << k;\n} // end FUNCTION bitwise()\n\n\n// GREATEST COMMON DIVISOR //\n\n/**\n* FUNCTION: compute( arr[, clbk] )\n*\tComputes the greatest common divisor.\n*\n* @param {Number[]|Number} arr - input array of integers\n* @param {Function|Number} [clbk] - accessor function for accessing array values\n* @returns {Number|Null} greatest common divisor or null\n*/\nfunction compute() {\n\tvar nargs = arguments.length,\n\t\targs,\n\t\tclbk,\n\t\tarr,\n\t\tlen,\n\t\ta, b,\n\t\ti;\n\n\t// Copy the input arguments to an array...\n\targs = new Array( nargs );\n\tfor ( i = 0; i < nargs; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\t// Have we been provided with integer arguments?\n\tif ( isIntegerArray( args ) ) {\n\t\tif ( nargs === 2 ) {\n\t\t\ta = args[ 0 ];\n\t\t\tb = args[ 1 ];\n\t\t\tif ( a < 0 ) {\n\t\t\t\ta = -a;\n\t\t\t}\n\t\t\tif ( b < 0 ) {\n\t\t\t\tb = -b;\n\t\t\t}\n\t\t\tif ( a <= MAXINT && b <= MAXINT ) {\n\t\t\t\treturn bitwise( a, b );\n\t\t\t} else {\n\t\t\t\treturn gcd( a, b );\n\t\t\t}\n\t\t}\n\t\tarr = args;\n\t}\n\t// If not integers, ensure the first argument is an array...\n\telse if ( !isArray( args[ 0 ] ) ) {\n\t\tthrow new TypeError( 'gcd()::invalid input argument. Must provide an array of integers. Value: `' + args[ 0 ] + '`.' );\n\t}\n\t// Have we been provided with more than one argument? If so, ensure that the accessor argument is a function...\n\telse if ( nargs > 1 ) {\n\t\tarr = args[ 0 ];\n\t\tclbk = args[ 1 ];\n\t\tif ( !isFunction( clbk ) ) {\n\t\t\tthrow new TypeError( 'gcd()::invalid input argument. Accessor must be a function. Value: `' + clbk + '`.' );\n\t\t}\n\t}\n\t// We have been provided an array...\n\telse {\n\t\tarr = args[ 0 ];\n\t}\n\tlen = arr.length;\n\n\t// Check if a sufficient number of values have been provided...\n\tif ( len < 2 ) {\n\t\treturn null;\n\t}\n\t// If an accessor is provided, extract the array values...\n\tif ( clbk ) {\n\t\ta = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\ta[ i ] = clbk( arr[ i ], i );\n\t\t}\n\t\tarr = a;\n\t}\n\t// Given an input array, ensure all array values are integers...\n\tif ( nargs < 3 ) {\n\t\tif ( !isIntegerArray( arr ) ) {\n\t\t\tthrow new TypeError( 'gcd()::invalid input argument. Accessed array values must be integers. Value: `' + arr + '`.' );\n\t\t}\n\t}\n\t// Convert any negative integers to positive integers...\n\tfor ( i = 0; i < len; i++ ) {\n\t\ta = arr[ i ];\n\t\tif ( a < 0 ) {\n\t\t\tarr[ i ] = -a;\n\t\t}\n\t}\n\t// Exploit the fact that the gcd is an associative function...\n\ta = arr[ 0 ];\n\tfor ( i = 1; i < len; i++ ) {\n\t\tb = arr[ i ];\n\t\tif ( b <= MAXINT && a <= MAXINT ) {\n\t\t\ta = bitwise( a, b );\n\t\t} else {\n\t\t\ta = gcd( a, b );\n\t\t}\n\t}\n\treturn a;\n} // end FUNCTION compute()\n\n\n// EXPORTS //\n\nmodule.exports = compute;\n","'use strict';\n\n// MODULES //\n\nvar gcd = require( 'compute-gcd' ),\n\tisArray = require( 'validate.io-array' ),\n\tisIntegerArray = require( 'validate.io-integer-array' ),\n\tisFunction = require( 'validate.io-function' );\n\n\n// LEAST COMMON MULTIPLE //\n\n/**\n* FUNCTION: lcm( arr[, clbk] )\n*\tComputes the least common multiple (lcm).\n*\n* @param {Number[]|Number} arr - input array of integers\n* @param {Function|Number} [accessor] - accessor function for accessing array values\n* @returns {Number|Null} least common multiple or null\n*/\nfunction lcm() {\n\tvar nargs = arguments.length,\n\t\targs,\n\t\tclbk,\n\t\tarr,\n\t\tlen,\n\t\ta, b,\n\t\ti;\n\n\t// Copy the input arguments to an array...\n\targs = new Array( nargs );\n\tfor ( i = 0; i < nargs; i++ ) {\n\t\targs[ i ] = arguments[ i ];\n\t}\n\t// Have we been provided with integer arguments?\n\tif ( isIntegerArray( args ) ) {\n\t\tif ( nargs === 2 ) {\n\t\t\ta = args[ 0 ];\n\t\t\tb = args[ 1 ];\n\t\t\tif ( a < 0 ) {\n\t\t\t\ta = -a;\n\t\t\t}\n\t\t\tif ( b < 0 ) {\n\t\t\t\tb = -b;\n\t\t\t}\n\t\t\tif ( a === 0 || b === 0 ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn ( a/gcd(a,b) ) * b;\n\t\t}\n\t\tarr = args;\n\t}\n\t// If not integers, ensure that the first argument is an array...\n\telse if ( !isArray( args[ 0 ] ) ) {\n\t\tthrow new TypeError( 'lcm()::invalid input argument. Must provide an array of integers. Value: `' + args[ 0 ] + '`.' );\n\t}\n\t// Have we been provided with more than one argument? If so, ensure that the accessor argument is a function...\n\telse if ( nargs > 1 ) {\n\t\tarr = args[ 0 ];\n\t\tclbk = args[ 1 ];\n\t\tif ( !isFunction( clbk ) ) {\n\t\t\tthrow new TypeError( 'lcm()::invalid input argument. Accessor must be a function. Value: `' + clbk + '`.' );\n\t\t}\n\t}\n\t// We have been provided an array...\n\telse {\n\t\tarr = args[ 0 ];\n\t}\n\tlen = arr.length;\n\n\t// Check if a sufficient number of values have been provided...\n\tif ( len < 2 ) {\n\t\treturn null;\n\t}\n\t// If an accessor is provided, extract the array values...\n\tif ( clbk ) {\n\t\ta = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\ta[ i ] = clbk( arr[ i ], i );\n\t\t}\n\t\tarr = a;\n\t}\n\t// Given an input array, ensure all array values are integers...\n\tif ( nargs < 3 ) {\n\t\tif ( !isIntegerArray( arr ) ) {\n\t\t\tthrow new TypeError( 'lcm()::invalid input argument. Accessed array values must be integers. Value: `' + arr + '`.' );\n\t\t}\n\t}\n\t// Convert any negative integers to positive integers...\n\tfor ( i = 0; i < len; i++ ) {\n\t\ta = arr[ i ];\n\t\tif ( a < 0 ) {\n\t\t\tarr[ i ] = -a;\n\t\t}\n\t}\n\t// Exploit the fact that the lcm is an associative function...\n\ta = arr[ 0 ];\n\tfor ( i = 1; i < len; i++ ) {\n\t\tb = arr[ i ];\n\t\tif ( a === 0 || b === 0 ) {\n\t\t\treturn 0;\n\t\t}\n\t\ta = ( a/gcd(a,b) ) * b;\n\t}\n\treturn a;\n} // end FUNCTION lcm()\n\n\n// EXPORTS //\n\nmodule.exports = lcm;\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","var isEqual = require('lodash/isEqual')\nvar sortBy = require('lodash/sortBy')\nvar uniq = require('lodash/uniq')\nvar uniqWith = require('lodash/uniqWith')\nvar defaults = require('lodash/defaults')\nvar intersectionWith = require('lodash/intersectionWith')\nvar isPlainObject = require('lodash/isPlainObject')\nvar isBoolean = require('lodash/isBoolean')\n\nvar normalizeArray = val => Array.isArray(val)\n ? val : [val]\nvar undef = val => val === undefined\nvar keys = obj => isPlainObject(obj) || Array.isArray(obj) ? Object.keys(obj) : []\nvar has = (obj, key) => obj.hasOwnProperty(key)\nvar stringArray = arr => sortBy(uniq(arr))\nvar undefEmpty = val => undef(val) || (Array.isArray(val) && val.length === 0)\nvar keyValEqual = (a, b, key, compare) => b && has(b, key) && a && has(a, key) && compare(a[key], b[key])\nvar undefAndZero = (a, b) => (undef(a) && b === 0) || (undef(b) && a === 0) || isEqual(a, b)\nvar falseUndefined = (a, b) => (undef(a) && b === false) || (undef(b) && a === false) || isEqual(a, b)\nvar emptySchema = schema => undef(schema) || isEqual(schema, {}) || schema === true\nvar emptyObjUndef = schema => undef(schema) || isEqual(schema, {})\nvar isSchema = val => undef(val) || isPlainObject(val) || val === true || val === false\n\nfunction undefArrayEqual(a, b) {\n if (undefEmpty(a) && undefEmpty(b)) {\n return true\n } else {\n return isEqual(stringArray(a), stringArray(b))\n }\n}\n\nfunction unsortedNormalizedArray(a, b) {\n a = normalizeArray(a)\n b = normalizeArray(b)\n return isEqual(stringArray(a), stringArray(b))\n}\n\nfunction schemaGroup(a, b, key, compare) {\n var allProps = uniq(keys(a).concat(keys(b)))\n if (emptyObjUndef(a) && emptyObjUndef(b)) {\n return true\n } else if (emptyObjUndef(a) && keys(b).length) {\n return false\n } else if (emptyObjUndef(b) && keys(a).length) {\n return false\n }\n\n return allProps.every(function(key) {\n var aVal = a[key]\n var bVal = b[key]\n if (Array.isArray(aVal) && Array.isArray(bVal)) {\n return isEqual(stringArray(a), stringArray(b))\n } else if (Array.isArray(aVal) && !Array.isArray(bVal)) {\n return false\n } else if (Array.isArray(bVal) && !Array.isArray(aVal)) {\n return false\n }\n return keyValEqual(a, b, key, compare)\n })\n}\n\nfunction items(a, b, key, compare) {\n if (isPlainObject(a) && isPlainObject(b)) {\n return compare(a, b)\n } else if (Array.isArray(a) && Array.isArray(b)) {\n return schemaGroup(a, b, key, compare)\n } else {\n return isEqual(a, b)\n }\n}\n\nfunction unsortedArray(a, b, key, compare) {\n var uniqueA = uniqWith(a, compare)\n var uniqueB = uniqWith(b, compare)\n var inter = intersectionWith(uniqueA, uniqueB, compare)\n return inter.length === Math.max(uniqueA.length, uniqueB.length)\n}\n\nvar comparers = {\n title: isEqual,\n uniqueItems: falseUndefined,\n minLength: undefAndZero,\n minItems: undefAndZero,\n minProperties: undefAndZero,\n required: undefArrayEqual,\n enum: undefArrayEqual,\n type: unsortedNormalizedArray,\n items: items,\n anyOf: unsortedArray,\n allOf: unsortedArray,\n oneOf: unsortedArray,\n properties: schemaGroup,\n patternProperties: schemaGroup,\n dependencies: schemaGroup\n}\n\nvar acceptsUndefined = [\n 'properties',\n 'patternProperties',\n 'dependencies',\n 'uniqueItems',\n 'minLength',\n 'minItems',\n 'minProperties',\n 'required'\n]\n\nvar schemaProps = ['additionalProperties', 'additionalItems', 'contains', 'propertyNames', 'not']\n\nfunction compare(a, b, options) {\n options = defaults(options, {\n ignore: []\n })\n\n if (emptySchema(a) && emptySchema(b)) {\n return true\n }\n\n if (!isSchema(a) || !isSchema(b)) {\n throw new Error('Either of the values are not a JSON schema.')\n }\n if (a === b) {\n return true\n }\n\n if (isBoolean(a) && isBoolean(b)) {\n return a === b\n }\n\n if ((a === undefined && b === false) || (b === undefined && a === false)) {\n return false\n }\n\n if ((undef(a) && !undef(b)) || (!undef(a) && undef(b))) {\n return false\n }\n\n var allKeys = uniq(Object.keys(a).concat(Object.keys(b)))\n\n if (options.ignore.length) {\n allKeys = allKeys.filter(k => options.ignore.indexOf(k) === -1)\n }\n\n if (!allKeys.length) {\n return true\n }\n\n function innerCompare(a, b) {\n return compare(a, b, options)\n }\n\n return allKeys.every(function(key) {\n var aValue = a[key]\n var bValue = b[key]\n\n if (schemaProps.indexOf(key) !== -1) {\n return compare(aValue, bValue, options)\n }\n\n var comparer = comparers[key]\n if (!comparer) {\n comparer = isEqual\n }\n\n // do simple lodash check first\n if (isEqual(aValue, bValue)) {\n return true\n }\n\n if (acceptsUndefined.indexOf(key) === -1) {\n if ((!has(a, key) && has(b, key)) || (has(a, key) && !has(b, key))) {\n return aValue === bValue\n }\n }\n\n var result = comparer(aValue, bValue, key, innerCompare)\n if (!isBoolean(result)) {\n throw new Error('Comparer must return true or false')\n }\n return result\n })\n}\n\nmodule.exports = compare\n","const flatten = require('lodash/flatten')\nconst flattenDeep = require('lodash/flattenDeep')\nconst isPlainObject = require('lodash/isPlainObject')\nconst uniq = require('lodash/uniq')\nconst uniqWith = require('lodash/uniqWith')\nconst without = require('lodash/without')\n\nfunction deleteUndefinedProps(returnObject) {\n // cleanup empty\n for (const prop in returnObject) {\n if (has(returnObject, prop) && isEmptySchema(returnObject[prop])) {\n delete returnObject[prop]\n }\n }\n return returnObject\n}\n\nconst allUniqueKeys = (arr) => uniq(flattenDeep(arr.map(keys)))\nconst getValues = (schemas, key) => schemas.map(schema => schema && schema[key])\nconst has = (obj, propName) => Object.prototype.hasOwnProperty.call(obj, propName)\nconst keys = obj => {\n if (isPlainObject(obj) || Array.isArray(obj)) {\n return Object.keys(obj)\n } else {\n return []\n }\n}\n\nconst notUndefined = (val) => val !== undefined\nconst isSchema = (val) => isPlainObject(val) || val === true || val === false\nconst isEmptySchema = (obj) => (!keys(obj).length) && obj !== false && obj !== true\nconst withoutArr = (arr, ...rest) => without.apply(null, [arr].concat(flatten(rest)))\n\nmodule.exports = {\n allUniqueKeys,\n deleteUndefinedProps,\n getValues,\n has,\n isEmptySchema,\n isSchema,\n keys,\n notUndefined,\n uniqWith,\n withoutArr\n}\n","\nconst compare = require('json-schema-compare')\nconst forEach = require('lodash/forEach')\nconst {\n allUniqueKeys,\n deleteUndefinedProps,\n has,\n isSchema,\n notUndefined,\n uniqWith\n} = require('../common')\n\nfunction removeFalseSchemasFromArray(target) {\n forEach(target, function(schema, index) {\n if (schema === false) {\n target.splice(index, 1)\n }\n })\n}\n\nfunction getItemSchemas(subSchemas, key) {\n return subSchemas.map(function(sub) {\n if (!sub) {\n return undefined\n }\n\n if (Array.isArray(sub.items)) {\n const schemaAtPos = sub.items[key]\n if (isSchema(schemaAtPos)) {\n return schemaAtPos\n } else if (has(sub, 'additionalItems')) {\n return sub.additionalItems\n }\n } else {\n return sub.items\n }\n\n return undefined\n })\n}\n\nfunction getAdditionalSchemas(subSchemas) {\n return subSchemas.map(function(sub) {\n if (!sub) {\n return undefined\n }\n if (Array.isArray(sub.items)) {\n return sub.additionalItems\n }\n return sub.items\n })\n}\n\n// Provide source when array\nfunction mergeItems(group, mergeSchemas, items) {\n const allKeys = allUniqueKeys(items)\n return allKeys.reduce(function(all, key) {\n const schemas = getItemSchemas(group, key)\n const compacted = uniqWith(schemas.filter(notUndefined), compare)\n all[key] = mergeSchemas(compacted, key)\n return all\n }, [])\n}\n\nmodule.exports = {\n keywords: ['items', 'additionalItems'],\n resolver(values, parents, mergers) {\n // const createSubMerger = groupKey => (schemas, key) => mergeSchemas(schemas, parents.concat(groupKey, key))\n const items = values.map(s => s.items)\n const itemsCompacted = items.filter(notUndefined)\n const returnObject = {}\n\n // if all items keyword values are schemas, we can merge them as simple schemas\n // if not we need to merge them as mixed\n if (itemsCompacted.every(isSchema)) {\n returnObject.items = mergers.items(items)\n } else {\n returnObject.items = mergeItems(values, mergers.items, items)\n }\n\n let schemasAtLastPos\n if (itemsCompacted.every(Array.isArray)) {\n schemasAtLastPos = values.map(s => s.additionalItems)\n } else if (itemsCompacted.some(Array.isArray)) {\n schemasAtLastPos = getAdditionalSchemas(values)\n }\n\n if (schemasAtLastPos) {\n returnObject.additionalItems = mergers.additionalItems(schemasAtLastPos)\n }\n\n if (returnObject.additionalItems === false && Array.isArray(returnObject.items)) {\n removeFalseSchemasFromArray(returnObject.items)\n }\n\n return deleteUndefinedProps(returnObject)\n }\n}\n","\nconst compare = require('json-schema-compare')\nconst forEach = require('lodash/forEach')\nconst {\n allUniqueKeys,\n deleteUndefinedProps,\n getValues,\n keys,\n notUndefined,\n uniqWith,\n withoutArr\n} = require('../common')\n\nfunction removeFalseSchemas(target) {\n forEach(target, function(schema, prop) {\n if (schema === false) {\n delete target[prop]\n }\n })\n}\n\nfunction mergeSchemaGroup(group, mergeSchemas) {\n const allKeys = allUniqueKeys(group)\n return allKeys.reduce(function(all, key) {\n const schemas = getValues(group, key)\n const compacted = uniqWith(schemas.filter(notUndefined), compare)\n all[key] = mergeSchemas(compacted, key)\n return all\n }, {})\n}\n\nmodule.exports = {\n keywords: ['properties', 'patternProperties', 'additionalProperties'],\n resolver(values, parents, mergers, options) {\n // first get rid of all non permitted properties\n if (!options.ignoreAdditionalProperties) {\n values.forEach(function(subSchema) {\n const otherSubSchemas = values.filter(s => s !== subSchema)\n const ownKeys = keys(subSchema.properties)\n const ownPatternKeys = keys(subSchema.patternProperties)\n const ownPatterns = ownPatternKeys.map(k => new RegExp(k))\n otherSubSchemas.forEach(function(other) {\n const allOtherKeys = keys(other.properties)\n const keysMatchingPattern = allOtherKeys.filter(k => ownPatterns.some(pk => pk.test(k)))\n const additionalKeys = withoutArr(allOtherKeys, ownKeys, keysMatchingPattern)\n additionalKeys.forEach(function(key) {\n other.properties[key] = mergers.properties([\n other.properties[key], subSchema.additionalProperties\n ], key)\n })\n })\n })\n\n // remove disallowed patternProperties\n values.forEach(function(subSchema) {\n const otherSubSchemas = values.filter(s => s !== subSchema)\n const ownPatternKeys = keys(subSchema.patternProperties)\n if (subSchema.additionalProperties === false) {\n otherSubSchemas.forEach(function(other) {\n const allOtherPatterns = keys(other.patternProperties)\n const additionalPatternKeys = withoutArr(allOtherPatterns, ownPatternKeys)\n additionalPatternKeys.forEach(key => delete other.patternProperties[key])\n })\n }\n })\n }\n\n const returnObject = {\n additionalProperties: mergers.additionalProperties(values.map(s => s.additionalProperties)),\n patternProperties: mergeSchemaGroup(values.map(s => s.patternProperties), mergers.patternProperties),\n properties: mergeSchemaGroup(values.map(s => s.properties), mergers.properties)\n }\n\n if (returnObject.additionalProperties === false) {\n removeFalseSchemas(returnObject.properties)\n }\n\n return deleteUndefinedProps(returnObject)\n }\n}\n","const cloneDeep = require('lodash/cloneDeep')\nconst compare = require('json-schema-compare')\nconst computeLcm = require('compute-lcm')\nconst defaultsDeep = require('lodash/defaultsDeep')\nconst flatten = require('lodash/flatten')\nconst flattenDeep = require('lodash/flattenDeep')\nconst intersection = require('lodash/intersection')\nconst intersectionWith = require('lodash/intersectionWith')\nconst isEqual = require('lodash/isEqual')\nconst isPlainObject = require('lodash/isPlainObject')\nconst pullAll = require('lodash/pullAll')\nconst sortBy = require('lodash/sortBy')\nconst uniq = require('lodash/uniq')\nconst uniqWith = require('lodash/uniqWith')\n\nconst propertiesResolver = require('./complex-resolvers/properties')\nconst itemsResolver = require('./complex-resolvers/items')\n\nconst contains = (arr, val) => arr.indexOf(val) !== -1\nconst isSchema = (val) => isPlainObject(val) || val === true || val === false\nconst isFalse = (val) => val === false\nconst isTrue = (val) => val === true\nconst schemaResolver = (compacted, key, mergeSchemas) => mergeSchemas(compacted)\nconst stringArray = (values) => sortBy(uniq(flattenDeep(values)))\nconst notUndefined = (val) => val !== undefined\nconst allUniqueKeys = (arr) => uniq(flattenDeep(arr.map(keys)))\n\n// resolvers\nconst first = compacted => compacted[0]\nconst required = compacted => stringArray(compacted)\nconst maximumValue = compacted => Math.max.apply(Math, compacted)\nconst minimumValue = compacted => Math.min.apply(Math, compacted)\nconst uniqueItems = compacted => compacted.some(isTrue)\nconst examples = compacted => uniqWith(flatten(compacted), isEqual)\n\nfunction compareProp(key) {\n return function(a, b) {\n return compare({\n [key]: a\n }, { [key]: b })\n }\n}\n\nfunction getAllOf(schema) {\n let { allOf = [], ...copy } = schema\n copy = isPlainObject(schema) ? copy : schema // if schema is boolean\n return [copy, ...allOf.map(getAllOf)]\n}\n\nfunction getValues(schemas, key) {\n return schemas.map(schema => schema && schema[key])\n}\n\nfunction tryMergeSchemaGroups(schemaGroups, mergeSchemas) {\n return schemaGroups.map(function(schemas, index) {\n try {\n return mergeSchemas(schemas, index)\n } catch (e) {\n return undefined\n }\n }).filter(notUndefined)\n}\n\nfunction keys(obj) {\n if (isPlainObject(obj) || Array.isArray(obj)) {\n return Object.keys(obj)\n } else {\n return []\n }\n}\n\nfunction getAnyOfCombinations(arrOfArrays, combinations) {\n combinations = combinations || []\n if (!arrOfArrays.length) {\n return combinations\n }\n\n const values = arrOfArrays.slice(0).shift()\n const rest = arrOfArrays.slice(1)\n if (combinations.length) {\n return getAnyOfCombinations(rest, flatten(combinations.map(combination => values.map(item => ([item].concat(combination))))))\n }\n return getAnyOfCombinations(rest, values.map(item => (item)))\n}\n\nfunction throwIncompatible(values, paths) {\n let asJSON\n try {\n asJSON = values.map(function(val) {\n return JSON.stringify(val, null, 2)\n }).join('\\n')\n } catch (variable) {\n asJSON = values.join(', ')\n }\n throw new Error('Could not resolve values for path:\"' + paths.join('.') + '\". They are probably incompatible. Values: \\n' + asJSON)\n}\n\nfunction callGroupResolver(complexKeywords, resolverName, schemas, mergeSchemas, options, parents) {\n if (complexKeywords.length) {\n const resolverConfig = options.complexResolvers[resolverName]\n if (!resolverConfig || !resolverConfig.resolver) {\n throw new Error('No resolver found for ' + resolverName)\n }\n\n // extract all keywords from all the schemas that have one or more\n // then remove all undefined ones and not unique\n const extractedKeywordsOnly = schemas.map(schema => complexKeywords.reduce((all, key) => {\n if (schema[key] !== undefined) all[key] = schema[key]\n return all\n }, {}))\n const unique = uniqWith(extractedKeywordsOnly, compare)\n\n // create mergers that automatically add the path of the keyword for use in the complex resolver\n const mergers = resolverConfig.keywords.reduce((all, key) => ({\n ...all,\n [key]: (schemas, extraKey = []) => mergeSchemas(schemas, null, parents.concat(key, extraKey))\n }), {})\n\n const result = resolverConfig.resolver(unique, parents.concat(resolverName), mergers, options)\n\n if (!isPlainObject(result)) {\n throwIncompatible(unique, parents.concat(resolverName))\n }\n\n return result\n }\n}\n\nfunction createRequiredMetaArray(arr) {\n return { required: arr }\n}\n\nconst schemaGroupProps = ['properties', 'patternProperties', 'definitions', 'dependencies']\nconst schemaArrays = ['anyOf', 'oneOf']\nconst schemaProps = [\n 'additionalProperties',\n 'additionalItems',\n 'contains',\n 'propertyNames',\n 'not',\n 'items'\n]\n\nconst defaultResolvers = {\n type(compacted) {\n if (compacted.some(Array.isArray)) {\n const normalized = compacted.map(function(val) {\n return Array.isArray(val)\n ? val\n : [val]\n })\n const common = intersection.apply(null, normalized)\n\n if (common.length === 1) {\n return common[0]\n } else if (common.length > 1) {\n return uniq(common)\n }\n }\n },\n dependencies(compacted, paths, mergeSchemas) {\n const allChildren = allUniqueKeys(compacted)\n\n return allChildren.reduce(function(all, childKey) {\n const childSchemas = getValues(compacted, childKey)\n let innerCompacted = uniqWith(childSchemas.filter(notUndefined), isEqual)\n\n // to support dependencies\n const innerArrays = innerCompacted.filter(Array.isArray)\n\n if (innerArrays.length) {\n if (innerArrays.length === innerCompacted.length) {\n all[childKey] = stringArray(innerCompacted)\n } else {\n const innerSchemas = innerCompacted.filter(isSchema)\n const arrayMetaScheams = innerArrays.map(createRequiredMetaArray)\n all[childKey] = mergeSchemas(innerSchemas.concat(arrayMetaScheams), childKey)\n }\n return all\n }\n\n innerCompacted = uniqWith(innerCompacted, compare)\n\n all[childKey] = mergeSchemas(innerCompacted, childKey)\n return all\n }, {})\n },\n oneOf(compacted, paths, mergeSchemas) {\n const combinations = getAnyOfCombinations(cloneDeep(compacted))\n const result = tryMergeSchemaGroups(combinations, mergeSchemas)\n const unique = uniqWith(result, compare)\n\n if (unique.length) {\n return unique\n }\n },\n not(compacted) {\n return { anyOf: compacted }\n },\n pattern(compacted) {\n return compacted.map(r => '(?=' + r + ')').join('')\n },\n multipleOf(compacted) {\n let integers = compacted.slice(0)\n let factor = 1\n while (integers.some(n => !Number.isInteger(n))) {\n integers = integers.map(n => n * 10)\n factor = factor * 10\n }\n return computeLcm(integers) / factor\n },\n enum(compacted) {\n const enums = intersectionWith.apply(null, compacted.concat(isEqual))\n if (enums.length) {\n return sortBy(enums)\n }\n }\n}\n\ndefaultResolvers.$id = first\ndefaultResolvers.$ref = first\ndefaultResolvers.$schema = first\ndefaultResolvers.additionalItems = schemaResolver\ndefaultResolvers.additionalProperties = schemaResolver\ndefaultResolvers.anyOf = defaultResolvers.oneOf\ndefaultResolvers.contains = schemaResolver\ndefaultResolvers.default = first\ndefaultResolvers.definitions = defaultResolvers.dependencies\ndefaultResolvers.description = first\ndefaultResolvers.examples = examples\ndefaultResolvers.exclusiveMaximum = minimumValue\ndefaultResolvers.exclusiveMinimum = maximumValue\ndefaultResolvers.items = itemsResolver\ndefaultResolvers.maximum = minimumValue\ndefaultResolvers.maxItems = minimumValue\ndefaultResolvers.maxLength = minimumValue\ndefaultResolvers.maxProperties = minimumValue\ndefaultResolvers.minimum = maximumValue\ndefaultResolvers.minItems = maximumValue\ndefaultResolvers.minLength = maximumValue\ndefaultResolvers.minProperties = maximumValue\ndefaultResolvers.properties = propertiesResolver\ndefaultResolvers.propertyNames = schemaResolver\ndefaultResolvers.required = required\ndefaultResolvers.title = first\ndefaultResolvers.uniqueItems = uniqueItems\n\nconst defaultComplexResolvers = {\n properties: propertiesResolver,\n items: itemsResolver\n}\n\nfunction merger(rootSchema, options, totalSchemas) {\n totalSchemas = totalSchemas || []\n options = defaultsDeep(options, {\n ignoreAdditionalProperties: false,\n resolvers: defaultResolvers,\n complexResolvers: defaultComplexResolvers,\n deep: true\n })\n\n const complexResolvers = Object.entries(options.complexResolvers)\n\n function mergeSchemas(schemas, base, parents) {\n schemas = cloneDeep(schemas.filter(notUndefined))\n parents = parents || []\n const merged = isPlainObject(base)\n ? base\n : {}\n\n // return undefined, an empty schema\n if (!schemas.length) {\n return\n }\n\n if (schemas.some(isFalse)) {\n return false\n }\n\n if (schemas.every(isTrue)) {\n return true\n }\n\n // there are no false and we don't need the true ones as they accept everything\n schemas = schemas.filter(isPlainObject)\n\n const allKeys = allUniqueKeys(schemas)\n if (options.deep && contains(allKeys, 'allOf')) {\n return merger({\n allOf: schemas\n }, options, totalSchemas)\n }\n\n const complexKeysArr = complexResolvers.map(([mainKeyWord, resolverConf]) =>\n allKeys.filter(k => resolverConf.keywords.includes(k)))\n\n // remove all complex keys before simple resolvers\n complexKeysArr.forEach(keys => pullAll(allKeys, keys))\n\n // call all simple resolvers for relevant keywords\n allKeys.forEach(function(key) {\n const values = getValues(schemas, key)\n const compacted = uniqWith(values.filter(notUndefined), compareProp(key))\n\n // arrayprops like anyOf and oneOf must be merged first, as they contains schemas\n // allOf is treated differently alltogether\n if (compacted.length === 1 && contains(schemaArrays, key)) {\n merged[key] = compacted[0].map(schema => mergeSchemas([schema], schema))\n // prop groups must always be resolved\n } else if (compacted.length === 1 && !contains(schemaGroupProps, key) && !contains(schemaProps, key)) {\n merged[key] = compacted[0]\n } else {\n const resolver = options.resolvers[key] || options.resolvers.defaultResolver\n if (!resolver) throw new Error('No resolver found for key ' + key + '. You can provide a resolver for this keyword in the options, or provide a default resolver.')\n\n const merger = (schemas, extraKey = []) => mergeSchemas(schemas, null, parents.concat(key, extraKey))\n merged[key] = resolver(compacted, parents.concat(key), merger, options)\n\n if (merged[key] === undefined) {\n throwIncompatible(compacted, parents.concat(key))\n } else if (merged[key] === undefined) {\n delete merged[key]\n }\n }\n })\n\n return complexResolvers.reduce((all, [resolverKeyword, config], index) => ({\n ...all,\n ...callGroupResolver(complexKeysArr[index], resolverKeyword, schemas, mergeSchemas, options, parents)\n }), merged)\n }\n\n const allSchemas = flattenDeep(getAllOf(rootSchema))\n const merged = mergeSchemas(allSchemas)\n\n return merged\n}\n\nmerger.options = {\n resolvers: defaultResolvers\n}\n\nmodule.exports = merger\n","var hasExcape = /~/\nvar escapeMatcher = /~[01]/g\nfunction escapeReplacer (m) {\n switch (m) {\n case '~1': return '/'\n case '~0': return '~'\n }\n throw new Error('Invalid tilde escape: ' + m)\n}\n\nfunction untilde (str) {\n if (!hasExcape.test(str)) return str\n return str.replace(escapeMatcher, escapeReplacer)\n}\n\nfunction setter (obj, pointer, value) {\n var part\n var hasNextPart\n\n for (var p = 1, len = pointer.length; p < len;) {\n if (pointer[p] === 'constructor' || pointer[p] === 'prototype' || pointer[p] === '__proto__') return obj\n\n part = untilde(pointer[p++])\n hasNextPart = len > p\n\n if (typeof obj[part] === 'undefined') {\n // support setting of /-\n if (Array.isArray(obj) && part === '-') {\n part = obj.length\n }\n\n // support nested objects/array when setting values\n if (hasNextPart) {\n if ((pointer[p] !== '' && pointer[p] < Infinity) || pointer[p] === '-') obj[part] = []\n else obj[part] = {}\n }\n }\n\n if (!hasNextPart) break\n obj = obj[part]\n }\n\n var oldValue = obj[part]\n if (value === undefined) delete obj[part]\n else obj[part] = value\n return oldValue\n}\n\nfunction compilePointer (pointer) {\n if (typeof pointer === 'string') {\n pointer = pointer.split('/')\n if (pointer[0] === '') return pointer\n throw new Error('Invalid JSON pointer.')\n } else if (Array.isArray(pointer)) {\n for (const part of pointer) {\n if (typeof part !== 'string' && typeof part !== 'number') {\n throw new Error('Invalid JSON pointer. Must be of type string or number.')\n }\n }\n return pointer\n }\n\n throw new Error('Invalid JSON pointer.')\n}\n\nfunction get (obj, pointer) {\n if (typeof obj !== 'object') throw new Error('Invalid input object.')\n pointer = compilePointer(pointer)\n var len = pointer.length\n if (len === 1) return obj\n\n for (var p = 1; p < len;) {\n obj = obj[untilde(pointer[p++])]\n if (len === p) return obj\n if (typeof obj !== 'object' || obj === null) return undefined\n }\n}\n\nfunction set (obj, pointer, value) {\n if (typeof obj !== 'object') throw new Error('Invalid input object.')\n pointer = compilePointer(pointer)\n if (pointer.length === 0) throw new Error('Invalid JSON pointer for set.')\n return setter(obj, pointer, value)\n}\n\nfunction compile (pointer) {\n var compiled = compilePointer(pointer)\n return {\n get: function (object) {\n return get(object, compiled)\n },\n set: function (object, value) {\n return set(object, compiled, value)\n }\n }\n}\n\nexports.get = get\nexports.set = set\nexports.compile = compile\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayReduce;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseDifference;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nmodule.exports = baseHas;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","/**\n * This function is like `baseIndexOf` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOfWith(array, value, fromIndex, comparator) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(array[index], value)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseIndexOfWith;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\nfunction baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseIntersection;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var arrayMap = require('./_arrayMap'),\n baseGet = require('./_baseGet'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n baseSortBy = require('./_baseSortBy'),\n baseUnary = require('./_baseUnary'),\n compareMultiple = require('./_compareMultiple'),\n identity = require('./identity'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nmodule.exports = baseOrderBy;\n","var basePickBy = require('./_basePickBy'),\n hasIn = require('./hasIn');\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n}\n\nmodule.exports = basePick;\n","var baseGet = require('./_baseGet'),\n baseSet = require('./_baseSet'),\n castPath = require('./_castPath');\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nmodule.exports = basePickBy;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","var arrayMap = require('./_arrayMap'),\n baseIndexOf = require('./_baseIndexOf'),\n baseIndexOfWith = require('./_baseIndexOfWith'),\n baseUnary = require('./_baseUnary'),\n copyArray = require('./_copyArray');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * The base implementation of `_.pullAllBy` without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n */\nfunction basePullAll(array, values, iteratee, comparator) {\n var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\n index = -1,\n length = values.length,\n seen = array;\n\n if (array === values) {\n values = copyArray(values);\n }\n if (iteratee) {\n seen = arrayMap(array, baseUnary(iteratee));\n }\n while (++index < length) {\n var fromIndex = 0,\n value = values[index],\n computed = iteratee ? iteratee(value) : value;\n\n while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n if (seen !== array) {\n splice.call(seen, fromIndex, 1);\n }\n splice.call(array, fromIndex, 1);\n }\n }\n return array;\n}\n\nmodule.exports = basePullAll;\n","/**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\nfunction baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n}\n\nmodule.exports = baseReduce;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var assignValue = require('./_assignValue'),\n castPath = require('./_castPath'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nmodule.exports = baseSet;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\nmodule.exports = baseSortBy;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","var castPath = require('./_castPath'),\n last = require('./last'),\n parent = require('./_parent'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\nfunction baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n}\n\nmodule.exports = baseUnset;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\nfunction castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n}\n\nmodule.exports = castArrayLikeObject;\n","var identity = require('./identity');\n\n/**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\nfunction castFunction(value) {\n return typeof value == 'function' ? value : identity;\n}\n\nmodule.exports = castFunction;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var isSymbol = require('./isSymbol');\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\nmodule.exports = compareAscending;\n","var compareAscending = require('./_compareAscending');\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\nmodule.exports = compareMultiple;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","var baseMerge = require('./_baseMerge'),\n isObject = require('./isObject');\n\n/**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\nfunction customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n}\n\nmodule.exports = customDefaultsMerge;\n","var isPlainObject = require('./isPlainObject');\n\n/**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\nfunction customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n}\n\nmodule.exports = customOmitClone;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var flatten = require('./flatten'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nmodule.exports = flatRest;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var baseGet = require('./_baseGet'),\n baseSlice = require('./_baseSlice');\n\n/**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\nfunction parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n}\n\nmodule.exports = parent;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var baseRest = require('./_baseRest'),\n eq = require('./eq'),\n isIterateeCall = require('./_isIterateeCall'),\n keysIn = require('./keysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n});\n\nmodule.exports = defaults;\n","var apply = require('./_apply'),\n baseRest = require('./_baseRest'),\n customDefaultsMerge = require('./_customDefaultsMerge'),\n mergeWith = require('./mergeWith');\n\n/**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\nvar defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n});\n\nmodule.exports = defaultsDeep;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var baseFlatten = require('./_baseFlatten');\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n","var baseFlatten = require('./_baseFlatten');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Recursively flattens `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flattenDeep([1, [2, [3, [4]], 5]]);\n * // => [1, 2, 3, 4, 5]\n */\nfunction flattenDeep(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, INFINITY) : [];\n}\n\nmodule.exports = flattenDeep;\n","var arrayEach = require('./_arrayEach'),\n baseEach = require('./_baseEach'),\n castFunction = require('./_castFunction'),\n isArray = require('./isArray');\n\n/**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, castFunction(iteratee));\n}\n\nmodule.exports = forEach;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","var baseHas = require('./_baseHas'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nmodule.exports = has;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var arrayMap = require('./_arrayMap'),\n baseIntersection = require('./_baseIntersection'),\n baseRest = require('./_baseRest'),\n castArrayLikeObject = require('./_castArrayLikeObject');\n\n/**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\nvar intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n});\n\nmodule.exports = intersection;\n","var arrayMap = require('./_arrayMap'),\n baseIntersection = require('./_baseIntersection'),\n baseRest = require('./_baseRest'),\n castArrayLikeObject = require('./_castArrayLikeObject'),\n last = require('./last');\n\n/**\n * This method is like `_.intersection` except that it accepts `comparator`\n * which is invoked to compare elements of `arrays`. The order and references\n * of result values are determined by the first array. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.intersectionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }]\n */\nvar intersectionWith = baseRest(function(arrays) {\n var comparator = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n comparator = typeof comparator == 'function' ? comparator : undefined;\n if (comparator) {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, undefined, comparator)\n : [];\n});\n\nmodule.exports = intersectionWith;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]';\n\n/**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\nfunction isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n}\n\nmodule.exports = isBoolean;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseKeys = require('./_baseKeys'),\n getTag = require('./_getTag'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLike = require('./isArrayLike'),\n isBuffer = require('./isBuffer'),\n isPrototype = require('./_isPrototype'),\n isTypedArray = require('./isTypedArray');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = isEmpty;\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\nfunction isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\n}\n\nmodule.exports = isEqualWith;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n});\n\nmodule.exports = mergeWith;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var arrayMap = require('./_arrayMap'),\n baseClone = require('./_baseClone'),\n baseUnset = require('./_baseUnset'),\n castPath = require('./_castPath'),\n copyObject = require('./_copyObject'),\n customOmitClone = require('./_customOmitClone'),\n flatRest = require('./_flatRest'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\nvar omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n});\n\nmodule.exports = omit;\n","var basePick = require('./_basePick'),\n flatRest = require('./_flatRest');\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n});\n\nmodule.exports = pick;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","var basePullAll = require('./_basePullAll');\n\n/**\n * This method is like `_.pull` except that it accepts an array of values to remove.\n *\n * **Note:** Unlike `_.difference`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pullAll(array, ['a', 'c']);\n * console.log(array);\n * // => ['b', 'b']\n */\nfunction pullAll(array, values) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values)\n : array;\n}\n\nmodule.exports = pullAll;\n","var arrayReduce = require('./_arrayReduce'),\n baseEach = require('./_baseEach'),\n baseIteratee = require('./_baseIteratee'),\n baseReduce = require('./_baseReduce'),\n isArray = require('./isArray');\n\n/**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\nfunction reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, baseIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n}\n\nmodule.exports = reduce;\n","var baseSet = require('./_baseSet');\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nmodule.exports = set;\n","var baseSet = require('./_baseSet');\n\n/**\n * This method is like `_.set` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.setWith(object, '[0][1]', 'a', Object);\n * // => { '0': { '1': 'a' } }\n */\nfunction setWith(object, path, value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseSet(object, path, value, customizer);\n}\n\nmodule.exports = setWith;\n","var baseFlatten = require('./_baseFlatten'),\n baseOrderBy = require('./_baseOrderBy'),\n baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nmodule.exports = sortBy;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var baseTimes = require('./_baseTimes'),\n castFunction = require('./_castFunction'),\n toInteger = require('./toInteger');\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Invokes the iteratee `n` times, returning an array of the results of\n * each invocation. The iteratee is invoked with one argument; (index).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.times(3, String);\n * // => ['0', '1', '2']\n *\n * _.times(4, _.constant(0));\n * // => [0, 0, 0, 0]\n */\nfunction times(n, iteratee) {\n n = toInteger(n);\n if (n < 1 || n > MAX_SAFE_INTEGER) {\n return [];\n }\n var index = MAX_ARRAY_LENGTH,\n length = nativeMin(n, MAX_ARRAY_LENGTH);\n\n iteratee = castFunction(iteratee);\n n -= MAX_ARRAY_LENGTH;\n\n var result = baseTimes(length, iteratee);\n while (++index < n) {\n iteratee(index);\n }\n return result;\n}\n\nmodule.exports = times;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var arrayMap = require('./_arrayMap'),\n copyArray = require('./_copyArray'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol'),\n stringToPath = require('./_stringToPath'),\n toKey = require('./_toKey'),\n toString = require('./toString');\n\n/**\n * Converts `value` to a property path array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {*} value The value to convert.\n * @returns {Array} Returns the new property path array.\n * @example\n *\n * _.toPath('a.b.c');\n * // => ['a', 'b', 'c']\n *\n * _.toPath('a[0].b.c');\n * // => ['a', '0', 'b', 'c']\n */\nfunction toPath(value) {\n if (isArray(value)) {\n return arrayMap(value, toKey);\n }\n return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));\n}\n\nmodule.exports = toPath;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var arrayEach = require('./_arrayEach'),\n baseCreate = require('./_baseCreate'),\n baseForOwn = require('./_baseForOwn'),\n baseIteratee = require('./_baseIteratee'),\n getPrototype = require('./_getPrototype'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isTypedArray = require('./isTypedArray');\n\n/**\n * An alternative to `_.reduce`; this method transforms `object` to a new\n * `accumulator` object which is the result of running each of its own\n * enumerable string keyed properties thru `iteratee`, with each invocation\n * potentially mutating the `accumulator` object. If `accumulator` is not\n * provided, a new object with the same `[[Prototype]]` will be used. The\n * iteratee is invoked with four arguments: (accumulator, value, key, object).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The custom accumulator value.\n * @returns {*} Returns the accumulated value.\n * @example\n *\n * _.transform([2, 3, 4], function(result, n) {\n * result.push(n *= n);\n * return n % 2 == 0;\n * }, []);\n * // => [4, 9]\n *\n * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] }\n */\nfunction transform(object, iteratee, accumulator) {\n var isArr = isArray(object),\n isArrLike = isArr || isBuffer(object) || isTypedArray(object);\n\n iteratee = baseIteratee(iteratee, 4);\n if (accumulator == null) {\n var Ctor = object && object.constructor;\n if (isArrLike) {\n accumulator = isArr ? new Ctor : [];\n }\n else if (isObject(object)) {\n accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};\n }\n else {\n accumulator = {};\n }\n }\n (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {\n return iteratee(accumulator, value, index, object);\n });\n return accumulator;\n}\n\nmodule.exports = transform;\n","var baseFlatten = require('./_baseFlatten'),\n baseRest = require('./_baseRest'),\n baseUniq = require('./_baseUniq'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\nvar union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\nmodule.exports = union;\n","var baseUniq = require('./_baseUniq');\n\n/**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\nfunction uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n}\n\nmodule.exports = uniq;\n","var baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `comparator` which\n * is invoked to compare elements of `array`. The order of result values is\n * determined by the order they occur in the array.The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.uniqWith(objects, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n */\nfunction uniqWith(array, comparator) {\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n}\n\nmodule.exports = uniqWith;\n","var baseUnset = require('./_baseUnset');\n\n/**\n * Removes the property at `path` of `object`.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n * _.unset(object, 'a[0].b.c');\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n *\n * _.unset(object, ['a', '0', 'b', 'c']);\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n */\nfunction unset(object, path) {\n return object == null ? true : baseUnset(object, path);\n}\n\nmodule.exports = unset;\n","var baseDifference = require('./_baseDifference'),\n baseRest = require('./_baseRest'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\nvar without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n});\n\nmodule.exports = without;\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,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(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\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(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!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,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({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});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){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}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3 value;\nexport const emptyRenderer = () => <> ;\n\nexport const defaultColumn = {\n Cell: defaultRenderer,\n width: 150,\n minWidth: 0,\n maxWidth: Number.MAX_SAFE_INTEGER,\n}\n\nfunction mergeProps(...propList) {\n return propList.reduce((props, next) => {\n const { style, className, ...rest } = next\n\n props = {\n ...props,\n ...rest,\n }\n\n if (style) {\n props.style = props.style\n ? { ...(props.style || {}), ...(style || {}) }\n : style\n }\n\n if (className) {\n props.className = props.className\n ? props.className + ' ' + className\n : className\n }\n\n if (props.className === '') {\n delete props.className\n }\n\n return props\n }, {})\n}\n\nfunction handlePropGetter(prevProps, userProps, meta) {\n // Handle a lambda, pass it the previous props\n if (typeof userProps === 'function') {\n return handlePropGetter({}, userProps(prevProps, meta))\n }\n\n // Handle an array, merge each item as separate props\n if (Array.isArray(userProps)) {\n return mergeProps(prevProps, ...userProps)\n }\n\n // Handle an object by default, merge the two objects\n return mergeProps(prevProps, userProps)\n}\n\nexport const makePropGetter = (hooks, meta = {}) => {\n return (userProps = {}) =>\n [...hooks, userProps].reduce(\n (prev, next) =>\n handlePropGetter(prev, next, {\n ...meta,\n userProps,\n }),\n {}\n )\n}\n\nexport const reduceHooks = (hooks, initial, meta = {}, allowUndefined) =>\n hooks.reduce((prev, next) => {\n const nextValue = next(prev, meta)\n if (process.env.NODE_ENV !== 'production') {\n if (!allowUndefined && typeof nextValue === 'undefined') {\n console.info(next)\n throw new Error(\n 'React Table: A reducer hook ☝️ just returned undefined! This is not allowed.'\n )\n }\n }\n return nextValue\n }, initial)\n\nexport const loopHooks = (hooks, context, meta = {}) =>\n hooks.forEach(hook => {\n const nextValue = hook(context, meta)\n if (process.env.NODE_ENV !== 'production') {\n if (typeof nextValue !== 'undefined') {\n console.info(hook, nextValue)\n throw new Error(\n 'React Table: A loop-type hook ☝️ just returned a value! This is not allowed.'\n )\n }\n }\n })\n\nexport function ensurePluginOrder(plugins, befores, pluginName, afters) {\n if (process.env.NODE_ENV !== 'production' && afters) {\n throw new Error(\n `Defining plugins in the \"after\" section of ensurePluginOrder is no longer supported (see plugin ${pluginName})`\n )\n }\n const pluginIndex = plugins.findIndex(\n plugin => plugin.pluginName === pluginName\n )\n\n if (pluginIndex === -1) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`The plugin \"${pluginName}\" was not found in the plugin list!\nThis usually means you need to need to name your plugin hook by setting the 'pluginName' property of the hook function, eg:\n\n ${pluginName}.pluginName = '${pluginName}'\n`)\n }\n }\n\n befores.forEach(before => {\n const beforeIndex = plugins.findIndex(\n plugin => plugin.pluginName === before\n )\n if (beforeIndex > -1 && beforeIndex > pluginIndex) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `React Table: The ${pluginName} plugin hook must be placed after the ${before} plugin hook!`\n )\n }\n }\n })\n}\n\nexport function functionalUpdate(updater, old) {\n return typeof updater === 'function' ? updater(old) : updater\n}\n\nexport function useGetLatest(obj) {\n const ref = React.useRef()\n ref.current = obj\n\n return React.useCallback(() => ref.current, [])\n}\n\n// SSR has issues with useLayoutEffect still, so use useEffect during SSR\nexport const safeUseLayoutEffect =\n typeof document !== 'undefined' ? React.useLayoutEffect : React.useEffect\n\nexport function useMountedLayoutEffect(fn, deps) {\n const mountedRef = React.useRef(false)\n\n safeUseLayoutEffect(() => {\n if (mountedRef.current) {\n fn()\n }\n mountedRef.current = true\n // eslint-disable-next-line\n }, deps)\n}\n\nexport function useAsyncDebounce(defaultFn, defaultWait = 0) {\n const debounceRef = React.useRef({})\n\n const getDefaultFn = useGetLatest(defaultFn)\n const getDefaultWait = useGetLatest(defaultWait)\n\n return React.useCallback(\n async (...args) => {\n if (!debounceRef.current.promise) {\n debounceRef.current.promise = new Promise((resolve, reject) => {\n debounceRef.current.resolve = resolve\n debounceRef.current.reject = reject\n })\n }\n\n if (debounceRef.current.timeout) {\n clearTimeout(debounceRef.current.timeout)\n }\n\n debounceRef.current.timeout = setTimeout(async () => {\n delete debounceRef.current.timeout\n try {\n debounceRef.current.resolve(await getDefaultFn()(...args))\n } catch (err) {\n debounceRef.current.reject(err)\n } finally {\n delete debounceRef.current.promise\n }\n }, getDefaultWait())\n\n return debounceRef.current.promise\n },\n [getDefaultFn, getDefaultWait]\n )\n}\n\nexport function makeRenderer(instance, column, meta = {}) {\n return (type, userProps = {}) => {\n const Comp = typeof type === 'string' ? column[type] : type\n\n if (typeof Comp === 'undefined') {\n console.info(column)\n throw new Error(renderErr)\n }\n\n return flexRender(Comp, { ...instance, column, ...meta, ...userProps })\n }\n}\n\nexport function flexRender(Comp, props) {\n return isReactComponent(Comp) ? : Comp\n}\n\nfunction isReactComponent(component) {\n return (\n isClassComponent(component) ||\n typeof component === 'function' ||\n isExoticComponent(component)\n )\n}\n\nfunction isClassComponent(component) {\n return (\n typeof component === 'function' &&\n (() => {\n const proto = Object.getPrototypeOf(component)\n return proto.prototype && proto.prototype.isReactComponent\n })()\n )\n}\n\nfunction isExoticComponent(component) {\n return (\n typeof component === 'object' &&\n typeof component.$$typeof === 'symbol' &&\n ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description)\n )\n}\n","import { defaultColumn, emptyRenderer } from './publicUtils'\n\n// Find the depth of the columns\nexport function findMaxDepth(columns, depth = 0) {\n return columns.reduce((prev, curr) => {\n if (curr.columns) {\n return Math.max(prev, findMaxDepth(curr.columns, depth + 1))\n }\n return depth\n }, 0)\n}\n\n// Build the visible columns, headers and flat column list\nexport function linkColumnStructure(columns, parent, depth = 0) {\n return columns.map(column => {\n column = {\n ...column,\n parent,\n depth,\n }\n\n assignColumnAccessor(column)\n\n if (column.columns) {\n column.columns = linkColumnStructure(column.columns, column, depth + 1)\n }\n return column\n })\n}\n\nexport function flattenColumns(columns) {\n return flattenBy(columns, 'columns')\n}\n\nexport function assignColumnAccessor(column) {\n // First check for string accessor\n let { id, accessor, Header } = column\n\n if (typeof accessor === 'string') {\n id = id || accessor\n const accessorPath = accessor.split('.')\n accessor = row => getBy(row, accessorPath)\n }\n\n if (!id && typeof Header === 'string' && Header) {\n id = Header\n }\n\n if (!id && column.columns) {\n console.error(column)\n throw new Error('A column ID (or unique \"Header\" value) is required!')\n }\n\n if (!id) {\n console.error(column)\n throw new Error('A column ID (or string accessor) is required!')\n }\n\n Object.assign(column, {\n id,\n accessor,\n })\n\n return column\n}\n\nexport function decorateColumn(column, userDefaultColumn) {\n if (!userDefaultColumn) {\n throw new Error()\n }\n Object.assign(column, {\n // Make sure there is a fallback header, just in case\n Header: emptyRenderer,\n Footer: emptyRenderer,\n ...defaultColumn,\n ...userDefaultColumn,\n ...column,\n })\n\n Object.assign(column, {\n originalWidth: column.width,\n })\n\n return column\n}\n\n// Build the header groups from the bottom up\nexport function makeHeaderGroups(\n allColumns,\n defaultColumn,\n additionalHeaderProperties = () => ({})\n) {\n const headerGroups = []\n\n let scanColumns = allColumns\n\n let uid = 0\n const getUID = () => uid++\n\n while (scanColumns.length) {\n // The header group we are creating\n const headerGroup = {\n headers: [],\n }\n\n // The parent columns we're going to scan next\n const parentColumns = []\n\n const hasParents = scanColumns.some(d => d.parent)\n\n // Scan each column for parents\n scanColumns.forEach(column => {\n // What is the latest (last) parent column?\n let latestParentColumn = [...parentColumns].reverse()[0]\n\n let newParent\n\n if (hasParents) {\n // If the column has a parent, add it if necessary\n if (column.parent) {\n newParent = {\n ...column.parent,\n originalId: column.parent.id,\n id: `${column.parent.id}_${getUID()}`,\n headers: [column],\n ...additionalHeaderProperties(column),\n }\n } else {\n // If other columns have parents, we'll need to add a place holder if necessary\n const originalId = `${column.id}_placeholder`\n newParent = decorateColumn(\n {\n originalId,\n id: `${column.id}_placeholder_${getUID()}`,\n placeholderOf: column,\n headers: [column],\n ...additionalHeaderProperties(column),\n },\n defaultColumn\n )\n }\n\n // If the resulting parent columns are the same, just add\n // the column and increment the header span\n if (\n latestParentColumn &&\n latestParentColumn.originalId === newParent.originalId\n ) {\n latestParentColumn.headers.push(column)\n } else {\n parentColumns.push(newParent)\n }\n }\n\n headerGroup.headers.push(column)\n })\n\n headerGroups.push(headerGroup)\n\n // Start scanning the parent columns\n scanColumns = parentColumns\n }\n\n return headerGroups.reverse()\n}\n\nconst pathObjCache = new Map()\n\nexport function getBy(obj, path, def) {\n if (!path) {\n return obj\n }\n const cacheKey = typeof path === 'function' ? path : JSON.stringify(path)\n\n const pathObj =\n pathObjCache.get(cacheKey) ||\n (() => {\n const pathObj = makePathArray(path)\n pathObjCache.set(cacheKey, pathObj)\n return pathObj\n })()\n\n let val\n\n try {\n val = pathObj.reduce((cursor, pathPart) => cursor[pathPart], obj)\n } catch (e) {\n // continue regardless of error\n }\n return typeof val !== 'undefined' ? val : def\n}\n\nexport function getFirstDefined(...args) {\n for (let i = 0; i < args.length; i += 1) {\n if (typeof args[i] !== 'undefined') {\n return args[i]\n }\n }\n}\n\nexport function getElementDimensions(element) {\n const rect = element.getBoundingClientRect()\n const style = window.getComputedStyle(element)\n const margins = {\n left: parseInt(style.marginLeft),\n right: parseInt(style.marginRight),\n }\n const padding = {\n left: parseInt(style.paddingLeft),\n right: parseInt(style.paddingRight),\n }\n return {\n left: Math.ceil(rect.left),\n width: Math.ceil(rect.width),\n outerWidth: Math.ceil(\n rect.width + margins.left + margins.right + padding.left + padding.right\n ),\n marginLeft: margins.left,\n marginRight: margins.right,\n paddingLeft: padding.left,\n paddingRight: padding.right,\n scrollWidth: element.scrollWidth,\n }\n}\n\nexport function isFunction(a) {\n if (typeof a === 'function') {\n return a\n }\n}\n\nexport function flattenBy(arr, key) {\n const flat = []\n\n const recurse = arr => {\n arr.forEach(d => {\n if (!d[key]) {\n flat.push(d)\n } else {\n recurse(d[key])\n }\n })\n }\n\n recurse(arr)\n\n return flat\n}\n\nexport function expandRows(\n rows,\n { manualExpandedKey, expanded, expandSubRows = true }\n) {\n const expandedRows = []\n\n const handleRow = (row, addToExpandedRows = true) => {\n row.isExpanded =\n (row.original && row.original[manualExpandedKey]) || expanded[row.id]\n\n row.canExpand = row.subRows && !!row.subRows.length\n\n if (addToExpandedRows) {\n expandedRows.push(row)\n }\n\n if (row.subRows && row.subRows.length && row.isExpanded) {\n row.subRows.forEach(row => handleRow(row, expandSubRows))\n }\n }\n\n rows.forEach(row => handleRow(row))\n\n return expandedRows\n}\n\nexport function getFilterMethod(filter, userFilterTypes, filterTypes) {\n return (\n isFunction(filter) ||\n userFilterTypes[filter] ||\n filterTypes[filter] ||\n filterTypes.text\n )\n}\n\nexport function shouldAutoRemoveFilter(autoRemove, value, column) {\n return autoRemove ? autoRemove(value, column) : typeof value === 'undefined'\n}\n\nexport function unpreparedAccessWarning() {\n throw new Error(\n 'React-Table: You have not called prepareRow(row) one or more rows you are attempting to render.'\n )\n}\n\nlet passiveSupported = null\nexport function passiveEventSupported() {\n // memoize support to avoid adding multiple test events\n if (typeof passiveSupported === 'boolean') return passiveSupported\n\n let supported = false\n try {\n const options = {\n get passive() {\n supported = true\n return false\n },\n }\n\n window.addEventListener('test', null, options)\n window.removeEventListener('test', null, options)\n } catch (err) {\n supported = false\n }\n passiveSupported = supported\n return passiveSupported\n}\n\n//\n\nconst reOpenBracket = /\\[/g\nconst reCloseBracket = /\\]/g\n\nfunction makePathArray(obj) {\n return (\n flattenDeep(obj)\n // remove all periods in parts\n .map(d => String(d).replace('.', '_'))\n // join parts using period\n .join('.')\n // replace brackets with periods\n .replace(reOpenBracket, '.')\n .replace(reCloseBracket, '')\n // split it back out on periods\n .split('.')\n )\n}\n\nfunction flattenDeep(arr, newArr = []) {\n if (!Array.isArray(arr)) {\n newArr.push(arr)\n } else {\n for (let i = 0; i < arr.length; i += 1) {\n flattenDeep(arr[i], newArr)\n }\n }\n return newArr\n}\n","const defaultGetTableProps = props => ({\n role: 'table',\n ...props,\n})\n\nconst defaultGetTableBodyProps = props => ({\n role: 'rowgroup',\n ...props,\n})\n\nconst defaultGetHeaderProps = (props, { column }) => ({\n key: `header_${column.id}`,\n colSpan: column.totalVisibleHeaderCount,\n role: 'columnheader',\n ...props,\n})\n\nconst defaultGetFooterProps = (props, { column }) => ({\n key: `footer_${column.id}`,\n colSpan: column.totalVisibleHeaderCount,\n ...props,\n})\n\nconst defaultGetHeaderGroupProps = (props, { index }) => ({\n key: `headerGroup_${index}`,\n role: 'row',\n ...props,\n})\n\nconst defaultGetFooterGroupProps = (props, { index }) => ({\n key: `footerGroup_${index}`,\n ...props,\n})\n\nconst defaultGetRowProps = (props, { row }) => ({\n key: `row_${row.id}`,\n role: 'row',\n ...props,\n})\n\nconst defaultGetCellProps = (props, { cell }) => ({\n key: `cell_${cell.row.id}_${cell.column.id}`,\n role: 'cell',\n ...props,\n})\n\nexport default function makeDefaultPluginHooks() {\n return {\n useOptions: [],\n stateReducers: [],\n useControlledState: [],\n columns: [],\n columnsDeps: [],\n allColumns: [],\n allColumnsDeps: [],\n accessValue: [],\n materializedColumns: [],\n materializedColumnsDeps: [],\n useInstanceAfterData: [],\n visibleColumns: [],\n visibleColumnsDeps: [],\n headerGroups: [],\n headerGroupsDeps: [],\n useInstanceBeforeDimensions: [],\n useInstance: [],\n prepareRow: [],\n getTableProps: [defaultGetTableProps],\n getTableBodyProps: [defaultGetTableBodyProps],\n getHeaderGroupProps: [defaultGetHeaderGroupProps],\n getFooterGroupProps: [defaultGetFooterGroupProps],\n getHeaderProps: [defaultGetHeaderProps],\n getFooterProps: [defaultGetFooterProps],\n getRowProps: [defaultGetRowProps],\n getCellProps: [defaultGetCellProps],\n useFinalInstance: [],\n }\n}\n","import React from 'react'\n\nimport {\n actions,\n functionalUpdate,\n useGetLatest,\n makePropGetter,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nactions.resetHiddenColumns = 'resetHiddenColumns'\nactions.toggleHideColumn = 'toggleHideColumn'\nactions.setHiddenColumns = 'setHiddenColumns'\nactions.toggleHideAllColumns = 'toggleHideAllColumns'\n\nexport const useColumnVisibility = hooks => {\n hooks.getToggleHiddenProps = [defaultGetToggleHiddenProps]\n hooks.getToggleHideAllColumnsProps = [defaultGetToggleHideAllColumnsProps]\n\n hooks.stateReducers.push(reducer)\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions)\n hooks.headerGroupsDeps.push((deps, { instance }) => [\n ...deps,\n instance.state.hiddenColumns,\n ])\n hooks.useInstance.push(useInstance)\n}\n\nuseColumnVisibility.pluginName = 'useColumnVisibility'\n\nconst defaultGetToggleHiddenProps = (props, { column }) => [\n props,\n {\n onChange: e => {\n column.toggleHidden(!e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: column.isVisible,\n title: 'Toggle Column Visible',\n },\n]\n\nconst defaultGetToggleHideAllColumnsProps = (props, { instance }) => [\n props,\n {\n onChange: e => {\n instance.toggleHideAllColumns(!e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: !instance.allColumnsHidden && !instance.state.hiddenColumns.length,\n title: 'Toggle All Columns Hidden',\n indeterminate:\n !instance.allColumnsHidden && instance.state.hiddenColumns.length,\n },\n]\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n hiddenColumns: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetHiddenColumns) {\n return {\n ...state,\n hiddenColumns: instance.initialState.hiddenColumns || [],\n }\n }\n\n if (action.type === actions.toggleHideColumn) {\n const should =\n typeof action.value !== 'undefined'\n ? action.value\n : !state.hiddenColumns.includes(action.columnId)\n\n const hiddenColumns = should\n ? [...state.hiddenColumns, action.columnId]\n : state.hiddenColumns.filter(d => d !== action.columnId)\n\n return {\n ...state,\n hiddenColumns,\n }\n }\n\n if (action.type === actions.setHiddenColumns) {\n return {\n ...state,\n hiddenColumns: functionalUpdate(action.value, state.hiddenColumns),\n }\n }\n\n if (action.type === actions.toggleHideAllColumns) {\n const shouldAll =\n typeof action.value !== 'undefined'\n ? action.value\n : !state.hiddenColumns.length\n\n return {\n ...state,\n hiddenColumns: shouldAll ? instance.allColumns.map(d => d.id) : [],\n }\n }\n}\n\nfunction useInstanceBeforeDimensions(instance) {\n const {\n headers,\n state: { hiddenColumns },\n } = instance\n\n const isMountedRef = React.useRef(false)\n\n if (!isMountedRef.current) {\n }\n\n const handleColumn = (column, parentVisible) => {\n column.isVisible = parentVisible && !hiddenColumns.includes(column.id)\n\n let totalVisibleHeaderCount = 0\n\n if (column.headers && column.headers.length) {\n column.headers.forEach(\n subColumn =>\n (totalVisibleHeaderCount += handleColumn(subColumn, column.isVisible))\n )\n } else {\n totalVisibleHeaderCount = column.isVisible ? 1 : 0\n }\n\n column.totalVisibleHeaderCount = totalVisibleHeaderCount\n\n return totalVisibleHeaderCount\n }\n\n let totalVisibleHeaderCount = 0\n\n headers.forEach(\n subHeader => (totalVisibleHeaderCount += handleColumn(subHeader, true))\n )\n}\n\nfunction useInstance(instance) {\n const {\n columns,\n flatHeaders,\n dispatch,\n allColumns,\n getHooks,\n state: { hiddenColumns },\n autoResetHiddenColumns = true,\n } = instance\n\n const getInstance = useGetLatest(instance)\n\n const allColumnsHidden = allColumns.length === hiddenColumns.length\n\n const toggleHideColumn = React.useCallback(\n (columnId, value) =>\n dispatch({ type: actions.toggleHideColumn, columnId, value }),\n [dispatch]\n )\n\n const setHiddenColumns = React.useCallback(\n value => dispatch({ type: actions.setHiddenColumns, value }),\n [dispatch]\n )\n\n const toggleHideAllColumns = React.useCallback(\n value => dispatch({ type: actions.toggleHideAllColumns, value }),\n [dispatch]\n )\n\n const getToggleHideAllColumnsProps = makePropGetter(\n getHooks().getToggleHideAllColumnsProps,\n { instance: getInstance() }\n )\n\n flatHeaders.forEach(column => {\n column.toggleHidden = value => {\n dispatch({\n type: actions.toggleHideColumn,\n columnId: column.id,\n value,\n })\n }\n\n column.getToggleHiddenProps = makePropGetter(\n getHooks().getToggleHiddenProps,\n {\n instance: getInstance(),\n column,\n }\n )\n })\n\n const getAutoResetHiddenColumns = useGetLatest(autoResetHiddenColumns)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetHiddenColumns()) {\n dispatch({ type: actions.resetHiddenColumns })\n }\n }, [dispatch, columns])\n\n Object.assign(instance, {\n allColumnsHidden,\n toggleHideColumn,\n setHiddenColumns,\n toggleHideAllColumns,\n getToggleHideAllColumnsProps,\n })\n}\n","import React from 'react'\n\n//\n\nimport {\n linkColumnStructure,\n flattenColumns,\n assignColumnAccessor,\n unpreparedAccessWarning,\n makeHeaderGroups,\n decorateColumn,\n} from '../utils'\n\nimport {\n useGetLatest,\n reduceHooks,\n actions,\n loopHooks,\n makePropGetter,\n makeRenderer,\n} from '../publicUtils'\n\nimport makeDefaultPluginHooks from '../makeDefaultPluginHooks'\n\nimport { useColumnVisibility } from './useColumnVisibility'\n\nconst defaultInitialState = {}\nconst defaultColumnInstance = {}\nconst defaultReducer = (state, action, prevState) => state\nconst defaultGetSubRows = (row, index) => row.subRows || []\nconst defaultGetRowId = (row, index, parent) =>\n `${parent ? [parent.id, index].join('.') : index}`\nconst defaultUseControlledState = d => d\n\nfunction applyDefaults(props) {\n const {\n initialState = defaultInitialState,\n defaultColumn = defaultColumnInstance,\n getSubRows = defaultGetSubRows,\n getRowId = defaultGetRowId,\n stateReducer = defaultReducer,\n useControlledState = defaultUseControlledState,\n ...rest\n } = props\n\n return {\n ...rest,\n initialState,\n defaultColumn,\n getSubRows,\n getRowId,\n stateReducer,\n useControlledState,\n }\n}\n\nexport const useTable = (props, ...plugins) => {\n // Apply default props\n props = applyDefaults(props)\n\n // Add core plugins\n plugins = [useColumnVisibility, ...plugins]\n\n // Create the table instance\n let instanceRef = React.useRef({})\n\n // Create a getter for the instance (helps avoid a lot of potential memory leaks)\n const getInstance = useGetLatest(instanceRef.current)\n\n // Assign the props, plugins and hooks to the instance\n Object.assign(getInstance(), {\n ...props,\n plugins,\n hooks: makeDefaultPluginHooks(),\n })\n\n // Allow plugins to register hooks as early as possible\n plugins.filter(Boolean).forEach(plugin => {\n plugin(getInstance().hooks)\n })\n\n // Consume all hooks and make a getter for them\n const getHooks = useGetLatest(getInstance().hooks)\n getInstance().getHooks = getHooks\n delete getInstance().hooks\n\n // Allow useOptions hooks to modify the options coming into the table\n Object.assign(\n getInstance(),\n reduceHooks(getHooks().useOptions, applyDefaults(props))\n )\n\n const {\n data,\n columns: userColumns,\n initialState,\n defaultColumn,\n getSubRows,\n getRowId,\n stateReducer,\n useControlledState,\n } = getInstance()\n\n // Setup user reducer ref\n const getStateReducer = useGetLatest(stateReducer)\n\n // Build the reducer\n const reducer = React.useCallback(\n (state, action) => {\n // Detect invalid actions\n if (!action.type) {\n console.info({ action })\n throw new Error('Unknown Action 👆')\n }\n\n // Reduce the state from all plugin reducers\n return [\n ...getHooks().stateReducers,\n // Allow the user to add their own state reducer(s)\n ...(Array.isArray(getStateReducer())\n ? getStateReducer()\n : [getStateReducer()]),\n ].reduce(\n (s, handler) => handler(s, action, state, getInstance()) || s,\n state\n )\n },\n [getHooks, getStateReducer, getInstance]\n )\n\n // Start the reducer\n const [reducerState, dispatch] = React.useReducer(reducer, undefined, () =>\n reducer(initialState, { type: actions.init })\n )\n\n // Allow the user to control the final state with hooks\n const state = reduceHooks(\n [...getHooks().useControlledState, useControlledState],\n reducerState,\n { instance: getInstance() }\n )\n\n Object.assign(getInstance(), {\n state,\n dispatch,\n })\n\n // Decorate All the columns\n const columns = React.useMemo(\n () =>\n linkColumnStructure(\n reduceHooks(getHooks().columns, userColumns, {\n instance: getInstance(),\n })\n ),\n [\n getHooks,\n getInstance,\n userColumns,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().columnsDeps, [], { instance: getInstance() }),\n ]\n )\n getInstance().columns = columns\n\n // Get the flat list of all columns and allow hooks to decorate\n // those columns (and trigger this memoization via deps)\n let allColumns = React.useMemo(\n () =>\n reduceHooks(getHooks().allColumns, flattenColumns(columns), {\n instance: getInstance(),\n }).map(assignColumnAccessor),\n [\n columns,\n getHooks,\n getInstance,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().allColumnsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n getInstance().allColumns = allColumns\n\n // Access the row model using initial columns\n const [rows, flatRows, rowsById] = React.useMemo(() => {\n let rows = []\n let flatRows = []\n const rowsById = {}\n\n const allColumnsQueue = [...allColumns]\n\n while (allColumnsQueue.length) {\n const column = allColumnsQueue.shift()\n accessRowsForColumn({\n data,\n rows,\n flatRows,\n rowsById,\n column,\n getRowId,\n getSubRows,\n accessValueHooks: getHooks().accessValue,\n getInstance,\n })\n }\n\n return [rows, flatRows, rowsById]\n }, [allColumns, data, getRowId, getSubRows, getHooks, getInstance])\n\n Object.assign(getInstance(), {\n rows,\n initialRows: [...rows],\n flatRows,\n rowsById,\n // materializedColumns,\n })\n\n loopHooks(getHooks().useInstanceAfterData, getInstance())\n\n // Get the flat list of all columns AFTER the rows\n // have been access, and allow hooks to decorate\n // those columns (and trigger this memoization via deps)\n let visibleColumns = React.useMemo(\n () =>\n reduceHooks(getHooks().visibleColumns, allColumns, {\n instance: getInstance(),\n }).map(d => decorateColumn(d, defaultColumn)),\n [\n getHooks,\n allColumns,\n getInstance,\n defaultColumn,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().visibleColumnsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n\n // Combine new visible columns with all columns\n allColumns = React.useMemo(() => {\n const columns = [...visibleColumns]\n\n allColumns.forEach(column => {\n if (!columns.find(d => d.id === column.id)) {\n columns.push(column)\n }\n })\n\n return columns\n }, [allColumns, visibleColumns])\n getInstance().allColumns = allColumns\n\n if (process.env.NODE_ENV !== 'production') {\n const duplicateColumns = allColumns.filter((column, i) => {\n return allColumns.findIndex(d => d.id === column.id) !== i\n })\n\n if (duplicateColumns.length) {\n console.info(allColumns)\n throw new Error(\n `Duplicate columns were found with ids: \"${duplicateColumns\n .map(d => d.id)\n .join(', ')}\" in the columns array above`\n )\n }\n }\n\n // Make the headerGroups\n const headerGroups = React.useMemo(\n () =>\n reduceHooks(\n getHooks().headerGroups,\n makeHeaderGroups(visibleColumns, defaultColumn),\n getInstance()\n ),\n [\n getHooks,\n visibleColumns,\n defaultColumn,\n getInstance,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().headerGroupsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n getInstance().headerGroups = headerGroups\n\n // Get the first level of headers\n const headers = React.useMemo(\n () => (headerGroups.length ? headerGroups[0].headers : []),\n [headerGroups]\n )\n getInstance().headers = headers\n\n // Provide a flat header list for utilities\n getInstance().flatHeaders = headerGroups.reduce(\n (all, headerGroup) => [...all, ...headerGroup.headers],\n []\n )\n\n loopHooks(getHooks().useInstanceBeforeDimensions, getInstance())\n\n // Filter columns down to visible ones\n const visibleColumnsDep = visibleColumns\n .filter(d => d.isVisible)\n .map(d => d.id)\n .sort()\n .join('_')\n\n visibleColumns = React.useMemo(\n () => visibleColumns.filter(d => d.isVisible),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [visibleColumns, visibleColumnsDep]\n )\n getInstance().visibleColumns = visibleColumns\n\n // Header Visibility is needed by this point\n const [\n totalColumnsMinWidth,\n totalColumnsWidth,\n totalColumnsMaxWidth,\n ] = calculateHeaderWidths(headers)\n\n getInstance().totalColumnsMinWidth = totalColumnsMinWidth\n getInstance().totalColumnsWidth = totalColumnsWidth\n getInstance().totalColumnsMaxWidth = totalColumnsMaxWidth\n\n loopHooks(getHooks().useInstance, getInstance())\n\n // Each materialized header needs to be assigned a render function and other\n // prop getter properties here.\n ;[...getInstance().flatHeaders, ...getInstance().allColumns].forEach(\n column => {\n // Give columns/headers rendering power\n column.render = makeRenderer(getInstance(), column)\n\n // Give columns/headers a default getHeaderProps\n column.getHeaderProps = makePropGetter(getHooks().getHeaderProps, {\n instance: getInstance(),\n column,\n })\n\n // Give columns/headers a default getFooterProps\n column.getFooterProps = makePropGetter(getHooks().getFooterProps, {\n instance: getInstance(),\n column,\n })\n }\n )\n\n getInstance().headerGroups = React.useMemo(\n () =>\n headerGroups.filter((headerGroup, i) => {\n // Filter out any headers and headerGroups that don't have visible columns\n headerGroup.headers = headerGroup.headers.filter(column => {\n const recurse = headers =>\n headers.filter(column => {\n if (column.headers) {\n return recurse(column.headers)\n }\n return column.isVisible\n }).length\n if (column.headers) {\n return recurse(column.headers)\n }\n return column.isVisible\n })\n\n // Give headerGroups getRowProps\n if (headerGroup.headers.length) {\n headerGroup.getHeaderGroupProps = makePropGetter(\n getHooks().getHeaderGroupProps,\n { instance: getInstance(), headerGroup, index: i }\n )\n\n headerGroup.getFooterGroupProps = makePropGetter(\n getHooks().getFooterGroupProps,\n { instance: getInstance(), headerGroup, index: i }\n )\n\n return true\n }\n\n return false\n }),\n [headerGroups, getInstance, getHooks]\n )\n\n getInstance().footerGroups = [...getInstance().headerGroups].reverse()\n\n // The prepareRow function is absolutely necessary and MUST be called on\n // any rows the user wishes to be displayed.\n\n getInstance().prepareRow = React.useCallback(\n row => {\n row.getRowProps = makePropGetter(getHooks().getRowProps, {\n instance: getInstance(),\n row,\n })\n\n // Build the visible cells for each row\n row.allCells = allColumns.map(column => {\n const value = row.values[column.id]\n\n const cell = {\n column,\n row,\n value,\n }\n\n // Give each cell a getCellProps base\n cell.getCellProps = makePropGetter(getHooks().getCellProps, {\n instance: getInstance(),\n cell,\n })\n\n // Give each cell a renderer function (supports multiple renderers)\n cell.render = makeRenderer(getInstance(), column, {\n row,\n cell,\n value,\n })\n\n return cell\n })\n\n row.cells = visibleColumns.map(column =>\n row.allCells.find(cell => cell.column.id === column.id)\n )\n\n // need to apply any row specific hooks (useExpanded requires this)\n loopHooks(getHooks().prepareRow, row, { instance: getInstance() })\n },\n [getHooks, getInstance, allColumns, visibleColumns]\n )\n\n getInstance().getTableProps = makePropGetter(getHooks().getTableProps, {\n instance: getInstance(),\n })\n\n getInstance().getTableBodyProps = makePropGetter(\n getHooks().getTableBodyProps,\n {\n instance: getInstance(),\n }\n )\n\n loopHooks(getHooks().useFinalInstance, getInstance())\n\n return getInstance()\n}\n\nfunction calculateHeaderWidths(headers, left = 0) {\n let sumTotalMinWidth = 0\n let sumTotalWidth = 0\n let sumTotalMaxWidth = 0\n let sumTotalFlexWidth = 0\n\n headers.forEach(header => {\n let { headers: subHeaders } = header\n\n header.totalLeft = left\n\n if (subHeaders && subHeaders.length) {\n const [\n totalMinWidth,\n totalWidth,\n totalMaxWidth,\n totalFlexWidth,\n ] = calculateHeaderWidths(subHeaders, left)\n header.totalMinWidth = totalMinWidth\n header.totalWidth = totalWidth\n header.totalMaxWidth = totalMaxWidth\n header.totalFlexWidth = totalFlexWidth\n } else {\n header.totalMinWidth = header.minWidth\n header.totalWidth = Math.min(\n Math.max(header.minWidth, header.width),\n header.maxWidth\n )\n header.totalMaxWidth = header.maxWidth\n header.totalFlexWidth = header.canResize ? header.totalWidth : 0\n }\n if (header.isVisible) {\n left += header.totalWidth\n sumTotalMinWidth += header.totalMinWidth\n sumTotalWidth += header.totalWidth\n sumTotalMaxWidth += header.totalMaxWidth\n sumTotalFlexWidth += header.totalFlexWidth\n }\n })\n\n return [sumTotalMinWidth, sumTotalWidth, sumTotalMaxWidth, sumTotalFlexWidth]\n}\n\nfunction accessRowsForColumn({\n data,\n rows,\n flatRows,\n rowsById,\n column,\n getRowId,\n getSubRows,\n accessValueHooks,\n getInstance,\n}) {\n // Access the row's data column-by-column\n // We do it this way so we can incrementally add materialized\n // columns after the first pass and avoid excessive looping\n const accessRow = (originalRow, rowIndex, depth = 0, parent, parentRows) => {\n // Keep the original reference around\n const original = originalRow\n\n const id = getRowId(originalRow, rowIndex, parent)\n\n let row = rowsById[id]\n\n // If the row hasn't been created, let's make it\n if (!row) {\n row = {\n id,\n original,\n index: rowIndex,\n depth,\n cells: [{}], // This is a dummy cell\n }\n\n // Override common array functions (and the dummy cell's getCellProps function)\n // to show an error if it is accessed without calling prepareRow\n row.cells.map = unpreparedAccessWarning\n row.cells.filter = unpreparedAccessWarning\n row.cells.forEach = unpreparedAccessWarning\n row.cells[0].getCellProps = unpreparedAccessWarning\n\n // Create the cells and values\n row.values = {}\n\n // Push this row into the parentRows array\n parentRows.push(row)\n // Keep track of every row in a flat array\n flatRows.push(row)\n // Also keep track of every row by its ID\n rowsById[id] = row\n\n // Get the original subrows\n row.originalSubRows = getSubRows(originalRow, rowIndex)\n\n // Then recursively access them\n if (row.originalSubRows) {\n const subRows = []\n row.originalSubRows.forEach((d, i) =>\n accessRow(d, i, depth + 1, row, subRows)\n )\n // Keep the new subRows array on the row\n row.subRows = subRows\n }\n } else if (row.subRows) {\n // If the row exists, then it's already been accessed\n // Keep recursing, but don't worry about passing the\n // accumlator array (those rows already exist)\n row.originalSubRows.forEach((d, i) => accessRow(d, i, depth + 1, row))\n }\n\n // If the column has an accessor, use it to get a value\n if (column.accessor) {\n row.values[column.id] = column.accessor(\n originalRow,\n rowIndex,\n row,\n parentRows,\n data\n )\n }\n\n // Allow plugins to manipulate the column value\n row.values[column.id] = reduceHooks(\n accessValueHooks,\n row.values[column.id],\n {\n row,\n column,\n instance: getInstance(),\n },\n true\n )\n }\n\n data.forEach((originalRow, rowIndex) =>\n accessRow(originalRow, rowIndex, 0, undefined, rows)\n )\n}\n","import React from 'react'\n\nimport { expandRows } from '../utils'\n\nimport {\n useGetLatest,\n actions,\n useMountedLayoutEffect,\n makePropGetter,\n ensurePluginOrder,\n} from '../publicUtils'\n\n// Actions\nactions.resetExpanded = 'resetExpanded'\nactions.toggleRowExpanded = 'toggleRowExpanded'\nactions.toggleAllRowsExpanded = 'toggleAllRowsExpanded'\n\nexport const useExpanded = hooks => {\n hooks.getToggleAllRowsExpandedProps = [defaultGetToggleAllRowsExpandedProps]\n hooks.getToggleRowExpandedProps = [defaultGetToggleRowExpandedProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseExpanded.pluginName = 'useExpanded'\n\nconst defaultGetToggleAllRowsExpandedProps = (props, { instance }) => [\n props,\n {\n onClick: e => {\n instance.toggleAllRowsExpanded()\n },\n style: {\n cursor: 'pointer',\n },\n title: 'Toggle All Rows Expanded',\n },\n]\n\nconst defaultGetToggleRowExpandedProps = (props, { row }) => [\n props,\n {\n onClick: () => {\n row.toggleRowExpanded()\n },\n style: {\n cursor: 'pointer',\n },\n title: 'Toggle Row Expanded',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n expanded: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetExpanded) {\n return {\n ...state,\n expanded: instance.initialState.expanded || {},\n }\n }\n\n if (action.type === actions.toggleAllRowsExpanded) {\n const { value } = action\n const { rowsById } = instance\n\n const isAllRowsExpanded =\n Object.keys(rowsById).length === Object.keys(state.expanded).length\n\n const expandAll = typeof value !== 'undefined' ? value : !isAllRowsExpanded\n\n if (expandAll) {\n const expanded = {}\n\n Object.keys(rowsById).forEach(rowId => {\n expanded[rowId] = true\n })\n\n return {\n ...state,\n expanded,\n }\n }\n\n return {\n ...state,\n expanded: {},\n }\n }\n\n if (action.type === actions.toggleRowExpanded) {\n const { id, value: setExpanded } = action\n const exists = state.expanded[id]\n\n const shouldExist =\n typeof setExpanded !== 'undefined' ? setExpanded : !exists\n\n if (!exists && shouldExist) {\n return {\n ...state,\n expanded: {\n ...state.expanded,\n [id]: true,\n },\n }\n } else if (exists && !shouldExist) {\n const { [id]: _, ...rest } = state.expanded\n return {\n ...state,\n expanded: rest,\n }\n } else {\n return state\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n rowsById,\n manualExpandedKey = 'expanded',\n paginateExpandedRows = true,\n expandSubRows = true,\n autoResetExpanded = true,\n getHooks,\n plugins,\n state: { expanded },\n dispatch,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useSortBy', 'useGroupBy', 'usePivotColumns', 'useGlobalFilter'],\n 'useExpanded'\n )\n\n const getAutoResetExpanded = useGetLatest(autoResetExpanded)\n\n let isAllRowsExpanded = Boolean(\n Object.keys(rowsById).length && Object.keys(expanded).length\n )\n\n if (isAllRowsExpanded) {\n if (Object.keys(rowsById).some(id => !expanded[id])) {\n isAllRowsExpanded = false\n }\n }\n\n // Bypass any effects from firing when this changes\n useMountedLayoutEffect(() => {\n if (getAutoResetExpanded()) {\n dispatch({ type: actions.resetExpanded })\n }\n }, [dispatch, data])\n\n const toggleRowExpanded = React.useCallback(\n (id, value) => {\n dispatch({ type: actions.toggleRowExpanded, id, value })\n },\n [dispatch]\n )\n\n const toggleAllRowsExpanded = React.useCallback(\n value => dispatch({ type: actions.toggleAllRowsExpanded, value }),\n [dispatch]\n )\n\n const expandedRows = React.useMemo(() => {\n if (paginateExpandedRows) {\n return expandRows(rows, { manualExpandedKey, expanded, expandSubRows })\n }\n\n return rows\n }, [paginateExpandedRows, rows, manualExpandedKey, expanded, expandSubRows])\n\n const expandedDepth = React.useMemo(() => findExpandedDepth(expanded), [\n expanded,\n ])\n\n const getInstance = useGetLatest(instance)\n\n const getToggleAllRowsExpandedProps = makePropGetter(\n getHooks().getToggleAllRowsExpandedProps,\n { instance: getInstance() }\n )\n\n Object.assign(instance, {\n preExpandedRows: rows,\n expandedRows,\n rows: expandedRows,\n expandedDepth,\n isAllRowsExpanded,\n toggleRowExpanded,\n toggleAllRowsExpanded,\n getToggleAllRowsExpandedProps,\n })\n}\n\nfunction prepareRow(row, { instance: { getHooks }, instance }) {\n row.toggleRowExpanded = set => instance.toggleRowExpanded(row.id, set)\n\n row.getToggleRowExpandedProps = makePropGetter(\n getHooks().getToggleRowExpandedProps,\n {\n instance,\n row,\n }\n )\n}\n\nfunction findExpandedDepth(expanded) {\n let maxDepth = 0\n\n Object.keys(expanded).forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n}\n","export const text = (rows, ids, filterValue) => {\n rows = rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return String(rowValue)\n .toLowerCase()\n .includes(String(filterValue).toLowerCase())\n })\n })\n return rows\n}\n\ntext.autoRemove = val => !val\n\nexport const exactText = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined\n ? String(rowValue).toLowerCase() === String(filterValue).toLowerCase()\n : true\n })\n })\n}\n\nexactText.autoRemove = val => !val\n\nexport const exactTextCase = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined\n ? String(rowValue) === String(filterValue)\n : true\n })\n })\n}\n\nexactTextCase.autoRemove = val => !val\n\nexport const includes = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue.includes(filterValue)\n })\n })\n}\n\nincludes.autoRemove = val => !val || !val.length\n\nexport const includesAll = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return (\n rowValue &&\n rowValue.length &&\n filterValue.every(val => rowValue.includes(val))\n )\n })\n })\n}\n\nincludesAll.autoRemove = val => !val || !val.length\n\nexport const includesSome = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return (\n rowValue &&\n rowValue.length &&\n filterValue.some(val => rowValue.includes(val))\n )\n })\n })\n}\n\nincludesSome.autoRemove = val => !val || !val.length\n\nexport const includesValue = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return filterValue.includes(rowValue)\n })\n })\n}\n\nincludesValue.autoRemove = val => !val || !val.length\n\nexport const exact = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue === filterValue\n })\n })\n}\n\nexact.autoRemove = val => typeof val === 'undefined'\n\nexport const equals = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n // eslint-disable-next-line eqeqeq\n return rowValue == filterValue\n })\n })\n}\n\nequals.autoRemove = val => val == null\n\nexport const between = (rows, ids, filterValue) => {\n let [min, max] = filterValue || []\n\n min = typeof min === 'number' ? min : -Infinity\n max = typeof max === 'number' ? max : Infinity\n\n if (min > max) {\n const temp = min\n min = max\n max = temp\n }\n\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue >= min && rowValue <= max\n })\n })\n}\n\nbetween.autoRemove = val =>\n !val || (typeof val[0] !== 'number' && typeof val[1] !== 'number')\n","import React from 'react'\n\nimport {\n getFirstDefined,\n getFilterMethod,\n shouldAutoRemoveFilter,\n} from '../utils'\n\nimport {\n actions,\n useGetLatest,\n functionalUpdate,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport * as filterTypes from '../filterTypes'\n\n// Actions\nactions.resetFilters = 'resetFilters'\nactions.setFilter = 'setFilter'\nactions.setAllFilters = 'setAllFilters'\n\nexport const useFilters = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseFilters.pluginName = 'useFilters'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n filters: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetFilters) {\n return {\n ...state,\n filters: instance.initialState.filters || [],\n }\n }\n\n if (action.type === actions.setFilter) {\n const { columnId, filterValue } = action\n const { allColumns, filterTypes: userFilterTypes } = instance\n\n const column = allColumns.find(d => d.id === columnId)\n\n if (!column) {\n throw new Error(\n `React-Table: Could not find a column with id: ${columnId}`\n )\n }\n\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n const previousfilter = state.filters.find(d => d.id === columnId)\n\n const newFilter = functionalUpdate(\n filterValue,\n previousfilter && previousfilter.value\n )\n\n //\n if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter, column)) {\n return {\n ...state,\n filters: state.filters.filter(d => d.id !== columnId),\n }\n }\n\n if (previousfilter) {\n return {\n ...state,\n filters: state.filters.map(d => {\n if (d.id === columnId) {\n return { id: columnId, value: newFilter }\n }\n return d\n }),\n }\n }\n\n return {\n ...state,\n filters: [...state.filters, { id: columnId, value: newFilter }],\n }\n }\n\n if (action.type === actions.setAllFilters) {\n const { filters } = action\n const { allColumns, filterTypes: userFilterTypes } = instance\n\n return {\n ...state,\n // Filter out undefined values\n filters: functionalUpdate(filters, state.filters).filter(filter => {\n const column = allColumns.find(d => d.id === filter.id)\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (\n shouldAutoRemoveFilter(filterMethod.autoRemove, filter.value, column)\n ) {\n return false\n }\n return true\n }),\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n filterTypes: userFilterTypes,\n manualFilters,\n defaultCanFilter = false,\n disableFilters,\n state: { filters },\n dispatch,\n autoResetFilters = true,\n } = instance\n\n const setFilter = React.useCallback(\n (columnId, filterValue) => {\n dispatch({ type: actions.setFilter, columnId, filterValue })\n },\n [dispatch]\n )\n\n const setAllFilters = React.useCallback(\n filters => {\n dispatch({\n type: actions.setAllFilters,\n filters,\n })\n },\n [dispatch]\n )\n\n allColumns.forEach(column => {\n const {\n id,\n accessor,\n defaultCanFilter: columnDefaultCanFilter,\n disableFilters: columnDisableFilters,\n } = column\n\n // Determine if a column is filterable\n column.canFilter = accessor\n ? getFirstDefined(\n columnDisableFilters === true ? false : undefined,\n disableFilters === true ? false : undefined,\n true\n )\n : getFirstDefined(columnDefaultCanFilter, defaultCanFilter, false)\n\n // Provide the column a way of updating the filter value\n column.setFilter = val => setFilter(column.id, val)\n\n // Provide the current filter value to the column for\n // convenience\n const found = filters.find(d => d.id === id)\n column.filterValue = found && found.value\n })\n\n const [\n filteredRows,\n filteredFlatRows,\n filteredRowsById,\n ] = React.useMemo(() => {\n if (manualFilters || !filters.length) {\n return [rows, flatRows, rowsById]\n }\n\n const filteredFlatRows = []\n const filteredRowsById = {}\n\n // Filters top level and nested rows\n const filterRows = (rows, depth = 0) => {\n let filteredRows = rows\n\n filteredRows = filters.reduce(\n (filteredSoFar, { id: columnId, value: filterValue }) => {\n // Find the filters column\n const column = allColumns.find(d => d.id === columnId)\n\n if (!column) {\n return filteredSoFar\n }\n\n if (depth === 0) {\n column.preFilteredRows = filteredSoFar\n }\n\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (!filterMethod) {\n console.warn(\n `Could not find a valid 'column.filter' for column with the ID: ${column.id}.`\n )\n return filteredSoFar\n }\n\n // Pass the rows, id, filterValue and column to the filterMethod\n // to get the filtered rows back\n column.filteredRows = filterMethod(\n filteredSoFar,\n [columnId],\n filterValue\n )\n\n return column.filteredRows\n },\n rows\n )\n\n // Apply the filter to any subRows\n // We technically could do this recursively in the above loop,\n // but that would severely hinder the API for the user, since they\n // would be required to do that recursion in some scenarios\n filteredRows.forEach(row => {\n filteredFlatRows.push(row)\n filteredRowsById[row.id] = row\n if (!row.subRows) {\n return\n }\n\n row.subRows =\n row.subRows && row.subRows.length > 0\n ? filterRows(row.subRows, depth + 1)\n : row.subRows\n })\n\n return filteredRows\n }\n\n return [filterRows(rows), filteredFlatRows, filteredRowsById]\n }, [\n manualFilters,\n filters,\n rows,\n flatRows,\n rowsById,\n allColumns,\n userFilterTypes,\n ])\n\n React.useMemo(() => {\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = allColumns.filter(\n column => !filters.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n nonFilteredColumns.forEach(column => {\n column.preFilteredRows = filteredRows\n column.filteredRows = filteredRows\n })\n }, [filteredRows, filters, allColumns])\n\n const getAutoResetFilters = useGetLatest(autoResetFilters)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetFilters()) {\n dispatch({ type: actions.resetFilters })\n }\n }, [dispatch, manualFilters ? null : data])\n\n Object.assign(instance, {\n preFilteredRows: rows,\n preFilteredFlatRows: flatRows,\n preFilteredRowsById: rowsById,\n filteredRows,\n filteredFlatRows,\n filteredRowsById,\n rows: filteredRows,\n flatRows: filteredFlatRows,\n rowsById: filteredRowsById,\n setFilter,\n setAllFilters,\n })\n}\n","import React from 'react'\n\nimport {\n getFilterMethod,\n shouldAutoRemoveFilter,\n getFirstDefined,\n} from '../utils'\n\nimport {\n actions,\n useMountedLayoutEffect,\n functionalUpdate,\n useGetLatest,\n} from '../publicUtils'\n\nimport * as filterTypes from '../filterTypes'\n\n// Actions\nactions.resetGlobalFilter = 'resetGlobalFilter'\nactions.setGlobalFilter = 'setGlobalFilter'\n\nexport const useGlobalFilter = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseGlobalFilter.pluginName = 'useGlobalFilter'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.resetGlobalFilter) {\n return {\n ...state,\n globalFilter: instance.initialState.globalFilter || undefined,\n }\n }\n\n if (action.type === actions.setGlobalFilter) {\n const { filterValue } = action\n const { userFilterTypes } = instance\n\n const filterMethod = getFilterMethod(\n instance.globalFilter,\n userFilterTypes || {},\n filterTypes\n )\n\n const newFilter = functionalUpdate(filterValue, state.globalFilter)\n\n //\n if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter)) {\n const { globalFilter, ...stateWithoutGlobalFilter } = state\n return stateWithoutGlobalFilter\n }\n\n return {\n ...state,\n globalFilter: newFilter,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n filterTypes: userFilterTypes,\n globalFilter,\n manualGlobalFilter,\n state: { globalFilter: globalFilterValue },\n dispatch,\n autoResetGlobalFilter = true,\n disableGlobalFilter,\n } = instance\n\n const setGlobalFilter = React.useCallback(\n filterValue => {\n dispatch({ type: actions.setGlobalFilter, filterValue })\n },\n [dispatch]\n )\n\n // TODO: Create a filter cache for incremental high speed multi-filtering\n // This gets pretty complicated pretty fast, since you have to maintain a\n // cache for each row group (top-level rows, and each row's recursive subrows)\n // This would make multi-filtering a lot faster though. Too far?\n\n const [\n globalFilteredRows,\n globalFilteredFlatRows,\n globalFilteredRowsById,\n ] = React.useMemo(() => {\n if (manualGlobalFilter || typeof globalFilterValue === 'undefined') {\n return [rows, flatRows, rowsById]\n }\n\n const filteredFlatRows = []\n const filteredRowsById = {}\n\n const filterMethod = getFilterMethod(\n globalFilter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (!filterMethod) {\n console.warn(`Could not find a valid 'globalFilter' option.`)\n return rows\n }\n\n allColumns.forEach(column => {\n const { disableGlobalFilter: columnDisableGlobalFilter } = column\n\n column.canFilter = getFirstDefined(\n columnDisableGlobalFilter === true ? false : undefined,\n disableGlobalFilter === true ? false : undefined,\n true\n )\n })\n\n const filterableColumns = allColumns.filter(c => c.canFilter === true)\n\n // Filters top level and nested rows\n const filterRows = filteredRows => {\n filteredRows = filterMethod(\n filteredRows,\n filterableColumns.map(d => d.id),\n globalFilterValue\n )\n\n filteredRows.forEach(row => {\n filteredFlatRows.push(row)\n filteredRowsById[row.id] = row\n\n row.subRows =\n row.subRows && row.subRows.length\n ? filterRows(row.subRows)\n : row.subRows\n })\n\n return filteredRows\n }\n\n return [filterRows(rows), filteredFlatRows, filteredRowsById]\n }, [\n manualGlobalFilter,\n globalFilterValue,\n globalFilter,\n userFilterTypes,\n allColumns,\n rows,\n flatRows,\n rowsById,\n disableGlobalFilter,\n ])\n\n const getAutoResetGlobalFilter = useGetLatest(autoResetGlobalFilter)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetGlobalFilter()) {\n dispatch({ type: actions.resetGlobalFilter })\n }\n }, [dispatch, manualGlobalFilter ? null : data])\n\n Object.assign(instance, {\n preGlobalFilteredRows: rows,\n preGlobalFilteredFlatRows: flatRows,\n preGlobalFilteredRowsById: rowsById,\n globalFilteredRows,\n globalFilteredFlatRows,\n globalFilteredRowsById,\n rows: globalFilteredRows,\n flatRows: globalFilteredFlatRows,\n rowsById: globalFilteredRowsById,\n setGlobalFilter,\n disableGlobalFilter,\n })\n}\n","export function sum(values, aggregatedValues) {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return aggregatedValues.reduce(\n (sum, next) => sum + (typeof next === 'number' ? next : 0),\n 0\n )\n}\n\nexport function min(values) {\n let min = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n min = Math.min(min, value)\n }\n })\n\n return min\n}\n\nexport function max(values) {\n let max = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n max = Math.max(max, value)\n }\n })\n\n return max\n}\n\nexport function minMax(values) {\n let min = values[0] || 0\n let max = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n min = Math.min(min, value)\n max = Math.max(max, value)\n }\n })\n\n return `${min}..${max}`\n}\n\nexport function average(values) {\n return sum(null, values) / values.length\n}\n\nexport function median(values) {\n if (!values.length) {\n return null\n }\n\n const mid = Math.floor(values.length / 2)\n const nums = [...values].sort((a, b) => a - b)\n return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2\n}\n\nexport function unique(values) {\n return Array.from(new Set(values).values())\n}\n\nexport function uniqueCount(values) {\n return new Set(values).size\n}\n\nexport function count(values) {\n return values.length\n}\n","import React from 'react'\n\nimport * as aggregations from '../aggregations'\n\nimport { getFirstDefined, flattenBy } from '../utils'\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nconst emptyArray = []\nconst emptyObject = {}\n\n// Actions\nactions.resetGroupBy = 'resetGroupBy'\nactions.setGroupBy = 'setGroupBy'\nactions.toggleGroupBy = 'toggleGroupBy'\n\nexport const useGroupBy = hooks => {\n hooks.getGroupByToggleProps = [defaultGetGroupByToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.visibleColumnsDeps.push((deps, { instance }) => [\n ...deps,\n instance.state.groupBy,\n ])\n hooks.visibleColumns.push(visibleColumns)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseGroupBy.pluginName = 'useGroupBy'\n\nconst defaultGetGroupByToggleProps = (props, { header }) => [\n props,\n {\n onClick: header.canGroupBy\n ? e => {\n e.persist()\n header.toggleGroupBy()\n }\n : undefined,\n style: {\n cursor: header.canGroupBy ? 'pointer' : undefined,\n },\n title: 'Toggle GroupBy',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n groupBy: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetGroupBy) {\n return {\n ...state,\n groupBy: instance.initialState.groupBy || [],\n }\n }\n\n if (action.type === actions.setGroupBy) {\n const { value } = action\n return {\n ...state,\n groupBy: value,\n }\n }\n\n if (action.type === actions.toggleGroupBy) {\n const { columnId, value: setGroupBy } = action\n\n const resolvedGroupBy =\n typeof setGroupBy !== 'undefined'\n ? setGroupBy\n : !state.groupBy.includes(columnId)\n\n if (resolvedGroupBy) {\n return {\n ...state,\n groupBy: [...state.groupBy, columnId],\n }\n }\n\n return {\n ...state,\n groupBy: state.groupBy.filter(d => d !== columnId),\n }\n }\n}\n\nfunction visibleColumns(\n columns,\n {\n instance: {\n state: { groupBy },\n },\n }\n) {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n\n const groupByColumns = groupBy\n .map(g => columns.find(col => col.id === g))\n .filter(Boolean)\n\n const nonGroupByColumns = columns.filter(col => !groupBy.includes(col.id))\n\n columns = [...groupByColumns, ...nonGroupByColumns]\n\n columns.forEach(column => {\n column.isGrouped = groupBy.includes(column.id)\n column.groupedIndex = groupBy.indexOf(column.id)\n })\n\n return columns\n}\n\nconst defaultUserAggregations = {}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n flatHeaders,\n groupByFn = defaultGroupByFn,\n manualGroupBy,\n aggregations: userAggregations = defaultUserAggregations,\n plugins,\n state: { groupBy },\n dispatch,\n autoResetGroupBy = true,\n disableGroupBy,\n defaultCanGroupBy,\n getHooks,\n } = instance\n\n ensurePluginOrder(plugins, ['useColumnOrder', 'useFilters'], 'useGroupBy')\n\n const getInstance = useGetLatest(instance)\n\n allColumns.forEach(column => {\n const {\n accessor,\n defaultGroupBy: defaultColumnGroupBy,\n disableGroupBy: columnDisableGroupBy,\n } = column\n\n column.canGroupBy = accessor\n ? getFirstDefined(\n column.canGroupBy,\n columnDisableGroupBy === true ? false : undefined,\n disableGroupBy === true ? false : undefined,\n true\n )\n : getFirstDefined(\n column.canGroupBy,\n defaultColumnGroupBy,\n defaultCanGroupBy,\n false\n )\n\n if (column.canGroupBy) {\n column.toggleGroupBy = () => instance.toggleGroupBy(column.id)\n }\n\n column.Aggregated = column.Aggregated || column.Cell\n })\n\n const toggleGroupBy = React.useCallback(\n (columnId, value) => {\n dispatch({ type: actions.toggleGroupBy, columnId, value })\n },\n [dispatch]\n )\n\n const setGroupBy = React.useCallback(\n value => {\n dispatch({ type: actions.setGroupBy, value })\n },\n [dispatch]\n )\n\n flatHeaders.forEach(header => {\n header.getGroupByToggleProps = makePropGetter(\n getHooks().getGroupByToggleProps,\n { instance: getInstance(), header }\n )\n })\n\n const [\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n ] = React.useMemo(() => {\n if (manualGroupBy || !groupBy.length) {\n return [\n rows,\n flatRows,\n rowsById,\n emptyArray,\n emptyObject,\n flatRows,\n rowsById,\n ]\n }\n\n // Ensure that the list of filtered columns exist\n const existingGroupBy = groupBy.filter(g =>\n allColumns.find(col => col.id === g)\n )\n\n // Find the columns that can or are aggregating\n // Uses each column to aggregate rows into a single value\n const aggregateRowsToValues = (leafRows, groupedRows, depth) => {\n const values = {}\n\n allColumns.forEach(column => {\n // Don't aggregate columns that are in the groupBy\n if (existingGroupBy.includes(column.id)) {\n values[column.id] = groupedRows[0]\n ? groupedRows[0].values[column.id]\n : null\n return\n }\n\n // Aggregate the values\n let aggregateFn =\n typeof column.aggregate === 'function'\n ? column.aggregate\n : userAggregations[column.aggregate] ||\n aggregations[column.aggregate]\n\n if (aggregateFn) {\n // Get the columnValues to aggregate\n const groupedValues = groupedRows.map(row => row.values[column.id])\n\n // Get the columnValues to aggregate\n const leafValues = leafRows.map(row => {\n let columnValue = row.values[column.id]\n\n if (!depth && column.aggregateValue) {\n const aggregateValueFn =\n typeof column.aggregateValue === 'function'\n ? column.aggregateValue\n : userAggregations[column.aggregateValue] ||\n aggregations[column.aggregateValue]\n\n if (!aggregateValueFn) {\n console.info({ column })\n throw new Error(\n `React Table: Invalid column.aggregateValue option for column listed above`\n )\n }\n\n columnValue = aggregateValueFn(columnValue, row, column)\n }\n return columnValue\n })\n\n values[column.id] = aggregateFn(leafValues, groupedValues)\n } else if (column.aggregate) {\n console.info({ column })\n throw new Error(\n `React Table: Invalid column.aggregate option for column listed above`\n )\n } else {\n values[column.id] = null\n }\n })\n\n return values\n }\n\n let groupedFlatRows = []\n const groupedRowsById = {}\n const onlyGroupedFlatRows = []\n const onlyGroupedRowsById = {}\n const nonGroupedFlatRows = []\n const nonGroupedRowsById = {}\n\n // Recursively group the data\n const groupUpRecursively = (rows, depth = 0, parentId) => {\n // This is the last level, just return the rows\n if (depth === existingGroupBy.length) {\n return rows.map((row) => ({ ...row, depth }))\n }\n\n const columnId = existingGroupBy[depth]\n\n // Group the rows together for this level\n let rowGroupsMap = groupByFn(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Object.entries(rowGroupsMap).map(\n ([groupByVal, groupedRows], index) => {\n let id = `${columnId}:${groupByVal}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, 'leafRows')\n : groupedRows\n\n const values = aggregateRowsToValues(leafRows, groupedRows, depth)\n\n const row = {\n id,\n isGrouped: true,\n groupByID: columnId,\n groupByVal,\n values,\n subRows,\n leafRows,\n depth,\n index,\n }\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow)\n onlyGroupedRowsById[subRow.id] = subRow\n } else {\n nonGroupedFlatRows.push(subRow)\n nonGroupedRowsById[subRow.id] = subRow\n }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rows)\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow)\n onlyGroupedRowsById[subRow.id] = subRow\n } else {\n nonGroupedFlatRows.push(subRow)\n nonGroupedRowsById[subRow.id] = subRow\n }\n })\n\n // Assign the new data\n return [\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n ]\n }, [\n manualGroupBy,\n groupBy,\n rows,\n flatRows,\n rowsById,\n allColumns,\n userAggregations,\n groupByFn,\n ])\n\n const getAutoResetGroupBy = useGetLatest(autoResetGroupBy)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetGroupBy()) {\n dispatch({ type: actions.resetGroupBy })\n }\n }, [dispatch, manualGroupBy ? null : data])\n\n Object.assign(instance, {\n preGroupedRows: rows,\n preGroupedFlatRow: flatRows,\n preGroupedRowsById: rowsById,\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n toggleGroupBy,\n setGroupBy,\n })\n}\n\nfunction prepareRow(row) {\n row.allCells.forEach(cell => {\n // Grouped cells are in the groupBy and the pivot cell for the row\n cell.isGrouped = cell.column.isGrouped && cell.column.id === row.groupByID\n // Placeholder cells are any columns in the groupBy that are not grouped\n cell.isPlaceholder = !cell.isGrouped && cell.column.isGrouped\n // Aggregated cells are not grouped, not repeated, but still have subRows\n cell.isAggregated =\n !cell.isGrouped && !cell.isPlaceholder && row.subRows?.length\n })\n}\n\nexport function defaultGroupByFn(rows, columnId) {\n return rows.reduce((prev, row, i) => {\n // TODO: Might want to implement a key serializer here so\n // irregular column values can still be grouped if needed?\n const resKey = `${row.values[columnId]}`\n prev[resKey] = Array.isArray(prev[resKey]) ? prev[resKey] : []\n prev[resKey].push(row)\n return prev\n }, {})\n}\n","const reSplitAlphaNumeric = /([0-9]+)/gm\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nexport const alphanumeric = (rowA, rowB, columnId) => {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n // Force to strings (or \"\" for unsupported types)\n a = toString(a)\n b = toString(b)\n\n // Split on number groups, but keep the delimiter\n // Then remove falsey split values\n a = a.split(reSplitAlphaNumeric).filter(Boolean)\n b = b.split(reSplitAlphaNumeric).filter(Boolean)\n\n // While\n while (a.length && b.length) {\n let aa = a.shift()\n let bb = b.shift()\n\n const an = parseInt(aa, 10)\n const bn = parseInt(bb, 10)\n\n const combo = [an, bn].sort()\n\n // Both are string\n if (isNaN(combo[0])) {\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n // One is a string, one is a number\n if (isNaN(combo[1])) {\n return isNaN(an) ? -1 : 1\n }\n\n // Both are numbers\n if (an > bn) {\n return 1\n }\n if (bn > an) {\n return -1\n }\n }\n\n return a.length - b.length\n}\nexport function datetime(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n a = a.getTime()\n b = b.getTime()\n\n return compareBasic(a, b)\n}\n\nexport function basic(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n return compareBasic(a, b)\n}\n\nexport function string(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n a = a.split('').filter(Boolean)\n b = b.split('').filter(Boolean)\n\n while (a.length && b.length) {\n let aa = a.shift()\n let bb = b.shift()\n\n let alower = aa.toLowerCase()\n let blower = bb.toLowerCase()\n\n // Case insensitive comparison until characters match\n if (alower > blower) {\n return 1\n }\n if (blower > alower) {\n return -1\n }\n // If lowercase characters are identical\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n return a.length - b.length\n}\n\nexport function number(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n const replaceNonNumeric = /[^0-9.]/gi\n\n a = Number(String(a).replace(replaceNonNumeric, ''))\n b = Number(String(b).replace(replaceNonNumeric, ''))\n\n return compareBasic(a, b)\n}\n\n// Utils\n\nfunction compareBasic(a, b) {\n return a === b ? 0 : a > b ? 1 : -1\n}\n\nfunction getRowValuesByColumnID(row1, row2, columnId) {\n return [row1.values[columnId], row2.values[columnId]]\n}\n\nfunction toString(a) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return ''\n }\n return String(a)\n }\n if (typeof a === 'string') {\n return a\n }\n return ''\n}\n","import React from 'react'\n\nimport {\n actions,\n ensurePluginOrder,\n defaultColumn,\n makePropGetter,\n useGetLatest,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport { getFirstDefined, isFunction } from '../utils'\n\nimport * as sortTypes from '../sortTypes'\n\n// Actions\nactions.resetSortBy = 'resetSortBy'\nactions.setSortBy = 'setSortBy'\nactions.toggleSortBy = 'toggleSortBy'\nactions.clearSortBy = 'clearSortBy'\n\ndefaultColumn.sortType = 'alphanumeric'\ndefaultColumn.sortDescFirst = false\n\nexport const useSortBy = hooks => {\n hooks.getSortByToggleProps = [defaultGetSortByToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseSortBy.pluginName = 'useSortBy'\n\nconst defaultGetSortByToggleProps = (props, { instance, column }) => {\n const { isMultiSortEvent = e => e.shiftKey } = instance\n\n return [\n props,\n {\n onClick: column.canSort\n ? e => {\n e.persist()\n column.toggleSortBy(\n undefined,\n !instance.disableMultiSort && isMultiSortEvent(e)\n )\n }\n : undefined,\n style: {\n cursor: column.canSort ? 'pointer' : undefined,\n },\n title: column.canSort ? 'Toggle SortBy' : undefined,\n },\n ]\n}\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n sortBy: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetSortBy) {\n return {\n ...state,\n sortBy: instance.initialState.sortBy || [],\n }\n }\n\n if (action.type === actions.clearSortBy) {\n const { sortBy } = state\n const newSortBy = sortBy.filter(d => d.id !== action.columnId)\n\n return {\n ...state,\n sortBy: newSortBy,\n }\n }\n\n if (action.type === actions.setSortBy) {\n const { sortBy } = action\n return {\n ...state,\n sortBy,\n }\n }\n\n if (action.type === actions.toggleSortBy) {\n const { columnId, desc, multi } = action\n\n const {\n allColumns,\n disableMultiSort,\n disableSortRemove,\n disableMultiRemove,\n maxMultiSortColCount = Number.MAX_SAFE_INTEGER,\n } = instance\n\n const { sortBy } = state\n\n // Find the column for this columnId\n const column = allColumns.find(d => d.id === columnId)\n const { sortDescFirst } = column\n\n // Find any existing sortBy for this column\n const existingSortBy = sortBy.find(d => d.id === columnId)\n const existingIndex = sortBy.findIndex(d => d.id === columnId)\n const hasDescDefined = typeof desc !== 'undefined' && desc !== null\n\n let newSortBy = []\n\n // What should we do with this sort action?\n let sortAction\n\n if (!disableMultiSort && multi) {\n if (existingSortBy) {\n sortAction = 'toggle'\n } else {\n sortAction = 'add'\n }\n } else {\n // Normal mode\n if (existingIndex !== sortBy.length - 1 || sortBy.length !== 1) {\n sortAction = 'replace'\n } else if (existingSortBy) {\n sortAction = 'toggle'\n } else {\n sortAction = 'replace'\n }\n }\n\n // Handle toggle states that will remove the sortBy\n if (\n sortAction === 'toggle' && // Must be toggling\n !disableSortRemove && // If disableSortRemove, disable in general\n !hasDescDefined && // Must not be setting desc\n (multi ? !disableMultiRemove : true) && // If multi, don't allow if disableMultiRemove\n ((existingSortBy && // Finally, detect if it should indeed be removed\n existingSortBy.desc &&\n !sortDescFirst) ||\n (!existingSortBy.desc && sortDescFirst))\n ) {\n sortAction = 'remove'\n }\n\n if (sortAction === 'replace') {\n newSortBy = [\n {\n id: columnId,\n desc: hasDescDefined ? desc : sortDescFirst,\n },\n ]\n } else if (sortAction === 'add') {\n newSortBy = [\n ...sortBy,\n {\n id: columnId,\n desc: hasDescDefined ? desc : sortDescFirst,\n },\n ]\n // Take latest n columns\n newSortBy.splice(0, newSortBy.length - maxMultiSortColCount)\n } else if (sortAction === 'toggle') {\n // This flips (or sets) the\n newSortBy = sortBy.map(d => {\n if (d.id === columnId) {\n return {\n ...d,\n desc: hasDescDefined ? desc : !existingSortBy.desc,\n }\n }\n return d\n })\n } else if (sortAction === 'remove') {\n newSortBy = sortBy.filter(d => d.id !== columnId)\n }\n\n return {\n ...state,\n sortBy: newSortBy,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n allColumns,\n orderByFn = defaultOrderByFn,\n sortTypes: userSortTypes,\n manualSortBy,\n defaultCanSort,\n disableSortBy,\n flatHeaders,\n state: { sortBy },\n dispatch,\n plugins,\n getHooks,\n autoResetSortBy = true,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useFilters', 'useGlobalFilter', 'useGroupBy', 'usePivotColumns'],\n 'useSortBy'\n )\n\n const setSortBy = React.useCallback(\n sortBy => {\n dispatch({ type: actions.setSortBy, sortBy })\n },\n [dispatch]\n )\n\n // Updates sorting based on a columnId, desc flag and multi flag\n const toggleSortBy = React.useCallback(\n (columnId, desc, multi) => {\n dispatch({ type: actions.toggleSortBy, columnId, desc, multi })\n },\n [dispatch]\n )\n\n // use reference to avoid memory leak in #1608\n const getInstance = useGetLatest(instance)\n\n // Add the getSortByToggleProps method to columns and headers\n flatHeaders.forEach(column => {\n const {\n accessor,\n canSort: defaultColumnCanSort,\n disableSortBy: columnDisableSortBy,\n id,\n } = column\n\n const canSort = accessor\n ? getFirstDefined(\n columnDisableSortBy === true ? false : undefined,\n disableSortBy === true ? false : undefined,\n true\n )\n : getFirstDefined(defaultCanSort, defaultColumnCanSort, false)\n\n column.canSort = canSort\n\n if (column.canSort) {\n column.toggleSortBy = (desc, multi) =>\n toggleSortBy(column.id, desc, multi)\n\n column.clearSortBy = () => {\n dispatch({ type: actions.clearSortBy, columnId: column.id })\n }\n }\n\n column.getSortByToggleProps = makePropGetter(\n getHooks().getSortByToggleProps,\n {\n instance: getInstance(),\n column,\n }\n )\n\n const columnSort = sortBy.find(d => d.id === id)\n column.isSorted = !!columnSort\n column.sortedIndex = sortBy.findIndex(d => d.id === id)\n column.isSortedDesc = column.isSorted ? columnSort.desc : undefined\n })\n\n const [sortedRows, sortedFlatRows] = React.useMemo(() => {\n if (manualSortBy || !sortBy.length) {\n return [rows, flatRows]\n }\n\n const sortedFlatRows = []\n\n // Filter out sortBys that correspond to non existing columns\n const availableSortBy = sortBy.filter(sort =>\n allColumns.find(col => col.id === sort.id)\n )\n\n const sortData = rows => {\n // Use the orderByFn to compose multiple sortBy's together.\n // This will also perform a stable sorting using the row index\n // if needed.\n const sortedData = orderByFn(\n rows,\n availableSortBy.map(sort => {\n // Support custom sorting methods for each column\n const column = allColumns.find(d => d.id === sort.id)\n\n if (!column) {\n throw new Error(\n `React-Table: Could not find a column with id: ${sort.id} while sorting`\n )\n }\n\n const { sortType } = column\n\n // Look up sortBy functions in this order:\n // column function\n // column string lookup on user sortType\n // column string lookup on built-in sortType\n // default function\n // default string lookup on user sortType\n // default string lookup on built-in sortType\n const sortMethod =\n isFunction(sortType) ||\n (userSortTypes || {})[sortType] ||\n sortTypes[sortType]\n\n if (!sortMethod) {\n throw new Error(\n `React-Table: Could not find a valid sortType of '${sortType}' for column '${sort.id}'.`\n )\n }\n\n // Return the correct sortFn.\n // This function should always return in ascending order\n return (a, b) => sortMethod(a, b, sort.id, sort.desc)\n }),\n // Map the directions\n availableSortBy.map(sort => {\n // Detect and use the sortInverted option\n const column = allColumns.find(d => d.id === sort.id)\n\n if (column && column.sortInverted) {\n return sort.desc\n }\n\n return !sort.desc\n })\n )\n\n // If there are sub-rows, sort them\n sortedData.forEach(row => {\n sortedFlatRows.push(row)\n if (!row.subRows || row.subRows.length === 0) {\n return\n }\n row.subRows = sortData(row.subRows)\n })\n\n return sortedData\n }\n\n return [sortData(rows), sortedFlatRows]\n }, [\n manualSortBy,\n sortBy,\n rows,\n flatRows,\n allColumns,\n orderByFn,\n userSortTypes,\n ])\n\n const getAutoResetSortBy = useGetLatest(autoResetSortBy)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSortBy()) {\n dispatch({ type: actions.resetSortBy })\n }\n }, [manualSortBy ? null : data])\n\n Object.assign(instance, {\n preSortedRows: rows,\n preSortedFlatRows: flatRows,\n sortedRows,\n sortedFlatRows,\n rows: sortedRows,\n flatRows: sortedFlatRows,\n setSortBy,\n toggleSortBy,\n })\n}\n\nexport function defaultOrderByFn(arr, funcs, dirs) {\n return [...arr].sort((rowA, rowB) => {\n for (let i = 0; i < funcs.length; i += 1) {\n const sortFn = funcs[i]\n const desc = dirs[i] === false || dirs[i] === 'desc'\n const sortInt = sortFn(rowA, rowB)\n if (sortInt !== 0) {\n return desc ? -sortInt : sortInt\n }\n }\n return dirs[0] ? rowA.index - rowB.index : rowB.index - rowA.index\n })\n}\n","import React from 'react'\n\n//\n\nimport {\n actions,\n ensurePluginOrder,\n functionalUpdate,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nimport { expandRows } from '../utils'\n\nconst pluginName = 'usePagination'\n\n// Actions\nactions.resetPage = 'resetPage'\nactions.gotoPage = 'gotoPage'\nactions.setPageSize = 'setPageSize'\n\nexport const usePagination = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nusePagination.pluginName = pluginName\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n pageSize: 10,\n pageIndex: 0,\n ...state,\n }\n }\n\n if (action.type === actions.resetPage) {\n return {\n ...state,\n pageIndex: instance.initialState.pageIndex || 0,\n }\n }\n\n if (action.type === actions.gotoPage) {\n const { pageCount, page } = instance\n const newPageIndex = functionalUpdate(action.pageIndex, state.pageIndex)\n let canNavigate = false\n\n if (newPageIndex > state.pageIndex) {\n // next page\n canNavigate =\n pageCount === -1\n ? page.length >= state.pageSize\n : newPageIndex < pageCount\n } else if (newPageIndex < state.pageIndex) {\n // prev page\n canNavigate = newPageIndex > -1\n }\n\n if (!canNavigate) {\n return state\n }\n\n return {\n ...state,\n pageIndex: newPageIndex,\n }\n }\n\n if (action.type === actions.setPageSize) {\n const { pageSize } = action\n const topRowIndex = state.pageSize * state.pageIndex\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...state,\n pageIndex,\n pageSize,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n rows,\n autoResetPage = true,\n manualExpandedKey = 'expanded',\n plugins,\n pageCount: userPageCount,\n paginateExpandedRows = true,\n expandSubRows = true,\n state: {\n pageSize,\n pageIndex,\n expanded,\n globalFilter,\n filters,\n groupBy,\n sortBy,\n },\n dispatch,\n data,\n manualPagination,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useGlobalFilter', 'useFilters', 'useGroupBy', 'useSortBy', 'useExpanded'],\n 'usePagination'\n )\n\n const getAutoResetPage = useGetLatest(autoResetPage)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetPage()) {\n dispatch({ type: actions.resetPage })\n }\n }, [\n dispatch,\n manualPagination ? null : data,\n globalFilter,\n filters,\n groupBy,\n sortBy,\n ])\n\n const pageCount = manualPagination\n ? userPageCount\n : Math.ceil(rows.length / pageSize)\n\n const pageOptions = React.useMemo(\n () =>\n pageCount > 0\n ? [...new Array(pageCount)].fill(null).map((d, i) => i)\n : [],\n [pageCount]\n )\n\n const page = React.useMemo(() => {\n let page\n\n if (manualPagination) {\n page = rows\n } else {\n const pageStart = pageSize * pageIndex\n const pageEnd = pageStart + pageSize\n\n page = rows.slice(pageStart, pageEnd)\n }\n\n if (paginateExpandedRows) {\n return page\n }\n\n return expandRows(page, { manualExpandedKey, expanded, expandSubRows })\n }, [\n expandSubRows,\n expanded,\n manualExpandedKey,\n manualPagination,\n pageIndex,\n pageSize,\n paginateExpandedRows,\n rows,\n ])\n\n const canPreviousPage = pageIndex > 0\n const canNextPage =\n pageCount === -1 ? page.length >= pageSize : pageIndex < pageCount - 1\n\n const gotoPage = React.useCallback(\n pageIndex => {\n dispatch({ type: actions.gotoPage, pageIndex })\n },\n [dispatch]\n )\n\n const previousPage = React.useCallback(() => {\n return gotoPage(old => old - 1)\n }, [gotoPage])\n\n const nextPage = React.useCallback(() => {\n return gotoPage(old => old + 1)\n }, [gotoPage])\n\n const setPageSize = React.useCallback(\n pageSize => {\n dispatch({ type: actions.setPageSize, pageSize })\n },\n [dispatch]\n )\n\n Object.assign(instance, {\n pageOptions,\n pageCount,\n page,\n canPreviousPage,\n canNextPage,\n gotoPage,\n previousPage,\n nextPage,\n setPageSize,\n })\n}\n","/* istanbul ignore file */\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nimport { flattenColumns, getFirstDefined } from '../utils'\n\n// Actions\nactions.resetPivot = 'resetPivot'\nactions.togglePivot = 'togglePivot'\n\nexport const _UNSTABLE_usePivotColumns = hooks => {\n hooks.getPivotToggleProps = [defaultGetPivotToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstanceAfterData.push(useInstanceAfterData)\n hooks.allColumns.push(allColumns)\n hooks.accessValue.push(accessValue)\n hooks.materializedColumns.push(materializedColumns)\n hooks.materializedColumnsDeps.push(materializedColumnsDeps)\n hooks.visibleColumns.push(visibleColumns)\n hooks.visibleColumnsDeps.push(visibleColumnsDeps)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\n_UNSTABLE_usePivotColumns.pluginName = 'usePivotColumns'\n\nconst defaultPivotColumns = []\n\nconst defaultGetPivotToggleProps = (props, { header }) => [\n props,\n {\n onClick: header.canPivot\n ? e => {\n e.persist()\n header.togglePivot()\n }\n : undefined,\n style: {\n cursor: header.canPivot ? 'pointer' : undefined,\n },\n title: 'Toggle Pivot',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n pivotColumns: defaultPivotColumns,\n ...state,\n }\n }\n\n if (action.type === actions.resetPivot) {\n return {\n ...state,\n pivotColumns: instance.initialState.pivotColumns || defaultPivotColumns,\n }\n }\n\n if (action.type === actions.togglePivot) {\n const { columnId, value: setPivot } = action\n\n const resolvedPivot =\n typeof setPivot !== 'undefined'\n ? setPivot\n : !state.pivotColumns.includes(columnId)\n\n if (resolvedPivot) {\n return {\n ...state,\n pivotColumns: [...state.pivotColumns, columnId],\n }\n }\n\n return {\n ...state,\n pivotColumns: state.pivotColumns.filter(d => d !== columnId),\n }\n }\n}\n\nfunction useInstanceAfterData(instance) {\n instance.allColumns.forEach(column => {\n column.isPivotSource = instance.state.pivotColumns.includes(column.id)\n })\n}\n\nfunction allColumns(columns, { instance }) {\n columns.forEach(column => {\n column.isPivotSource = instance.state.pivotColumns.includes(column.id)\n column.uniqueValues = new Set()\n })\n return columns\n}\n\nfunction accessValue(value, { column }) {\n if (column.uniqueValues && typeof value !== 'undefined') {\n column.uniqueValues.add(value)\n }\n return value\n}\n\nfunction materializedColumns(materialized, { instance }) {\n const { allColumns, state } = instance\n\n if (!state.pivotColumns.length || !state.groupBy || !state.groupBy.length) {\n return materialized\n }\n\n const pivotColumns = state.pivotColumns\n .map(id => allColumns.find(d => d.id === id))\n .filter(Boolean)\n\n const sourceColumns = allColumns.filter(\n d =>\n !d.isPivotSource &&\n !state.groupBy.includes(d.id) &&\n !state.pivotColumns.includes(d.id)\n )\n\n const buildPivotColumns = (depth = 0, parent, pivotFilters = []) => {\n const pivotColumn = pivotColumns[depth]\n\n if (!pivotColumn) {\n return sourceColumns.map(sourceColumn => {\n // TODO: We could offer support here for renesting pivoted\n // columns inside copies of their header groups. For now,\n // that seems like it would be (1) overkill on nesting, considering\n // you already get nesting for every pivot level and (2)\n // really hard. :)\n\n return {\n ...sourceColumn,\n canPivot: false,\n isPivoted: true,\n parent,\n depth: depth,\n id: `${parent ? `${parent.id}.${sourceColumn.id}` : sourceColumn.id}`,\n accessor: (originalRow, i, row) => {\n if (pivotFilters.every(filter => filter(row))) {\n return row.values[sourceColumn.id]\n }\n },\n }\n })\n }\n\n const uniqueValues = Array.from(pivotColumn.uniqueValues).sort()\n\n return uniqueValues.map(uniqueValue => {\n const columnGroup = {\n ...pivotColumn,\n Header:\n pivotColumn.PivotHeader || typeof pivotColumn.header === 'string'\n ? `${pivotColumn.Header}: ${uniqueValue}`\n : uniqueValue,\n isPivotGroup: true,\n parent,\n depth,\n id: parent\n ? `${parent.id}.${pivotColumn.id}.${uniqueValue}`\n : `${pivotColumn.id}.${uniqueValue}`,\n pivotValue: uniqueValue,\n }\n\n columnGroup.columns = buildPivotColumns(depth + 1, columnGroup, [\n ...pivotFilters,\n row => row.values[pivotColumn.id] === uniqueValue,\n ])\n\n return columnGroup\n })\n }\n\n const newMaterialized = flattenColumns(buildPivotColumns())\n\n return [...materialized, ...newMaterialized]\n}\n\nfunction materializedColumnsDeps(\n deps,\n {\n instance: {\n state: { pivotColumns, groupBy },\n },\n }\n) {\n return [...deps, pivotColumns, groupBy]\n}\n\nfunction visibleColumns(visibleColumns, { instance: { state } }) {\n visibleColumns = visibleColumns.filter(d => !d.isPivotSource)\n\n if (state.pivotColumns.length && state.groupBy && state.groupBy.length) {\n visibleColumns = visibleColumns.filter(\n column => column.isGrouped || column.isPivoted\n )\n }\n\n return visibleColumns\n}\n\nfunction visibleColumnsDeps(deps, { instance }) {\n return [...deps, instance.state.pivotColumns, instance.state.groupBy]\n}\n\nfunction useInstance(instance) {\n const {\n columns,\n allColumns,\n flatHeaders,\n // pivotFn = defaultPivotFn,\n // manualPivot,\n getHooks,\n plugins,\n dispatch,\n autoResetPivot = true,\n manaulPivot,\n disablePivot,\n defaultCanPivot,\n } = instance\n\n ensurePluginOrder(plugins, ['useGroupBy'], 'usePivotColumns')\n\n const getInstance = useGetLatest(instance)\n\n allColumns.forEach(column => {\n const {\n accessor,\n defaultPivot: defaultColumnPivot,\n disablePivot: columnDisablePivot,\n } = column\n\n column.canPivot = accessor\n ? getFirstDefined(\n column.canPivot,\n columnDisablePivot === true ? false : undefined,\n disablePivot === true ? false : undefined,\n true\n )\n : getFirstDefined(\n column.canPivot,\n defaultColumnPivot,\n defaultCanPivot,\n false\n )\n\n if (column.canPivot) {\n column.togglePivot = () => instance.togglePivot(column.id)\n }\n\n column.Aggregated = column.Aggregated || column.Cell\n })\n\n const togglePivot = (columnId, value) => {\n dispatch({ type: actions.togglePivot, columnId, value })\n }\n\n flatHeaders.forEach(header => {\n header.getPivotToggleProps = makePropGetter(\n getHooks().getPivotToggleProps,\n {\n instance: getInstance(),\n header,\n }\n )\n })\n\n const getAutoResetPivot = useGetLatest(autoResetPivot)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetPivot()) {\n dispatch({ type: actions.resetPivot })\n }\n }, [dispatch, manaulPivot ? null : columns])\n\n Object.assign(instance, {\n togglePivot,\n })\n}\n\nfunction prepareRow(row) {\n row.allCells.forEach(cell => {\n // Grouped cells are in the pivotColumns and the pivot cell for the row\n cell.isPivoted = cell.column.isPivoted\n })\n}\n","import React from 'react'\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useGetLatest,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nconst pluginName = 'useRowSelect'\n\n// Actions\nactions.resetSelectedRows = 'resetSelectedRows'\nactions.toggleAllRowsSelected = 'toggleAllRowsSelected'\nactions.toggleRowSelected = 'toggleRowSelected'\nactions.toggleAllPageRowsSelected = 'toggleAllPageRowsSelected'\n\nexport const useRowSelect = hooks => {\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps]\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps]\n hooks.getToggleAllPageRowsSelectedProps = [\n defaultGetToggleAllPageRowsSelectedProps,\n ]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseRowSelect.pluginName = pluginName\n\nconst defaultGetToggleRowSelectedProps = (props, { instance, row }) => {\n const { manualRowSelectedKey = 'isSelected' } = instance\n let checked = false\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true\n } else {\n checked = row.isSelected\n }\n\n return [\n props,\n {\n onChange: e => {\n row.toggleRowSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked,\n title: 'Toggle Row Selected',\n indeterminate: row.isSomeSelected,\n },\n ]\n}\n\nconst defaultGetToggleAllRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange: e => {\n instance.toggleAllRowsSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: instance.isAllRowsSelected,\n title: 'Toggle All Rows Selected',\n indeterminate: Boolean(\n !instance.isAllRowsSelected &&\n Object.keys(instance.state.selectedRowIds).length\n ),\n },\n]\n\nconst defaultGetToggleAllPageRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: instance.isAllPageRowsSelected,\n title: 'Toggle All Current Page Rows Selected',\n indeterminate: Boolean(\n !instance.isAllPageRowsSelected &&\n instance.page.some(({ id }) => instance.state.selectedRowIds[id])\n ),\n },\n]\n\n// eslint-disable-next-line max-params\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n selectedRowIds: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetSelectedRows) {\n return {\n ...state,\n selectedRowIds: instance.initialState.selectedRowIds || {},\n }\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n const { value: setSelected } = action\n const {\n isAllRowsSelected,\n rowsById,\n nonGroupedRowsById = rowsById,\n } = instance\n\n const selectAll =\n typeof setSelected !== 'undefined' ? setSelected : !isAllRowsSelected\n\n // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n const selectedRowIds = Object.assign({}, state.selectedRowIds)\n\n if (selectAll) {\n Object.keys(nonGroupedRowsById).forEach(rowId => {\n selectedRowIds[rowId] = true\n })\n } else {\n Object.keys(nonGroupedRowsById).forEach(rowId => {\n delete selectedRowIds[rowId]\n })\n }\n\n return {\n ...state,\n selectedRowIds,\n }\n }\n\n if (action.type === actions.toggleRowSelected) {\n const { id, value: setSelected } = action\n const { rowsById, selectSubRows = true, getSubRows } = instance\n const isSelected = state.selectedRowIds[id]\n const shouldExist =\n typeof setSelected !== 'undefined' ? setSelected : !isSelected\n\n if (isSelected === shouldExist) {\n return state\n }\n\n const newSelectedRowIds = { ...state.selectedRowIds }\n\n const handleRowById = id => {\n const row = rowsById[id]\n\n if (row) {\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[id] = true\n } else {\n delete newSelectedRowIds[id]\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n return getSubRows(row).forEach(row => handleRowById(row.id))\n }\n }\n }\n\n handleRowById(id)\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n }\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n const { value: setSelected } = action\n const {\n page,\n rowsById,\n selectSubRows = true,\n isAllPageRowsSelected,\n getSubRows,\n } = instance\n\n const selectAll =\n typeof setSelected !== 'undefined' ? setSelected : !isAllPageRowsSelected\n\n const newSelectedRowIds = { ...state.selectedRowIds }\n\n const handleRowById = id => {\n const row = rowsById[id]\n\n if (!row.isGrouped) {\n if (selectAll) {\n newSelectedRowIds[id] = true\n } else {\n delete newSelectedRowIds[id]\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n return getSubRows(row).forEach(row => handleRowById(row.id))\n }\n }\n\n page.forEach(row => handleRowById(row.id))\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n }\n }\n return state\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n getHooks,\n plugins,\n rowsById,\n nonGroupedRowsById = rowsById,\n autoResetSelectedRows = true,\n state: { selectedRowIds },\n selectSubRows = true,\n dispatch,\n page,\n getSubRows,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useFilters', 'useGroupBy', 'useSortBy', 'useExpanded', 'usePagination'],\n 'useRowSelect'\n )\n\n const selectedFlatRows = React.useMemo(() => {\n const selectedFlatRows = []\n\n rows.forEach(row => {\n const isSelected = selectSubRows\n ? getRowIsSelected(row, selectedRowIds, getSubRows)\n : !!selectedRowIds[row.id]\n row.isSelected = !!isSelected\n row.isSomeSelected = isSelected === null\n\n if (isSelected) {\n selectedFlatRows.push(row)\n }\n })\n\n return selectedFlatRows\n }, [rows, selectSubRows, selectedRowIds, getSubRows])\n\n let isAllRowsSelected = Boolean(\n Object.keys(nonGroupedRowsById).length && Object.keys(selectedRowIds).length\n )\n\n let isAllPageRowsSelected = isAllRowsSelected\n\n if (isAllRowsSelected) {\n if (Object.keys(nonGroupedRowsById).some(id => !selectedRowIds[id])) {\n isAllRowsSelected = false\n }\n }\n\n if (!isAllRowsSelected) {\n if (page && page.length && page.some(({ id }) => !selectedRowIds[id])) {\n isAllPageRowsSelected = false\n }\n }\n\n const getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSelectedRows()) {\n dispatch({ type: actions.resetSelectedRows })\n }\n }, [dispatch, data])\n\n const toggleAllRowsSelected = React.useCallback(\n value => dispatch({ type: actions.toggleAllRowsSelected, value }),\n [dispatch]\n )\n\n const toggleAllPageRowsSelected = React.useCallback(\n value => dispatch({ type: actions.toggleAllPageRowsSelected, value }),\n [dispatch]\n )\n\n const toggleRowSelected = React.useCallback(\n (id, value) => dispatch({ type: actions.toggleRowSelected, id, value }),\n [dispatch]\n )\n\n const getInstance = useGetLatest(instance)\n\n const getToggleAllRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllRowsSelectedProps,\n { instance: getInstance() }\n )\n\n const getToggleAllPageRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllPageRowsSelectedProps,\n { instance: getInstance() }\n )\n\n Object.assign(instance, {\n selectedFlatRows,\n isAllRowsSelected,\n isAllPageRowsSelected,\n toggleRowSelected,\n toggleAllRowsSelected,\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected,\n })\n}\n\nfunction prepareRow(row, { instance }) {\n row.toggleRowSelected = set => instance.toggleRowSelected(row.id, set)\n\n row.getToggleRowSelectedProps = makePropGetter(\n instance.getHooks().getToggleRowSelectedProps,\n { instance: instance, row }\n )\n}\n\nfunction getRowIsSelected(row, selectedRowIds, getSubRows) {\n if (selectedRowIds[row.id]) {\n return true\n }\n\n const subRows = getSubRows(row)\n\n if (subRows && subRows.length) {\n let allChildrenSelected = true\n let someSelected = false\n\n subRows.forEach(subRow => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return\n }\n\n if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {\n someSelected = true\n } else {\n allChildrenSelected = false\n }\n })\n return allChildrenSelected ? true : someSelected ? null : false\n }\n\n return false\n}\n","import React from 'react'\n\nimport {\n actions,\n functionalUpdate,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nconst defaultInitialRowStateAccessor = row => ({})\nconst defaultInitialCellStateAccessor = cell => ({})\n\n// Actions\nactions.setRowState = 'setRowState'\nactions.setCellState = 'setCellState'\nactions.resetRowState = 'resetRowState'\n\nexport const useRowState = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseRowState.pluginName = 'useRowState'\n\nfunction reducer(state, action, previousState, instance) {\n const {\n initialRowStateAccessor = defaultInitialRowStateAccessor,\n initialCellStateAccessor = defaultInitialCellStateAccessor,\n rowsById,\n } = instance\n\n if (action.type === actions.init) {\n return {\n rowState: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetRowState) {\n return {\n ...state,\n rowState: instance.initialState.rowState || {},\n }\n }\n\n if (action.type === actions.setRowState) {\n const { rowId, value } = action\n\n const oldRowState =\n typeof state.rowState[rowId] !== 'undefined'\n ? state.rowState[rowId]\n : initialRowStateAccessor(rowsById[rowId])\n\n return {\n ...state,\n rowState: {\n ...state.rowState,\n [rowId]: functionalUpdate(value, oldRowState),\n },\n }\n }\n\n if (action.type === actions.setCellState) {\n const { rowId, columnId, value } = action\n\n const oldRowState =\n typeof state.rowState[rowId] !== 'undefined'\n ? state.rowState[rowId]\n : initialRowStateAccessor(rowsById[rowId])\n\n const oldCellState =\n typeof oldRowState?.cellState?.[columnId] !== 'undefined'\n ? oldRowState.cellState[columnId]\n : initialCellStateAccessor(\n rowsById[rowId]?.cells?.find(cell => cell.column.id === columnId)\n )\n\n return {\n ...state,\n rowState: {\n ...state.rowState,\n [rowId]: {\n ...oldRowState,\n cellState: {\n ...(oldRowState.cellState || {}),\n [columnId]: functionalUpdate(value, oldCellState),\n },\n },\n },\n }\n }\n}\n\nfunction useInstance(instance) {\n const { autoResetRowState = true, data, dispatch } = instance\n\n const setRowState = React.useCallback(\n (rowId, value) =>\n dispatch({\n type: actions.setRowState,\n rowId,\n value,\n }),\n [dispatch]\n )\n\n const setCellState = React.useCallback(\n (rowId, columnId, value) =>\n dispatch({\n type: actions.setCellState,\n rowId,\n columnId,\n value,\n }),\n [dispatch]\n )\n\n const getAutoResetRowState = useGetLatest(autoResetRowState)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetRowState()) {\n dispatch({ type: actions.resetRowState })\n }\n }, [data])\n\n Object.assign(instance, {\n setRowState,\n setCellState,\n })\n}\n\nfunction prepareRow(row, { instance }) {\n const {\n initialRowStateAccessor = defaultInitialRowStateAccessor,\n initialCellStateAccessor = defaultInitialCellStateAccessor,\n state: { rowState },\n } = instance\n\n if (row) {\n row.state =\n typeof rowState[row.id] !== 'undefined'\n ? rowState[row.id]\n : initialRowStateAccessor(row)\n\n row.setState = updater => {\n return instance.setRowState(row.id, updater)\n }\n\n row.cells.forEach(cell => {\n if (!row.state.cellState) {\n row.state.cellState = {}\n }\n\n cell.state =\n typeof row.state.cellState[cell.column.id] !== 'undefined'\n ? row.state.cellState[cell.column.id]\n : initialCellStateAccessor(cell)\n\n cell.setState = updater => {\n return instance.setCellState(row.id, cell.column.id, updater)\n }\n })\n }\n}\n","import React from 'react'\n\nimport { functionalUpdate, actions } from '../publicUtils'\n\n// Actions\nactions.resetColumnOrder = 'resetColumnOrder'\nactions.setColumnOrder = 'setColumnOrder'\n\nexport const useColumnOrder = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.visibleColumnsDeps.push((deps, { instance }) => {\n return [...deps, instance.state.columnOrder]\n })\n hooks.visibleColumns.push(visibleColumns)\n hooks.useInstance.push(useInstance)\n}\n\nuseColumnOrder.pluginName = 'useColumnOrder'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n columnOrder: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetColumnOrder) {\n return {\n ...state,\n columnOrder: instance.initialState.columnOrder || [],\n }\n }\n\n if (action.type === actions.setColumnOrder) {\n return {\n ...state,\n columnOrder: functionalUpdate(action.columnOrder, state.columnOrder),\n }\n }\n}\n\nfunction visibleColumns(\n columns,\n {\n instance: {\n state: { columnOrder },\n },\n }\n) {\n // If there is no order, return the normal columns\n if (!columnOrder || !columnOrder.length) {\n return columns\n }\n\n const columnOrderCopy = [...columnOrder]\n\n // If there is an order, make a copy of the columns\n const columnsCopy = [...columns]\n\n // And make a new ordered array of the columns\n const columnsInOrder = []\n\n // Loop over the columns and place them in order into the new array\n while (columnsCopy.length && columnOrderCopy.length) {\n const targetColumnId = columnOrderCopy.shift()\n const foundIndex = columnsCopy.findIndex(d => d.id === targetColumnId)\n if (foundIndex > -1) {\n columnsInOrder.push(columnsCopy.splice(foundIndex, 1)[0])\n }\n }\n\n // If there are any columns left, add them to the end\n return [...columnsInOrder, ...columnsCopy]\n}\n\nfunction useInstance(instance) {\n const { dispatch } = instance\n\n instance.setColumnOrder = React.useCallback(\n columnOrder => {\n return dispatch({ type: actions.setColumnOrder, columnOrder })\n },\n [dispatch]\n )\n}\n","import React from 'react'\n\nimport {\n actions,\n defaultColumn,\n makePropGetter,\n useGetLatest,\n ensurePluginOrder,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport { getFirstDefined, passiveEventSupported } from '../utils'\n\n// Default Column\ndefaultColumn.canResize = true\n\n// Actions\nactions.columnStartResizing = 'columnStartResizing'\nactions.columnResizing = 'columnResizing'\nactions.columnDoneResizing = 'columnDoneResizing'\nactions.resetResize = 'resetResize'\n\nexport const useResizeColumns = hooks => {\n hooks.getResizerProps = [defaultGetResizerProps]\n hooks.getHeaderProps.push({\n style: {\n position: 'relative',\n },\n })\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions)\n}\n\nconst defaultGetResizerProps = (props, { instance, header }) => {\n const { dispatch } = instance\n\n const onResizeStart = (e, header) => {\n let isTouchEvent = false\n if (e.type === 'touchstart') {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return\n }\n isTouchEvent = true\n }\n const headersToResize = getLeafHeaders(header)\n const headerIdWidths = headersToResize.map(d => [d.id, d.totalWidth])\n\n const clientX = isTouchEvent ? Math.round(e.touches[0].clientX) : e.clientX\n\n let raf\n let mostRecentClientX\n\n const dispatchEnd = () => {\n window.cancelAnimationFrame(raf)\n raf = null\n dispatch({ type: actions.columnDoneResizing })\n }\n const dispatchMove = () => {\n window.cancelAnimationFrame(raf)\n raf = null\n dispatch({ type: actions.columnResizing, clientX: mostRecentClientX })\n }\n\n const scheduleDispatchMoveOnNextAnimationFrame = clientXPos => {\n mostRecentClientX = clientXPos\n if (!raf) {\n raf = window.requestAnimationFrame(dispatchMove)\n }\n }\n\n const handlersAndEvents = {\n mouse: {\n moveEvent: 'mousemove',\n moveHandler: e => scheduleDispatchMoveOnNextAnimationFrame(e.clientX),\n upEvent: 'mouseup',\n upHandler: e => {\n document.removeEventListener(\n 'mousemove',\n handlersAndEvents.mouse.moveHandler\n )\n document.removeEventListener(\n 'mouseup',\n handlersAndEvents.mouse.upHandler\n )\n dispatchEnd()\n },\n },\n touch: {\n moveEvent: 'touchmove',\n moveHandler: e => {\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n scheduleDispatchMoveOnNextAnimationFrame(e.touches[0].clientX)\n return false\n },\n upEvent: 'touchend',\n upHandler: e => {\n document.removeEventListener(\n handlersAndEvents.touch.moveEvent,\n handlersAndEvents.touch.moveHandler\n )\n document.removeEventListener(\n handlersAndEvents.touch.upEvent,\n handlersAndEvents.touch.moveHandler\n )\n dispatchEnd()\n },\n },\n }\n\n const events = isTouchEvent\n ? handlersAndEvents.touch\n : handlersAndEvents.mouse\n const passiveIfSupported = passiveEventSupported()\n ? { passive: false }\n : false\n document.addEventListener(\n events.moveEvent,\n events.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n events.upEvent,\n events.upHandler,\n passiveIfSupported\n )\n\n dispatch({\n type: actions.columnStartResizing,\n columnId: header.id,\n columnWidth: header.totalWidth,\n headerIdWidths,\n clientX,\n })\n }\n\n return [\n props,\n {\n onMouseDown: e => e.persist() || onResizeStart(e, header),\n onTouchStart: e => e.persist() || onResizeStart(e, header),\n style: {\n cursor: 'col-resize',\n },\n draggable: false,\n role: 'separator',\n },\n ]\n}\n\nuseResizeColumns.pluginName = 'useResizeColumns'\n\nfunction reducer(state, action) {\n if (action.type === actions.init) {\n return {\n columnResizing: {\n columnWidths: {},\n },\n ...state,\n }\n }\n\n if (action.type === actions.resetResize) {\n return {\n ...state,\n columnResizing: {\n columnWidths: {},\n },\n }\n }\n\n if (action.type === actions.columnStartResizing) {\n const { clientX, columnId, columnWidth, headerIdWidths } = action\n\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n startX: clientX,\n headerIdWidths,\n columnWidth,\n isResizingColumn: columnId,\n },\n }\n }\n\n if (action.type === actions.columnResizing) {\n const { clientX } = action\n const { startX, columnWidth, headerIdWidths = [] } = state.columnResizing\n\n const deltaX = clientX - startX\n const percentageDeltaX = deltaX / columnWidth\n\n const newColumnWidths = {}\n\n headerIdWidths.forEach(([headerId, headerWidth]) => {\n newColumnWidths[headerId] = Math.max(\n headerWidth + headerWidth * percentageDeltaX,\n 0\n )\n })\n\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n columnWidths: {\n ...state.columnResizing.columnWidths,\n ...newColumnWidths,\n },\n },\n }\n }\n\n if (action.type === actions.columnDoneResizing) {\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n startX: null,\n isResizingColumn: null,\n },\n }\n }\n}\n\nconst useInstanceBeforeDimensions = instance => {\n const {\n flatHeaders,\n disableResizing,\n getHooks,\n state: { columnResizing },\n } = instance\n\n const getInstance = useGetLatest(instance)\n\n flatHeaders.forEach(header => {\n const canResize = getFirstDefined(\n header.disableResizing === true ? false : undefined,\n disableResizing === true ? false : undefined,\n true\n )\n\n header.canResize = canResize\n header.width =\n columnResizing.columnWidths[header.id] ||\n header.originalWidth ||\n header.width\n header.isResizing = columnResizing.isResizingColumn === header.id\n\n if (canResize) {\n header.getResizerProps = makePropGetter(getHooks().getResizerProps, {\n instance: getInstance(),\n header,\n })\n }\n })\n}\n\nfunction useInstance(instance) {\n const { plugins, dispatch, autoResetResize = true, columns } = instance\n\n ensurePluginOrder(plugins, ['useAbsoluteLayout'], 'useResizeColumns')\n\n const getAutoResetResize = useGetLatest(autoResetResize)\n useMountedLayoutEffect(() => {\n if (getAutoResetResize()) {\n dispatch({ type: actions.resetResize })\n }\n }, [columns])\n\n const resetResizing = React.useCallback(\n () => dispatch({ type: actions.resetResize }),\n [dispatch]\n )\n\n Object.assign(instance, {\n resetResizing,\n })\n}\n\nfunction getLeafHeaders(header) {\n const leafHeaders = []\n const recurseHeader = header => {\n if (header.columns && header.columns.length) {\n header.columns.map(recurseHeader)\n }\n leafHeaders.push(header)\n }\n recurseHeader(header)\n return leafHeaders\n}\n","const cellStyles = {\n position: 'absolute',\n top: 0,\n}\n\nexport const useAbsoluteLayout = hooks => {\n hooks.getTableBodyProps.push(getRowStyles)\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n\n hooks.getHeaderProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${column.totalLeft}px`,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getCellProps.push((props, { cell }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${cell.column.totalLeft}px`,\n width: `${cell.column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getFooterProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${column.totalLeft}px`,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n}\n\nuseAbsoluteLayout.pluginName = 'useAbsoluteLayout'\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n position: 'relative',\n width: `${instance.totalColumnsWidth}px`,\n },\n },\n]\n","const cellStyles = {\n display: 'inline-block',\n boxSizing: 'border-box',\n}\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n display: 'flex',\n width: `${instance.totalColumnsWidth}px`,\n },\n },\n]\n\nexport const useBlockLayout = hooks => {\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n\n hooks.getHeaderProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getCellProps.push((props, { cell }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${cell.column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getFooterProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n}\n\nuseBlockLayout.pluginName = 'useBlockLayout'\n","export function useFlexLayout(hooks) {\n hooks.getTableProps.push(getTableProps)\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n hooks.getHeaderProps.push(getHeaderProps)\n hooks.getCellProps.push(getCellProps)\n hooks.getFooterProps.push(getFooterProps)\n}\n\nuseFlexLayout.pluginName = 'useFlexLayout'\n\nconst getTableProps = (props, { instance }) => [\n props,\n {\n style: {\n minWidth: `${instance.totalColumnsMinWidth}px`,\n },\n },\n]\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n display: 'flex',\n flex: '1 0 auto',\n minWidth: `${instance.totalColumnsMinWidth}px`,\n },\n },\n]\n\nconst getHeaderProps = (props, { column }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: column.totalFlexWidth\n ? `${column.totalFlexWidth} 0 auto`\n : undefined,\n minWidth: `${column.totalMinWidth}px`,\n width: `${column.totalWidth}px`,\n },\n },\n]\n\nconst getCellProps = (props, { cell }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: `${cell.column.totalFlexWidth} 0 auto`,\n minWidth: `${cell.column.totalMinWidth}px`,\n width: `${cell.column.totalWidth}px`,\n },\n },\n]\n\nconst getFooterProps = (props, { column }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: column.totalFlexWidth\n ? `${column.totalFlexWidth} 0 auto`\n : undefined,\n minWidth: `${column.totalMinWidth}px`,\n width: `${column.totalWidth}px`,\n },\n },\n]\n","import { actions } from '../publicUtils'\n\n// Actions\nactions.columnStartResizing = 'columnStartResizing'\nactions.columnResizing = 'columnResizing'\nactions.columnDoneResizing = 'columnDoneResizing'\nactions.resetResize = 'resetResize'\n\nexport function useGridLayout(hooks) {\n hooks.stateReducers.push(reducer)\n hooks.getTableProps.push(getTableProps)\n hooks.getHeaderProps.push(getHeaderProps)\n hooks.getRowProps.push(getRowProps)\n}\n\nuseGridLayout.pluginName = 'useGridLayout'\n\nconst getTableProps = (props, { instance }) => {\n const gridTemplateColumns = instance.visibleColumns.map(column => {\n if (instance.state.gridLayout.columnWidths[column.id])\n return `${instance.state.gridLayout.columnWidths[column.id]}px`\n // When resizing, lock the width of all unset columns\n // instead of using user-provided width or defaultColumn width,\n // which could potentially be 'auto' or 'fr' units that don't scale linearly\n if (instance.state.columnResizing?.isResizingColumn)\n return `${instance.state.gridLayout.startWidths[column.id]}px`\n if (typeof column.width === 'number') return `${column.width}px`\n return column.width\n })\n return [\n props,\n {\n style: {\n display: `grid`,\n gridTemplateColumns: gridTemplateColumns.join(` `),\n },\n },\n ]\n}\n\nconst getHeaderProps = (props, { column }) => [\n props,\n {\n id: `header-cell-${column.id}`,\n style: {\n position: `sticky`, //enables a scroll wrapper to be placed around the table and have sticky headers\n gridColumn: `span ${column.totalVisibleHeaderCount}`,\n },\n },\n]\n\nconst getRowProps = (props, { row }) => {\n if (row.isExpanded) {\n return [\n props,\n {\n style: {\n gridColumn: `1 / ${row.cells.length + 1}`,\n },\n },\n ]\n }\n return [props, {}]\n}\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n gridLayout: {\n columnWidths: {},\n },\n ...state,\n }\n }\n\n if (action.type === actions.resetResize) {\n return {\n ...state,\n gridLayout: {\n columnWidths: {},\n },\n }\n }\n\n if (action.type === actions.columnStartResizing) {\n const { columnId, headerIdWidths } = action\n const columnWidth = getElementWidth(columnId)\n\n if (columnWidth !== undefined) {\n const startWidths = instance.visibleColumns.reduce(\n (acc, column) => ({\n ...acc,\n [column.id]: getElementWidth(column.id),\n }),\n {}\n )\n const minWidths = instance.visibleColumns.reduce(\n (acc, column) => ({\n ...acc,\n [column.id]: column.minWidth,\n }),\n {}\n )\n const maxWidths = instance.visibleColumns.reduce(\n (acc, column) => ({\n ...acc,\n [column.id]: column.maxWidth,\n }),\n {}\n )\n\n const headerIdGridWidths = headerIdWidths.map(([headerId]) => [\n headerId,\n getElementWidth(headerId),\n ])\n\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n startWidths,\n minWidths,\n maxWidths,\n headerIdGridWidths,\n columnWidth,\n },\n }\n } else {\n return state\n }\n }\n\n if (action.type === actions.columnResizing) {\n const { clientX } = action\n const { startX } = state.columnResizing\n const {\n columnWidth,\n minWidths,\n maxWidths,\n headerIdGridWidths = [],\n } = state.gridLayout\n\n const deltaX = clientX - startX\n const percentageDeltaX = deltaX / columnWidth\n\n const newColumnWidths = {}\n\n headerIdGridWidths.forEach(([headerId, headerWidth]) => {\n newColumnWidths[headerId] = Math.min(\n Math.max(\n minWidths[headerId],\n headerWidth + headerWidth * percentageDeltaX\n ),\n maxWidths[headerId]\n )\n })\n\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n columnWidths: {\n ...state.gridLayout.columnWidths,\n ...newColumnWidths,\n },\n },\n }\n }\n\n if (action.type === actions.columnDoneResizing) {\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n startWidths: {},\n minWidths: {},\n maxWidths: {},\n },\n }\n }\n}\n\nfunction getElementWidth(columnId) {\n const width = document.getElementById(`header-cell-${columnId}`)?.offsetWidth\n\n if (width !== undefined) {\n return width\n }\n}\n","if (process.env.NODE_ENV === 'production') {\n module.exports = require('./dist/react-table.production.min.js')\n} else {\n module.exports = require('./dist/react-table.development.js')\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","export function merge(...sets:Array):string {\n\tif (sets.length > 1) {\n\t\tsets[0] = sets[0].slice(0, -1);\n\t\tconst xl = sets.length - 1;\n\t\tfor (let x = 1; x < xl; ++x) {\n\t\t\tsets[x] = sets[x].slice(1, -1);\n\t\t}\n\t\tsets[xl] = sets[xl].slice(1);\n\t\treturn sets.join('');\n\t} else {\n\t\treturn sets[0];\n\t}\n}\n\nexport function subexp(str:string):string {\n\treturn \"(?:\" + str + \")\";\n}\n\nexport function typeOf(o:any):string {\n\treturn o === undefined ? \"undefined\" : (o === null ? \"null\" : Object.prototype.toString.call(o).split(\" \").pop().split(\"]\").shift().toLowerCase());\n}\n\nexport function toUpperCase(str:string):string {\n\treturn str.toUpperCase();\n}\n\nexport function toArray(obj:any):Array {\n\treturn obj !== undefined && obj !== null ? (obj instanceof Array ? obj : (typeof obj.length !== \"number\" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj))) : [];\n}\n\n\nexport function assign(target: object, source: any): any {\n\tconst obj = target as any;\n\tif (source) {\n\t\tfor (const key in source) {\n\t\t\tobj[key] = source[key];\n\t\t}\n\t}\n\treturn obj;\n}","import { URIRegExps } from \"./uri\";\nimport { merge, subexp } from \"./util\";\n\nexport function buildExps(isIRI:boolean):URIRegExps {\n\tconst\n\t\tALPHA$$ = \"[A-Za-z]\",\n\t\tCR$ = \"[\\\\x0D]\",\n\t\tDIGIT$$ = \"[0-9]\",\n\t\tDQUOTE$$ = \"[\\\\x22]\",\n\t\tHEXDIG$$ = merge(DIGIT$$, \"[A-Fa-f]\"), //case-insensitive\n\t\tLF$$ = \"[\\\\x0A]\",\n\t\tSP$$ = \"[\\\\x20]\",\n\t\tPCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)), //expanded\n\t\tGEN_DELIMS$$ = \"[\\\\:\\\\/\\\\?\\\\#\\\\[\\\\]\\\\@]\",\n\t\tSUB_DELIMS$$ = \"[\\\\!\\\\$\\\\&\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\=]\",\n\t\tRESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$),\n\t\tUCSCHAR$$ = isIRI ? \"[\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]\" : \"[]\", //subset, excludes bidi control characters\n\t\tIPRIVATE$$ = isIRI ? \"[\\\\uE000-\\\\uF8FF]\" : \"[]\", //subset\n\t\tUNRESERVED$$ = merge(ALPHA$$, DIGIT$$, \"[\\\\-\\\\.\\\\_\\\\~]\", UCSCHAR$$),\n\t\tSCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\") + \"*\"),\n\t\tUSERINFO$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\")) + \"*\"),\n\t\tDEC_OCTET$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"[1-9]\" + DIGIT$$) + \"|\" + DIGIT$$),\n\t\tDEC_OCTET_RELAXED$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"0?[1-9]\" + DIGIT$$) + \"|0?0?\" + DIGIT$$), //relaxed parsing rules\n\t\tIPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$),\n\t\tH16$ = subexp(HEXDIG$$ + \"{1,4}\"),\n\t\tLS32$ = subexp(subexp(H16$ + \"\\\\:\" + H16$) + \"|\" + IPV4ADDRESS$),\n\t\tIPV6ADDRESS1$ = subexp( subexp(H16$ + \"\\\\:\") + \"{6}\" + LS32$), // 6( h16 \":\" ) ls32\n\t\tIPV6ADDRESS2$ = subexp( \"\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{5}\" + LS32$), // \"::\" 5( h16 \":\" ) ls32\n\t\tIPV6ADDRESS3$ = subexp(subexp( H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{4}\" + LS32$), //[ h16 ] \"::\" 4( h16 \":\" ) ls32\n\t\tIPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,1}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{3}\" + LS32$), //[ *1( h16 \":\" ) h16 ] \"::\" 3( h16 \":\" ) ls32\n\t\tIPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,2}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{2}\" + LS32$), //[ *2( h16 \":\" ) h16 ] \"::\" 2( h16 \":\" ) ls32\n\t\tIPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,3}\" + H16$) + \"?\\\\:\\\\:\" + H16$ + \"\\\\:\" + LS32$), //[ *3( h16 \":\" ) h16 ] \"::\" h16 \":\" ls32\n\t\tIPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,4}\" + H16$) + \"?\\\\:\\\\:\" + LS32$), //[ *4( h16 \":\" ) h16 ] \"::\" ls32\n\t\tIPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,5}\" + H16$) + \"?\\\\:\\\\:\" + H16$ ), //[ *5( h16 \":\" ) h16 ] \"::\" h16\n\t\tIPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,6}\" + H16$) + \"?\\\\:\\\\:\" ), //[ *6( h16 \":\" ) h16 ] \"::\"\n\t\tIPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join(\"|\")),\n\t\tZONEID$ = subexp(subexp(UNRESERVED$$ + \"|\" + PCT_ENCODED$) + \"+\"), //RFC 6874\n\t\tIPV6ADDRZ$ = subexp(IPV6ADDRESS$ + \"\\\\%25\" + ZONEID$), //RFC 6874\n\t\tIPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + ZONEID$), //RFC 6874, with relaxed parsing rules\n\t\tIPVFUTURE$ = subexp(\"[vV]\" + HEXDIG$$ + \"+\\\\.\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\") + \"+\"),\n\t\tIP_LITERAL$ = subexp(\"\\\\[\" + subexp(IPV6ADDRZ_RELAXED$ + \"|\" + IPV6ADDRESS$ + \"|\" + IPVFUTURE$) + \"\\\\]\"), //RFC 6874\n\t\tREG_NAME$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$)) + \"*\"),\n\t\tHOST$ = subexp(IP_LITERAL$ + \"|\" + IPV4ADDRESS$ + \"(?!\" + REG_NAME$ + \")\" + \"|\" + REG_NAME$),\n\t\tPORT$ = subexp(DIGIT$$ + \"*\"),\n\t\tAUTHORITY$ = subexp(subexp(USERINFO$ + \"@\") + \"?\" + HOST$ + subexp(\"\\\\:\" + PORT$) + \"?\"),\n\t\tPCHAR$ = subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@]\")),\n\t\tSEGMENT$ = subexp(PCHAR$ + \"*\"),\n\t\tSEGMENT_NZ$ = subexp(PCHAR$ + \"+\"),\n\t\tSEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\@]\")) + \"+\"),\n\t\tPATH_ABEMPTY$ = subexp(subexp(\"\\\\/\" + SEGMENT$) + \"*\"),\n\t\tPATH_ABSOLUTE$ = subexp(\"\\\\/\" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + \"?\"), //simplified\n\t\tPATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), //simplified\n\t\tPATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), //simplified\n\t\tPATH_EMPTY$ = \"(?!\" + PCHAR$ + \")\",\n\t\tPATH$ = subexp(PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n\t\tQUERY$ = subexp(subexp(PCHAR$ + \"|\" + merge(\"[\\\\/\\\\?]\", IPRIVATE$$)) + \"*\"),\n\t\tFRAGMENT$ = subexp(subexp(PCHAR$ + \"|[\\\\/\\\\?]\") + \"*\"),\n\t\tHIER_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n\t\tURI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n\t\tRELATIVE_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$),\n\t\tRELATIVE$ = subexp(RELATIVE_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n\t\tURI_REFERENCE$ = subexp(URI$ + \"|\" + RELATIVE$),\n\t\tABSOLUTE_URI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\"),\n\n\t\tGENERIC_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n\t\tRELATIVE_REF$ = \"^(){0}\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n\t\tABSOLUTE_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?$\",\n\t\tSAMEDOC_REF$ = \"^\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n\t\tAUTHORITY_REF$ = \"^\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?$\"\n\t;\n\n\treturn {\n\t\tNOT_SCHEME : new RegExp(merge(\"[^]\", ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\"), \"g\"),\n\t\tNOT_USERINFO : new RegExp(merge(\"[^\\\\%\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_HOST : new RegExp(merge(\"[^\\\\%\\\\[\\\\]\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_PATH : new RegExp(merge(\"[^\\\\%\\\\/\\\\:\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_PATH_NOSCHEME : new RegExp(merge(\"[^\\\\%\\\\/\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_QUERY : new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\", IPRIVATE$$), \"g\"),\n\t\tNOT_FRAGMENT : new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\"), \"g\"),\n\t\tESCAPE : new RegExp(merge(\"[^]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tUNRESERVED : new RegExp(UNRESERVED$$, \"g\"),\n\t\tOTHER_CHARS : new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, RESERVED$$), \"g\"),\n\t\tPCT_ENCODED : new RegExp(PCT_ENCODED$, \"g\"),\n\t\tIPV4ADDRESS : new RegExp(\"^(\" + IPV4ADDRESS$ + \")$\"),\n\t\tIPV6ADDRESS : new RegExp(\"^\\\\[?(\" + IPV6ADDRESS$ + \")\" + subexp(subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + \"(\" + ZONEID$ + \")\") + \"?\\\\]?$\") //RFC 6874, with relaxed parsing rules\n\t};\n}\n\nexport default buildExps(false);\n","import { URIRegExps } from \"./uri\";\nimport { buildExps } from \"./regexps-uri\";\n\nexport default buildExps(true);\n","'use strict';\n\n/** Highest positive signed 32-bit float value */\nconst maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nconst base = 36;\nconst tMin = 1;\nconst tMax = 26;\nconst skew = 38;\nconst damp = 700;\nconst initialBias = 72;\nconst initialN = 128; // 0x80\nconst delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nconst regexPunycode = /^xn--/;\nconst regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nconst regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nconst errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nconst baseMinusTMin = base - tMin;\nconst floor = Math.floor;\nconst stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n\tconst result = [];\n\tlet length = array.length;\n\twhile (length--) {\n\t\tresult[length] = fn(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(string, fn) {\n\tconst parts = string.split('@');\n\tlet result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tstring = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tstring = string.replace(regexSeparators, '\\x2E');\n\tconst labels = string.split('.');\n\tconst encoded = map(labels, fn).join('.');\n\treturn result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tconst output = [];\n\tlet counter = 0;\n\tconst length = string.length;\n\twhile (counter < length) {\n\t\tconst value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tconst extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nconst ucs2encode = array => String.fromCodePoint(...array);\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nconst basicToDigit = function(codePoint) {\n\tif (codePoint - 0x30 < 0x0A) {\n\t\treturn codePoint - 0x16;\n\t}\n\tif (codePoint - 0x41 < 0x1A) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint - 0x61 < 0x1A) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nconst digitToBasic = function(digit, flag) {\n\t// 0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nconst adapt = function(delta, numPoints, firstTime) {\n\tlet k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nconst decode = function(input) {\n\t// Don't use UCS-2.\n\tconst output = [];\n\tconst inputLength = input.length;\n\tlet i = 0;\n\tlet n = initialN;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tlet basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (let j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tlet oldi = i;\n\t\tfor (let w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror('invalid-input');\n\t\t\t}\n\n\t\t\tconst digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\n\t\t}\n\n\t\tconst out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\n\t}\n\n\treturn String.fromCodePoint(...output);\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nconst encode = function(input) {\n\tconst output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tlet inputLength = input.length;\n\n\t// Initialize the state.\n\tlet n = initialN;\n\tlet delta = 0;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points.\n\tfor (const currentValue of input) {\n\t\tif (currentValue < 0x80) {\n\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t}\n\t}\n\n\tlet basicLength = output.length;\n\tlet handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tlet m = maxInt;\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\tm = currentValue;\n\t\t\t}\n\t\t}\n\n\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t// but guard against overflow.\n\t\tconst handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\t\t\tif (currentValue == n) {\n\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\tlet q = delta;\n\t\t\t\tfor (let k = base; /* no condition */; k += base) {\n\t\t\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tconst qMinusT = q - t;\n\t\t\t\t\tconst baseMinusT = base - t;\n\t\t\t\t\toutput.push(\n\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t);\n\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t}\n\n\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\tdelta = 0;\n\t\t\t\t++handledCPCount;\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nconst toUnicode = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexPunycode.test(string)\n\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t: string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nconst toASCII = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexNonASCII.test(string)\n\t\t\t? 'xn--' + encode(string)\n\t\t\t: string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nconst punycode = {\n\t/**\n\t * A string representing the current Punycode.js version number.\n\t * @memberOf punycode\n\t * @type String\n\t */\n\t'version': '2.1.0',\n\t/**\n\t * An object of methods to convert from JavaScript's internal character\n\t * representation (UCS-2) to Unicode code points, and back.\n\t * @see \n\t * @memberOf punycode\n\t * @type Object\n\t */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\nexport default punycode;\n","/**\n * URI.js\n *\n * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript.\n * @author Gary Court\n * @see http://github.com/garycourt/uri-js\n */\n\n/**\n * Copyright 2011 Gary Court. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification, are\n * permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this list of\n * conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list\n * of conditions and the following disclaimer in the documentation and/or other materials\n * provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\n * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR\n * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * The views and conclusions contained in the software and documentation are those of the\n * authors and should not be interpreted as representing official policies, either expressed\n * or implied, of Gary Court.\n */\n\nimport URI_PROTOCOL from \"./regexps-uri\";\nimport IRI_PROTOCOL from \"./regexps-iri\";\nimport punycode from \"punycode\";\nimport { toUpperCase, typeOf, assign } from \"./util\";\n\nexport interface URIComponents {\n\tscheme?:string;\n\tuserinfo?:string;\n\thost?:string;\n\tport?:number|string;\n\tpath?:string;\n\tquery?:string;\n\tfragment?:string;\n\treference?:string;\n\terror?:string;\n}\n\nexport interface URIOptions {\n\tscheme?:string;\n\treference?:string;\n\ttolerant?:boolean;\n\tabsolutePath?:boolean;\n\tiri?:boolean;\n\tunicodeSupport?:boolean;\n\tdomainHost?:boolean;\n}\n\nexport interface URISchemeHandler {\n\tscheme:string;\n\tparse(components:ParentComponents, options:Options):Components;\n\tserialize(components:Components, options:Options):ParentComponents;\n\tunicodeSupport?:boolean;\n\tdomainHost?:boolean;\n\tabsolutePath?:boolean;\n}\n\nexport interface URIRegExps {\n\tNOT_SCHEME : RegExp,\n\tNOT_USERINFO : RegExp,\n\tNOT_HOST : RegExp,\n\tNOT_PATH : RegExp,\n\tNOT_PATH_NOSCHEME : RegExp,\n\tNOT_QUERY : RegExp,\n\tNOT_FRAGMENT : RegExp,\n\tESCAPE : RegExp,\n\tUNRESERVED : RegExp,\n\tOTHER_CHARS : RegExp,\n\tPCT_ENCODED : RegExp,\n\tIPV4ADDRESS : RegExp,\n\tIPV6ADDRESS : RegExp,\n}\n\nexport const SCHEMES:{[scheme:string]:URISchemeHandler} = {};\n\nexport function pctEncChar(chr:string):string {\n\tconst c = chr.charCodeAt(0);\n\tlet e:string;\n\n\tif (c < 16) e = \"%0\" + c.toString(16).toUpperCase();\n\telse if (c < 128) e = \"%\" + c.toString(16).toUpperCase();\n\telse if (c < 2048) e = \"%\" + ((c >> 6) | 192).toString(16).toUpperCase() + \"%\" + ((c & 63) | 128).toString(16).toUpperCase();\n\telse e = \"%\" + ((c >> 12) | 224).toString(16).toUpperCase() + \"%\" + (((c >> 6) & 63) | 128).toString(16).toUpperCase() + \"%\" + ((c & 63) | 128).toString(16).toUpperCase();\n\n\treturn e;\n}\n\nexport function pctDecChars(str:string):string {\n\tlet newStr = \"\";\n\tlet i = 0;\n\tconst il = str.length;\n\n\twhile (i < il) {\n\t\tconst c = parseInt(str.substr(i + 1, 2), 16);\n\n\t\tif (c < 128) {\n\t\t\tnewStr += String.fromCharCode(c);\n\t\t\ti += 3;\n\t\t}\n\t\telse if (c >= 194 && c < 224) {\n\t\t\tif ((il - i) >= 6) {\n\t\t\t\tconst c2 = parseInt(str.substr(i + 4, 2), 16);\n\t\t\t\tnewStr += String.fromCharCode(((c & 31) << 6) | (c2 & 63));\n\t\t\t} else {\n\t\t\t\tnewStr += str.substr(i, 6);\n\t\t\t}\n\t\t\ti += 6;\n\t\t}\n\t\telse if (c >= 224) {\n\t\t\tif ((il - i) >= 9) {\n\t\t\t\tconst c2 = parseInt(str.substr(i + 4, 2), 16);\n\t\t\t\tconst c3 = parseInt(str.substr(i + 7, 2), 16);\n\t\t\t\tnewStr += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\n\t\t\t} else {\n\t\t\t\tnewStr += str.substr(i, 9);\n\t\t\t}\n\t\t\ti += 9;\n\t\t}\n\t\telse {\n\t\t\tnewStr += str.substr(i, 3);\n\t\t\ti += 3;\n\t\t}\n\t}\n\n\treturn newStr;\n}\n\nfunction _normalizeComponentEncoding(components:URIComponents, protocol:URIRegExps) {\n\tfunction decodeUnreserved(str:string):string {\n\t\tconst decStr = pctDecChars(str);\n\t\treturn (!decStr.match(protocol.UNRESERVED) ? str : decStr);\n\t}\n\n\tif (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, \"\");\n\tif (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace((components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME), pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\n\treturn components;\n};\n\nfunction _stripLeadingZeros(str:string):string {\n\treturn str.replace(/^0*(.*)/, \"$1\") || \"0\";\n}\n\nfunction _normalizeIPv4(host:string, protocol:URIRegExps):string {\n\tconst matches = host.match(protocol.IPV4ADDRESS) || [];\n\tconst [, address] = matches;\n\t\n\tif (address) {\n\t\treturn address.split(\".\").map(_stripLeadingZeros).join(\".\");\n\t} else {\n\t\treturn host;\n\t}\n}\n\nfunction _normalizeIPv6(host:string, protocol:URIRegExps):string {\n\tconst matches = host.match(protocol.IPV6ADDRESS) || [];\n\tconst [, address, zone] = matches;\n\n\tif (address) {\n\t\tconst [last, first] = address.toLowerCase().split('::').reverse();\n\t\tconst firstFields = first ? first.split(\":\").map(_stripLeadingZeros) : [];\n\t\tconst lastFields = last.split(\":\").map(_stripLeadingZeros);\n\t\tconst isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]);\n\t\tconst fieldCount = isLastFieldIPv4Address ? 7 : 8;\n\t\tconst lastFieldsStart = lastFields.length - fieldCount;\n\t\tconst fields = Array(fieldCount);\n\n\t\tfor (let x = 0; x < fieldCount; ++x) {\n\t\t\tfields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || '';\n\t\t}\n\n\t\tif (isLastFieldIPv4Address) {\n\t\t\tfields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol);\n\t\t}\n\n\t\tconst allZeroFields = fields.reduce>((acc, field, index) => {\n\t\t\tif (!field || field === \"0\") {\n\t\t\t\tconst lastLongest = acc[acc.length - 1];\n\t\t\t\tif (lastLongest && lastLongest.index + lastLongest.length === index) {\n\t\t\t\t\tlastLongest.length++;\n\t\t\t\t} else {\n\t\t\t\t\tacc.push({ index, length : 1 });\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, []);\n\n\t\tconst longestZeroFields = allZeroFields.sort((a, b) => b.length - a.length)[0];\n\n\t\tlet newHost:string;\n\t\tif (longestZeroFields && longestZeroFields.length > 1) {\n\t\t\tconst newFirst = fields.slice(0, longestZeroFields.index) ;\n\t\t\tconst newLast = fields.slice(longestZeroFields.index + longestZeroFields.length);\n\t\t\tnewHost = newFirst.join(\":\") + \"::\" + newLast.join(\":\");\n\t\t} else {\n\t\t\tnewHost = fields.join(\":\");\n\t\t}\n\n\t\tif (zone) {\n\t\t\tnewHost += \"%\" + zone;\n\t\t}\n\n\t\treturn newHost;\n\t} else {\n\t\treturn host;\n\t}\n}\n\nconst URI_PARSE = /^(?:([^:\\/?#]+):)?(?:\\/\\/((?:([^\\/?#@]*)@)?(\\[[^\\/?#\\]]+\\]|[^\\/?#:]*)(?:\\:(\\d*))?))?([^?#]*)(?:\\?([^#]*))?(?:#((?:.|\\n|\\r)*))?/i;\nconst NO_MATCH_IS_UNDEFINED = ((\"\").match(/(){0}/))[1] === undefined;\n\nexport function parse(uriString:string, options:URIOptions = {}):URIComponents {\n\tconst components:URIComponents = {};\n\tconst protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL);\n\n\tif (options.reference === \"suffix\") uriString = (options.scheme ? options.scheme + \":\" : \"\") + \"//\" + uriString;\n\n\tconst matches = uriString.match(URI_PARSE);\n\n\tif (matches) {\n\t\tif (NO_MATCH_IS_UNDEFINED) {\n\t\t\t//store each component\n\t\t\tcomponents.scheme = matches[1];\n\t\t\tcomponents.userinfo = matches[3];\n\t\t\tcomponents.host = matches[4];\n\t\t\tcomponents.port = parseInt(matches[5], 10);\n\t\t\tcomponents.path = matches[6] || \"\";\n\t\t\tcomponents.query = matches[7];\n\t\t\tcomponents.fragment = matches[8];\n\n\t\t\t//fix port number\n\t\t\tif (isNaN(components.port)) {\n\t\t\t\tcomponents.port = matches[5];\n\t\t\t}\n\t\t} else { //IE FIX for improper RegExp matching\n\t\t\t//store each component\n\t\t\tcomponents.scheme = matches[1] || undefined;\n\t\t\tcomponents.userinfo = (uriString.indexOf(\"@\") !== -1 ? matches[3] : undefined);\n\t\t\tcomponents.host = (uriString.indexOf(\"//\") !== -1 ? matches[4] : undefined);\n\t\t\tcomponents.port = parseInt(matches[5], 10);\n\t\t\tcomponents.path = matches[6] || \"\";\n\t\t\tcomponents.query = (uriString.indexOf(\"?\") !== -1 ? matches[7] : undefined);\n\t\t\tcomponents.fragment = (uriString.indexOf(\"#\") !== -1 ? matches[8] : undefined);\n\n\t\t\t//fix port number\n\t\t\tif (isNaN(components.port)) {\n\t\t\t\tcomponents.port = (uriString.match(/\\/\\/(?:.|\\n)*\\:(?:\\/|\\?|\\#|$)/) ? matches[4] : undefined);\n\t\t\t}\n\t\t}\n\n\t\tif (components.host) {\n\t\t\t//normalize IP hosts\n\t\t\tcomponents.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol);\n\t\t}\n\n\t\t//determine reference type\n\t\tif (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) {\n\t\t\tcomponents.reference = \"same-document\";\n\t\t} else if (components.scheme === undefined) {\n\t\t\tcomponents.reference = \"relative\";\n\t\t} else if (components.fragment === undefined) {\n\t\t\tcomponents.reference = \"absolute\";\n\t\t} else {\n\t\t\tcomponents.reference = \"uri\";\n\t\t}\n\n\t\t//check for reference errors\n\t\tif (options.reference && options.reference !== \"suffix\" && options.reference !== components.reference) {\n\t\t\tcomponents.error = components.error || \"URI is not a \" + options.reference + \" reference.\";\n\t\t}\n\n\t\t//find scheme handler\n\t\tconst schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n\n\t\t//check if scheme can't handle IRIs\n\t\tif (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {\n\t\t\t//if host component is a domain name\n\t\t\tif (components.host && (options.domainHost || (schemeHandler && schemeHandler.domainHost))) {\n\t\t\t\t//convert Unicode IDN -> ASCII IDN\n\t\t\t\ttry {\n\t\t\t\t\tcomponents.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase());\n\t\t\t\t} catch (e) {\n\t\t\t\t\tcomponents.error = components.error || \"Host's domain name can not be converted to ASCII via punycode: \" + e;\n\t\t\t\t}\n\t\t\t}\n\t\t\t//convert IRI -> URI\n\t\t\t_normalizeComponentEncoding(components, URI_PROTOCOL);\n\t\t} else {\n\t\t\t//normalize encodings\n\t\t\t_normalizeComponentEncoding(components, protocol);\n\t\t}\n\n\t\t//perform scheme specific parsing\n\t\tif (schemeHandler && schemeHandler.parse) {\n\t\t\tschemeHandler.parse(components, options);\n\t\t}\n\t} else {\n\t\tcomponents.error = components.error || \"URI can not be parsed.\";\n\t}\n\n\treturn components;\n};\n\nfunction _recomposeAuthority(components:URIComponents, options:URIOptions):string|undefined {\n\tconst protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL);\n\tconst uriTokens:Array = [];\n\n\tif (components.userinfo !== undefined) {\n\t\turiTokens.push(components.userinfo);\n\t\turiTokens.push(\"@\");\n\t}\n\n\tif (components.host !== undefined) {\n\t\t//normalize IP hosts, add brackets and escape zone separator for IPv6\n\t\turiTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, (_, $1, $2) => \"[\" + $1 + ($2 ? \"%25\" + $2 : \"\") + \"]\"));\n\t}\n\n\tif (typeof components.port === \"number\" || typeof components.port === \"string\") {\n\t\turiTokens.push(\":\");\n\t\turiTokens.push(String(components.port));\n\t}\n\n\treturn uriTokens.length ? uriTokens.join(\"\") : undefined;\n};\n\nconst RDS1 = /^\\.\\.?\\//;\nconst RDS2 = /^\\/\\.(\\/|$)/;\nconst RDS3 = /^\\/\\.\\.(\\/|$)/;\nconst RDS4 = /^\\.\\.?$/;\nconst RDS5 = /^\\/?(?:.|\\n)*?(?=\\/|$)/;\n\nexport function removeDotSegments(input:string):string {\n\tconst output:Array = [];\n\n\twhile (input.length) {\n\t\tif (input.match(RDS1)) {\n\t\t\tinput = input.replace(RDS1, \"\");\n\t\t} else if (input.match(RDS2)) {\n\t\t\tinput = input.replace(RDS2, \"/\");\n\t\t} else if (input.match(RDS3)) {\n\t\t\tinput = input.replace(RDS3, \"/\");\n\t\t\toutput.pop();\n\t\t} else if (input === \".\" || input === \"..\") {\n\t\t\tinput = \"\";\n\t\t} else {\n\t\t\tconst im = input.match(RDS5);\n\t\t\tif (im) {\n\t\t\t\tconst s = im[0];\n\t\t\t\tinput = input.slice(s.length);\n\t\t\t\toutput.push(s);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unexpected dot segment condition\");\n\t\t\t}\n\t\t}\n\t}\n\n\treturn output.join(\"\");\n};\n\nexport function serialize(components:URIComponents, options:URIOptions = {}):string {\n\tconst protocol = (options.iri ? IRI_PROTOCOL : URI_PROTOCOL);\n\tconst uriTokens:Array = [];\n\n\t//find scheme handler\n\tconst schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n\n\t//perform scheme specific serialization\n\tif (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options);\n\n\tif (components.host) {\n\t\t//if host component is an IPv6 address\n\t\tif (protocol.IPV6ADDRESS.test(components.host)) {\n\t\t\t//TODO: normalize IPv6 address as per RFC 5952\n\t\t}\n\n\t\t//if host component is a domain name\n\t\telse if (options.domainHost || (schemeHandler && schemeHandler.domainHost)) {\n\t\t\t//convert IDN via punycode\n\t\t\ttry {\n\t\t\t\tcomponents.host = (!options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host));\n\t\t\t} catch (e) {\n\t\t\t\tcomponents.error = components.error || \"Host's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n\t\t\t}\n\t\t}\n\t}\n\n\t//normalize encoding\n\t_normalizeComponentEncoding(components, protocol);\n\n\tif (options.reference !== \"suffix\" && components.scheme) {\n\t\turiTokens.push(components.scheme);\n\t\turiTokens.push(\":\");\n\t}\n\n\tconst authority = _recomposeAuthority(components, options);\n\tif (authority !== undefined) {\n\t\tif (options.reference !== \"suffix\") {\n\t\t\turiTokens.push(\"//\");\n\t\t}\n\n\t\turiTokens.push(authority);\n\n\t\tif (components.path && components.path.charAt(0) !== \"/\") {\n\t\t\turiTokens.push(\"/\");\n\t\t}\n\t}\n\n\tif (components.path !== undefined) {\n\t\tlet s = components.path;\n\n\t\tif (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {\n\t\t\ts = removeDotSegments(s);\n\t\t}\n\n\t\tif (authority === undefined) {\n\t\t\ts = s.replace(/^\\/\\//, \"/%2F\"); //don't allow the path to start with \"//\"\n\t\t}\n\n\t\turiTokens.push(s);\n\t}\n\n\tif (components.query !== undefined) {\n\t\turiTokens.push(\"?\");\n\t\turiTokens.push(components.query);\n\t}\n\n\tif (components.fragment !== undefined) {\n\t\turiTokens.push(\"#\");\n\t\turiTokens.push(components.fragment);\n\t}\n\n\treturn uriTokens.join(\"\"); //merge tokens into a string\n};\n\nexport function resolveComponents(base:URIComponents, relative:URIComponents, options:URIOptions = {}, skipNormalization?:boolean):URIComponents {\n\tconst target:URIComponents = {};\n\n\tif (!skipNormalization) {\n\t\tbase = parse(serialize(base, options), options); //normalize base components\n\t\trelative = parse(serialize(relative, options), options); //normalize relative components\n\t}\n\toptions = options || {};\n\n\tif (!options.tolerant && relative.scheme) {\n\t\ttarget.scheme = relative.scheme;\n\t\t//target.authority = relative.authority;\n\t\ttarget.userinfo = relative.userinfo;\n\t\ttarget.host = relative.host;\n\t\ttarget.port = relative.port;\n\t\ttarget.path = removeDotSegments(relative.path || \"\");\n\t\ttarget.query = relative.query;\n\t} else {\n\t\tif (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) {\n\t\t\t//target.authority = relative.authority;\n\t\t\ttarget.userinfo = relative.userinfo;\n\t\t\ttarget.host = relative.host;\n\t\t\ttarget.port = relative.port;\n\t\t\ttarget.path = removeDotSegments(relative.path || \"\");\n\t\t\ttarget.query = relative.query;\n\t\t} else {\n\t\t\tif (!relative.path) {\n\t\t\t\ttarget.path = base.path;\n\t\t\t\tif (relative.query !== undefined) {\n\t\t\t\t\ttarget.query = relative.query;\n\t\t\t\t} else {\n\t\t\t\t\ttarget.query = base.query;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (relative.path.charAt(0) === \"/\") {\n\t\t\t\t\ttarget.path = removeDotSegments(relative.path);\n\t\t\t\t} else {\n\t\t\t\t\tif ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {\n\t\t\t\t\t\ttarget.path = \"/\" + relative.path;\n\t\t\t\t\t} else if (!base.path) {\n\t\t\t\t\t\ttarget.path = relative.path;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttarget.path = base.path.slice(0, base.path.lastIndexOf(\"/\") + 1) + relative.path;\n\t\t\t\t\t}\n\t\t\t\t\ttarget.path = removeDotSegments(target.path);\n\t\t\t\t}\n\t\t\t\ttarget.query = relative.query;\n\t\t\t}\n\t\t\t//target.authority = base.authority;\n\t\t\ttarget.userinfo = base.userinfo;\n\t\t\ttarget.host = base.host;\n\t\t\ttarget.port = base.port;\n\t\t}\n\t\ttarget.scheme = base.scheme;\n\t}\n\n\ttarget.fragment = relative.fragment;\n\n\treturn target;\n};\n\nexport function resolve(baseURI:string, relativeURI:string, options?:URIOptions):string {\n\tconst schemelessOptions = assign({ scheme : 'null' }, options);\n\treturn serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions);\n};\n\nexport function normalize(uri:string, options?:URIOptions):string;\nexport function normalize(uri:URIComponents, options?:URIOptions):URIComponents;\nexport function normalize(uri:any, options?:URIOptions):any {\n\tif (typeof uri === \"string\") {\n\t\turi = serialize(parse(uri, options), options);\n\t} else if (typeOf(uri) === \"object\") {\n\t\turi = parse(serialize(uri, options), options);\n\t}\n\n\treturn uri;\n};\n\nexport function equal(uriA:string, uriB:string, options?: URIOptions):boolean;\nexport function equal(uriA:URIComponents, uriB:URIComponents, options?:URIOptions):boolean;\nexport function equal(uriA:any, uriB:any, options?:URIOptions):boolean {\n\tif (typeof uriA === \"string\") {\n\t\turiA = serialize(parse(uriA, options), options);\n\t} else if (typeOf(uriA) === \"object\") {\n\t\turiA = serialize(uriA, options);\n\t}\n\n\tif (typeof uriB === \"string\") {\n\t\turiB = serialize(parse(uriB, options), options);\n\t} else if (typeOf(uriB) === \"object\") {\n\t\turiB = serialize(uriB, options);\n\t}\n\n\treturn uriA === uriB;\n};\n\nexport function escapeComponent(str:string, options?:URIOptions):string {\n\treturn str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE), pctEncChar);\n};\n\nexport function unescapeComponent(str:string, options?:URIOptions):string {\n\treturn str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED), pctDecChars);\n};\n","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\n\nconst handler:URISchemeHandler = {\n\tscheme : \"http\",\n\n\tdomainHost : true,\n\n\tparse : function (components:URIComponents, options:URIOptions):URIComponents {\n\t\t//report missing host\n\t\tif (!components.host) {\n\t\t\tcomponents.error = components.error || \"HTTP URIs must have a host.\";\n\t\t}\n\n\t\treturn components;\n\t},\n\n\tserialize : function (components:URIComponents, options:URIOptions):URIComponents {\n\t\tconst secure = String(components.scheme).toLowerCase() === \"https\";\n\n\t\t//normalize the default port\n\t\tif (components.port === (secure ? 443 : 80) || components.port === \"\") {\n\t\t\tcomponents.port = undefined;\n\t\t}\n\t\t\n\t\t//normalize the empty path\n\t\tif (!components.path) {\n\t\t\tcomponents.path = \"/\";\n\t\t}\n\n\t\t//NOTE: We do not parse query strings for HTTP URIs\n\t\t//as WWW Form Url Encoded query strings are part of the HTML4+ spec,\n\t\t//and not the HTTP spec.\n\n\t\treturn components;\n\t}\n};\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport http from \"./http\";\n\nconst handler:URISchemeHandler = {\n\tscheme : \"https\",\n\tdomainHost : http.domainHost,\n\tparse : http.parse,\n\tserialize : http.serialize\n}\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\n\nexport interface WSComponents extends URIComponents {\n\tresourceName?: string;\n\tsecure?: boolean;\n}\n\nfunction isSecure(wsComponents:WSComponents):boolean {\n\treturn typeof wsComponents.secure === 'boolean' ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === \"wss\";\n}\n\n//RFC 6455\nconst handler:URISchemeHandler = {\n\tscheme : \"ws\",\n\n\tdomainHost : true,\n\n\tparse : function (components:URIComponents, options:URIOptions):WSComponents {\n\t\tconst wsComponents = components as WSComponents;\n\n\t\t//indicate if the secure flag is set\n\t\twsComponents.secure = isSecure(wsComponents);\n\n\t\t//construct resouce name\n\t\twsComponents.resourceName = (wsComponents.path || '/') + (wsComponents.query ? '?' + wsComponents.query : '');\n\t\twsComponents.path = undefined;\n\t\twsComponents.query = undefined;\n\n\t\treturn wsComponents;\n\t},\n\n\tserialize : function (wsComponents:WSComponents, options:URIOptions):URIComponents {\n\t\t//normalize the default port\n\t\tif (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === \"\") {\n\t\t\twsComponents.port = undefined;\n\t\t}\n\n\t\t//ensure scheme matches secure flag\n\t\tif (typeof wsComponents.secure === 'boolean') {\n\t\t\twsComponents.scheme = (wsComponents.secure ? 'wss' : 'ws');\n\t\t\twsComponents.secure = undefined;\n\t\t}\n\n\t\t//reconstruct path from resource name\n\t\tif (wsComponents.resourceName) {\n\t\t\tconst [path, query] = wsComponents.resourceName.split('?');\n\t\t\twsComponents.path = (path && path !== '/' ? path : undefined);\n\t\t\twsComponents.query = query;\n\t\t\twsComponents.resourceName = undefined;\n\t\t}\n\n\t\t//forbid fragment component\n\t\twsComponents.fragment = undefined;\n\n\t\treturn wsComponents;\n\t}\n};\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport ws from \"./ws\";\n\nconst handler:URISchemeHandler = {\n\tscheme : \"wss\",\n\tdomainHost : ws.domainHost,\n\tparse : ws.parse,\n\tserialize : ws.serialize\n}\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport { pctEncChar, pctDecChars, unescapeComponent } from \"../uri\";\nimport punycode from \"punycode\";\nimport { merge, subexp, toUpperCase, toArray } from \"../util\";\n\nexport interface MailtoHeaders {\n\t[hfname:string]:string\n}\n\nexport interface MailtoComponents extends URIComponents {\n\tto:Array,\n\theaders?:MailtoHeaders,\n\tsubject?:string,\n\tbody?:string\n}\n\nconst O:MailtoHeaders = {};\nconst isIRI = true;\n\n//RFC 3986\nconst UNRESERVED$$ = \"[A-Za-z0-9\\\\-\\\\.\\\\_\\\\~\" + (isIRI ? \"\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF\" : \"\") + \"]\";\nconst HEXDIG$$ = \"[0-9A-Fa-f]\"; //case-insensitive\nconst PCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)); //expanded\n\n//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; =\n//const ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\#\\\\$\\\\%\\\\&\\\\'\\\\*\\\\+\\\\-\\\\/\\\\=\\\\?\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QTEXT$$ = \"[\\\\x01-\\\\x08\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7F]\"; //(%d1-8 / %d11-12 / %d14-31 / %d127)\n//const QTEXT$$ = merge(\"[\\\\x21\\\\x23-\\\\x5B\\\\x5D-\\\\x7E]\", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext\n//const VCHAR$$ = \"[\\\\x21-\\\\x7E]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QP$ = subexp(\"\\\\\\\\\" + merge(\"[\\\\x00\\\\x0D\\\\x0A]\", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext\n//const FWS$ = subexp(subexp(WSP$$ + \"*\" + \"\\\\x0D\\\\x0A\") + \"?\" + WSP$$ + \"+\");\n//const QUOTED_PAIR$ = subexp(subexp(\"\\\\\\\\\" + subexp(VCHAR$$ + \"|\" + WSP$$)) + \"|\" + OBS_QP$);\n//const QUOTED_STRING$ = subexp('\\\\\"' + subexp(FWS$ + \"?\" + QCONTENT$) + \"*\" + FWS$ + \"?\" + '\\\\\"');\nconst ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\$\\\\%\\\\'\\\\*\\\\+\\\\-\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\nconst QTEXT$$ = \"[\\\\!\\\\$\\\\%\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\-\\\\.0-9\\\\<\\\\>A-Z\\\\x5E-\\\\x7E]\";\nconst VCHAR$$ = merge(QTEXT$$, \"[\\\\\\\"\\\\\\\\]\");\nconst DOT_ATOM_TEXT$ = subexp(ATEXT$$ + \"+\" + subexp(\"\\\\.\" + ATEXT$$ + \"+\") + \"*\");\nconst QUOTED_PAIR$ = subexp(\"\\\\\\\\\" + VCHAR$$);\nconst QCONTENT$ = subexp(QTEXT$$ + \"|\" + QUOTED_PAIR$);\nconst QUOTED_STRING$ = subexp('\\\\\"' + QCONTENT$ + \"*\" + '\\\\\"');\n\n//RFC 6068\nconst DTEXT_NO_OBS$$ = \"[\\\\x21-\\\\x5A\\\\x5E-\\\\x7E]\"; //%d33-90 / %d94-126\nconst SOME_DELIMS$$ = \"[\\\\!\\\\$\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\:\\\\@]\";\nconst QCHAR$ = subexp(UNRESERVED$$ + \"|\" + PCT_ENCODED$ + \"|\" + SOME_DELIMS$$);\nconst DOMAIN$ = subexp(DOT_ATOM_TEXT$ + \"|\" + \"\\\\[\" + DTEXT_NO_OBS$$ + \"*\" + \"\\\\]\");\nconst LOCAL_PART$ = subexp(DOT_ATOM_TEXT$ + \"|\" + QUOTED_STRING$);\nconst ADDR_SPEC$ = subexp(LOCAL_PART$ + \"\\\\@\" + DOMAIN$);\nconst TO$ = subexp(ADDR_SPEC$ + subexp(\"\\\\,\" + ADDR_SPEC$) + \"*\");\nconst HFNAME$ = subexp(QCHAR$ + \"*\");\nconst HFVALUE$ = HFNAME$;\nconst HFIELD$ = subexp(HFNAME$ + \"\\\\=\" + HFVALUE$);\nconst HFIELDS2$ = subexp(HFIELD$ + subexp(\"\\\\&\" + HFIELD$) + \"*\");\nconst HFIELDS$ = subexp(\"\\\\?\" + HFIELDS2$);\nconst MAILTO_URI = new RegExp(\"^mailto\\\\:\" + TO$ + \"?\" + HFIELDS$ + \"?$\");\n\nconst UNRESERVED = new RegExp(UNRESERVED$$, \"g\");\nconst PCT_ENCODED = new RegExp(PCT_ENCODED$, \"g\");\nconst NOT_LOCAL_PART = new RegExp(merge(\"[^]\", ATEXT$$, \"[\\\\.]\", '[\\\\\"]', VCHAR$$), \"g\");\nconst NOT_DOMAIN = new RegExp(merge(\"[^]\", ATEXT$$, \"[\\\\.]\", \"[\\\\[]\", DTEXT_NO_OBS$$, \"[\\\\]]\"), \"g\");\nconst NOT_HFNAME = new RegExp(merge(\"[^]\", UNRESERVED$$, SOME_DELIMS$$), \"g\");\nconst NOT_HFVALUE = NOT_HFNAME;\nconst TO = new RegExp(\"^\" + TO$ + \"$\");\nconst HFIELDS = new RegExp(\"^\" + HFIELDS2$ + \"$\");\n\nfunction decodeUnreserved(str:string):string {\n\tconst decStr = pctDecChars(str);\n\treturn (!decStr.match(UNRESERVED) ? str : decStr);\n}\n\nconst handler:URISchemeHandler = {\n\tscheme : \"mailto\",\n\n\tparse : function (components:URIComponents, options:URIOptions):MailtoComponents {\n\t\tconst mailtoComponents = components as MailtoComponents;\n\t\tconst to = mailtoComponents.to = (mailtoComponents.path ? mailtoComponents.path.split(\",\") : []);\n\t\tmailtoComponents.path = undefined;\n\n\t\tif (mailtoComponents.query) {\n\t\t\tlet unknownHeaders = false\n\t\t\tconst headers:MailtoHeaders = {};\n\t\t\tconst hfields = mailtoComponents.query.split(\"&\");\n\n\t\t\tfor (let x = 0, xl = hfields.length; x < xl; ++x) {\n\t\t\t\tconst hfield = hfields[x].split(\"=\");\n\n\t\t\t\tswitch (hfield[0]) {\n\t\t\t\t\tcase \"to\":\n\t\t\t\t\t\tconst toAddrs = hfield[1].split(\",\");\n\t\t\t\t\t\tfor (let x = 0, xl = toAddrs.length; x < xl; ++x) {\n\t\t\t\t\t\t\tto.push(toAddrs[x]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"subject\":\n\t\t\t\t\t\tmailtoComponents.subject = unescapeComponent(hfield[1], options);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"body\":\n\t\t\t\t\t\tmailtoComponents.body = unescapeComponent(hfield[1], options);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tunknownHeaders = true;\n\t\t\t\t\t\theaders[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (unknownHeaders) mailtoComponents.headers = headers;\n\t\t}\n\n\t\tmailtoComponents.query = undefined;\n\n\t\tfor (let x = 0, xl = to.length; x < xl; ++x) {\n\t\t\tconst addr = to[x].split(\"@\");\n\n\t\t\taddr[0] = unescapeComponent(addr[0]);\n\n\t\t\tif (!options.unicodeSupport) {\n\t\t\t\t//convert Unicode IDN -> ASCII IDN\n\t\t\t\ttry {\n\t\t\t\t\taddr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase());\n\t\t\t\t} catch (e) {\n\t\t\t\t\tmailtoComponents.error = mailtoComponents.error || \"Email address's domain name can not be converted to ASCII via punycode: \" + e;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\taddr[1] = unescapeComponent(addr[1], options).toLowerCase();\n\t\t\t}\n\n\t\t\tto[x] = addr.join(\"@\");\n\t\t}\n\n\t\treturn mailtoComponents;\n\t},\n\n\tserialize : function (mailtoComponents:MailtoComponents, options:URIOptions):URIComponents {\n\t\tconst components = mailtoComponents as URIComponents;\n\t\tconst to = toArray(mailtoComponents.to);\n\t\tif (to) {\n\t\t\tfor (let x = 0, xl = to.length; x < xl; ++x) {\n\t\t\t\tconst toAddr = String(to[x]);\n\t\t\t\tconst atIdx = toAddr.lastIndexOf(\"@\");\n\t\t\t\tconst localPart = (toAddr.slice(0, atIdx)).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar);\n\t\t\t\tlet domain = toAddr.slice(atIdx + 1);\n\n\t\t\t\t//convert IDN via punycode\n\t\t\t\ttry {\n\t\t\t\t\tdomain = (!options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain));\n\t\t\t\t} catch (e) {\n\t\t\t\t\tcomponents.error = components.error || \"Email address's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n\t\t\t\t}\n\n\t\t\t\tto[x] = localPart + \"@\" + domain;\n\t\t\t}\n\n\t\t\tcomponents.path = to.join(\",\");\n\t\t}\n\n\t\tconst headers = mailtoComponents.headers = mailtoComponents.headers || {};\n\n\t\tif (mailtoComponents.subject) headers[\"subject\"] = mailtoComponents.subject;\n\t\tif (mailtoComponents.body) headers[\"body\"] = mailtoComponents.body;\n\n\t\tconst fields = [];\n\t\tfor (const name in headers) {\n\t\t\tif (headers[name] !== O[name]) {\n\t\t\t\tfields.push(\n\t\t\t\t\tname.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) +\n\t\t\t\t\t\"=\" +\n\t\t\t\t\theaders[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tif (fields.length) {\n\t\t\tcomponents.query = fields.join(\"&\");\n\t\t}\n\n\t\treturn components;\n\t}\n}\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport { pctEncChar, SCHEMES } from \"../uri\";\n\nexport interface URNComponents extends URIComponents {\n\tnid?:string;\n\tnss?:string;\n}\n\nexport interface URNOptions extends URIOptions {\n\tnid?:string;\n}\n\nconst NID$ = \"(?:[0-9A-Za-z][0-9A-Za-z\\\\-]{1,31})\";\nconst PCT_ENCODED$ = \"(?:\\\\%[0-9A-Fa-f]{2})\";\nconst TRANS$$ = \"[0-9A-Za-z\\\\(\\\\)\\\\+\\\\,\\\\-\\\\.\\\\:\\\\=\\\\@\\\\;\\\\$\\\\_\\\\!\\\\*\\\\'\\\\/\\\\?\\\\#]\";\nconst NSS$ = \"(?:(?:\" + PCT_ENCODED$ + \"|\" + TRANS$$ + \")+)\";\nconst URN_SCHEME = new RegExp(\"^urn\\\\:(\" + NID$ + \")$\");\nconst URN_PATH = new RegExp(\"^(\" + NID$ + \")\\\\:(\" + NSS$ + \")$\");\nconst URN_PARSE = /^([^\\:]+)\\:(.*)/;\nconst URN_EXCLUDED = /[\\x00-\\x20\\\\\\\"\\&\\<\\>\\[\\]\\^\\`\\{\\|\\}\\~\\x7F-\\xFF]/g;\n\n//RFC 2141\nconst handler:URISchemeHandler = {\n\tscheme : \"urn\",\n\n\tparse : function (components:URIComponents, options:URNOptions):URNComponents {\n\t\tconst matches = components.path && components.path.match(URN_PARSE);\n\t\tlet urnComponents = components as URNComponents;\n\n\t\tif (matches) {\n\t\t\tconst scheme = options.scheme || urnComponents.scheme || \"urn\";\n\t\t\tconst nid = matches[1].toLowerCase();\n\t\t\tconst nss = matches[2];\n\t\t\tconst urnScheme = `${scheme}:${options.nid || nid}`;\n\t\t\tconst schemeHandler = SCHEMES[urnScheme];\n\n\t\t\turnComponents.nid = nid;\n\t\t\turnComponents.nss = nss;\n\t\t\turnComponents.path = undefined;\n\n\t\t\tif (schemeHandler) {\n\t\t\t\turnComponents = schemeHandler.parse(urnComponents, options) as URNComponents;\n\t\t\t}\n\t\t} else {\n\t\t\turnComponents.error = urnComponents.error || \"URN can not be parsed.\";\n\t\t}\n\n\t\treturn urnComponents;\n\t},\n\n\tserialize : function (urnComponents:URNComponents, options:URNOptions):URIComponents {\n\t\tconst scheme = options.scheme || urnComponents.scheme || \"urn\";\n\t\tconst nid = urnComponents.nid;\n\t\tconst urnScheme = `${scheme}:${options.nid || nid}`;\n\t\tconst schemeHandler = SCHEMES[urnScheme];\n\n\t\tif (schemeHandler) {\n\t\t\turnComponents = schemeHandler.serialize(urnComponents, options) as URNComponents;\n\t\t}\n\n\t\tconst uriComponents = urnComponents as URIComponents;\n\t\tconst nss = urnComponents.nss;\n\t\turiComponents.path = `${nid || options.nid}:${nss}`;\n\n\t\treturn uriComponents;\n\t},\n};\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport { URNComponents } from \"./urn\";\nimport { SCHEMES } from \"../uri\";\n\nexport interface UUIDComponents extends URNComponents {\n\tuuid?: string;\n}\n\nconst UUID = /^[0-9A-Fa-f]{8}(?:\\-[0-9A-Fa-f]{4}){3}\\-[0-9A-Fa-f]{12}$/;\nconst UUID_PARSE = /^[0-9A-Fa-f\\-]{36}/;\n\n//RFC 4122\nconst handler:URISchemeHandler = {\n\tscheme : \"urn:uuid\",\n\n\tparse : function (urnComponents:URNComponents, options:URIOptions):UUIDComponents {\n\t\tconst uuidComponents = urnComponents as UUIDComponents;\n\t\tuuidComponents.uuid = uuidComponents.nss;\n\t\tuuidComponents.nss = undefined;\n\n\t\tif (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) {\n\t\t\tuuidComponents.error = uuidComponents.error || \"UUID is not valid.\";\n\t\t}\n\n\t\treturn uuidComponents;\n\t},\n\n\tserialize : function (uuidComponents:UUIDComponents, options:URIOptions):URNComponents {\n\t\tconst urnComponents = uuidComponents as URNComponents;\n\t\t//normalize UUID\n\t\turnComponents.nss = (uuidComponents.uuid || \"\").toLowerCase();\n\t\treturn urnComponents;\n\t},\n};\n\nexport default handler;","import { SCHEMES } from \"./uri\";\n\nimport http from \"./schemes/http\";\nSCHEMES[http.scheme] = http;\n\nimport https from \"./schemes/https\";\nSCHEMES[https.scheme] = https;\n\nimport ws from \"./schemes/ws\";\nSCHEMES[ws.scheme] = ws;\n\nimport wss from \"./schemes/wss\";\nSCHEMES[wss.scheme] = wss;\n\nimport mailto from \"./schemes/mailto\";\nSCHEMES[mailto.scheme] = mailto;\n\nimport urn from \"./schemes/urn\";\nSCHEMES[urn.scheme] = urn;\n\nimport uuid from \"./schemes/urn-uuid\";\nSCHEMES[uuid.scheme] = uuid;\n\nexport * from \"./uri\";\n","'use strict';\n\n/**\n* FUNCTION: isArray( value )\n*\tValidates if a value is an array.\n*\n* @param {*} value - value to be validated\n* @returns {Boolean} boolean indicating whether value is an array\n*/\nfunction isArray( value ) {\n\treturn Object.prototype.toString.call( value ) === '[object Array]';\n} // end FUNCTION isArray()\n\n// EXPORTS //\n\nmodule.exports = Array.isArray || isArray;\n","/**\n*\n*\tVALIDATE: function\n*\n*\n*\tDESCRIPTION:\n*\t\t- Validates if a value is a function.\n*\n*\n*\tNOTES:\n*\t\t[1]\n*\n*\n*\tTODO:\n*\t\t[1]\n*\n*\n*\tLICENSE:\n*\t\tMIT\n*\n*\tCopyright (c) 2014. Athan Reines.\n*\n*\n*\tAUTHOR:\n*\t\tAthan Reines. kgryte@gmail.com. 2014.\n*\n*/\n\n'use strict';\n\n/**\n* FUNCTION: isFunction( value )\n*\tValidates if a value is a function.\n*\n* @param {*} value - value to be validated\n* @returns {Boolean} boolean indicating whether value is a function\n*/\nfunction isFunction( value ) {\n\treturn ( typeof value === 'function' );\n} // end FUNCTION isFunction()\n\n\n// EXPORTS //\n\nmodule.exports = isFunction;\n","/**\n*\n*\tVALIDATE: integer-array\n*\n*\n*\tDESCRIPTION:\n*\t\t- Validates if a value is an integer array.\n*\n*\n*\tNOTES:\n*\t\t[1]\n*\n*\n*\tTODO:\n*\t\t[1]\n*\n*\n*\tLICENSE:\n*\t\tMIT\n*\n*\tCopyright (c) 2015. Athan Reines.\n*\n*\n*\tAUTHOR:\n*\t\tAthan Reines. kgryte@gmail.com. 2015.\n*\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isArray = require( 'validate.io-array' ),\n\tisInteger = require( 'validate.io-integer' );\n\n\n// IS INTEGER ARRAY //\n\n/**\n* FUNCTION: isIntegerArray( value )\n*\tValidates if a value is an integer array.\n*\n* @param {*} value - value to be validated\n* @returns {Boolean} boolean indicating if a value is an integer array\n*/\nfunction isIntegerArray( value ) {\n\tvar len;\n\tif ( !isArray( value ) ) {\n\t\treturn false;\n\t}\n\tlen = value.length;\n\tif ( !len ) {\n\t\treturn false;\n\t}\n\tfor ( var i = 0; i < len; i++ ) {\n\t\tif ( !isInteger( value[i] ) ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n} // end FUNCTION isIntegerArray()\n\n\n// EXPORTS //\n\nmodule.exports = isIntegerArray;\n","/**\n*\n*\tVALIDATE: integer\n*\n*\n*\tDESCRIPTION:\n*\t\t- Validates if a value is an integer.\n*\n*\n*\tNOTES:\n*\t\t[1]\n*\n*\n*\tTODO:\n*\t\t[1]\n*\n*\n*\tLICENSE:\n*\t\tMIT\n*\n*\tCopyright (c) 2014. Athan Reines.\n*\n*\n*\tAUTHOR:\n*\t\tAthan Reines. kgryte@gmail.com. 2014.\n*\n*/\n\n'use strict';\n\n// MODULES //\n\nvar isNumber = require( 'validate.io-number' );\n\n\n// ISINTEGER //\n\n/**\n* FUNCTION: isInteger( value )\n*\tValidates if a value is an integer.\n*\n* @param {Number} value - value to be validated\n* @returns {Boolean} boolean indicating whether value is an integer\n*/\nfunction isInteger( value ) {\n\treturn isNumber( value ) && value%1 === 0;\n} // end FUNCTION isInteger()\n\n\n// EXPORTS //\n\nmodule.exports = isInteger;\n","/**\n*\n*\tVALIDATE: number\n*\n*\n*\tDESCRIPTION:\n*\t\t- Validates if a value is a number.\n*\n*\n*\tNOTES:\n*\t\t[1]\n*\n*\n*\tTODO:\n*\t\t[1]\n*\n*\n*\tLICENSE:\n*\t\tMIT\n*\n*\tCopyright (c) 2014. Athan Reines.\n*\n*\n*\tAUTHOR:\n*\t\tAthan Reines. kgryte@gmail.com. 2014.\n*\n*/\n\n'use strict';\n\n/**\n* FUNCTION: isNumber( value )\n*\tValidates if a value is a number.\n*\n* @param {*} value - value to be validated\n* @returns {Boolean} boolean indicating whether value is a number\n*/\nfunction isNumber( value ) {\n\treturn ( typeof value === 'number' || Object.prototype.toString.call( value ) === '[object Number]' ) && value.valueOf() === value.valueOf();\n} // end FUNCTION isNumber()\n\n\n// EXPORTS //\n\nmodule.exports = isNumber;\n","function _extends() {\n module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + \"abd36b29\" + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"frontend:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"./\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t792: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkfrontend\"] = self[\"webpackChunkfrontend\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Actions represent the type of change to a location value.\n */\nexport enum Action {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Pop = \"POP\",\n\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Push = \"PUSH\",\n\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Replace = \"REPLACE\",\n}\n\n/**\n * The pathname, search, and hash values of a URL.\n */\nexport interface Path {\n /**\n * A URL pathname, beginning with a /.\n */\n pathname: string;\n\n /**\n * A URL search string, beginning with a ?.\n */\n search: string;\n\n /**\n * A URL fragment identifier, beginning with a #.\n */\n hash: string;\n}\n\n// TODO: (v7) Change the Location generic default from `any` to `unknown` and\n// remove Remix `useLocation` wrapper.\n\n/**\n * An entry in a history stack. A location contains information about the\n * URL path, as well as possibly some arbitrary state and a key.\n */\nexport interface Location extends Path {\n /**\n * A value of arbitrary data associated with this location.\n */\n state: State;\n\n /**\n * A unique string associated with this location. May be used to safely store\n * and retrieve data in some other storage API, like `localStorage`.\n *\n * Note: This value is always \"default\" on the initial location.\n */\n key: string;\n}\n\n/**\n * A change to the current location.\n */\nexport interface Update {\n /**\n * The action that triggered the change.\n */\n action: Action;\n\n /**\n * The new location.\n */\n location: Location;\n\n /**\n * The delta between this location and the former location in the history stack\n */\n delta: number | null;\n}\n\n/**\n * A function that receives notifications about location changes.\n */\nexport interface Listener {\n (update: Update): void;\n}\n\n/**\n * Describes a location that is the destination of some navigation, either via\n * `history.push` or `history.replace`. This may be either a URL or the pieces\n * of a URL path.\n */\nexport type To = string | Partial;\n\n/**\n * A history is an interface to the navigation stack. The history serves as the\n * source of truth for the current location, as well as provides a set of\n * methods that may be used to change it.\n *\n * It is similar to the DOM's `window.history` object, but with a smaller, more\n * focused API.\n */\nexport interface History {\n /**\n * The last action that modified the current location. This will always be\n * Action.Pop when a history instance is first created. This value is mutable.\n */\n readonly action: Action;\n\n /**\n * The current location. This value is mutable.\n */\n readonly location: Location;\n\n /**\n * Returns a valid href for the given `to` value that may be used as\n * the value of an attribute.\n *\n * @param to - The destination URL\n */\n createHref(to: To): string;\n\n /**\n * Returns a URL for the given `to` value\n *\n * @param to - The destination URL\n */\n createURL(to: To): URL;\n\n /**\n * Encode a location the same way window.history would do (no-op for memory\n * history) so we ensure our PUSH/REPLACE navigations for data routers\n * behave the same as POP\n *\n * @param to Unencoded path\n */\n encodeLocation(to: To): Path;\n\n /**\n * Pushes a new location onto the history stack, increasing its length by one.\n * If there were any entries in the stack after the current one, they are\n * lost.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n push(to: To, state?: any): void;\n\n /**\n * Replaces the current location in the history stack with a new one. The\n * location that was replaced will no longer be available.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n replace(to: To, state?: any): void;\n\n /**\n * Navigates `n` entries backward/forward in the history stack relative to the\n * current index. For example, a \"back\" navigation would use go(-1).\n *\n * @param delta - The delta in the stack index\n */\n go(delta: number): void;\n\n /**\n * Sets up a listener that will be called whenever the current location\n * changes.\n *\n * @param listener - A function that will be called when the location changes\n * @returns unlisten - A function that may be used to stop listening\n */\n listen(listener: Listener): () => void;\n}\n\ntype HistoryState = {\n usr: any;\n key?: string;\n idx: number;\n};\n\nconst PopStateEventType = \"popstate\";\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Memory History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A user-supplied object that describes a location. Used when providing\n * entries to `createMemoryHistory` via its `initialEntries` option.\n */\nexport type InitialEntry = string | Partial;\n\nexport type MemoryHistoryOptions = {\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n v5Compat?: boolean;\n};\n\n/**\n * A memory history stores locations in memory. This is useful in stateful\n * environments where there is no web browser, such as node tests or React\n * Native.\n */\nexport interface MemoryHistory extends History {\n /**\n * The current index in the history stack.\n */\n readonly index: number;\n}\n\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nexport function createMemoryHistory(\n options: MemoryHistoryOptions = {}\n): MemoryHistory {\n let { initialEntries = [\"/\"], initialIndex, v5Compat = false } = options;\n let entries: Location[]; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) =>\n createMemoryLocation(\n entry,\n typeof entry === \"string\" ? null : entry.state,\n index === 0 ? \"default\" : undefined\n )\n );\n let index = clampIndex(\n initialIndex == null ? entries.length - 1 : initialIndex\n );\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n function clampIndex(n: number): number {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation(): Location {\n return entries[index];\n }\n function createMemoryLocation(\n to: To,\n state: any = null,\n key?: string\n ): Location {\n let location = createLocation(\n entries ? getCurrentLocation().pathname : \"/\",\n to,\n state,\n key\n );\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in memory history: ${JSON.stringify(\n to\n )}`\n );\n return location;\n }\n\n function createHref(to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n let history: MemoryHistory = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref,\n createURL(to) {\n return new URL(createHref(to), \"http://localhost\");\n },\n encodeLocation(to: To) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\",\n };\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 1 });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 0 });\n }\n },\n go(delta) {\n action = Action.Pop;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({ action, location: nextLocation, delta });\n }\n },\n listen(fn: Listener) {\n listener = fn;\n return () => {\n listener = null;\n };\n },\n };\n\n return history;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Browser History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A browser history stores the current location in regular URLs in a web\n * browser environment. This is the standard for most web apps and provides the\n * cleanest URLs the browser's address bar.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#browserhistory\n */\nexport interface BrowserHistory extends UrlHistory {}\n\nexport type BrowserHistoryOptions = UrlHistoryOptions;\n\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nexport function createBrowserHistory(\n options: BrowserHistoryOptions = {}\n): BrowserHistory {\n function createBrowserLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let { pathname, search, hash } = window.location;\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createBrowserHref(window: Window, to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n return getUrlBasedHistory(\n createBrowserLocation,\n createBrowserHref,\n null,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hash History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hash history stores the current location in the fragment identifier portion\n * of the URL in a web browser environment.\n *\n * This is ideal for apps that do not control the server for some reason\n * (because the fragment identifier is never sent to the server), including some\n * shared hosting environments that do not provide fine-grained controls over\n * which pages are served at which URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#hashhistory\n */\nexport interface HashHistory extends UrlHistory {}\n\nexport type HashHistoryOptions = UrlHistoryOptions;\n\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nexport function createHashHistory(\n options: HashHistoryOptions = {}\n): HashHistory {\n function createHashLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n } = parsePath(window.location.hash.substr(1));\n\n // Hash URL should always have a leading / just like window.location.pathname\n // does, so if an app ends up at a route like /#something then we add a\n // leading slash so all of our path-matching behaves the same as if it would\n // in a browser router. This is particularly important when there exists a\n // root splat route () since that matches internally against\n // \"/*\" and we'd expect /#something to 404 in a hash router app.\n if (!pathname.startsWith(\"/\") && !pathname.startsWith(\".\")) {\n pathname = \"/\" + pathname;\n }\n\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createHashHref(window: Window, to: To) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n\n function validateHashLocation(location: Location, to: To) {\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in hash history.push(${JSON.stringify(\n to\n )})`\n );\n }\n\n return getUrlBasedHistory(\n createHashLocation,\n createHashHref,\n validateHashLocation,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region UTILS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * @private\n */\nexport function invariant(value: boolean, message?: string): asserts value;\nexport function invariant(\n value: T | null | undefined,\n message?: string\n): asserts value is T;\nexport function invariant(value: any, message?: string) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\n\nexport function warning(cond: any, message: string) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience, so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location: Location, index: number): HistoryState {\n return {\n usr: location.state,\n key: location.key,\n idx: index,\n };\n}\n\n/**\n * Creates a Location object with a unique key from the given Path\n */\nexport function createLocation(\n current: string | Location,\n to: To,\n state: any = null,\n key?: string\n): Readonly {\n let location: Readonly = {\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\",\n ...(typeof to === \"string\" ? parsePath(to) : to),\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: (to && (to as Location).key) || key || createKey(),\n };\n return location;\n}\n\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nexport function createPath({\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n}: Partial) {\n if (search && search !== \"?\")\n pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\")\n pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nexport function parsePath(path: string): Partial {\n let parsedPath: Partial = {};\n\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport interface UrlHistory extends History {}\n\nexport type UrlHistoryOptions = {\n window?: Window;\n v5Compat?: boolean;\n};\n\nfunction getUrlBasedHistory(\n getLocation: (window: Window, globalHistory: Window[\"history\"]) => Location,\n createHref: (window: Window, to: To) => string,\n validateLocation: ((location: Location, to: To) => void) | null,\n options: UrlHistoryOptions = {}\n): UrlHistory {\n let { window = document.defaultView!, v5Compat = false } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n let index = getIndex()!;\n // Index should only be null when we initialize. If not, it's because the\n // user called history.pushState or history.replaceState directly, in which\n // case we should log a warning as it will result in bugs.\n if (index == null) {\n index = 0;\n globalHistory.replaceState({ ...globalHistory.state, idx: index }, \"\");\n }\n\n function getIndex(): number {\n let state = globalHistory.state || { idx: null };\n return state.idx;\n }\n\n function handlePop() {\n action = Action.Pop;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({ action, location: history.location, delta });\n }\n }\n\n function push(to: To, state?: any) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // If the exception is because `state` can't be serialized, let that throw\n // outwards just like a replace call would so the dev knows the cause\n // https://html.spec.whatwg.org/multipage/nav-history-apis.html#shared-history-push/replace-state-steps\n // https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal\n if (error instanceof DOMException && error.name === \"DataCloneError\") {\n throw error;\n }\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 1 });\n }\n }\n\n function replace(to: To, state?: any) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 0 });\n }\n }\n\n function createURL(to: To): URL {\n // window.location.origin is \"null\" (the literal string value) in Firefox\n // under certain conditions, notably when serving from a local HTML file\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n let base =\n window.location.origin !== \"null\"\n ? window.location.origin\n : window.location.href;\n\n let href = typeof to === \"string\" ? to : createPath(to);\n // Treating this as a full URL will strip any trailing spaces so we need to\n // pre-encode them since they might be part of a matching splat param from\n // an ancestor route\n href = href.replace(/ $/, \"%20\");\n invariant(\n base,\n `No window.location.(origin|href) available to create URL for href: ${href}`\n );\n return new URL(href, base);\n }\n\n let history: History = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn: Listener) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n createURL,\n encodeLocation(to) {\n // Encode a Location the same way window.location would\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash,\n };\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n },\n };\n\n return history;\n}\n\n//#endregion\n","import type { Location, Path, To } from \"./history\";\nimport { invariant, parsePath, warning } from \"./history\";\n\n/**\n * Map of routeId -> data returned from a loader/action/error\n */\nexport interface RouteData {\n [routeId: string]: any;\n}\n\nexport enum ResultType {\n data = \"data\",\n deferred = \"deferred\",\n redirect = \"redirect\",\n error = \"error\",\n}\n\n/**\n * Successful result from a loader or action\n */\nexport interface SuccessResult {\n type: ResultType.data;\n data: unknown;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Successful defer() result from a loader or action\n */\nexport interface DeferredResult {\n type: ResultType.deferred;\n deferredData: DeferredData;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Redirect result from a loader or action\n */\nexport interface RedirectResult {\n type: ResultType.redirect;\n // We keep the raw Response for redirects so we can return it verbatim\n response: Response;\n}\n\n/**\n * Unsuccessful result from a loader or action\n */\nexport interface ErrorResult {\n type: ResultType.error;\n error: unknown;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Result from a loader or action - potentially successful or unsuccessful\n */\nexport type DataResult =\n | SuccessResult\n | DeferredResult\n | RedirectResult\n | ErrorResult;\n\ntype LowerCaseFormMethod = \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\ntype UpperCaseFormMethod = Uppercase;\n\n/**\n * Users can specify either lowercase or uppercase form methods on `
`,\n * useSubmit(), ``, etc.\n */\nexport type HTMLFormMethod = LowerCaseFormMethod | UpperCaseFormMethod;\n\n/**\n * Active navigation/fetcher form methods are exposed in lowercase on the\n * RouterState\n */\nexport type FormMethod = LowerCaseFormMethod;\nexport type MutationFormMethod = Exclude;\n\n/**\n * In v7, active navigation/fetcher form methods are exposed in uppercase on the\n * RouterState. This is to align with the normalization done via fetch().\n */\nexport type V7_FormMethod = UpperCaseFormMethod;\nexport type V7_MutationFormMethod = Exclude;\n\nexport type FormEncType =\n | \"application/x-www-form-urlencoded\"\n | \"multipart/form-data\"\n | \"application/json\"\n | \"text/plain\";\n\n// Thanks https://github.com/sindresorhus/type-fest!\ntype JsonObject = { [Key in string]: JsonValue } & {\n [Key in string]?: JsonValue | undefined;\n};\ntype JsonArray = JsonValue[] | readonly JsonValue[];\ntype JsonPrimitive = string | number | boolean | null;\ntype JsonValue = JsonPrimitive | JsonObject | JsonArray;\n\n/**\n * @private\n * Internal interface to pass around for action submissions, not intended for\n * external consumption\n */\nexport type Submission =\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n json: undefined;\n text: undefined;\n }\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: undefined;\n json: JsonValue;\n text: undefined;\n }\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: undefined;\n json: undefined;\n text: string;\n };\n\n/**\n * @private\n * Arguments passed to route loader/action functions. Same for now but we keep\n * this as a private implementation detail in case they diverge in the future.\n */\ninterface DataFunctionArgs {\n request: Request;\n params: Params;\n context?: Context;\n}\n\n// TODO: (v7) Change the defaults from any to unknown in and remove Remix wrappers:\n// ActionFunction, ActionFunctionArgs, LoaderFunction, LoaderFunctionArgs\n// Also, make them a type alias instead of an interface\n\n/**\n * Arguments passed to loader functions\n */\nexport interface LoaderFunctionArgs\n extends DataFunctionArgs {}\n\n/**\n * Arguments passed to action functions\n */\nexport interface ActionFunctionArgs\n extends DataFunctionArgs {}\n\n/**\n * Loaders and actions can return anything except `undefined` (`null` is a\n * valid return value if there is no data to return). Responses are preferred\n * and will ease any future migration to Remix\n */\ntype DataFunctionValue = Response | NonNullable | null;\n\ntype DataFunctionReturnValue = Promise | DataFunctionValue;\n\n/**\n * Route loader function signature\n */\nexport type LoaderFunction = {\n (\n args: LoaderFunctionArgs,\n handlerCtx?: unknown\n ): DataFunctionReturnValue;\n} & { hydrate?: boolean };\n\n/**\n * Route action function signature\n */\nexport interface ActionFunction {\n (\n args: ActionFunctionArgs,\n handlerCtx?: unknown\n ): DataFunctionReturnValue;\n}\n\n/**\n * Arguments passed to shouldRevalidate function\n */\nexport interface ShouldRevalidateFunctionArgs {\n currentUrl: URL;\n currentParams: AgnosticDataRouteMatch[\"params\"];\n nextUrl: URL;\n nextParams: AgnosticDataRouteMatch[\"params\"];\n formMethod?: Submission[\"formMethod\"];\n formAction?: Submission[\"formAction\"];\n formEncType?: Submission[\"formEncType\"];\n text?: Submission[\"text\"];\n formData?: Submission[\"formData\"];\n json?: Submission[\"json\"];\n actionStatus?: number;\n actionResult?: any;\n defaultShouldRevalidate: boolean;\n}\n\n/**\n * Route shouldRevalidate function signature. This runs after any submission\n * (navigation or fetcher), so we flatten the navigation/fetcher submission\n * onto the arguments. It shouldn't matter whether it came from a navigation\n * or a fetcher, what really matters is the URLs and the formData since loaders\n * have to re-run based on the data models that were potentially mutated.\n */\nexport interface ShouldRevalidateFunction {\n (args: ShouldRevalidateFunctionArgs): boolean;\n}\n\n/**\n * Function provided by the framework-aware layers to set `hasErrorBoundary`\n * from the framework-aware `errorElement` prop\n *\n * @deprecated Use `mapRouteProperties` instead\n */\nexport interface DetectErrorBoundaryFunction {\n (route: AgnosticRouteObject): boolean;\n}\n\nexport interface DataStrategyMatch\n extends AgnosticRouteMatch {\n shouldLoad: boolean;\n resolve: (\n handlerOverride?: (\n handler: (ctx?: unknown) => DataFunctionReturnValue\n ) => DataFunctionReturnValue\n ) => Promise;\n}\n\nexport interface DataStrategyFunctionArgs\n extends DataFunctionArgs {\n matches: DataStrategyMatch[];\n fetcherKey: string | null;\n}\n\n/**\n * Result from a loader or action called via dataStrategy\n */\nexport interface DataStrategyResult {\n type: \"data\" | \"error\";\n result: unknown; // data, Error, Response, DeferredData, DataWithResponseInit\n}\n\nexport interface DataStrategyFunction {\n (args: DataStrategyFunctionArgs): Promise>;\n}\n\nexport type AgnosticPatchRoutesOnNavigationFunctionArgs<\n O extends AgnosticRouteObject = AgnosticRouteObject,\n M extends AgnosticRouteMatch = AgnosticRouteMatch\n> = {\n path: string;\n matches: M[];\n patch: (routeId: string | null, children: O[]) => void;\n};\n\nexport type AgnosticPatchRoutesOnNavigationFunction<\n O extends AgnosticRouteObject = AgnosticRouteObject,\n M extends AgnosticRouteMatch = AgnosticRouteMatch\n> = (\n opts: AgnosticPatchRoutesOnNavigationFunctionArgs\n) => void | Promise;\n\n/**\n * Function provided by the framework-aware layers to set any framework-specific\n * properties from framework-agnostic properties\n */\nexport interface MapRoutePropertiesFunction {\n (route: AgnosticRouteObject): {\n hasErrorBoundary: boolean;\n } & Record;\n}\n\n/**\n * Keys we cannot change from within a lazy() function. We spread all other keys\n * onto the route. Either they're meaningful to the router, or they'll get\n * ignored.\n */\nexport type ImmutableRouteKey =\n | \"lazy\"\n | \"caseSensitive\"\n | \"path\"\n | \"id\"\n | \"index\"\n | \"children\";\n\nexport const immutableRouteKeys = new Set([\n \"lazy\",\n \"caseSensitive\",\n \"path\",\n \"id\",\n \"index\",\n \"children\",\n]);\n\ntype RequireOne = Exclude<\n {\n [K in keyof T]: K extends Key ? Omit & Required> : never;\n }[keyof T],\n undefined\n>;\n\n/**\n * lazy() function to load a route definition, which can add non-matching\n * related properties to a route\n */\nexport interface LazyRouteFunction {\n (): Promise>>;\n}\n\n/**\n * Base RouteObject with common props shared by all types of routes\n */\ntype AgnosticBaseRouteObject = {\n caseSensitive?: boolean;\n path?: string;\n id?: string;\n loader?: LoaderFunction | boolean;\n action?: ActionFunction | boolean;\n hasErrorBoundary?: boolean;\n shouldRevalidate?: ShouldRevalidateFunction;\n handle?: any;\n lazy?: LazyRouteFunction;\n};\n\n/**\n * Index routes must not have children\n */\nexport type AgnosticIndexRouteObject = AgnosticBaseRouteObject & {\n children?: undefined;\n index: true;\n};\n\n/**\n * Non-index routes may have children, but cannot have index\n */\nexport type AgnosticNonIndexRouteObject = AgnosticBaseRouteObject & {\n children?: AgnosticRouteObject[];\n index?: false;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport type AgnosticRouteObject =\n | AgnosticIndexRouteObject\n | AgnosticNonIndexRouteObject;\n\nexport type AgnosticDataIndexRouteObject = AgnosticIndexRouteObject & {\n id: string;\n};\n\nexport type AgnosticDataNonIndexRouteObject = AgnosticNonIndexRouteObject & {\n children?: AgnosticDataRouteObject[];\n id: string;\n};\n\n/**\n * A data route object, which is just a RouteObject with a required unique ID\n */\nexport type AgnosticDataRouteObject =\n | AgnosticDataIndexRouteObject\n | AgnosticDataNonIndexRouteObject;\n\nexport type RouteManifest = Record;\n\n// Recursive helper for finding path parameters in the absence of wildcards\ntype _PathParam =\n // split path into individual path segments\n Path extends `${infer L}/${infer R}`\n ? _PathParam | _PathParam\n : // find params after `:`\n Path extends `:${infer Param}`\n ? Param extends `${infer Optional}?`\n ? Optional\n : Param\n : // otherwise, there aren't any params present\n never;\n\n/**\n * Examples:\n * \"/a/b/*\" -> \"*\"\n * \":a\" -> \"a\"\n * \"/a/:b\" -> \"b\"\n * \"/a/blahblahblah:b\" -> \"b\"\n * \"/:a/:b\" -> \"a\" | \"b\"\n * \"/:a/b/:c/*\" -> \"a\" | \"c\" | \"*\"\n */\nexport type PathParam =\n // check if path is just a wildcard\n Path extends \"*\" | \"/*\"\n ? \"*\"\n : // look for wildcard at the end of the path\n Path extends `${infer Rest}/*`\n ? \"*\" | _PathParam\n : // look for params in the absence of wildcards\n _PathParam;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise, return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey =\n // if you could not find path params, fallback to `string`\n [PathParam] extends [never] ? string : PathParam;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface AgnosticRouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObjectType;\n}\n\nexport interface AgnosticDataRouteMatch\n extends AgnosticRouteMatch {}\n\nfunction isIndexRoute(\n route: AgnosticRouteObject\n): route is AgnosticIndexRouteObject {\n return route.index === true;\n}\n\n// Walk the route tree generating unique IDs where necessary, so we are working\n// solely with AgnosticDataRouteObject's within the Router\nexport function convertRoutesToDataRoutes(\n routes: AgnosticRouteObject[],\n mapRouteProperties: MapRoutePropertiesFunction,\n parentPath: string[] = [],\n manifest: RouteManifest = {}\n): AgnosticDataRouteObject[] {\n return routes.map((route, index) => {\n let treePath = [...parentPath, String(index)];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(\n route.index !== true || !route.children,\n `Cannot specify children on an index route`\n );\n invariant(\n !manifest[id],\n `Found a route id collision on id \"${id}\". Route ` +\n \"id's must be globally unique within Data Router usages\"\n );\n\n if (isIndexRoute(route)) {\n let indexRoute: AgnosticDataIndexRouteObject = {\n ...route,\n ...mapRouteProperties(route),\n id,\n };\n manifest[id] = indexRoute;\n return indexRoute;\n } else {\n let pathOrLayoutRoute: AgnosticDataNonIndexRouteObject = {\n ...route,\n ...mapRouteProperties(route),\n id,\n children: undefined,\n };\n manifest[id] = pathOrLayoutRoute;\n\n if (route.children) {\n pathOrLayoutRoute.children = convertRoutesToDataRoutes(\n route.children,\n mapRouteProperties,\n treePath,\n manifest\n );\n }\n\n return pathOrLayoutRoute;\n }\n });\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/v6/utils/match-routes\n */\nexport function matchRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n locationArg: Partial | string,\n basename = \"/\"\n): AgnosticRouteMatch[] | null {\n return matchRoutesImpl(routes, locationArg, basename, false);\n}\n\nexport function matchRoutesImpl<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n locationArg: Partial | string,\n basename: string,\n allowPartial: boolean\n): AgnosticRouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n // Incoming pathnames are generally encoded from either window.location\n // or from router.navigate, but we want to match against the unencoded\n // paths in the route definitions. Memory router locations won't be\n // encoded here but there also shouldn't be anything to decode so this\n // should be a safe operation. This avoids needing matchRoutes to be\n // history-aware.\n let decoded = decodePath(pathname);\n matches = matchRouteBranch(\n branches[i],\n decoded,\n allowPartial\n );\n }\n\n return matches;\n}\n\nexport interface UIMatch {\n id: string;\n pathname: string;\n params: AgnosticRouteMatch[\"params\"];\n data: Data;\n handle: Handle;\n}\n\nexport function convertRouteMatchToUiMatch(\n match: AgnosticDataRouteMatch,\n loaderData: RouteData\n): UIMatch {\n let { route, pathname, params } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id],\n handle: route.handle,\n };\n}\n\ninterface RouteMeta<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObjectType;\n}\n\ninterface RouteBranch<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n let flattenRoute = (\n route: RouteObjectType,\n index: number,\n relativePath?: string\n ) => {\n let meta: RouteMeta = {\n relativePath:\n relativePath === undefined ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array, so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta,\n });\n };\n routes.forEach((route, index) => {\n // coarse-grain check for optional params\n if (route.path === \"\" || !route.path?.includes(\"?\")) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n\n return branches;\n}\n\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path: string): string[] {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n\n let [first, ...rest] = segments;\n\n // Optional path segments are denoted by a trailing `?`\n let isOptional = first.endsWith(\"?\");\n // Compute the corresponding required segment: `foo?` -> `foo`\n let required = first.replace(/\\?$/, \"\");\n\n if (rest.length === 0) {\n // Intepret empty string as omitting an optional segment\n // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n return isOptional ? [required, \"\"] : [required];\n }\n\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n\n let result: string[] = [];\n\n // All child paths with the prefix. Do this for all children before the\n // optional version for all children, so we get consistent ordering where the\n // parent optional aspect is preferred as required. Otherwise, we can get\n // child sections interspersed where deeper optional segments are higher than\n // parent optional segments, where for example, /:two would explode _earlier_\n // then /:one. By always including the parent as required _for all children_\n // first, we avoid this issue\n result.push(\n ...restExploded.map((subpath) =>\n subpath === \"\" ? required : [required, subpath].join(\"/\")\n )\n );\n\n // Then, if this is an optional value, add all child versions without\n if (isOptional) {\n result.push(...restExploded);\n }\n\n // for absolute paths, ensure `/` instead of empty segment\n return result.map((exploded) =>\n path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded\n );\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:[\\w-]+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n branch: RouteBranch,\n pathname: string,\n allowPartial = false\n): AgnosticRouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: AgnosticRouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n let route = meta.route;\n\n if (\n !match &&\n end &&\n allowPartial &&\n !routesMeta[routesMeta.length - 1].route.index\n ) {\n match = matchPath(\n {\n path: meta.relativePath,\n caseSensitive: meta.caseSensitive,\n end: false,\n },\n remainingPathname\n );\n }\n\n if (!match) {\n return null;\n }\n\n Object.assign(matchedParams, match.params);\n\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams as Params,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/v6/utils/generate-path\n */\nexport function generatePath(\n originalPath: Path,\n params: {\n [key in PathParam]: string | null;\n } = {} as any\n): string {\n let path: string = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(\n false,\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n path = path.replace(/\\*$/, \"/*\") as Path;\n }\n\n // ensure `/` is added at the beginning if the path is absolute\n const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n\n const stringify = (p: any) =>\n p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n\n const segments = path\n .split(/\\/+/)\n .map((segment, index, array) => {\n const isLastSegment = index === array.length - 1;\n\n // only apply the splat if it's the last segment\n if (isLastSegment && segment === \"*\") {\n const star = \"*\" as PathParam;\n // Apply the splat\n return stringify(params[star]);\n }\n\n const keyMatch = segment.match(/^:([\\w-]+)(\\??)$/);\n if (keyMatch) {\n const [, key, optional] = keyMatch;\n let param = params[key as PathParam];\n invariant(optional === \"?\" || param != null, `Missing \":${key}\" param`);\n return stringify(param);\n }\n\n // Remove any optional markers from optional static segments\n return segment.replace(/\\?$/g, \"\");\n })\n // Remove empty segments\n .filter((segment) => !!segment);\n\n return prefix + segments.join(\"/\");\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/v6/utils/match-path\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, compiledParams] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = compiledParams.reduce>(\n (memo, { paramName, isOptional }, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n const value = captureGroups[index];\n if (isOptional && !value) {\n memo[paramName] = undefined;\n } else {\n memo[paramName] = (value || \"\").replace(/%2F/g, \"/\");\n }\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\ntype CompiledPathParam = { paramName: string; isOptional?: boolean };\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, CompiledPathParam[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let params: CompiledPathParam[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^${}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(\n /\\/:([\\w-]+)(\\?)?/g,\n (_: string, paramName: string, isOptional) => {\n params.push({ paramName, isOptional: isOptional != null });\n return isOptional ? \"/?([^\\\\/]+)?\" : \"/([^\\\\/]+)\";\n }\n );\n\n if (path.endsWith(\"*\")) {\n params.push({ paramName: \"*\" });\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else if (end) {\n // When matching to the end, ignore trailing slashes\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n // If our path is non-empty and contains anything beyond an initial slash,\n // then we have _some_ form of path in our regex, so we should expect to\n // match only if we find the end of this path segment. Look for an optional\n // non-captured trailing slash (to match a portion of the URL) or the end\n // of the path (if we've matched to the end). We used to do this with a\n // word boundary but that gives false positives on routes like\n // /user-preferences since `-` counts as a word boundary.\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else {\n // Nothing to match for \"\" or \"/\"\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, params];\n}\n\nexport function decodePath(value: string) {\n try {\n return value\n .split(\"/\")\n .map((v) => decodeURIComponent(v).replace(/\\//g, \"%2F\"))\n .join(\"/\");\n } catch (error) {\n warning(\n false,\n `The URL path \"${value}\" could not be decoded because it is is a ` +\n `malformed URL segment. This is probably due to a bad percent ` +\n `encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * @private\n */\nexport function stripBasename(\n pathname: string,\n basename: string\n): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n let startIndex = basename.endsWith(\"/\")\n ? basename.length - 1\n : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(startIndex) || \"/\";\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/v6/utils/resolve-path\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction getInvalidPathError(\n char: string,\n field: string,\n dest: string,\n path: Partial\n) {\n return (\n `Cannot include a '${char}' character in a manually specified ` +\n `\\`to.${field}\\` field [${JSON.stringify(\n path\n )}]. Please separate it out to the ` +\n `\\`to.${dest}\\` field. Alternatively you may provide the full path as ` +\n `a string in and the router will parse it for you.`\n );\n}\n\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same. Both of the following examples should link back to the root:\n *\n * \n * \n * \n *\n * \n * \n * }> // <-- Does not contribute\n * // <-- Does not contribute\n * \n * \n */\nexport function getPathContributingMatches<\n T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[]) {\n return matches.filter(\n (match, index) =>\n index === 0 || (match.route.path && match.route.path.length > 0)\n );\n}\n\n// Return the array of pathnames for the current route matches - used to\n// generate the routePathnames input for resolveTo()\nexport function getResolveToMatches<\n T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[], v7_relativeSplatPath: boolean) {\n let pathMatches = getPathContributingMatches(matches);\n\n // When v7_relativeSplatPath is enabled, use the full pathname for the leaf\n // match so we include splat values for \".\" links. See:\n // https://github.com/remix-run/react-router/issues/11052#issuecomment-1836589329\n if (v7_relativeSplatPath) {\n return pathMatches.map((match, idx) =>\n idx === pathMatches.length - 1 ? match.pathname : match.pathnameBase\n );\n }\n\n return pathMatches.map((match) => match.pathnameBase);\n}\n\n/**\n * @private\n */\nexport function resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string,\n isPathRelative = false\n): Path {\n let to: Partial;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = { ...toArg };\n\n invariant(\n !to.pathname || !to.pathname.includes(\"?\"),\n getInvalidPathError(\"?\", \"pathname\", \"search\", to)\n );\n invariant(\n !to.pathname || !to.pathname.includes(\"#\"),\n getInvalidPathError(\"#\", \"pathname\", \"hash\", to)\n );\n invariant(\n !to.search || !to.search.includes(\"#\"),\n getInvalidPathError(\"#\", \"search\", \"hash\", to)\n );\n }\n\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n\n let from: string;\n\n // Routing is relative to the current pathname if explicitly requested.\n //\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n // With relative=\"route\" (the default), each leading .. segment means\n // \"go up one route\" instead of \"go up one URL segment\". This is a key\n // difference from how works and a major reason we call this a\n // \"to\" value instead of a \"href\".\n if (!isPathRelative && toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original \"to\" had one\n let hasExplicitTrailingSlash =\n toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n // Or if this was a link to the current path which has a trailing slash\n let hasCurrentTrailingSlash =\n (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (\n !path.pathname.endsWith(\"/\") &&\n (hasExplicitTrailingSlash || hasCurrentTrailingSlash)\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\n/**\n * @private\n */\nexport function getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\n/**\n * @private\n */\nexport const joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\n/**\n * @private\n */\nexport const normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\n/**\n * @private\n */\nexport const normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\n/**\n * @private\n */\nexport const normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\nexport type JsonFunction = (\n data: Data,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n *\n * @deprecated The `json` method is deprecated in favor of returning raw objects.\n * This method will be removed in v7.\n */\nexport const json: JsonFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n let headers = new Headers(responseInit.headers);\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n }\n\n return new Response(JSON.stringify(data), {\n ...responseInit,\n headers,\n });\n};\n\nexport class DataWithResponseInit {\n type: string = \"DataWithResponseInit\";\n data: D;\n init: ResponseInit | null;\n\n constructor(data: D, init?: ResponseInit) {\n this.data = data;\n this.init = init || null;\n }\n}\n\n/**\n * Create \"responses\" that contain `status`/`headers` without forcing\n * serialization into an actual `Response` - used by Remix single fetch\n */\nexport function data(data: D, init?: number | ResponseInit) {\n return new DataWithResponseInit(\n data,\n typeof init === \"number\" ? { status: init } : init\n );\n}\n\nexport interface TrackedPromise extends Promise {\n _tracked?: boolean;\n _data?: any;\n _error?: any;\n}\n\nexport class AbortedDeferredError extends Error {}\n\nexport class DeferredData {\n private pendingKeysSet: Set = new Set();\n private controller: AbortController;\n private abortPromise: Promise;\n private unlistenAbortSignal: () => void;\n private subscribers: Set<(aborted: boolean, settledKey?: string) => void> =\n new Set();\n data: Record;\n init?: ResponseInit;\n deferredKeys: string[] = [];\n\n constructor(data: Record, responseInit?: ResponseInit) {\n invariant(\n data && typeof data === \"object\" && !Array.isArray(data),\n \"defer() only accepts plain objects\"\n );\n\n // Set up an AbortController + Promise we can race against to exit early\n // cancellation\n let reject: (e: AbortedDeferredError) => void;\n this.abortPromise = new Promise((_, r) => (reject = r));\n this.controller = new AbortController();\n let onAbort = () =>\n reject(new AbortedDeferredError(\"Deferred data aborted\"));\n this.unlistenAbortSignal = () =>\n this.controller.signal.removeEventListener(\"abort\", onAbort);\n this.controller.signal.addEventListener(\"abort\", onAbort);\n\n this.data = Object.entries(data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: this.trackPromise(key, value),\n }),\n {}\n );\n\n if (this.done) {\n // All incoming values were resolved\n this.unlistenAbortSignal();\n }\n\n this.init = responseInit;\n }\n\n private trackPromise(\n key: string,\n value: Promise | unknown\n ): TrackedPromise | unknown {\n if (!(value instanceof Promise)) {\n return value;\n }\n\n this.deferredKeys.push(key);\n this.pendingKeysSet.add(key);\n\n // We store a little wrapper promise that will be extended with\n // _data/_error props upon resolve/reject\n let promise: TrackedPromise = Promise.race([value, this.abortPromise]).then(\n (data) => this.onSettle(promise, key, undefined, data as unknown),\n (error) => this.onSettle(promise, key, error as unknown)\n );\n\n // Register rejection listeners to avoid uncaught promise rejections on\n // errors or aborted deferred values\n promise.catch(() => {});\n\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n return promise;\n }\n\n private onSettle(\n promise: TrackedPromise,\n key: string,\n error: unknown,\n data?: unknown\n ): unknown {\n if (\n this.controller.signal.aborted &&\n error instanceof AbortedDeferredError\n ) {\n this.unlistenAbortSignal();\n Object.defineProperty(promise, \"_error\", { get: () => error });\n return Promise.reject(error);\n }\n\n this.pendingKeysSet.delete(key);\n\n if (this.done) {\n // Nothing left to abort!\n this.unlistenAbortSignal();\n }\n\n // If the promise was resolved/rejected with undefined, we'll throw an error as you\n // should always resolve with a value or null\n if (error === undefined && data === undefined) {\n let undefinedError = new Error(\n `Deferred data for key \"${key}\" resolved/rejected with \\`undefined\\`, ` +\n `you must resolve/reject with a value or \\`null\\`.`\n );\n Object.defineProperty(promise, \"_error\", { get: () => undefinedError });\n this.emit(false, key);\n return Promise.reject(undefinedError);\n }\n\n if (data === undefined) {\n Object.defineProperty(promise, \"_error\", { get: () => error });\n this.emit(false, key);\n return Promise.reject(error);\n }\n\n Object.defineProperty(promise, \"_data\", { get: () => data });\n this.emit(false, key);\n return data;\n }\n\n private emit(aborted: boolean, settledKey?: string) {\n this.subscribers.forEach((subscriber) => subscriber(aborted, settledKey));\n }\n\n subscribe(fn: (aborted: boolean, settledKey?: string) => void) {\n this.subscribers.add(fn);\n return () => this.subscribers.delete(fn);\n }\n\n cancel() {\n this.controller.abort();\n this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n this.emit(true);\n }\n\n async resolveData(signal: AbortSignal) {\n let aborted = false;\n if (!this.done) {\n let onAbort = () => this.cancel();\n signal.addEventListener(\"abort\", onAbort);\n aborted = await new Promise((resolve) => {\n this.subscribe((aborted) => {\n signal.removeEventListener(\"abort\", onAbort);\n if (aborted || this.done) {\n resolve(aborted);\n }\n });\n });\n }\n return aborted;\n }\n\n get done() {\n return this.pendingKeysSet.size === 0;\n }\n\n get unwrappedData() {\n invariant(\n this.data !== null && this.done,\n \"Can only unwrap data on initialized and settled deferreds\"\n );\n\n return Object.entries(this.data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: unwrapTrackedPromise(value),\n }),\n {}\n );\n }\n\n get pendingKeys() {\n return Array.from(this.pendingKeysSet);\n }\n}\n\nfunction isTrackedPromise(value: any): value is TrackedPromise {\n return (\n value instanceof Promise && (value as TrackedPromise)._tracked === true\n );\n}\n\nfunction unwrapTrackedPromise(value: any) {\n if (!isTrackedPromise(value)) {\n return value;\n }\n\n if (value._error) {\n throw value._error;\n }\n return value._data;\n}\n\nexport type DeferFunction = (\n data: Record,\n init?: number | ResponseInit\n) => DeferredData;\n\n/**\n * @deprecated The `defer` method is deprecated in favor of returning raw\n * objects. This method will be removed in v7.\n */\nexport const defer: DeferFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n return new DeferredData(data, responseInit);\n};\n\nexport type RedirectFunction = (\n url: string,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirect: RedirectFunction = (url, init = 302) => {\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = { status: responseInit };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n\n return new Response(null, {\n ...responseInit,\n headers,\n });\n};\n\n/**\n * A redirect response that will force a document reload to the new location.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirectDocument: RedirectFunction = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Reload-Document\", \"true\");\n return response;\n};\n\n/**\n * A redirect response that will perform a `history.replaceState` instead of a\n * `history.pushState` for client-side navigation redirects.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const replace: RedirectFunction = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Replace\", \"true\");\n return response;\n};\n\nexport type ErrorResponse = {\n status: number;\n statusText: string;\n data: any;\n};\n\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n *\n * We don't export the class for public use since it's an implementation\n * detail, but we export the interface above so folks can build their own\n * abstractions around instances via isRouteErrorResponse()\n */\nexport class ErrorResponseImpl implements ErrorResponse {\n status: number;\n statusText: string;\n data: any;\n private error?: Error;\n private internal: boolean;\n\n constructor(\n status: number,\n statusText: string | undefined,\n data: any,\n internal = false\n ) {\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data instanceof Error) {\n this.data = data.toString();\n this.error = data;\n } else {\n this.data = data;\n }\n }\n}\n\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nexport function isRouteErrorResponse(error: any): error is ErrorResponse {\n return (\n error != null &&\n typeof error.status === \"number\" &&\n typeof error.statusText === \"string\" &&\n typeof error.internal === \"boolean\" &&\n \"data\" in error\n );\n}\n","import type { History, Location, Path, To } from \"./history\";\nimport {\n Action as HistoryAction,\n createLocation,\n createPath,\n invariant,\n parsePath,\n warning,\n} from \"./history\";\nimport type {\n AgnosticDataRouteMatch,\n AgnosticDataRouteObject,\n DataStrategyMatch,\n AgnosticRouteObject,\n DataResult,\n DataStrategyFunction,\n DataStrategyFunctionArgs,\n DeferredData,\n DeferredResult,\n DetectErrorBoundaryFunction,\n ErrorResult,\n FormEncType,\n FormMethod,\n HTMLFormMethod,\n DataStrategyResult,\n ImmutableRouteKey,\n MapRoutePropertiesFunction,\n MutationFormMethod,\n RedirectResult,\n RouteData,\n RouteManifest,\n ShouldRevalidateFunctionArgs,\n Submission,\n SuccessResult,\n UIMatch,\n V7_FormMethod,\n V7_MutationFormMethod,\n AgnosticPatchRoutesOnNavigationFunction,\n DataWithResponseInit,\n} from \"./utils\";\nimport {\n ErrorResponseImpl,\n ResultType,\n convertRouteMatchToUiMatch,\n convertRoutesToDataRoutes,\n getPathContributingMatches,\n getResolveToMatches,\n immutableRouteKeys,\n isRouteErrorResponse,\n joinPaths,\n matchRoutes,\n matchRoutesImpl,\n resolveTo,\n stripBasename,\n} from \"./utils\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Router instance manages all navigation and data loading/mutations\n */\nexport interface Router {\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the basename for the router\n */\n get basename(): RouterInit[\"basename\"];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the future config for the router\n */\n get future(): FutureConfig;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the current state of the router\n */\n get state(): RouterState;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the routes for this router instance\n */\n get routes(): AgnosticDataRouteObject[];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the window associated with the router\n */\n get window(): RouterInit[\"window\"];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Initialize the router, including adding history listeners and kicking off\n * initial data fetches. Returns a function to cleanup listeners and abort\n * any in-progress loads\n */\n initialize(): Router;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Subscribe to router.state updates\n *\n * @param fn function to call with the new state\n */\n subscribe(fn: RouterSubscriber): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Enable scroll restoration behavior in the router\n *\n * @param savedScrollPositions Object that will manage positions, in case\n * it's being restored from sessionStorage\n * @param getScrollPosition Function to get the active Y scroll position\n * @param getKey Function to get the key to use for restoration\n */\n enableScrollRestoration(\n savedScrollPositions: Record,\n getScrollPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Navigate forward/backward in the history stack\n * @param to Delta to move in the history stack\n */\n navigate(to: number): Promise;\n\n /**\n * Navigate to the given path\n * @param to Path to navigate to\n * @param opts Navigation options (method, submission, etc.)\n */\n navigate(to: To | null, opts?: RouterNavigateOptions): Promise;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a fetcher load/submission\n *\n * @param key Fetcher key\n * @param routeId Route that owns the fetcher\n * @param href href to fetch\n * @param opts Fetcher options, (method, submission, etc.)\n */\n fetch(\n key: string,\n routeId: string,\n href: string | null,\n opts?: RouterFetchOptions\n ): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a revalidation of all current route loaders and fetcher loads\n */\n revalidate(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to create an href for the given location\n * @param location\n */\n createHref(location: Location | URL): string;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to URL encode a destination path according to the internal\n * history implementation\n * @param to\n */\n encodeLocation(to: To): Path;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get/create a fetcher for the given key\n * @param key\n */\n getFetcher(key: string): Fetcher;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete the fetcher for a given key\n * @param key\n */\n deleteFetcher(key: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Cleanup listeners and abort any in-progress loads\n */\n dispose(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get a navigation blocker\n * @param key The identifier for the blocker\n * @param fn The blocker function implementation\n */\n getBlocker(key: string, fn: BlockerFunction): Blocker;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete a navigation blocker\n * @param key The identifier for the blocker\n */\n deleteBlocker(key: string): void;\n\n /**\n * @internal\n * PRIVATE DO NOT USE\n *\n * Patch additional children routes into an existing parent route\n * @param routeId The parent route id or a callback function accepting `patch`\n * to perform batch patching\n * @param children The additional children routes\n */\n patchRoutes(routeId: string | null, children: AgnosticRouteObject[]): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * HMR needs to pass in-flight route updates to React Router\n * TODO: Replace this with granular route update APIs (addRoute, updateRoute, deleteRoute)\n */\n _internalSetRoutes(routes: AgnosticRouteObject[]): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal fetch AbortControllers accessed by unit tests\n */\n _internalFetchControllers: Map;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal pending DeferredData instances accessed by unit tests\n */\n _internalActiveDeferreds: Map;\n}\n\n/**\n * State maintained internally by the router. During a navigation, all states\n * reflect the the \"old\" location unless otherwise noted.\n */\nexport interface RouterState {\n /**\n * The action of the most recent navigation\n */\n historyAction: HistoryAction;\n\n /**\n * The current location reflected by the router\n */\n location: Location;\n\n /**\n * The current set of route matches\n */\n matches: AgnosticDataRouteMatch[];\n\n /**\n * Tracks whether we've completed our initial data load\n */\n initialized: boolean;\n\n /**\n * Current scroll position we should start at for a new view\n * - number -> scroll position to restore to\n * - false -> do not restore scroll at all (used during submissions)\n * - null -> don't have a saved position, scroll to hash or top of page\n */\n restoreScrollPosition: number | false | null;\n\n /**\n * Indicate whether this navigation should skip resetting the scroll position\n * if we are unable to restore the scroll position\n */\n preventScrollReset: boolean;\n\n /**\n * Tracks the state of the current navigation\n */\n navigation: Navigation;\n\n /**\n * Tracks any in-progress revalidations\n */\n revalidation: RevalidationState;\n\n /**\n * Data from the loaders for the current matches\n */\n loaderData: RouteData;\n\n /**\n * Data from the action for the current matches\n */\n actionData: RouteData | null;\n\n /**\n * Errors caught from loaders for the current matches\n */\n errors: RouteData | null;\n\n /**\n * Map of current fetchers\n */\n fetchers: Map;\n\n /**\n * Map of current blockers\n */\n blockers: Map;\n}\n\n/**\n * Data that can be passed into hydrate a Router from SSR\n */\nexport type HydrationState = Partial<\n Pick\n>;\n\n/**\n * Future flags to toggle new feature behavior\n */\nexport interface FutureConfig {\n v7_fetcherPersist: boolean;\n v7_normalizeFormMethod: boolean;\n v7_partialHydration: boolean;\n v7_prependBasename: boolean;\n v7_relativeSplatPath: boolean;\n v7_skipActionErrorRevalidation: boolean;\n}\n\n/**\n * Initialization options for createRouter\n */\nexport interface RouterInit {\n routes: AgnosticRouteObject[];\n history: History;\n basename?: string;\n /**\n * @deprecated Use `mapRouteProperties` instead\n */\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n mapRouteProperties?: MapRoutePropertiesFunction;\n future?: Partial;\n hydrationData?: HydrationState;\n window?: Window;\n dataStrategy?: DataStrategyFunction;\n patchRoutesOnNavigation?: AgnosticPatchRoutesOnNavigationFunction;\n}\n\n/**\n * State returned from a server-side query() call\n */\nexport interface StaticHandlerContext {\n basename: Router[\"basename\"];\n location: RouterState[\"location\"];\n matches: RouterState[\"matches\"];\n loaderData: RouterState[\"loaderData\"];\n actionData: RouterState[\"actionData\"];\n errors: RouterState[\"errors\"];\n statusCode: number;\n loaderHeaders: Record;\n actionHeaders: Record;\n activeDeferreds: Record | null;\n _deepestRenderedBoundaryId?: string | null;\n}\n\n/**\n * A StaticHandler instance manages a singular SSR navigation/fetch event\n */\nexport interface StaticHandler {\n dataRoutes: AgnosticDataRouteObject[];\n query(\n request: Request,\n opts?: {\n requestContext?: unknown;\n skipLoaderErrorBubbling?: boolean;\n dataStrategy?: DataStrategyFunction;\n }\n ): Promise;\n queryRoute(\n request: Request,\n opts?: {\n routeId?: string;\n requestContext?: unknown;\n dataStrategy?: DataStrategyFunction;\n }\n ): Promise;\n}\n\ntype ViewTransitionOpts = {\n currentLocation: Location;\n nextLocation: Location;\n};\n\n/**\n * Subscriber function signature for changes to router state\n */\nexport interface RouterSubscriber {\n (\n state: RouterState,\n opts: {\n deletedFetchers: string[];\n viewTransitionOpts?: ViewTransitionOpts;\n flushSync: boolean;\n }\n ): void;\n}\n\n/**\n * Function signature for determining the key to be used in scroll restoration\n * for a given location\n */\nexport interface GetScrollRestorationKeyFunction {\n (location: Location, matches: UIMatch[]): string | null;\n}\n\n/**\n * Function signature for determining the current scroll position\n */\nexport interface GetScrollPositionFunction {\n (): number;\n}\n\nexport type RelativeRoutingType = \"route\" | \"path\";\n\n// Allowed for any navigation or fetch\ntype BaseNavigateOrFetchOptions = {\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n flushSync?: boolean;\n};\n\n// Only allowed for navigations\ntype BaseNavigateOptions = BaseNavigateOrFetchOptions & {\n replace?: boolean;\n state?: any;\n fromRouteId?: string;\n viewTransition?: boolean;\n};\n\n// Only allowed for submission navigations\ntype BaseSubmissionOptions = {\n formMethod?: HTMLFormMethod;\n formEncType?: FormEncType;\n} & (\n | { formData: FormData; body?: undefined }\n | { formData?: undefined; body: any }\n);\n\n/**\n * Options for a navigate() call for a normal (non-submission) navigation\n */\ntype LinkNavigateOptions = BaseNavigateOptions;\n\n/**\n * Options for a navigate() call for a submission navigation\n */\ntype SubmissionNavigateOptions = BaseNavigateOptions & BaseSubmissionOptions;\n\n/**\n * Options to pass to navigate() for a navigation\n */\nexport type RouterNavigateOptions =\n | LinkNavigateOptions\n | SubmissionNavigateOptions;\n\n/**\n * Options for a fetch() load\n */\ntype LoadFetchOptions = BaseNavigateOrFetchOptions;\n\n/**\n * Options for a fetch() submission\n */\ntype SubmitFetchOptions = BaseNavigateOrFetchOptions & BaseSubmissionOptions;\n\n/**\n * Options to pass to fetch()\n */\nexport type RouterFetchOptions = LoadFetchOptions | SubmitFetchOptions;\n\n/**\n * Potential states for state.navigation\n */\nexport type NavigationStates = {\n Idle: {\n state: \"idle\";\n location: undefined;\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n formData: undefined;\n json: undefined;\n text: undefined;\n };\n Loading: {\n state: \"loading\";\n location: Location;\n formMethod: Submission[\"formMethod\"] | undefined;\n formAction: Submission[\"formAction\"] | undefined;\n formEncType: Submission[\"formEncType\"] | undefined;\n formData: Submission[\"formData\"] | undefined;\n json: Submission[\"json\"] | undefined;\n text: Submission[\"text\"] | undefined;\n };\n Submitting: {\n state: \"submitting\";\n location: Location;\n formMethod: Submission[\"formMethod\"];\n formAction: Submission[\"formAction\"];\n formEncType: Submission[\"formEncType\"];\n formData: Submission[\"formData\"];\n json: Submission[\"json\"];\n text: Submission[\"text\"];\n };\n};\n\nexport type Navigation = NavigationStates[keyof NavigationStates];\n\nexport type RevalidationState = \"idle\" | \"loading\";\n\n/**\n * Potential states for fetchers\n */\ntype FetcherStates = {\n Idle: {\n state: \"idle\";\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n text: undefined;\n formData: undefined;\n json: undefined;\n data: TData | undefined;\n };\n Loading: {\n state: \"loading\";\n formMethod: Submission[\"formMethod\"] | undefined;\n formAction: Submission[\"formAction\"] | undefined;\n formEncType: Submission[\"formEncType\"] | undefined;\n text: Submission[\"text\"] | undefined;\n formData: Submission[\"formData\"] | undefined;\n json: Submission[\"json\"] | undefined;\n data: TData | undefined;\n };\n Submitting: {\n state: \"submitting\";\n formMethod: Submission[\"formMethod\"];\n formAction: Submission[\"formAction\"];\n formEncType: Submission[\"formEncType\"];\n text: Submission[\"text\"];\n formData: Submission[\"formData\"];\n json: Submission[\"json\"];\n data: TData | undefined;\n };\n};\n\nexport type Fetcher =\n FetcherStates[keyof FetcherStates];\n\ninterface BlockerBlocked {\n state: \"blocked\";\n reset(): void;\n proceed(): void;\n location: Location;\n}\n\ninterface BlockerUnblocked {\n state: \"unblocked\";\n reset: undefined;\n proceed: undefined;\n location: undefined;\n}\n\ninterface BlockerProceeding {\n state: \"proceeding\";\n reset: undefined;\n proceed: undefined;\n location: Location;\n}\n\nexport type Blocker = BlockerUnblocked | BlockerBlocked | BlockerProceeding;\n\nexport type BlockerFunction = (args: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n}) => boolean;\n\ninterface ShortCircuitable {\n /**\n * startNavigation does not need to complete the navigation because we\n * redirected or got interrupted\n */\n shortCircuited?: boolean;\n}\n\ntype PendingActionResult = [string, SuccessResult | ErrorResult];\n\ninterface HandleActionResult extends ShortCircuitable {\n /**\n * Route matches which may have been updated from fog of war discovery\n */\n matches?: RouterState[\"matches\"];\n /**\n * Tuple for the returned or thrown value from the current action. The routeId\n * is the action route for success and the bubbled boundary route for errors.\n */\n pendingActionResult?: PendingActionResult;\n}\n\ninterface HandleLoadersResult extends ShortCircuitable {\n /**\n * Route matches which may have been updated from fog of war discovery\n */\n matches?: RouterState[\"matches\"];\n /**\n * loaderData returned from the current set of loaders\n */\n loaderData?: RouterState[\"loaderData\"];\n /**\n * errors thrown from the current set of loaders\n */\n errors?: RouterState[\"errors\"];\n}\n\n/**\n * Cached info for active fetcher.load() instances so they can participate\n * in revalidation\n */\ninterface FetchLoadMatch {\n routeId: string;\n path: string;\n}\n\n/**\n * Identified fetcher.load() calls that need to be revalidated\n */\ninterface RevalidatingFetcher extends FetchLoadMatch {\n key: string;\n match: AgnosticDataRouteMatch | null;\n matches: AgnosticDataRouteMatch[] | null;\n controller: AbortController | null;\n}\n\nconst validMutationMethodsArr: MutationFormMethod[] = [\n \"post\",\n \"put\",\n \"patch\",\n \"delete\",\n];\nconst validMutationMethods = new Set(\n validMutationMethodsArr\n);\n\nconst validRequestMethodsArr: FormMethod[] = [\n \"get\",\n ...validMutationMethodsArr,\n];\nconst validRequestMethods = new Set(validRequestMethodsArr);\n\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\n\nexport const IDLE_NAVIGATION: NavigationStates[\"Idle\"] = {\n state: \"idle\",\n location: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n};\n\nexport const IDLE_FETCHER: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n};\n\nexport const IDLE_BLOCKER: BlockerUnblocked = {\n state: \"unblocked\",\n proceed: undefined,\n reset: undefined,\n location: undefined,\n};\n\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n\nconst defaultMapRouteProperties: MapRoutePropertiesFunction = (route) => ({\n hasErrorBoundary: Boolean(route.hasErrorBoundary),\n});\n\nconst TRANSITIONS_STORAGE_KEY = \"remix-router-transitions\";\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Create a router and listen to history POP navigations\n */\nexport function createRouter(init: RouterInit): Router {\n const routerWindow = init.window\n ? init.window\n : typeof window !== \"undefined\"\n ? window\n : undefined;\n const isBrowser =\n typeof routerWindow !== \"undefined\" &&\n typeof routerWindow.document !== \"undefined\" &&\n typeof routerWindow.document.createElement !== \"undefined\";\n const isServer = !isBrowser;\n\n invariant(\n init.routes.length > 0,\n \"You must provide a non-empty routes array to createRouter\"\n );\n\n let mapRouteProperties: MapRoutePropertiesFunction;\n if (init.mapRouteProperties) {\n mapRouteProperties = init.mapRouteProperties;\n } else if (init.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = init.detectErrorBoundary;\n mapRouteProperties = (route) => ({\n hasErrorBoundary: detectErrorBoundary(route),\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n\n // Routes keyed by ID\n let manifest: RouteManifest = {};\n // Routes in tree format for matching\n let dataRoutes = convertRoutesToDataRoutes(\n init.routes,\n mapRouteProperties,\n undefined,\n manifest\n );\n let inFlightDataRoutes: AgnosticDataRouteObject[] | undefined;\n let basename = init.basename || \"/\";\n let dataStrategyImpl = init.dataStrategy || defaultDataStrategy;\n let patchRoutesOnNavigationImpl = init.patchRoutesOnNavigation;\n\n // Config driven behavior flags\n let future: FutureConfig = {\n v7_fetcherPersist: false,\n v7_normalizeFormMethod: false,\n v7_partialHydration: false,\n v7_prependBasename: false,\n v7_relativeSplatPath: false,\n v7_skipActionErrorRevalidation: false,\n ...init.future,\n };\n // Cleanup function for history\n let unlistenHistory: (() => void) | null = null;\n // Externally-provided functions to call on all state changes\n let subscribers = new Set();\n // Externally-provided object to hold scroll restoration locations during routing\n let savedScrollPositions: Record | null = null;\n // Externally-provided function to get scroll restoration keys\n let getScrollRestorationKey: GetScrollRestorationKeyFunction | null = null;\n // Externally-provided function to get current scroll position\n let getScrollPosition: GetScrollPositionFunction | null = null;\n // One-time flag to control the initial hydration scroll restoration. Because\n // we don't get the saved positions from until _after_\n // the initial render, we need to manually trigger a separate updateState to\n // send along the restoreScrollPosition\n // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n // SSR did the initial scroll restoration.\n let initialScrollRestored = init.hydrationData != null;\n\n let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n let initialErrors: RouteData | null = null;\n\n if (initialMatches == null && !patchRoutesOnNavigationImpl) {\n // If we do not match a user-provided-route, fall back to the root\n // to allow the error boundary to take over\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname,\n });\n let { matches, route } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = { [route.id]: error };\n }\n\n // In SPA apps, if the user provided a patchRoutesOnNavigation implementation and\n // our initial match is a splat route, clear them out so we run through lazy\n // discovery on hydration in case there's a more accurate lazy route match.\n // In SSR apps (with `hydrationData`), we expect that the server will send\n // up the proper matched routes so we don't want to run lazy discovery on\n // initial hydration and want to hydrate into the splat route.\n if (initialMatches && !init.hydrationData) {\n let fogOfWar = checkFogOfWar(\n initialMatches,\n dataRoutes,\n init.history.location.pathname\n );\n if (fogOfWar.active) {\n initialMatches = null;\n }\n }\n\n let initialized: boolean;\n if (!initialMatches) {\n initialized = false;\n initialMatches = [];\n\n // If partial hydration and fog of war is enabled, we will be running\n // `patchRoutesOnNavigation` during hydration so include any partial matches as\n // the initial matches so we can properly render `HydrateFallback`'s\n if (future.v7_partialHydration) {\n let fogOfWar = checkFogOfWar(\n null,\n dataRoutes,\n init.history.location.pathname\n );\n if (fogOfWar.active && fogOfWar.matches) {\n initialMatches = fogOfWar.matches;\n }\n }\n } else if (initialMatches.some((m) => m.route.lazy)) {\n // All initialMatches need to be loaded before we're ready. If we have lazy\n // functions around still then we'll need to run them in initialize()\n initialized = false;\n } else if (!initialMatches.some((m) => m.route.loader)) {\n // If we've got no loaders to run, then we're good to go\n initialized = true;\n } else if (future.v7_partialHydration) {\n // If partial hydration is enabled, we're initialized so long as we were\n // provided with hydrationData for every route with a loader, and no loaders\n // were marked for explicit hydration\n let loaderData = init.hydrationData ? init.hydrationData.loaderData : null;\n let errors = init.hydrationData ? init.hydrationData.errors : null;\n // If errors exist, don't consider routes below the boundary\n if (errors) {\n let idx = initialMatches.findIndex(\n (m) => errors![m.route.id] !== undefined\n );\n initialized = initialMatches\n .slice(0, idx + 1)\n .every((m) => !shouldLoadRouteOnHydration(m.route, loaderData, errors));\n } else {\n initialized = initialMatches.every(\n (m) => !shouldLoadRouteOnHydration(m.route, loaderData, errors)\n );\n }\n } else {\n // Without partial hydration - we're initialized if we were provided any\n // hydrationData - which is expected to be complete\n initialized = init.hydrationData != null;\n }\n\n let router: Router;\n let state: RouterState = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: (init.hydrationData && init.hydrationData.loaderData) || {},\n actionData: (init.hydrationData && init.hydrationData.actionData) || null,\n errors: (init.hydrationData && init.hydrationData.errors) || initialErrors,\n fetchers: new Map(),\n blockers: new Map(),\n };\n\n // -- Stateful internal variables to manage navigations --\n // Current navigation in progress (to be committed in completeNavigation)\n let pendingAction: HistoryAction = HistoryAction.Pop;\n\n // Should the current navigation prevent the scroll reset if scroll cannot\n // be restored?\n let pendingPreventScrollReset = false;\n\n // AbortController for the active navigation\n let pendingNavigationController: AbortController | null;\n\n // Should the current navigation enable document.startViewTransition?\n let pendingViewTransitionEnabled = false;\n\n // Store applied view transitions so we can apply them on POP\n let appliedViewTransitions: Map> = new Map<\n string,\n Set\n >();\n\n // Cleanup function for persisting applied transitions to sessionStorage\n let removePageHideEventListener: (() => void) | null = null;\n\n // We use this to avoid touching history in completeNavigation if a\n // revalidation is entirely uninterrupted\n let isUninterruptedRevalidation = false;\n\n // Use this internal flag to force revalidation of all loaders:\n // - submissions (completed or interrupted)\n // - useRevalidator()\n // - X-Remix-Revalidate (from redirect)\n let isRevalidationRequired = false;\n\n // Use this internal array to capture routes that require revalidation due\n // to a cancelled deferred on action submission\n let cancelledDeferredRoutes: string[] = [];\n\n // Use this internal array to capture fetcher loads that were cancelled by an\n // action navigation and require revalidation\n let cancelledFetcherLoads: Set = new Set();\n\n // AbortControllers for any in-flight fetchers\n let fetchControllers = new Map();\n\n // Track loads based on the order in which they started\n let incrementingLoadId = 0;\n\n // Track the outstanding pending navigation data load to be compared against\n // the globally incrementing load when a fetcher load lands after a completed\n // navigation\n let pendingNavigationLoadId = -1;\n\n // Fetchers that triggered data reloads as a result of their actions\n let fetchReloadIds = new Map();\n\n // Fetchers that triggered redirect navigations\n let fetchRedirectIds = new Set();\n\n // Most recent href/match for fetcher.load calls for fetchers\n let fetchLoadMatches = new Map();\n\n // Ref-count mounted fetchers so we know when it's ok to clean them up\n let activeFetchers = new Map();\n\n // Fetchers that have requested a delete when using v7_fetcherPersist,\n // they'll be officially removed after they return to idle\n let deletedFetchers = new Set();\n\n // Store DeferredData instances for active route matches. When a\n // route loader returns defer() we stick one in here. Then, when a nested\n // promise resolves we update loaderData. If a new navigation starts we\n // cancel active deferreds for eliminated routes.\n let activeDeferreds = new Map();\n\n // Store blocker functions in a separate Map outside of router state since\n // we don't need to update UI state if they change\n let blockerFunctions = new Map();\n\n // Map of pending patchRoutesOnNavigation() promises (keyed by path/matches) so\n // that we only kick them off once for a given combo\n let pendingPatchRoutes = new Map<\n string,\n ReturnType\n >();\n\n // Flag to ignore the next history update, so we can revert the URL change on\n // a POP navigation that was blocked by the user without touching router state\n let unblockBlockerHistoryUpdate: (() => void) | undefined = undefined;\n\n // Initialize the router, all side effects should be kicked off from here.\n // Implemented as a Fluent API for ease of:\n // let router = createRouter(init).initialize();\n function initialize() {\n // If history informs us of a POP navigation, start the navigation but do not update\n // state. We'll update our own state once the navigation completes\n unlistenHistory = init.history.listen(\n ({ action: historyAction, location, delta }) => {\n // Ignore this event if it was just us resetting the URL from a\n // blocked POP navigation\n if (unblockBlockerHistoryUpdate) {\n unblockBlockerHistoryUpdate();\n unblockBlockerHistoryUpdate = undefined;\n return;\n }\n\n warning(\n blockerFunctions.size === 0 || delta != null,\n \"You are trying to use a blocker on a POP navigation to a location \" +\n \"that was not created by @remix-run/router. This will fail silently in \" +\n \"production. This can happen if you are navigating outside the router \" +\n \"via `window.history.pushState`/`window.location.hash` instead of using \" +\n \"router navigation APIs. This can also happen if you are using \" +\n \"createHashRouter and the user manually changes the URL.\"\n );\n\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction,\n });\n\n if (blockerKey && delta != null) {\n // Restore the URL to match the current UI, but don't update router state\n let nextHistoryUpdatePromise = new Promise((resolve) => {\n unblockBlockerHistoryUpdate = resolve;\n });\n init.history.go(delta * -1);\n\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location,\n });\n // Re-do the same POP navigation we just blocked, after the url\n // restoration is also complete. See:\n // https://github.com/remix-run/react-router/issues/11613\n nextHistoryUpdatePromise.then(() => init.history.go(delta));\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey!, IDLE_BLOCKER);\n updateState({ blockers });\n },\n });\n return;\n }\n\n return startNavigation(historyAction, location);\n }\n );\n\n if (isBrowser) {\n // FIXME: This feels gross. How can we cleanup the lines between\n // scrollRestoration/appliedTransitions persistance?\n restoreAppliedTransitions(routerWindow, appliedViewTransitions);\n let _saveAppliedTransitions = () =>\n persistAppliedTransitions(routerWindow, appliedViewTransitions);\n routerWindow.addEventListener(\"pagehide\", _saveAppliedTransitions);\n removePageHideEventListener = () =>\n routerWindow.removeEventListener(\"pagehide\", _saveAppliedTransitions);\n }\n\n // Kick off initial data load if needed. Use Pop to avoid modifying history\n // Note we don't do any handling of lazy here. For SPA's it'll get handled\n // in the normal navigation flow. For SSR it's expected that lazy modules are\n // resolved prior to router creation since we can't go into a fallbackElement\n // UI for SSR'd apps\n if (!state.initialized) {\n startNavigation(HistoryAction.Pop, state.location, {\n initialHydration: true,\n });\n }\n\n return router;\n }\n\n // Clean up a router and it's side effects\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n if (removePageHideEventListener) {\n removePageHideEventListener();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n\n // Subscribe to state updates for the router\n function subscribe(fn: RouterSubscriber) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n\n // Update our state and notify the calling context of the change\n function updateState(\n newState: Partial,\n opts: {\n flushSync?: boolean;\n viewTransitionOpts?: ViewTransitionOpts;\n } = {}\n ): void {\n state = {\n ...state,\n ...newState,\n };\n\n // Prep fetcher cleanup so we can tell the UI which fetcher data entries\n // can be removed\n let completedFetchers: string[] = [];\n let deletedFetchersKeys: string[] = [];\n\n if (future.v7_fetcherPersist) {\n state.fetchers.forEach((fetcher, key) => {\n if (fetcher.state === \"idle\") {\n if (deletedFetchers.has(key)) {\n // Unmounted from the UI and can be totally removed\n deletedFetchersKeys.push(key);\n } else {\n // Returned to idle but still mounted in the UI, so semi-remains for\n // revalidations and such\n completedFetchers.push(key);\n }\n }\n });\n }\n\n // Iterate over a local copy so that if flushSync is used and we end up\n // removing and adding a new subscriber due to the useCallback dependencies,\n // we don't get ourselves into a loop calling the new subscriber immediately\n [...subscribers].forEach((subscriber) =>\n subscriber(state, {\n deletedFetchers: deletedFetchersKeys,\n viewTransitionOpts: opts.viewTransitionOpts,\n flushSync: opts.flushSync === true,\n })\n );\n\n // Remove idle fetchers from state since we only care about in-flight fetchers.\n if (future.v7_fetcherPersist) {\n completedFetchers.forEach((key) => state.fetchers.delete(key));\n deletedFetchersKeys.forEach((key) => deleteFetcher(key));\n }\n }\n\n // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n // and setting state.[historyAction/location/matches] to the new route.\n // - Location is a required param\n // - Navigation will always be set to IDLE_NAVIGATION\n // - Can pass any other state in newState\n function completeNavigation(\n location: Location,\n newState: Partial>,\n { flushSync }: { flushSync?: boolean } = {}\n ): void {\n // Deduce if we're in a loading/actionReload state:\n // - We have committed actionData in the store\n // - The current navigation was a mutation submission\n // - We're past the submitting state and into the loading state\n // - The location being loaded is not the result of a redirect\n let isActionReload =\n state.actionData != null &&\n state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n state.navigation.state === \"loading\" &&\n location.state?._isRedirect !== true;\n\n let actionData: RouteData | null;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n // Empty actionData -> clear prior actionData due to an action error\n actionData = null;\n }\n } else if (isActionReload) {\n // Keep the current data if we're wrapping up the action reload\n actionData = state.actionData;\n } else {\n // Clear actionData on any other completed navigations\n actionData = null;\n }\n\n // Always preserve any existing loaderData from re-used routes\n let loaderData = newState.loaderData\n ? mergeLoaderData(\n state.loaderData,\n newState.loaderData,\n newState.matches || [],\n newState.errors\n )\n : state.loaderData;\n\n // On a successful navigation we can assume we got through all blockers\n // so we can start fresh\n let blockers = state.blockers;\n if (blockers.size > 0) {\n blockers = new Map(blockers);\n blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n }\n\n // Always respect the user flag. Otherwise don't reset on mutation\n // submission navigations unless they redirect\n let preventScrollReset =\n pendingPreventScrollReset === true ||\n (state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n location.state?._isRedirect !== true);\n\n // Commit any in-flight routes at the end of the HMR revalidation \"navigation\"\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = undefined;\n }\n\n if (isUninterruptedRevalidation) {\n // If this was an uninterrupted revalidation then do not touch history\n } else if (pendingAction === HistoryAction.Pop) {\n // Do nothing for POP - URL has already been updated\n } else if (pendingAction === HistoryAction.Push) {\n init.history.push(location, location.state);\n } else if (pendingAction === HistoryAction.Replace) {\n init.history.replace(location, location.state);\n }\n\n let viewTransitionOpts: ViewTransitionOpts | undefined;\n\n // On POP, enable transitions if they were enabled on the original navigation\n if (pendingAction === HistoryAction.Pop) {\n // Forward takes precedence so they behave like the original navigation\n let priorPaths = appliedViewTransitions.get(state.location.pathname);\n if (priorPaths && priorPaths.has(location.pathname)) {\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location,\n };\n } else if (appliedViewTransitions.has(location.pathname)) {\n // If we don't have a previous forward nav, assume we're popping back to\n // the new location and enable if that location previously enabled\n viewTransitionOpts = {\n currentLocation: location,\n nextLocation: state.location,\n };\n }\n } else if (pendingViewTransitionEnabled) {\n // Store the applied transition on PUSH/REPLACE\n let toPaths = appliedViewTransitions.get(state.location.pathname);\n if (toPaths) {\n toPaths.add(location.pathname);\n } else {\n toPaths = new Set([location.pathname]);\n appliedViewTransitions.set(state.location.pathname, toPaths);\n }\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location,\n };\n }\n\n updateState(\n {\n ...newState, // matches, errors, fetchers go through as-is\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(\n location,\n newState.matches || state.matches\n ),\n preventScrollReset,\n blockers,\n },\n {\n viewTransitionOpts,\n flushSync: flushSync === true,\n }\n );\n\n // Reset stateful navigation vars\n pendingAction = HistoryAction.Pop;\n pendingPreventScrollReset = false;\n pendingViewTransitionEnabled = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n cancelledDeferredRoutes = [];\n }\n\n // Trigger a navigation event, which can either be a numerical POP or a PUSH\n // replace with an optional submission\n async function navigate(\n to: number | To | null,\n opts?: RouterNavigateOptions\n ): Promise {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n future.v7_prependBasename,\n to,\n future.v7_relativeSplatPath,\n opts?.fromRouteId,\n opts?.relative\n );\n let { path, submission, error } = normalizeNavigateOptions(\n future.v7_normalizeFormMethod,\n false,\n normalizedPath,\n opts\n );\n\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n\n // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n // URL from window.location, so we need to encode it here so the behavior\n // remains the same as POP and non-data-router usages. new URL() does all\n // the same encoding we'd get from a history.pushState/window.location read\n // without having to touch history\n nextLocation = {\n ...nextLocation,\n ...init.history.encodeLocation(nextLocation),\n };\n\n let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n\n let historyAction = HistoryAction.Push;\n\n if (userReplace === true) {\n historyAction = HistoryAction.Replace;\n } else if (userReplace === false) {\n // no-op\n } else if (\n submission != null &&\n isMutationMethod(submission.formMethod) &&\n submission.formAction === state.location.pathname + state.location.search\n ) {\n // By default on submissions to the current location we REPLACE so that\n // users don't have to double-click the back button to get to the prior\n // location. If the user redirects to a different location from the\n // action/loader this will be ignored and the redirect will be a PUSH\n historyAction = HistoryAction.Replace;\n }\n\n let preventScrollReset =\n opts && \"preventScrollReset\" in opts\n ? opts.preventScrollReset === true\n : undefined;\n\n let flushSync = (opts && opts.flushSync) === true;\n\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n });\n\n if (blockerKey) {\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location: nextLocation,\n });\n // Send the same navigation through\n navigate(to, opts);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey!, IDLE_BLOCKER);\n updateState({ blockers });\n },\n });\n return;\n }\n\n return await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n enableViewTransition: opts && opts.viewTransition,\n flushSync,\n });\n }\n\n // Revalidate all current loaders. If a navigation is in progress or if this\n // is interrupted by a navigation, allow this to \"succeed\" by calling all\n // loaders during the next loader round\n function revalidate() {\n interruptActiveLoads();\n updateState({ revalidation: \"loading\" });\n\n // If we're currently submitting an action, we don't need to start a new\n // navigation, we'll just let the follow up loader execution call all loaders\n if (state.navigation.state === \"submitting\") {\n return;\n }\n\n // If we're currently in an idle state, start a new navigation for the current\n // action/location and mark it as uninterrupted, which will skip the history\n // update in completeNavigation\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true,\n });\n return;\n }\n\n // Otherwise, if we're currently in a loading state, just start a new\n // navigation to the navigation.location but do not trigger an uninterrupted\n // revalidation so that history correctly updates once the navigation completes\n startNavigation(\n pendingAction || state.historyAction,\n state.navigation.location,\n {\n overrideNavigation: state.navigation,\n // Proxy through any rending view transition\n enableViewTransition: pendingViewTransitionEnabled === true,\n }\n );\n }\n\n // Start a navigation to the given action/location. Can optionally provide a\n // overrideNavigation which will override the normalLoad in the case of a redirect\n // navigation\n async function startNavigation(\n historyAction: HistoryAction,\n location: Location,\n opts?: {\n initialHydration?: boolean;\n submission?: Submission;\n fetcherSubmission?: Submission;\n overrideNavigation?: Navigation;\n pendingError?: ErrorResponseImpl;\n startUninterruptedRevalidation?: boolean;\n preventScrollReset?: boolean;\n replace?: boolean;\n enableViewTransition?: boolean;\n flushSync?: boolean;\n }\n ): Promise {\n // Abort any in-progress navigations and start a new one. Unset any ongoing\n // uninterrupted revalidations unless told otherwise, since we want this\n // new navigation to update history normally\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation =\n (opts && opts.startUninterruptedRevalidation) === true;\n\n // Save the current scroll position every time we start a new navigation,\n // and track whether we should reset scroll on completion\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n pendingViewTransitionEnabled = (opts && opts.enableViewTransition) === true;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(routesToUse, location, basename);\n let flushSync = (opts && opts.flushSync) === true;\n\n let fogOfWar = checkFogOfWar(matches, routesToUse, location.pathname);\n if (fogOfWar.active && fogOfWar.matches) {\n matches = fogOfWar.matches;\n }\n\n // Short circuit with a 404 on the root error boundary if we match nothing\n if (!matches) {\n let { error, notFoundMatches, route } = handleNavigational404(\n location.pathname\n );\n completeNavigation(\n location,\n {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error,\n },\n },\n { flushSync }\n );\n return;\n }\n\n // Short circuit if it's only a hash change and not a revalidation or\n // mutation submission.\n //\n // Ignore on initial page loads because since the initial hydration will always\n // be \"same hash\". For example, on /page#hash and submit a \n // which will default to a navigation to /page\n if (\n state.initialized &&\n !isRevalidationRequired &&\n isHashChangeOnly(state.location, location) &&\n !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))\n ) {\n completeNavigation(location, { matches }, { flushSync });\n return;\n }\n\n // Create a controller/Request for this navigation\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(\n init.history,\n location,\n pendingNavigationController.signal,\n opts && opts.submission\n );\n let pendingActionResult: PendingActionResult | undefined;\n\n if (opts && opts.pendingError) {\n // If we have a pendingError, it means the user attempted a GET submission\n // with binary FormData so assign here and skip to handleLoaders. That\n // way we handle calling loaders above the boundary etc. It's not really\n // different from an actionError in that sense.\n pendingActionResult = [\n findNearestBoundary(matches).route.id,\n { type: ResultType.error, error: opts.pendingError },\n ];\n } else if (\n opts &&\n opts.submission &&\n isMutationMethod(opts.submission.formMethod)\n ) {\n // Call action if we received an action submission\n let actionResult = await handleAction(\n request,\n location,\n opts.submission,\n matches,\n fogOfWar.active,\n { replace: opts.replace, flushSync }\n );\n\n if (actionResult.shortCircuited) {\n return;\n }\n\n // If we received a 404 from handleAction, it's because we couldn't lazily\n // discover the destination route so we don't want to call loaders\n if (actionResult.pendingActionResult) {\n let [routeId, result] = actionResult.pendingActionResult;\n if (\n isErrorResult(result) &&\n isRouteErrorResponse(result.error) &&\n result.error.status === 404\n ) {\n pendingNavigationController = null;\n\n completeNavigation(location, {\n matches: actionResult.matches,\n loaderData: {},\n errors: {\n [routeId]: result.error,\n },\n });\n return;\n }\n }\n\n matches = actionResult.matches || matches;\n pendingActionResult = actionResult.pendingActionResult;\n loadingNavigation = getLoadingNavigation(location, opts.submission);\n flushSync = false;\n // No need to do fog of war matching again on loader execution\n fogOfWar.active = false;\n\n // Create a GET request for the loaders\n request = createClientSideRequest(\n init.history,\n request.url,\n request.signal\n );\n }\n\n // Call loaders\n let {\n shortCircuited,\n matches: updatedMatches,\n loaderData,\n errors,\n } = await handleLoaders(\n request,\n location,\n matches,\n fogOfWar.active,\n loadingNavigation,\n opts && opts.submission,\n opts && opts.fetcherSubmission,\n opts && opts.replace,\n opts && opts.initialHydration === true,\n flushSync,\n pendingActionResult\n );\n\n if (shortCircuited) {\n return;\n }\n\n // Clean up now that the action/loaders have completed. Don't clean up if\n // we short circuited because pendingNavigationController will have already\n // been assigned to a new controller for the next navigation\n pendingNavigationController = null;\n\n completeNavigation(location, {\n matches: updatedMatches || matches,\n ...getActionDataForCommit(pendingActionResult),\n loaderData,\n errors,\n });\n }\n\n // Call the action matched by the leaf route for this navigation and handle\n // redirects/errors\n async function handleAction(\n request: Request,\n location: Location,\n submission: Submission,\n matches: AgnosticDataRouteMatch[],\n isFogOfWar: boolean,\n opts: { replace?: boolean; flushSync?: boolean } = {}\n ): Promise {\n interruptActiveLoads();\n\n // Put us in a submitting state\n let navigation = getSubmittingNavigation(location, submission);\n updateState({ navigation }, { flushSync: opts.flushSync === true });\n\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(\n matches,\n location.pathname,\n request.signal\n );\n if (discoverResult.type === \"aborted\") {\n return { shortCircuited: true };\n } else if (discoverResult.type === \"error\") {\n let boundaryId = findNearestBoundary(discoverResult.partialMatches)\n .route.id;\n return {\n matches: discoverResult.partialMatches,\n pendingActionResult: [\n boundaryId,\n {\n type: ResultType.error,\n error: discoverResult.error,\n },\n ],\n };\n } else if (!discoverResult.matches) {\n let { notFoundMatches, error, route } = handleNavigational404(\n location.pathname\n );\n return {\n matches: notFoundMatches,\n pendingActionResult: [\n route.id,\n {\n type: ResultType.error,\n error,\n },\n ],\n };\n } else {\n matches = discoverResult.matches;\n }\n }\n\n // Call our action and get the result\n let result: DataResult;\n let actionMatch = getTargetMatch(matches, location);\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n result = {\n type: ResultType.error,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id,\n }),\n };\n } else {\n let results = await callDataStrategy(\n \"action\",\n state,\n request,\n [actionMatch],\n matches,\n null\n );\n result = results[actionMatch.route.id];\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n }\n\n if (isRedirectResult(result)) {\n let replace: boolean;\n if (opts && opts.replace != null) {\n replace = opts.replace;\n } else {\n // If the user didn't explicity indicate replace behavior, replace if\n // we redirected to the exact same location we're currently at to avoid\n // double back-buttons\n let location = normalizeRedirectLocation(\n result.response.headers.get(\"Location\")!,\n new URL(request.url),\n basename\n );\n replace = location === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(request, result, true, {\n submission,\n replace,\n });\n return { shortCircuited: true };\n }\n\n if (isDeferredResult(result)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n\n // By default, all submissions to the current location are REPLACE\n // navigations, but if the action threw an error that'll be rendered in\n // an errorElement, we fall back to PUSH so that the user can use the\n // back button to get back to the pre-submission form location to try\n // again\n if ((opts && opts.replace) !== true) {\n pendingAction = HistoryAction.Push;\n }\n\n return {\n matches,\n pendingActionResult: [boundaryMatch.route.id, result],\n };\n }\n\n return {\n matches,\n pendingActionResult: [actionMatch.route.id, result],\n };\n }\n\n // Call all applicable loaders for the given matches, handling redirects,\n // errors, etc.\n async function handleLoaders(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n isFogOfWar: boolean,\n overrideNavigation?: Navigation,\n submission?: Submission,\n fetcherSubmission?: Submission,\n replace?: boolean,\n initialHydration?: boolean,\n flushSync?: boolean,\n pendingActionResult?: PendingActionResult\n ): Promise {\n // Figure out the right navigation we want to use for data loading\n let loadingNavigation =\n overrideNavigation || getLoadingNavigation(location, submission);\n\n // If this was a redirect from an action we don't have a \"submission\" but\n // we have it on the loading navigation so use that if available\n let activeSubmission =\n submission ||\n fetcherSubmission ||\n getSubmissionFromNavigation(loadingNavigation);\n\n // If this is an uninterrupted revalidation, we remain in our current idle\n // state. If not, we need to switch to our loading state and load data,\n // preserving any new action data or existing action data (in the case of\n // a revalidation interrupting an actionReload)\n // If we have partialHydration enabled, then don't update the state for the\n // initial data load since it's not a \"navigation\"\n let shouldUpdateNavigationState =\n !isUninterruptedRevalidation &&\n (!future.v7_partialHydration || !initialHydration);\n\n // When fog of war is enabled, we enter our `loading` state earlier so we\n // can discover new routes during the `loading` state. We skip this if\n // we've already run actions since we would have done our matching already.\n // If the children() function threw then, we want to proceed with the\n // partial matches it discovered.\n if (isFogOfWar) {\n if (shouldUpdateNavigationState) {\n let actionData = getUpdatedActionData(pendingActionResult);\n updateState(\n {\n navigation: loadingNavigation,\n ...(actionData !== undefined ? { actionData } : {}),\n },\n {\n flushSync,\n }\n );\n }\n\n let discoverResult = await discoverRoutes(\n matches,\n location.pathname,\n request.signal\n );\n\n if (discoverResult.type === \"aborted\") {\n return { shortCircuited: true };\n } else if (discoverResult.type === \"error\") {\n let boundaryId = findNearestBoundary(discoverResult.partialMatches)\n .route.id;\n return {\n matches: discoverResult.partialMatches,\n loaderData: {},\n errors: {\n [boundaryId]: discoverResult.error,\n },\n };\n } else if (!discoverResult.matches) {\n let { error, notFoundMatches, route } = handleNavigational404(\n location.pathname\n );\n return {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error,\n },\n };\n } else {\n matches = discoverResult.matches;\n }\n }\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n activeSubmission,\n location,\n future.v7_partialHydration && initialHydration === true,\n future.v7_skipActionErrorRevalidation,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n deletedFetchers,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n pendingActionResult\n );\n\n // Cancel pending deferreds for no-longer-matched routes or routes we're\n // about to reload. Note that if this is an action reload we would have\n // already cancelled all pending deferreds so this would be a no-op\n cancelActiveDeferreds(\n (routeId) =>\n !(matches && matches.some((m) => m.route.id === routeId)) ||\n (matchesToLoad && matchesToLoad.some((m) => m.route.id === routeId))\n );\n\n pendingNavigationLoadId = ++incrementingLoadId;\n\n // Short circuit if we have no loaders to run\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n let updatedFetchers = markFetchRedirectsDone();\n completeNavigation(\n location,\n {\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors:\n pendingActionResult && isErrorResult(pendingActionResult[1])\n ? { [pendingActionResult[0]]: pendingActionResult[1].error }\n : null,\n ...getActionDataForCommit(pendingActionResult),\n ...(updatedFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n },\n { flushSync }\n );\n return { shortCircuited: true };\n }\n\n if (shouldUpdateNavigationState) {\n let updates: Partial = {};\n if (!isFogOfWar) {\n // Only update navigation/actionNData if we didn't already do it above\n updates.navigation = loadingNavigation;\n let actionData = getUpdatedActionData(pendingActionResult);\n if (actionData !== undefined) {\n updates.actionData = actionData;\n }\n }\n if (revalidatingFetchers.length > 0) {\n updates.fetchers = getUpdatedRevalidatingFetchers(revalidatingFetchers);\n }\n updateState(updates, { flushSync });\n }\n\n revalidatingFetchers.forEach((rf) => {\n abortFetcher(rf.key);\n if (rf.controller) {\n // Fetchers use an independent AbortController so that aborting a fetcher\n // (via deleteFetcher) does not abort the triggering navigation that\n // triggered the revalidation\n fetchControllers.set(rf.key, rf.controller);\n }\n });\n\n // Proxy navigation abort through to revalidation fetchers\n let abortPendingFetchRevalidations = () =>\n revalidatingFetchers.forEach((f) => abortFetcher(f.key));\n if (pendingNavigationController) {\n pendingNavigationController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n\n let { loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n request\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n\n // Clean up _after_ loaders have completed. Don't clean up if we short\n // circuited because fetchControllers would have been aborted and\n // reassigned to new controllers for the next navigation\n if (pendingNavigationController) {\n pendingNavigationController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n\n revalidatingFetchers.forEach((rf) => fetchControllers.delete(rf.key));\n\n // If any loaders returned a redirect Response, start a new REPLACE navigation\n let redirect = findRedirect(loaderResults);\n if (redirect) {\n await startRedirectNavigation(request, redirect.result, true, {\n replace,\n });\n return { shortCircuited: true };\n }\n\n redirect = findRedirect(fetcherResults);\n if (redirect) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n fetchRedirectIds.add(redirect.key);\n await startRedirectNavigation(request, redirect.result, true, {\n replace,\n });\n return { shortCircuited: true };\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n loaderResults,\n pendingActionResult,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Wire up subscribers to update loaderData as promises settle\n activeDeferreds.forEach((deferredData, routeId) => {\n deferredData.subscribe((aborted) => {\n // Note: No need to updateState here since the TrackedPromise on\n // loaderData is stable across resolve/reject\n // Remove this instance if we were aborted or if promises have settled\n if (aborted || deferredData.done) {\n activeDeferreds.delete(routeId);\n }\n });\n });\n\n // Preserve SSR errors during partial hydration\n if (future.v7_partialHydration && initialHydration && state.errors) {\n errors = { ...state.errors, ...errors };\n }\n\n let updatedFetchers = markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n let shouldUpdateFetchers =\n updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n\n return {\n matches,\n loaderData,\n errors,\n ...(shouldUpdateFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n };\n }\n\n function getUpdatedActionData(\n pendingActionResult: PendingActionResult | undefined\n ): Record | null | undefined {\n if (pendingActionResult && !isErrorResult(pendingActionResult[1])) {\n // This is cast to `any` currently because `RouteData`uses any and it\n // would be a breaking change to use any.\n // TODO: v7 - change `RouteData` to use `unknown` instead of `any`\n return {\n [pendingActionResult[0]]: pendingActionResult[1].data as any,\n };\n } else if (state.actionData) {\n if (Object.keys(state.actionData).length === 0) {\n return null;\n } else {\n return state.actionData;\n }\n }\n }\n\n function getUpdatedRevalidatingFetchers(\n revalidatingFetchers: RevalidatingFetcher[]\n ) {\n revalidatingFetchers.forEach((rf) => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher = getLoadingFetcher(\n undefined,\n fetcher ? fetcher.data : undefined\n );\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n return new Map(state.fetchers);\n }\n\n // Trigger a fetcher load/submit for the given fetcher key\n function fetch(\n key: string,\n routeId: string,\n href: string | null,\n opts?: RouterFetchOptions\n ) {\n if (isServer) {\n throw new Error(\n \"router.fetch() was called during the server render, but it shouldn't be. \" +\n \"You are likely calling a useFetcher() method in the body of your component. \" +\n \"Try moving it to a useEffect or a callback.\"\n );\n }\n\n abortFetcher(key);\n\n let flushSync = (opts && opts.flushSync) === true;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n future.v7_prependBasename,\n href,\n future.v7_relativeSplatPath,\n routeId,\n opts?.relative\n );\n let matches = matchRoutes(routesToUse, normalizedPath, basename);\n\n let fogOfWar = checkFogOfWar(matches, routesToUse, normalizedPath);\n if (fogOfWar.active && fogOfWar.matches) {\n matches = fogOfWar.matches;\n }\n\n if (!matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: normalizedPath }),\n { flushSync }\n );\n return;\n }\n\n let { path, submission, error } = normalizeNavigateOptions(\n future.v7_normalizeFormMethod,\n true,\n normalizedPath,\n opts\n );\n\n if (error) {\n setFetcherError(key, routeId, error, { flushSync });\n return;\n }\n\n let match = getTargetMatch(matches, path);\n\n let preventScrollReset = (opts && opts.preventScrollReset) === true;\n\n if (submission && isMutationMethod(submission.formMethod)) {\n handleFetcherAction(\n key,\n routeId,\n path,\n match,\n matches,\n fogOfWar.active,\n flushSync,\n preventScrollReset,\n submission\n );\n return;\n }\n\n // Store off the match so we can call it's shouldRevalidate on subsequent\n // revalidations\n fetchLoadMatches.set(key, { routeId, path });\n handleFetcherLoader(\n key,\n routeId,\n path,\n match,\n matches,\n fogOfWar.active,\n flushSync,\n preventScrollReset,\n submission\n );\n }\n\n // Call the action for the matched fetcher.submit(), and then handle redirects,\n // errors, and revalidation\n async function handleFetcherAction(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n requestMatches: AgnosticDataRouteMatch[],\n isFogOfWar: boolean,\n flushSync: boolean,\n preventScrollReset: boolean,\n submission: Submission\n ) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n\n function detectAndHandle405Error(m: AgnosticDataRouteMatch) {\n if (!m.route.action && !m.route.lazy) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId: routeId,\n });\n setFetcherError(key, routeId, error, { flushSync });\n return true;\n }\n return false;\n }\n\n if (!isFogOfWar && detectAndHandle405Error(match)) {\n return;\n }\n\n // Put this fetcher into it's submitting state\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(key, getSubmittingFetcher(submission, existingFetcher), {\n flushSync,\n });\n\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal,\n submission\n );\n\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(\n requestMatches,\n path,\n fetchRequest.signal\n );\n\n if (discoverResult.type === \"aborted\") {\n return;\n } else if (discoverResult.type === \"error\") {\n setFetcherError(key, routeId, discoverResult.error, { flushSync });\n return;\n } else if (!discoverResult.matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: path }),\n { flushSync }\n );\n return;\n } else {\n requestMatches = discoverResult.matches;\n match = getTargetMatch(requestMatches, path);\n\n if (detectAndHandle405Error(match)) {\n return;\n }\n }\n }\n\n // Call the action for the fetcher\n fetchControllers.set(key, abortController);\n\n let originatingLoadId = incrementingLoadId;\n let actionResults = await callDataStrategy(\n \"action\",\n state,\n fetchRequest,\n [match],\n requestMatches,\n key\n );\n let actionResult = actionResults[match.route.id];\n\n if (fetchRequest.signal.aborted) {\n // We can delete this so long as we weren't aborted by our own fetcher\n // re-submit which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n\n // When using v7_fetcherPersist, we don't want errors bubbling up to the UI\n // or redirects processed for unmounted fetchers so we just revert them to\n // idle\n if (future.v7_fetcherPersist && deletedFetchers.has(key)) {\n if (isRedirectResult(actionResult) || isErrorResult(actionResult)) {\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n }\n // Let SuccessResult's fall through for revalidation\n } else {\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our action started, so that\n // should take precedence over this redirect navigation. We already\n // set isRevalidationRequired so all loaders for the new route should\n // fire unless opted out via shouldRevalidate\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n } else {\n fetchRedirectIds.add(key);\n updateFetcherState(key, getLoadingFetcher(submission));\n return startRedirectNavigation(fetchRequest, actionResult, false, {\n fetcherSubmission: submission,\n preventScrollReset,\n });\n }\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n }\n\n if (isDeferredResult(actionResult)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n // Start the data load for current matches, or the next location if we're\n // in the middle of a navigation\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(\n init.history,\n nextLocation,\n abortController.signal\n );\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches =\n state.navigation.state !== \"idle\"\n ? matchRoutes(routesToUse, state.navigation.location, basename)\n : state.matches;\n\n invariant(matches, \"Didn't find any matches after fetcher action\");\n\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n\n let loadFetcher = getLoadingFetcher(submission, actionResult.data);\n state.fetchers.set(key, loadFetcher);\n\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n submission,\n nextLocation,\n false,\n future.v7_skipActionErrorRevalidation,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n deletedFetchers,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n [match.route.id, actionResult]\n );\n\n // Put all revalidating fetchers into the loading state, except for the\n // current fetcher which we want to keep in it's current loading state which\n // contains it's action submission info + action data\n revalidatingFetchers\n .filter((rf) => rf.key !== key)\n .forEach((rf) => {\n let staleKey = rf.key;\n let existingFetcher = state.fetchers.get(staleKey);\n let revalidatingFetcher = getLoadingFetcher(\n undefined,\n existingFetcher ? existingFetcher.data : undefined\n );\n state.fetchers.set(staleKey, revalidatingFetcher);\n abortFetcher(staleKey);\n if (rf.controller) {\n fetchControllers.set(staleKey, rf.controller);\n }\n });\n\n updateState({ fetchers: new Map(state.fetchers) });\n\n let abortPendingFetchRevalidations = () =>\n revalidatingFetchers.forEach((rf) => abortFetcher(rf.key));\n\n abortController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n\n let { loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n revalidationRequest\n );\n\n if (abortController.signal.aborted) {\n return;\n }\n\n abortController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach((r) => fetchControllers.delete(r.key));\n\n let redirect = findRedirect(loaderResults);\n if (redirect) {\n return startRedirectNavigation(\n revalidationRequest,\n redirect.result,\n false,\n { preventScrollReset }\n );\n }\n\n redirect = findRedirect(fetcherResults);\n if (redirect) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n fetchRedirectIds.add(redirect.key);\n return startRedirectNavigation(\n revalidationRequest,\n redirect.result,\n false,\n { preventScrollReset }\n );\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n loaderResults,\n undefined,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Since we let revalidations complete even if the submitting fetcher was\n // deleted, only put it back to idle if it hasn't been deleted\n if (state.fetchers.has(key)) {\n let doneFetcher = getDoneFetcher(actionResult.data);\n state.fetchers.set(key, doneFetcher);\n }\n\n abortStaleFetchLoads(loadId);\n\n // If we are currently in a navigation loading state and this fetcher is\n // more recent than the navigation, we want the newer data so abort the\n // navigation and complete it with the fetcher data\n if (\n state.navigation.state === \"loading\" &&\n loadId > pendingNavigationLoadId\n ) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers),\n });\n } else {\n // otherwise just update with the fetcher data, preserving any existing\n // loaderData for loaders that did not need to reload. We have to\n // manually merge here since we aren't going through completeNavigation\n updateState({\n errors,\n loaderData: mergeLoaderData(\n state.loaderData,\n loaderData,\n matches,\n errors\n ),\n fetchers: new Map(state.fetchers),\n });\n isRevalidationRequired = false;\n }\n }\n\n // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n async function handleFetcherLoader(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n isFogOfWar: boolean,\n flushSync: boolean,\n preventScrollReset: boolean,\n submission?: Submission\n ) {\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(\n key,\n getLoadingFetcher(\n submission,\n existingFetcher ? existingFetcher.data : undefined\n ),\n { flushSync }\n );\n\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal\n );\n\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(\n matches,\n path,\n fetchRequest.signal\n );\n\n if (discoverResult.type === \"aborted\") {\n return;\n } else if (discoverResult.type === \"error\") {\n setFetcherError(key, routeId, discoverResult.error, { flushSync });\n return;\n } else if (!discoverResult.matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: path }),\n { flushSync }\n );\n return;\n } else {\n matches = discoverResult.matches;\n match = getTargetMatch(matches, path);\n }\n }\n\n // Call the loader for this fetcher route match\n fetchControllers.set(key, abortController);\n\n let originatingLoadId = incrementingLoadId;\n let results = await callDataStrategy(\n \"loader\",\n state,\n fetchRequest,\n [match],\n matches,\n key\n );\n let result = results[match.route.id];\n\n // Deferred isn't supported for fetcher loads, await everything and treat it\n // as a normal load. resolveDeferredData will return undefined if this\n // fetcher gets aborted, so we just leave result untouched and short circuit\n // below if that happens\n if (isDeferredResult(result)) {\n result =\n (await resolveDeferredData(result, fetchRequest.signal, true)) ||\n result;\n }\n\n // We can delete this so long as we weren't aborted by our our own fetcher\n // re-load which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n\n if (fetchRequest.signal.aborted) {\n return;\n }\n\n // We don't want errors bubbling up or redirects followed for unmounted\n // fetchers, so short circuit here if it was removed from the UI\n if (deletedFetchers.has(key)) {\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n }\n\n // If the loader threw a redirect Response, start a new REPLACE navigation\n if (isRedirectResult(result)) {\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our loader started, so that\n // should take precedence over this redirect navigation\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n } else {\n fetchRedirectIds.add(key);\n await startRedirectNavigation(fetchRequest, result, false, {\n preventScrollReset,\n });\n return;\n }\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(result)) {\n setFetcherError(key, routeId, result.error);\n return;\n }\n\n invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n\n // Put the fetcher back into an idle state\n updateFetcherState(key, getDoneFetcher(result.data));\n }\n\n /**\n * Utility function to handle redirects returned from an action or loader.\n * Normally, a redirect \"replaces\" the navigation that triggered it. So, for\n * example:\n *\n * - user is on /a\n * - user clicks a link to /b\n * - loader for /b redirects to /c\n *\n * In a non-JS app the browser would track the in-flight navigation to /b and\n * then replace it with /c when it encountered the redirect response. In\n * the end it would only ever update the URL bar with /c.\n *\n * In client-side routing using pushState/replaceState, we aim to emulate\n * this behavior and we also do not update history until the end of the\n * navigation (including processed redirects). This means that we never\n * actually touch history until we've processed redirects, so we just use\n * the history action from the original navigation (PUSH or REPLACE).\n */\n async function startRedirectNavigation(\n request: Request,\n redirect: RedirectResult,\n isNavigation: boolean,\n {\n submission,\n fetcherSubmission,\n preventScrollReset,\n replace,\n }: {\n submission?: Submission;\n fetcherSubmission?: Submission;\n preventScrollReset?: boolean;\n replace?: boolean;\n } = {}\n ) {\n if (redirect.response.headers.has(\"X-Remix-Revalidate\")) {\n isRevalidationRequired = true;\n }\n\n let location = redirect.response.headers.get(\"Location\");\n invariant(location, \"Expected a Location header on the redirect Response\");\n location = normalizeRedirectLocation(\n location,\n new URL(request.url),\n basename\n );\n let redirectLocation = createLocation(state.location, location, {\n _isRedirect: true,\n });\n\n if (isBrowser) {\n let isDocumentReload = false;\n\n if (redirect.response.headers.has(\"X-Remix-Reload-Document\")) {\n // Hard reload if the response contained X-Remix-Reload-Document\n isDocumentReload = true;\n } else if (ABSOLUTE_URL_REGEX.test(location)) {\n const url = init.history.createURL(location);\n isDocumentReload =\n // Hard reload if it's an absolute URL to a new origin\n url.origin !== routerWindow.location.origin ||\n // Hard reload if it's an absolute URL that does not match our basename\n stripBasename(url.pathname, basename) == null;\n }\n\n if (isDocumentReload) {\n if (replace) {\n routerWindow.location.replace(location);\n } else {\n routerWindow.location.assign(location);\n }\n return;\n }\n }\n\n // There's no need to abort on redirects, since we don't detect the\n // redirect until the action/loaders have settled\n pendingNavigationController = null;\n\n let redirectHistoryAction =\n replace === true || redirect.response.headers.has(\"X-Remix-Replace\")\n ? HistoryAction.Replace\n : HistoryAction.Push;\n\n // Use the incoming submission if provided, fallback on the active one in\n // state.navigation\n let { formMethod, formAction, formEncType } = state.navigation;\n if (\n !submission &&\n !fetcherSubmission &&\n formMethod &&\n formAction &&\n formEncType\n ) {\n submission = getSubmissionFromNavigation(state.navigation);\n }\n\n // If this was a 307/308 submission we want to preserve the HTTP method and\n // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n // redirected location\n let activeSubmission = submission || fetcherSubmission;\n if (\n redirectPreserveMethodStatusCodes.has(redirect.response.status) &&\n activeSubmission &&\n isMutationMethod(activeSubmission.formMethod)\n ) {\n await startNavigation(redirectHistoryAction, redirectLocation, {\n submission: {\n ...activeSubmission,\n formAction: location,\n },\n // Preserve these flags across redirects\n preventScrollReset: preventScrollReset || pendingPreventScrollReset,\n enableViewTransition: isNavigation\n ? pendingViewTransitionEnabled\n : undefined,\n });\n } else {\n // If we have a navigation submission, we will preserve it through the\n // redirect navigation\n let overrideNavigation = getLoadingNavigation(\n redirectLocation,\n submission\n );\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation,\n // Send fetcher submissions through for shouldRevalidate\n fetcherSubmission,\n // Preserve these flags across redirects\n preventScrollReset: preventScrollReset || pendingPreventScrollReset,\n enableViewTransition: isNavigation\n ? pendingViewTransitionEnabled\n : undefined,\n });\n }\n }\n\n // Utility wrapper for calling dataStrategy client-side without having to\n // pass around the manifest, mapRouteProperties, etc.\n async function callDataStrategy(\n type: \"loader\" | \"action\",\n state: RouterState,\n request: Request,\n matchesToLoad: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n fetcherKey: string | null\n ): Promise> {\n let results: Record;\n let dataResults: Record = {};\n try {\n results = await callDataStrategyImpl(\n dataStrategyImpl,\n type,\n state,\n request,\n matchesToLoad,\n matches,\n fetcherKey,\n manifest,\n mapRouteProperties\n );\n } catch (e) {\n // If the outer dataStrategy method throws, just return the error for all\n // matches - and it'll naturally bubble to the root\n matchesToLoad.forEach((m) => {\n dataResults[m.route.id] = {\n type: ResultType.error,\n error: e,\n };\n });\n return dataResults;\n }\n\n for (let [routeId, result] of Object.entries(results)) {\n if (isRedirectDataStrategyResultResult(result)) {\n let response = result.result as Response;\n dataResults[routeId] = {\n type: ResultType.redirect,\n response: normalizeRelativeRoutingRedirectResponse(\n response,\n request,\n routeId,\n matches,\n basename,\n future.v7_relativeSplatPath\n ),\n };\n } else {\n dataResults[routeId] = await convertDataStrategyResultToDataResult(\n result\n );\n }\n }\n\n return dataResults;\n }\n\n async function callLoadersAndMaybeResolveData(\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n fetchersToLoad: RevalidatingFetcher[],\n request: Request\n ) {\n let currentMatches = state.matches;\n\n // Kick off loaders and fetchers in parallel\n let loaderResultsPromise = callDataStrategy(\n \"loader\",\n state,\n request,\n matchesToLoad,\n matches,\n null\n );\n\n let fetcherResultsPromise = Promise.all(\n fetchersToLoad.map(async (f) => {\n if (f.matches && f.match && f.controller) {\n let results = await callDataStrategy(\n \"loader\",\n state,\n createClientSideRequest(init.history, f.path, f.controller.signal),\n [f.match],\n f.matches,\n f.key\n );\n let result = results[f.match.route.id];\n // Fetcher results are keyed by fetcher key from here on out, not routeId\n return { [f.key]: result };\n } else {\n return Promise.resolve({\n [f.key]: {\n type: ResultType.error,\n error: getInternalRouterError(404, {\n pathname: f.path,\n }),\n } as ErrorResult,\n });\n }\n })\n );\n\n let loaderResults = await loaderResultsPromise;\n let fetcherResults = (await fetcherResultsPromise).reduce(\n (acc, r) => Object.assign(acc, r),\n {}\n );\n\n await Promise.all([\n resolveNavigationDeferredResults(\n matches,\n loaderResults,\n request.signal,\n currentMatches,\n state.loaderData\n ),\n resolveFetcherDeferredResults(matches, fetcherResults, fetchersToLoad),\n ]);\n\n return {\n loaderResults,\n fetcherResults,\n };\n }\n\n function interruptActiveLoads() {\n // Every interruption triggers a revalidation\n isRevalidationRequired = true;\n\n // Cancel pending route-level deferreds and mark cancelled routes for\n // revalidation\n cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n\n // Abort in-flight fetcher loads\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.add(key);\n }\n abortFetcher(key);\n });\n }\n\n function updateFetcherState(\n key: string,\n fetcher: Fetcher,\n opts: { flushSync?: boolean } = {}\n ) {\n state.fetchers.set(key, fetcher);\n updateState(\n { fetchers: new Map(state.fetchers) },\n { flushSync: (opts && opts.flushSync) === true }\n );\n }\n\n function setFetcherError(\n key: string,\n routeId: string,\n error: any,\n opts: { flushSync?: boolean } = {}\n ) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState(\n {\n errors: {\n [boundaryMatch.route.id]: error,\n },\n fetchers: new Map(state.fetchers),\n },\n { flushSync: (opts && opts.flushSync) === true }\n );\n }\n\n function getFetcher(key: string): Fetcher {\n if (future.v7_fetcherPersist) {\n activeFetchers.set(key, (activeFetchers.get(key) || 0) + 1);\n // If this fetcher was previously marked for deletion, unmark it since we\n // have a new instance\n if (deletedFetchers.has(key)) {\n deletedFetchers.delete(key);\n }\n }\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n\n function deleteFetcher(key: string): void {\n let fetcher = state.fetchers.get(key);\n // Don't abort the controller if this is a deletion of a fetcher.submit()\n // in it's loading phase since - we don't want to abort the corresponding\n // revalidation and want them to complete and land\n if (\n fetchControllers.has(key) &&\n !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))\n ) {\n abortFetcher(key);\n }\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n deletedFetchers.delete(key);\n cancelledFetcherLoads.delete(key);\n state.fetchers.delete(key);\n }\n\n function deleteFetcherAndUpdateState(key: string): void {\n if (future.v7_fetcherPersist) {\n let count = (activeFetchers.get(key) || 0) - 1;\n if (count <= 0) {\n activeFetchers.delete(key);\n deletedFetchers.add(key);\n } else {\n activeFetchers.set(key, count);\n }\n } else {\n deleteFetcher(key);\n }\n updateState({ fetchers: new Map(state.fetchers) });\n }\n\n function abortFetcher(key: string) {\n let controller = fetchControllers.get(key);\n if (controller) {\n controller.abort();\n fetchControllers.delete(key);\n }\n }\n\n function markFetchersDone(keys: string[]) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher = getDoneFetcher(fetcher.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n function markFetchRedirectsDone(): boolean {\n let doneKeys = [];\n let updatedFetchers = false;\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n updatedFetchers = true;\n }\n }\n markFetchersDone(doneKeys);\n return updatedFetchers;\n }\n\n function abortStaleFetchLoads(landedId: number): boolean {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n\n function getBlocker(key: string, fn: BlockerFunction) {\n let blocker: Blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n\n return blocker;\n }\n\n function deleteBlocker(key: string) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n\n // Utility function to update blockers, ensuring valid state transitions\n function updateBlocker(key: string, newBlocker: Blocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n // Poor mans state machine :)\n // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n invariant(\n (blocker.state === \"unblocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"proceeding\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"unblocked\") ||\n (blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\"),\n `Invalid blocker state transition: ${blocker.state} -> ${newBlocker.state}`\n );\n\n let blockers = new Map(state.blockers);\n blockers.set(key, newBlocker);\n updateState({ blockers });\n }\n\n function shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n }: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n }): string | undefined {\n if (blockerFunctions.size === 0) {\n return;\n }\n\n // We ony support a single active blocker at the moment since we don't have\n // any compelling use cases for multi-blocker yet\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n\n if (blocker && blocker.state === \"proceeding\") {\n // If the blocker is currently proceeding, we don't need to re-check\n // it and can let this navigation continue\n return;\n }\n\n // At this point, we know we're unblocked/blocked so we need to check the\n // user-provided blocker function\n if (blockerFunction({ currentLocation, nextLocation, historyAction })) {\n return blockerKey;\n }\n }\n\n function handleNavigational404(pathname: string) {\n let error = getInternalRouterError(404, { pathname });\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let { matches, route } = getShortCircuitMatches(routesToUse);\n\n // Cancel all pending deferred on 404s since we don't keep any routes\n cancelActiveDeferreds();\n\n return { notFoundMatches: matches, route, error };\n }\n\n function cancelActiveDeferreds(\n predicate?: (routeId: string) => boolean\n ): string[] {\n let cancelledRouteIds: string[] = [];\n activeDeferreds.forEach((dfd, routeId) => {\n if (!predicate || predicate(routeId)) {\n // Cancel the deferred - but do not remove from activeDeferreds here -\n // we rely on the subscribers to do that so our tests can assert proper\n // cleanup via _internalActiveDeferreds\n dfd.cancel();\n cancelledRouteIds.push(routeId);\n activeDeferreds.delete(routeId);\n }\n });\n return cancelledRouteIds;\n }\n\n // Opt in to capturing and reporting scroll positions during navigations,\n // used by the component\n function enableScrollRestoration(\n positions: Record,\n getPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ) {\n savedScrollPositions = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey = getKey || null;\n\n // Perform initial hydration scroll restoration, since we miss the boat on\n // the initial updateState() because we've not yet rendered \n // and therefore have no savedScrollPositions available\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({ restoreScrollPosition: y });\n }\n }\n\n return () => {\n savedScrollPositions = null;\n getScrollPosition = null;\n getScrollRestorationKey = null;\n };\n }\n\n function getScrollKey(location: Location, matches: AgnosticDataRouteMatch[]) {\n if (getScrollRestorationKey) {\n let key = getScrollRestorationKey(\n location,\n matches.map((m) => convertRouteMatchToUiMatch(m, state.loaderData))\n );\n return key || location.key;\n }\n return location.key;\n }\n\n function saveScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): void {\n if (savedScrollPositions && getScrollPosition) {\n let key = getScrollKey(location, matches);\n savedScrollPositions[key] = getScrollPosition();\n }\n }\n\n function getSavedScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): number | null {\n if (savedScrollPositions) {\n let key = getScrollKey(location, matches);\n let y = savedScrollPositions[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n\n function checkFogOfWar(\n matches: AgnosticDataRouteMatch[] | null,\n routesToUse: AgnosticDataRouteObject[],\n pathname: string\n ): { active: boolean; matches: AgnosticDataRouteMatch[] | null } {\n if (patchRoutesOnNavigationImpl) {\n if (!matches) {\n let fogMatches = matchRoutesImpl(\n routesToUse,\n pathname,\n basename,\n true\n );\n\n return { active: true, matches: fogMatches || [] };\n } else {\n if (Object.keys(matches[0].params).length > 0) {\n // If we matched a dynamic param or a splat, it might only be because\n // we haven't yet discovered other routes that would match with a\n // higher score. Call patchRoutesOnNavigation just to be sure\n let partialMatches = matchRoutesImpl(\n routesToUse,\n pathname,\n basename,\n true\n );\n return { active: true, matches: partialMatches };\n }\n }\n }\n\n return { active: false, matches: null };\n }\n\n type DiscoverRoutesSuccessResult = {\n type: \"success\";\n matches: AgnosticDataRouteMatch[] | null;\n };\n type DiscoverRoutesErrorResult = {\n type: \"error\";\n error: any;\n partialMatches: AgnosticDataRouteMatch[];\n };\n type DiscoverRoutesAbortedResult = { type: \"aborted\" };\n type DiscoverRoutesResult =\n | DiscoverRoutesSuccessResult\n | DiscoverRoutesErrorResult\n | DiscoverRoutesAbortedResult;\n\n async function discoverRoutes(\n matches: AgnosticDataRouteMatch[],\n pathname: string,\n signal: AbortSignal\n ): Promise {\n if (!patchRoutesOnNavigationImpl) {\n return { type: \"success\", matches };\n }\n\n let partialMatches: AgnosticDataRouteMatch[] | null = matches;\n while (true) {\n let isNonHMR = inFlightDataRoutes == null;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let localManifest = manifest;\n try {\n await patchRoutesOnNavigationImpl({\n path: pathname,\n matches: partialMatches,\n patch: (routeId, children) => {\n if (signal.aborted) return;\n patchRoutesImpl(\n routeId,\n children,\n routesToUse,\n localManifest,\n mapRouteProperties\n );\n },\n });\n } catch (e) {\n return { type: \"error\", error: e, partialMatches };\n } finally {\n // If we are not in the middle of an HMR revalidation and we changed the\n // routes, provide a new identity so when we `updateState` at the end of\n // this navigation/fetch `router.routes` will be a new identity and\n // trigger a re-run of memoized `router.routes` dependencies.\n // HMR will already update the identity and reflow when it lands\n // `inFlightDataRoutes` in `completeNavigation`\n if (isNonHMR && !signal.aborted) {\n dataRoutes = [...dataRoutes];\n }\n }\n\n if (signal.aborted) {\n return { type: \"aborted\" };\n }\n\n let newMatches = matchRoutes(routesToUse, pathname, basename);\n if (newMatches) {\n return { type: \"success\", matches: newMatches };\n }\n\n let newPartialMatches = matchRoutesImpl(\n routesToUse,\n pathname,\n basename,\n true\n );\n\n // Avoid loops if the second pass results in the same partial matches\n if (\n !newPartialMatches ||\n (partialMatches.length === newPartialMatches.length &&\n partialMatches.every(\n (m, i) => m.route.id === newPartialMatches![i].route.id\n ))\n ) {\n return { type: \"success\", matches: null };\n }\n\n partialMatches = newPartialMatches;\n }\n }\n\n function _internalSetRoutes(newRoutes: AgnosticDataRouteObject[]) {\n manifest = {};\n inFlightDataRoutes = convertRoutesToDataRoutes(\n newRoutes,\n mapRouteProperties,\n undefined,\n manifest\n );\n }\n\n function patchRoutes(\n routeId: string | null,\n children: AgnosticRouteObject[]\n ): void {\n let isNonHMR = inFlightDataRoutes == null;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n patchRoutesImpl(\n routeId,\n children,\n routesToUse,\n manifest,\n mapRouteProperties\n );\n\n // If we are not in the middle of an HMR revalidation and we changed the\n // routes, provide a new identity and trigger a reflow via `updateState`\n // to re-run memoized `router.routes` dependencies.\n // HMR will already update the identity and reflow when it lands\n // `inFlightDataRoutes` in `completeNavigation`\n if (isNonHMR) {\n dataRoutes = [...dataRoutes];\n updateState({});\n }\n }\n\n router = {\n get basename() {\n return basename;\n },\n get future() {\n return future;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n get window() {\n return routerWindow;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: (to: To) => init.history.createHref(to),\n encodeLocation: (to: To) => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher: deleteFetcherAndUpdateState,\n dispose,\n getBlocker,\n deleteBlocker,\n patchRoutes,\n _internalFetchControllers: fetchControllers,\n _internalActiveDeferreds: activeDeferreds,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes,\n };\n\n return router;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\n\nexport const UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\n\n/**\n * Future flags to toggle new feature behavior\n */\nexport interface StaticHandlerFutureConfig {\n v7_relativeSplatPath: boolean;\n v7_throwAbortReason: boolean;\n}\n\nexport interface CreateStaticHandlerOptions {\n basename?: string;\n /**\n * @deprecated Use `mapRouteProperties` instead\n */\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n mapRouteProperties?: MapRoutePropertiesFunction;\n future?: Partial;\n}\n\nexport function createStaticHandler(\n routes: AgnosticRouteObject[],\n opts?: CreateStaticHandlerOptions\n): StaticHandler {\n invariant(\n routes.length > 0,\n \"You must provide a non-empty routes array to createStaticHandler\"\n );\n\n let manifest: RouteManifest = {};\n let basename = (opts ? opts.basename : null) || \"/\";\n let mapRouteProperties: MapRoutePropertiesFunction;\n if (opts?.mapRouteProperties) {\n mapRouteProperties = opts.mapRouteProperties;\n } else if (opts?.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = opts.detectErrorBoundary;\n mapRouteProperties = (route) => ({\n hasErrorBoundary: detectErrorBoundary(route),\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n // Config driven behavior flags\n let future: StaticHandlerFutureConfig = {\n v7_relativeSplatPath: false,\n v7_throwAbortReason: false,\n ...(opts ? opts.future : null),\n };\n\n let dataRoutes = convertRoutesToDataRoutes(\n routes,\n mapRouteProperties,\n undefined,\n manifest\n );\n\n /**\n * The query() method is intended for document requests, in which we want to\n * call an optional action and potentially multiple loaders for all nested\n * routes. It returns a StaticHandlerContext object, which is very similar\n * to the router state (location, loaderData, actionData, errors, etc.) and\n * also adds SSR-specific information such as the statusCode and headers\n * from action/loaders Responses.\n *\n * It _should_ never throw and should report all errors through the\n * returned context.errors object, properly associating errors to their error\n * boundary. Additionally, it tracks _deepestRenderedBoundaryId which can be\n * used to emulate React error boundaries during SSr by performing a second\n * pass only down to the boundaryId.\n *\n * The one exception where we do not return a StaticHandlerContext is when a\n * redirect response is returned or thrown from any action/loader. We\n * propagate that out and return the raw Response so the HTTP server can\n * return it directly.\n *\n * - `opts.requestContext` is an optional server context that will be passed\n * to actions/loaders in the `context` parameter\n * - `opts.skipLoaderErrorBubbling` is an optional parameter that will prevent\n * the bubbling of errors which allows single-fetch-type implementations\n * where the client will handle the bubbling and we may need to return data\n * for the handling route\n */\n async function query(\n request: Request,\n {\n requestContext,\n skipLoaderErrorBubbling,\n dataStrategy,\n }: {\n requestContext?: unknown;\n skipLoaderErrorBubbling?: boolean;\n dataStrategy?: DataStrategyFunction;\n } = {}\n ): Promise {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\") {\n let error = getInternalRouterError(405, { method });\n let { matches: methodNotAllowedMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n } else if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n dataStrategy || null,\n skipLoaderErrorBubbling === true,\n null\n );\n if (isResponse(result)) {\n return result;\n }\n\n // When returning StaticHandlerContext, we patch back in the location here\n // since we need it for React Context. But this helps keep our submit and\n // loadRouteData operating on a Request instead of a Location\n return { location, basename, ...result };\n }\n\n /**\n * The queryRoute() method is intended for targeted route requests, either\n * for fetch ?_data requests or resource route requests. In this case, we\n * are only ever calling a single action or loader, and we are returning the\n * returned value directly. In most cases, this will be a Response returned\n * from the action/loader, but it may be a primitive or other value as well -\n * and in such cases the calling context should handle that accordingly.\n *\n * We do respect the throw/return differentiation, so if an action/loader\n * throws, then this method will throw the value. This is important so we\n * can do proper boundary identification in Remix where a thrown Response\n * must go to the Catch Boundary but a returned Response is happy-path.\n *\n * One thing to note is that any Router-initiated Errors that make sense\n * to associate with a status code will be thrown as an ErrorResponse\n * instance which include the raw Error, such that the calling context can\n * serialize the error as they see fit while including the proper response\n * code. Examples here are 404 and 405 errors that occur prior to reaching\n * any user-defined loaders.\n *\n * - `opts.routeId` allows you to specify the specific route handler to call.\n * If not provided the handler will determine the proper route by matching\n * against `request.url`\n * - `opts.requestContext` is an optional server context that will be passed\n * to actions/loaders in the `context` parameter\n */\n async function queryRoute(\n request: Request,\n {\n routeId,\n requestContext,\n dataStrategy,\n }: {\n requestContext?: unknown;\n routeId?: string;\n dataStrategy?: DataStrategyFunction;\n } = {}\n ): Promise {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n throw getInternalRouterError(405, { method });\n } else if (!matches) {\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let match = routeId\n ? matches.find((m) => m.route.id === routeId)\n : getTargetMatch(matches, location);\n\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId,\n });\n } else if (!match) {\n // This should never hit I don't think?\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n dataStrategy || null,\n false,\n match\n );\n\n if (isResponse(result)) {\n return result;\n }\n\n let error = result.errors ? Object.values(result.errors)[0] : undefined;\n if (error !== undefined) {\n // If we got back result.errors, that means the loader/action threw\n // _something_ that wasn't a Response, but it's not guaranteed/required\n // to be an `instanceof Error` either, so we have to use throw here to\n // preserve the \"error\" state outside of queryImpl.\n throw error;\n }\n\n // Pick off the right state value to return\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n\n if (result.loaderData) {\n let data = Object.values(result.loaderData)[0];\n if (result.activeDeferreds?.[match.route.id]) {\n data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n }\n return data;\n }\n\n return undefined;\n }\n\n async function queryImpl(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n dataStrategy: DataStrategyFunction | null,\n skipLoaderErrorBubbling: boolean,\n routeMatch: AgnosticDataRouteMatch | null\n ): Promise | Response> {\n invariant(\n request.signal,\n \"query()/queryRoute() requests must contain an AbortController signal\"\n );\n\n try {\n if (isMutationMethod(request.method.toLowerCase())) {\n let result = await submit(\n request,\n matches,\n routeMatch || getTargetMatch(matches, location),\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n routeMatch != null\n );\n return result;\n }\n\n let result = await loadRouteData(\n request,\n matches,\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n routeMatch\n );\n return isResponse(result)\n ? result\n : {\n ...result,\n actionData: null,\n actionHeaders: {},\n };\n } catch (e) {\n // If the user threw/returned a Response in callLoaderOrAction for a\n // `queryRoute` call, we throw the `DataStrategyResult` to bail out early\n // and then return or throw the raw Response here accordingly\n if (isDataStrategyResult(e) && isResponse(e.result)) {\n if (e.type === ResultType.error) {\n throw e.result;\n }\n return e.result;\n }\n // Redirects are always returned since they don't propagate to catch\n // boundaries\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n\n async function submit(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n actionMatch: AgnosticDataRouteMatch,\n requestContext: unknown,\n dataStrategy: DataStrategyFunction | null,\n skipLoaderErrorBubbling: boolean,\n isRouteRequest: boolean\n ): Promise | Response> {\n let result: DataResult;\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id,\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n } else {\n let results = await callDataStrategy(\n \"action\",\n request,\n [actionMatch],\n matches,\n isRouteRequest,\n requestContext,\n dataStrategy\n );\n result = results[actionMatch.route.id];\n\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest, future);\n }\n }\n\n if (isRedirectResult(result)) {\n // Uhhhh - this should never happen, we should always throw these from\n // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n // can get back on the \"throw all redirect responses\" train here should\n // this ever happen :/\n throw new Response(null, {\n status: result.response.status,\n headers: {\n Location: result.response.headers.get(\"Location\")!,\n },\n });\n }\n\n if (isDeferredResult(result)) {\n let error = getInternalRouterError(400, { type: \"defer-action\" });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n }\n\n if (isRouteRequest) {\n // Note: This should only be non-Response values if we get here, since\n // isRouteRequest should throw any Response received in callLoaderOrAction\n if (isErrorResult(result)) {\n throw result.error;\n }\n\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: { [actionMatch.route.id]: result.data },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n // Create a GET request for the loaders\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal,\n });\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = skipLoaderErrorBubbling\n ? actionMatch\n : findNearestBoundary(matches, actionMatch.route.id);\n\n let context = await loadRouteData(\n loaderRequest,\n matches,\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n null,\n [boundaryMatch.route.id, result]\n );\n\n // action status codes take precedence over loader status codes\n return {\n ...context,\n statusCode: isRouteErrorResponse(result.error)\n ? result.error.status\n : result.statusCode != null\n ? result.statusCode\n : 500,\n actionData: null,\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n let context = await loadRouteData(\n loaderRequest,\n matches,\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n null\n );\n\n return {\n ...context,\n actionData: {\n [actionMatch.route.id]: result.data,\n },\n // action status codes take precedence over loader status codes\n ...(result.statusCode ? { statusCode: result.statusCode } : {}),\n actionHeaders: result.headers\n ? { [actionMatch.route.id]: result.headers }\n : {},\n };\n }\n\n async function loadRouteData(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n dataStrategy: DataStrategyFunction | null,\n skipLoaderErrorBubbling: boolean,\n routeMatch: AgnosticDataRouteMatch | null,\n pendingActionResult?: PendingActionResult\n ): Promise<\n | Omit<\n StaticHandlerContext,\n \"location\" | \"basename\" | \"actionData\" | \"actionHeaders\"\n >\n | Response\n > {\n let isRouteRequest = routeMatch != null;\n\n // Short circuit if we have no loaders to run (queryRoute())\n if (\n isRouteRequest &&\n !routeMatch?.route.loader &&\n !routeMatch?.route.lazy\n ) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch?.route.id,\n });\n }\n\n let requestMatches = routeMatch\n ? [routeMatch]\n : pendingActionResult && isErrorResult(pendingActionResult[1])\n ? getLoaderMatchesUntilBoundary(matches, pendingActionResult[0])\n : matches;\n let matchesToLoad = requestMatches.filter(\n (m) => m.route.loader || m.route.lazy\n );\n\n // Short circuit if we have no loaders to run (query())\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce(\n (acc, m) => Object.assign(acc, { [m.route.id]: null }),\n {}\n ),\n errors:\n pendingActionResult && isErrorResult(pendingActionResult[1])\n ? {\n [pendingActionResult[0]]: pendingActionResult[1].error,\n }\n : null,\n statusCode: 200,\n loaderHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let results = await callDataStrategy(\n \"loader\",\n request,\n matchesToLoad,\n matches,\n isRouteRequest,\n requestContext,\n dataStrategy\n );\n\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest, future);\n }\n\n // Process and commit output from loaders\n let activeDeferreds = new Map();\n let context = processRouteLoaderData(\n matches,\n results,\n pendingActionResult,\n activeDeferreds,\n skipLoaderErrorBubbling\n );\n\n // Add a null for any non-loader matches for proper revalidation on the client\n let executedLoaders = new Set(\n matchesToLoad.map((match) => match.route.id)\n );\n matches.forEach((match) => {\n if (!executedLoaders.has(match.route.id)) {\n context.loaderData[match.route.id] = null;\n }\n });\n\n return {\n ...context,\n matches,\n activeDeferreds:\n activeDeferreds.size > 0\n ? Object.fromEntries(activeDeferreds.entries())\n : null,\n };\n }\n\n // Utility wrapper for calling dataStrategy server-side without having to\n // pass around the manifest, mapRouteProperties, etc.\n async function callDataStrategy(\n type: \"loader\" | \"action\",\n request: Request,\n matchesToLoad: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n isRouteRequest: boolean,\n requestContext: unknown,\n dataStrategy: DataStrategyFunction | null\n ): Promise> {\n let results = await callDataStrategyImpl(\n dataStrategy || defaultDataStrategy,\n type,\n null,\n request,\n matchesToLoad,\n matches,\n null,\n manifest,\n mapRouteProperties,\n requestContext\n );\n\n let dataResults: Record = {};\n await Promise.all(\n matches.map(async (match) => {\n if (!(match.route.id in results)) {\n return;\n }\n let result = results[match.route.id];\n if (isRedirectDataStrategyResultResult(result)) {\n let response = result.result as Response;\n // Throw redirects and let the server handle them with an HTTP redirect\n throw normalizeRelativeRoutingRedirectResponse(\n response,\n request,\n match.route.id,\n matches,\n basename,\n future.v7_relativeSplatPath\n );\n }\n if (isResponse(result.result) && isRouteRequest) {\n // For SSR single-route requests, we want to hand Responses back\n // directly without unwrapping\n throw result;\n }\n\n dataResults[match.route.id] =\n await convertDataStrategyResultToDataResult(result);\n })\n );\n return dataResults;\n }\n\n return {\n dataRoutes,\n query,\n queryRoute,\n };\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nexport function getStaticContextFromError(\n routes: AgnosticDataRouteObject[],\n context: StaticHandlerContext,\n error: any\n) {\n let newContext: StaticHandlerContext = {\n ...context,\n statusCode: isRouteErrorResponse(error) ? error.status : 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error,\n },\n };\n return newContext;\n}\n\nfunction throwStaticHandlerAbortedError(\n request: Request,\n isRouteRequest: boolean,\n future: StaticHandlerFutureConfig\n) {\n if (future.v7_throwAbortReason && request.signal.reason !== undefined) {\n throw request.signal.reason;\n }\n\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted: ${request.method} ${request.url}`);\n}\n\nfunction isSubmissionNavigation(\n opts: BaseNavigateOrFetchOptions\n): opts is SubmissionNavigateOptions {\n return (\n opts != null &&\n ((\"formData\" in opts && opts.formData != null) ||\n (\"body\" in opts && opts.body !== undefined))\n );\n}\n\nfunction normalizeTo(\n location: Path,\n matches: AgnosticDataRouteMatch[],\n basename: string,\n prependBasename: boolean,\n to: To | null,\n v7_relativeSplatPath: boolean,\n fromRouteId?: string,\n relative?: RelativeRoutingType\n) {\n let contextualMatches: AgnosticDataRouteMatch[];\n let activeRouteMatch: AgnosticDataRouteMatch | undefined;\n if (fromRouteId) {\n // Grab matches up to the calling route so our route-relative logic is\n // relative to the correct source route\n contextualMatches = [];\n for (let match of matches) {\n contextualMatches.push(match);\n if (match.route.id === fromRouteId) {\n activeRouteMatch = match;\n break;\n }\n }\n } else {\n contextualMatches = matches;\n activeRouteMatch = matches[matches.length - 1];\n }\n\n // Resolve the relative path\n let path = resolveTo(\n to ? to : \".\",\n getResolveToMatches(contextualMatches, v7_relativeSplatPath),\n stripBasename(location.pathname, basename) || location.pathname,\n relative === \"path\"\n );\n\n // When `to` is not specified we inherit search/hash from the current\n // location, unlike when to=\".\" and we just inherit the path.\n // See https://github.com/remix-run/remix/issues/927\n if (to == null) {\n path.search = location.search;\n path.hash = location.hash;\n }\n\n // Account for `?index` params when routing to the current location\n if ((to == null || to === \"\" || to === \".\") && activeRouteMatch) {\n let nakedIndex = hasNakedIndexQuery(path.search);\n if (activeRouteMatch.route.index && !nakedIndex) {\n // Add one when we're targeting an index route\n path.search = path.search\n ? path.search.replace(/^\\?/, \"?index&\")\n : \"?index\";\n } else if (!activeRouteMatch.route.index && nakedIndex) {\n // Remove existing ones when we're not\n let params = new URLSearchParams(path.search);\n let indexValues = params.getAll(\"index\");\n params.delete(\"index\");\n indexValues.filter((v) => v).forEach((v) => params.append(\"index\", v));\n let qs = params.toString();\n path.search = qs ? `?${qs}` : \"\";\n }\n }\n\n // If we're operating within a basename, prepend it to the pathname. If\n // this is a root navigation, then just use the raw basename which allows\n // the basename to have full control over the presence of a trailing slash\n // on root actions\n if (prependBasename && basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n\n return createPath(path);\n}\n\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(\n normalizeFormMethod: boolean,\n isFetcher: boolean,\n path: string,\n opts?: BaseNavigateOrFetchOptions\n): {\n path: string;\n submission?: Submission;\n error?: ErrorResponseImpl;\n} {\n // Return location verbatim on non-submission navigations\n if (!opts || !isSubmissionNavigation(opts)) {\n return { path };\n }\n\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, { method: opts.formMethod }),\n };\n }\n\n let getInvalidBodyError = () => ({\n path,\n error: getInternalRouterError(400, { type: \"invalid-body\" }),\n });\n\n // Create a Submission on non-GET navigations\n let rawFormMethod = opts.formMethod || \"get\";\n let formMethod = normalizeFormMethod\n ? (rawFormMethod.toUpperCase() as V7_FormMethod)\n : (rawFormMethod.toLowerCase() as FormMethod);\n let formAction = stripHashFromPath(path);\n\n if (opts.body !== undefined) {\n if (opts.formEncType === \"text/plain\") {\n // text only support POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n\n let text =\n typeof opts.body === \"string\"\n ? opts.body\n : opts.body instanceof FormData ||\n opts.body instanceof URLSearchParams\n ? // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#plain-text-form-data\n Array.from(opts.body.entries()).reduce(\n (acc, [name, value]) => `${acc}${name}=${value}\\n`,\n \"\"\n )\n : String(opts.body);\n\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json: undefined,\n text,\n },\n };\n } else if (opts.formEncType === \"application/json\") {\n // json only supports POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n\n try {\n let json =\n typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json,\n text: undefined,\n },\n };\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n }\n\n invariant(\n typeof FormData === \"function\",\n \"FormData is not available in this environment\"\n );\n\n let searchParams: URLSearchParams;\n let formData: FormData;\n\n if (opts.formData) {\n searchParams = convertFormDataToSearchParams(opts.formData);\n formData = opts.formData;\n } else if (opts.body instanceof FormData) {\n searchParams = convertFormDataToSearchParams(opts.body);\n formData = opts.body;\n } else if (opts.body instanceof URLSearchParams) {\n searchParams = opts.body;\n formData = convertSearchParamsToFormData(searchParams);\n } else if (opts.body == null) {\n searchParams = new URLSearchParams();\n formData = new FormData();\n } else {\n try {\n searchParams = new URLSearchParams(opts.body);\n formData = convertSearchParamsToFormData(searchParams);\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n\n let submission: Submission = {\n formMethod,\n formAction,\n formEncType:\n (opts && opts.formEncType) || \"application/x-www-form-urlencoded\",\n formData,\n json: undefined,\n text: undefined,\n };\n\n if (isMutationMethod(submission.formMethod)) {\n return { path, submission };\n }\n\n // Flatten submission onto URLSearchParams for GET submissions\n let parsedPath = parsePath(path);\n // On GET navigation submissions we can drop the ?index param from the\n // resulting location since all loaders will run. But fetcher GET submissions\n // only run a single loader so we need to preserve any incoming ?index params\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = `?${searchParams}`;\n\n return { path: createPath(parsedPath), submission };\n}\n\n// Filter out all routes at/below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(\n matches: AgnosticDataRouteMatch[],\n boundaryId: string,\n includeBoundary = false\n) {\n let index = matches.findIndex((m) => m.route.id === boundaryId);\n if (index >= 0) {\n return matches.slice(0, includeBoundary ? index + 1 : index);\n }\n return matches;\n}\n\nfunction getMatchesToLoad(\n history: History,\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n submission: Submission | undefined,\n location: Location,\n initialHydration: boolean,\n skipActionErrorRevalidation: boolean,\n isRevalidationRequired: boolean,\n cancelledDeferredRoutes: string[],\n cancelledFetcherLoads: Set,\n deletedFetchers: Set,\n fetchLoadMatches: Map,\n fetchRedirectIds: Set,\n routesToUse: AgnosticDataRouteObject[],\n basename: string | undefined,\n pendingActionResult?: PendingActionResult\n): [AgnosticDataRouteMatch[], RevalidatingFetcher[]] {\n let actionResult = pendingActionResult\n ? isErrorResult(pendingActionResult[1])\n ? pendingActionResult[1].error\n : pendingActionResult[1].data\n : undefined;\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n\n // Pick navigation matches that are net-new or qualify for revalidation\n let boundaryMatches = matches;\n if (initialHydration && state.errors) {\n // On initial hydration, only consider matches up to _and including_ the boundary.\n // This is inclusive to handle cases where a server loader ran successfully,\n // a child server loader bubbled up to this route, but this route has\n // `clientLoader.hydrate` so we want to still run the `clientLoader` so that\n // we have a complete version of `loaderData`\n boundaryMatches = getLoaderMatchesUntilBoundary(\n matches,\n Object.keys(state.errors)[0],\n true\n );\n } else if (pendingActionResult && isErrorResult(pendingActionResult[1])) {\n // If an action threw an error, we call loaders up to, but not including the\n // boundary\n boundaryMatches = getLoaderMatchesUntilBoundary(\n matches,\n pendingActionResult[0]\n );\n }\n\n // Don't revalidate loaders by default after action 4xx/5xx responses\n // when the flag is enabled. They can still opt-into revalidation via\n // `shouldRevalidate` via `actionResult`\n let actionStatus = pendingActionResult\n ? pendingActionResult[1].statusCode\n : undefined;\n let shouldSkipRevalidation =\n skipActionErrorRevalidation && actionStatus && actionStatus >= 400;\n\n let navigationMatches = boundaryMatches.filter((match, index) => {\n let { route } = match;\n if (route.lazy) {\n // We haven't loaded this route yet so we don't know if it's got a loader!\n return true;\n }\n\n if (route.loader == null) {\n return false;\n }\n\n if (initialHydration) {\n return shouldLoadRouteOnHydration(route, state.loaderData, state.errors);\n }\n\n // Always call the loader on new route instances and pending defer cancellations\n if (\n isNewLoader(state.loaderData, state.matches[index], match) ||\n cancelledDeferredRoutes.some((id) => id === match.route.id)\n ) {\n return true;\n }\n\n // This is the default implementation for when we revalidate. If the route\n // provides it's own implementation, then we give them full control but\n // provide this value so they can leverage it if needed after they check\n // their own specific use cases\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n\n return shouldRevalidateLoader(match, {\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params,\n ...submission,\n actionResult,\n actionStatus,\n defaultShouldRevalidate: shouldSkipRevalidation\n ? false\n : // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n isRevalidationRequired ||\n currentUrl.pathname + currentUrl.search ===\n nextUrl.pathname + nextUrl.search ||\n // Search params affect all loaders\n currentUrl.search !== nextUrl.search ||\n isNewRouteInstance(currentRouteMatch, nextRouteMatch),\n });\n });\n\n // Pick fetcher.loads that need to be revalidated\n let revalidatingFetchers: RevalidatingFetcher[] = [];\n fetchLoadMatches.forEach((f, key) => {\n // Don't revalidate:\n // - on initial hydration (shouldn't be any fetchers then anyway)\n // - if fetcher won't be present in the subsequent render\n // - no longer matches the URL (v7_fetcherPersist=false)\n // - was unmounted but persisted due to v7_fetcherPersist=true\n if (\n initialHydration ||\n !matches.some((m) => m.route.id === f.routeId) ||\n deletedFetchers.has(key)\n ) {\n return;\n }\n\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n\n // If the fetcher path no longer matches, push it in with null matches so\n // we can trigger a 404 in callLoadersAndMaybeResolveData. Note this is\n // currently only a use-case for Remix HMR where the route tree can change\n // at runtime and remove a route previously loaded via a fetcher\n if (!fetcherMatches) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: null,\n match: null,\n controller: null,\n });\n return;\n }\n\n // Revalidating fetchers are decoupled from the route matches since they\n // load from a static href. They revalidate based on explicit revalidation\n // (submission, useRevalidator, or X-Remix-Revalidate)\n let fetcher = state.fetchers.get(key);\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n\n let shouldRevalidate = false;\n if (fetchRedirectIds.has(key)) {\n // Never trigger a revalidation of an actively redirecting fetcher\n shouldRevalidate = false;\n } else if (cancelledFetcherLoads.has(key)) {\n // Always mark for revalidation if the fetcher was cancelled\n cancelledFetcherLoads.delete(key);\n shouldRevalidate = true;\n } else if (\n fetcher &&\n fetcher.state !== \"idle\" &&\n fetcher.data === undefined\n ) {\n // If the fetcher hasn't ever completed loading yet, then this isn't a\n // revalidation, it would just be a brand new load if an explicit\n // revalidation is required\n shouldRevalidate = isRevalidationRequired;\n } else {\n // Otherwise fall back on any user-defined shouldRevalidate, defaulting\n // to explicit revalidations only\n shouldRevalidate = shouldRevalidateLoader(fetcherMatch, {\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params,\n ...submission,\n actionResult,\n actionStatus,\n defaultShouldRevalidate: shouldSkipRevalidation\n ? false\n : isRevalidationRequired,\n });\n }\n\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: fetcherMatches,\n match: fetcherMatch,\n controller: new AbortController(),\n });\n }\n });\n\n return [navigationMatches, revalidatingFetchers];\n}\n\nfunction shouldLoadRouteOnHydration(\n route: AgnosticDataRouteObject,\n loaderData: RouteData | null | undefined,\n errors: RouteData | null | undefined\n) {\n // We dunno if we have a loader - gotta find out!\n if (route.lazy) {\n return true;\n }\n\n // No loader, nothing to initialize\n if (!route.loader) {\n return false;\n }\n\n let hasData = loaderData != null && loaderData[route.id] !== undefined;\n let hasError = errors != null && errors[route.id] !== undefined;\n\n // Don't run if we error'd during SSR\n if (!hasData && hasError) {\n return false;\n }\n\n // Explicitly opting-in to running on hydration\n if (typeof route.loader === \"function\" && route.loader.hydrate === true) {\n return true;\n }\n\n // Otherwise, run if we're not yet initialized with anything\n return !hasData && !hasError;\n}\n\nfunction isNewLoader(\n currentLoaderData: RouteData,\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let isNew =\n // [a] -> [a, b]\n !currentMatch ||\n // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id;\n\n // Handle the case that we don't have data for a re-used route, potentially\n // from a prior error or from a cancelled pending deferred\n let isMissingData = currentLoaderData[match.route.id] === undefined;\n\n // Always load if this is a net-new route or we don't yet have data\n return isNew || isMissingData;\n}\n\nfunction isNewRouteInstance(\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname ||\n // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n (currentPath != null &&\n currentPath.endsWith(\"*\") &&\n currentMatch.params[\"*\"] !== match.params[\"*\"])\n );\n}\n\nfunction shouldRevalidateLoader(\n loaderMatch: AgnosticDataRouteMatch,\n arg: ShouldRevalidateFunctionArgs\n) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n\n return arg.defaultShouldRevalidate;\n}\n\nfunction patchRoutesImpl(\n routeId: string | null,\n children: AgnosticRouteObject[],\n routesToUse: AgnosticDataRouteObject[],\n manifest: RouteManifest,\n mapRouteProperties: MapRoutePropertiesFunction\n) {\n let childrenToPatch: AgnosticDataRouteObject[];\n if (routeId) {\n let route = manifest[routeId];\n invariant(\n route,\n `No route found to patch children into: routeId = ${routeId}`\n );\n if (!route.children) {\n route.children = [];\n }\n childrenToPatch = route.children;\n } else {\n childrenToPatch = routesToUse;\n }\n\n // Don't patch in routes we already know about so that `patch` is idempotent\n // to simplify user-land code. This is useful because we re-call the\n // `patchRoutesOnNavigation` function for matched routes with params.\n let uniqueChildren = children.filter(\n (newRoute) =>\n !childrenToPatch.some((existingRoute) =>\n isSameRoute(newRoute, existingRoute)\n )\n );\n\n let newRoutes = convertRoutesToDataRoutes(\n uniqueChildren,\n mapRouteProperties,\n [routeId || \"_\", \"patch\", String(childrenToPatch?.length || \"0\")],\n manifest\n );\n\n childrenToPatch.push(...newRoutes);\n}\n\nfunction isSameRoute(\n newRoute: AgnosticRouteObject,\n existingRoute: AgnosticRouteObject\n): boolean {\n // Most optimal check is by id\n if (\n \"id\" in newRoute &&\n \"id\" in existingRoute &&\n newRoute.id === existingRoute.id\n ) {\n return true;\n }\n\n // Second is by pathing differences\n if (\n !(\n newRoute.index === existingRoute.index &&\n newRoute.path === existingRoute.path &&\n newRoute.caseSensitive === existingRoute.caseSensitive\n )\n ) {\n return false;\n }\n\n // Pathless layout routes are trickier since we need to check children.\n // If they have no children then they're the same as far as we can tell\n if (\n (!newRoute.children || newRoute.children.length === 0) &&\n (!existingRoute.children || existingRoute.children.length === 0)\n ) {\n return true;\n }\n\n // Otherwise, we look to see if every child in the new route is already\n // represented in the existing route's children\n return newRoute.children!.every((aChild, i) =>\n existingRoute.children?.some((bChild) => isSameRoute(aChild, bChild))\n );\n}\n\n/**\n * Execute route.lazy() methods to lazily load route modules (loader, action,\n * shouldRevalidate) and update the routeManifest in place which shares objects\n * with dataRoutes so those get updated as well.\n */\nasync function loadLazyRouteModule(\n route: AgnosticDataRouteObject,\n mapRouteProperties: MapRoutePropertiesFunction,\n manifest: RouteManifest\n) {\n if (!route.lazy) {\n return;\n }\n\n let lazyRoute = await route.lazy();\n\n // If the lazy route function was executed and removed by another parallel\n // call then we can return - first lazy() to finish wins because the return\n // value of lazy is expected to be static\n if (!route.lazy) {\n return;\n }\n\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n\n // Update the route in place. This should be safe because there's no way\n // we could yet be sitting on this route as we can't get there without\n // resolving lazy() first.\n //\n // This is different than the HMR \"update\" use-case where we may actively be\n // on the route being updated. The main concern boils down to \"does this\n // mutation affect any ongoing navigations or any current state.matches\n // values?\". If not, it should be safe to update in place.\n let routeUpdates: Record = {};\n for (let lazyRouteProperty in lazyRoute) {\n let staticRouteValue =\n routeToUpdate[lazyRouteProperty as keyof typeof routeToUpdate];\n\n let isPropertyStaticallyDefined =\n staticRouteValue !== undefined &&\n // This property isn't static since it should always be updated based\n // on the route updates\n lazyRouteProperty !== \"hasErrorBoundary\";\n\n warning(\n !isPropertyStaticallyDefined,\n `Route \"${routeToUpdate.id}\" has a static property \"${lazyRouteProperty}\" ` +\n `defined but its lazy function is also returning a value for this property. ` +\n `The lazy route property \"${lazyRouteProperty}\" will be ignored.`\n );\n\n if (\n !isPropertyStaticallyDefined &&\n !immutableRouteKeys.has(lazyRouteProperty as ImmutableRouteKey)\n ) {\n routeUpdates[lazyRouteProperty] =\n lazyRoute[lazyRouteProperty as keyof typeof lazyRoute];\n }\n }\n\n // Mutate the route with the provided updates. Do this first so we pass\n // the updated version to mapRouteProperties\n Object.assign(routeToUpdate, routeUpdates);\n\n // Mutate the `hasErrorBoundary` property on the route based on the route\n // updates and remove the `lazy` function so we don't resolve the lazy\n // route again.\n Object.assign(routeToUpdate, {\n // To keep things framework agnostic, we use the provided\n // `mapRouteProperties` (or wrapped `detectErrorBoundary`) function to\n // set the framework-aware properties (`element`/`hasErrorBoundary`) since\n // the logic will differ between frameworks.\n ...mapRouteProperties(routeToUpdate),\n lazy: undefined,\n });\n}\n\n// Default implementation of `dataStrategy` which fetches all loaders in parallel\nasync function defaultDataStrategy({\n matches,\n}: DataStrategyFunctionArgs): ReturnType {\n let matchesToLoad = matches.filter((m) => m.shouldLoad);\n let results = await Promise.all(matchesToLoad.map((m) => m.resolve()));\n return results.reduce(\n (acc, result, i) =>\n Object.assign(acc, { [matchesToLoad[i].route.id]: result }),\n {}\n );\n}\n\nasync function callDataStrategyImpl(\n dataStrategyImpl: DataStrategyFunction,\n type: \"loader\" | \"action\",\n state: RouterState | null,\n request: Request,\n matchesToLoad: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n fetcherKey: string | null,\n manifest: RouteManifest,\n mapRouteProperties: MapRoutePropertiesFunction,\n requestContext?: unknown\n): Promise> {\n let loadRouteDefinitionsPromises = matches.map((m) =>\n m.route.lazy\n ? loadLazyRouteModule(m.route, mapRouteProperties, manifest)\n : undefined\n );\n\n let dsMatches = matches.map((match, i) => {\n let loadRoutePromise = loadRouteDefinitionsPromises[i];\n let shouldLoad = matchesToLoad.some((m) => m.route.id === match.route.id);\n // `resolve` encapsulates route.lazy(), executing the loader/action,\n // and mapping return values/thrown errors to a `DataStrategyResult`. Users\n // can pass a callback to take fine-grained control over the execution\n // of the loader/action\n let resolve: DataStrategyMatch[\"resolve\"] = async (handlerOverride) => {\n if (\n handlerOverride &&\n request.method === \"GET\" &&\n (match.route.lazy || match.route.loader)\n ) {\n shouldLoad = true;\n }\n return shouldLoad\n ? callLoaderOrAction(\n type,\n request,\n match,\n loadRoutePromise,\n handlerOverride,\n requestContext\n )\n : Promise.resolve({ type: ResultType.data, result: undefined });\n };\n\n return {\n ...match,\n shouldLoad,\n resolve,\n };\n });\n\n // Send all matches here to allow for a middleware-type implementation.\n // handler will be a no-op for unneeded routes and we filter those results\n // back out below.\n let results = await dataStrategyImpl({\n matches: dsMatches,\n request,\n params: matches[0].params,\n fetcherKey,\n context: requestContext,\n });\n\n // Wait for all routes to load here but 'swallow the error since we want\n // it to bubble up from the `await loadRoutePromise` in `callLoaderOrAction` -\n // called from `match.resolve()`\n try {\n await Promise.all(loadRouteDefinitionsPromises);\n } catch (e) {\n // No-op\n }\n\n return results;\n}\n\n// Default logic for calling a loader/action is the user has no specified a dataStrategy\nasync function callLoaderOrAction(\n type: \"loader\" | \"action\",\n request: Request,\n match: AgnosticDataRouteMatch,\n loadRoutePromise: Promise | undefined,\n handlerOverride: Parameters[0],\n staticContext?: unknown\n): Promise {\n let result: DataStrategyResult;\n let onReject: (() => void) | undefined;\n\n let runHandler = (\n handler: AgnosticRouteObject[\"loader\"] | AgnosticRouteObject[\"action\"]\n ): Promise => {\n // Setup a promise we can race against so that abort signals short circuit\n let reject: () => void;\n // This will never resolve so safe to type it as Promise to\n // satisfy the function return value\n let abortPromise = new Promise((_, r) => (reject = r));\n onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n\n let actualHandler = (ctx?: unknown) => {\n if (typeof handler !== \"function\") {\n return Promise.reject(\n new Error(\n `You cannot call the handler for a route which defines a boolean ` +\n `\"${type}\" [routeId: ${match.route.id}]`\n )\n );\n }\n return handler(\n {\n request,\n params: match.params,\n context: staticContext,\n },\n ...(ctx !== undefined ? [ctx] : [])\n );\n };\n\n let handlerPromise: Promise = (async () => {\n try {\n let val = await (handlerOverride\n ? handlerOverride((ctx: unknown) => actualHandler(ctx))\n : actualHandler());\n return { type: \"data\", result: val };\n } catch (e) {\n return { type: \"error\", result: e };\n }\n })();\n\n return Promise.race([handlerPromise, abortPromise]);\n };\n\n try {\n let handler = match.route[type];\n\n // If we have a route.lazy promise, await that first\n if (loadRoutePromise) {\n if (handler) {\n // Run statically defined handler in parallel with lazy()\n let handlerError;\n let [value] = await Promise.all([\n // If the handler throws, don't let it immediately bubble out,\n // since we need to let the lazy() execution finish so we know if this\n // route has a boundary that can handle the error\n runHandler(handler).catch((e) => {\n handlerError = e;\n }),\n loadRoutePromise,\n ]);\n if (handlerError !== undefined) {\n throw handlerError;\n }\n result = value!;\n } else {\n // Load lazy route module, then run any returned handler\n await loadRoutePromise;\n\n handler = match.route[type];\n if (handler) {\n // Handler still runs even if we got interrupted to maintain consistency\n // with un-abortable behavior of handler execution on non-lazy or\n // previously-lazy-loaded routes\n result = await runHandler(handler);\n } else if (type === \"action\") {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(405, {\n method: request.method,\n pathname,\n routeId: match.route.id,\n });\n } else {\n // lazy() route has no loader to run. Short circuit here so we don't\n // hit the invariant below that errors on returning undefined.\n return { type: ResultType.data, result: undefined };\n }\n }\n } else if (!handler) {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(404, {\n pathname,\n });\n } else {\n result = await runHandler(handler);\n }\n\n invariant(\n result.result !== undefined,\n `You defined ${type === \"action\" ? \"an action\" : \"a loader\"} for route ` +\n `\"${match.route.id}\" but didn't return anything from your \\`${type}\\` ` +\n `function. Please return a value or \\`null\\`.`\n );\n } catch (e) {\n // We should already be catching and converting normal handler executions to\n // DataStrategyResults and returning them, so anything that throws here is an\n // unexpected error we still need to wrap\n return { type: ResultType.error, result: e };\n } finally {\n if (onReject) {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n }\n\n return result;\n}\n\nasync function convertDataStrategyResultToDataResult(\n dataStrategyResult: DataStrategyResult\n): Promise {\n let { result, type } = dataStrategyResult;\n\n if (isResponse(result)) {\n let data: any;\n\n try {\n let contentType = result.headers.get(\"Content-Type\");\n // Check between word boundaries instead of startsWith() due to the last\n // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n if (result.body == null) {\n data = null;\n } else {\n data = await result.json();\n }\n } else {\n data = await result.text();\n }\n } catch (e) {\n return { type: ResultType.error, error: e };\n }\n\n if (type === ResultType.error) {\n return {\n type: ResultType.error,\n error: new ErrorResponseImpl(result.status, result.statusText, data),\n statusCode: result.status,\n headers: result.headers,\n };\n }\n\n return {\n type: ResultType.data,\n data,\n statusCode: result.status,\n headers: result.headers,\n };\n }\n\n if (type === ResultType.error) {\n if (isDataWithResponseInit(result)) {\n if (result.data instanceof Error) {\n return {\n type: ResultType.error,\n error: result.data,\n statusCode: result.init?.status,\n };\n }\n\n // Convert thrown data() to ErrorResponse instances\n result = new ErrorResponseImpl(\n result.init?.status || 500,\n undefined,\n result.data\n );\n }\n return {\n type: ResultType.error,\n error: result,\n statusCode: isRouteErrorResponse(result) ? result.status : undefined,\n };\n }\n\n if (isDeferredData(result)) {\n return {\n type: ResultType.deferred,\n deferredData: result,\n statusCode: result.init?.status,\n headers: result.init?.headers && new Headers(result.init.headers),\n };\n }\n\n if (isDataWithResponseInit(result)) {\n return {\n type: ResultType.data,\n data: result.data,\n statusCode: result.init?.status,\n headers: result.init?.headers\n ? new Headers(result.init.headers)\n : undefined,\n };\n }\n\n return { type: ResultType.data, data: result };\n}\n\n// Support relative routing in internal redirects\nfunction normalizeRelativeRoutingRedirectResponse(\n response: Response,\n request: Request,\n routeId: string,\n matches: AgnosticDataRouteMatch[],\n basename: string,\n v7_relativeSplatPath: boolean\n) {\n let location = response.headers.get(\"Location\");\n invariant(\n location,\n \"Redirects returned/thrown from loaders/actions must have a Location header\"\n );\n\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n let trimmedMatches = matches.slice(\n 0,\n matches.findIndex((m) => m.route.id === routeId) + 1\n );\n location = normalizeTo(\n new URL(request.url),\n trimmedMatches,\n basename,\n true,\n location,\n v7_relativeSplatPath\n );\n response.headers.set(\"Location\", location);\n }\n\n return response;\n}\n\nfunction normalizeRedirectLocation(\n location: string,\n currentUrl: URL,\n basename: string\n): string {\n if (ABSOLUTE_URL_REGEX.test(location)) {\n // Strip off the protocol+origin for same-origin + same-basename absolute redirects\n let normalizedLocation = location;\n let url = normalizedLocation.startsWith(\"//\")\n ? new URL(currentUrl.protocol + normalizedLocation)\n : new URL(normalizedLocation);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n return url.pathname + url.search + url.hash;\n }\n }\n return location;\n}\n\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches. During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(\n history: History,\n location: string | Location,\n signal: AbortSignal,\n submission?: Submission\n): Request {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init: RequestInit = { signal };\n\n if (submission && isMutationMethod(submission.formMethod)) {\n let { formMethod, formEncType } = submission;\n // Didn't think we needed this but it turns out unlike other methods, patch\n // won't be properly normalized to uppercase and results in a 405 error.\n // See: https://fetch.spec.whatwg.org/#concept-method\n init.method = formMethod.toUpperCase();\n\n if (formEncType === \"application/json\") {\n init.headers = new Headers({ \"Content-Type\": formEncType });\n init.body = JSON.stringify(submission.json);\n } else if (formEncType === \"text/plain\") {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.text;\n } else if (\n formEncType === \"application/x-www-form-urlencoded\" &&\n submission.formData\n ) {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = convertFormDataToSearchParams(submission.formData);\n } else {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.formData;\n }\n }\n\n return new Request(url, init);\n}\n\nfunction convertFormDataToSearchParams(formData: FormData): URLSearchParams {\n let searchParams = new URLSearchParams();\n\n for (let [key, value] of formData.entries()) {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n searchParams.append(key, typeof value === \"string\" ? value : value.name);\n }\n\n return searchParams;\n}\n\nfunction convertSearchParamsToFormData(\n searchParams: URLSearchParams\n): FormData {\n let formData = new FormData();\n for (let [key, value] of searchParams.entries()) {\n formData.append(key, value);\n }\n return formData;\n}\n\nfunction processRouteLoaderData(\n matches: AgnosticDataRouteMatch[],\n results: Record,\n pendingActionResult: PendingActionResult | undefined,\n activeDeferreds: Map,\n skipLoaderErrorBubbling: boolean\n): {\n loaderData: RouterState[\"loaderData\"];\n errors: RouterState[\"errors\"] | null;\n statusCode: number;\n loaderHeaders: Record;\n} {\n // Fill in loaderData/errors from our loaders\n let loaderData: RouterState[\"loaderData\"] = {};\n let errors: RouterState[\"errors\"] | null = null;\n let statusCode: number | undefined;\n let foundError = false;\n let loaderHeaders: Record = {};\n let pendingError =\n pendingActionResult && isErrorResult(pendingActionResult[1])\n ? pendingActionResult[1].error\n : undefined;\n\n // Process loader results into state.loaderData/state.errors\n matches.forEach((match) => {\n if (!(match.route.id in results)) {\n return;\n }\n let id = match.route.id;\n let result = results[id];\n invariant(\n !isRedirectResult(result),\n \"Cannot handle redirect results in processLoaderData\"\n );\n if (isErrorResult(result)) {\n let error = result.error;\n // If we have a pending action error, we report it at the highest-route\n // that throws a loader error, and then clear it out to indicate that\n // it was consumed\n if (pendingError !== undefined) {\n error = pendingError;\n pendingError = undefined;\n }\n\n errors = errors || {};\n\n if (skipLoaderErrorBubbling) {\n errors[id] = error;\n } else {\n // Look upwards from the matched route for the closest ancestor error\n // boundary, defaulting to the root match. Prefer higher error values\n // if lower errors bubble to the same boundary\n let boundaryMatch = findNearestBoundary(matches, id);\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n }\n\n // Clear our any prior loaderData for the throwing route\n loaderData[id] = undefined;\n\n // Once we find our first (highest) error, we set the status code and\n // prevent deeper status codes from overriding\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error)\n ? result.error.status\n : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n if (isDeferredResult(result)) {\n activeDeferreds.set(id, result.deferredData);\n loaderData[id] = result.deferredData.data;\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (\n result.statusCode != null &&\n result.statusCode !== 200 &&\n !foundError\n ) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n loaderData[id] = result.data;\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (result.statusCode && result.statusCode !== 200 && !foundError) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n }\n });\n\n // If we didn't consume the pending action error (i.e., all loaders\n // resolved), then consume it here. Also clear out any loaderData for the\n // throwing route\n if (pendingError !== undefined && pendingActionResult) {\n errors = { [pendingActionResult[0]]: pendingError };\n loaderData[pendingActionResult[0]] = undefined;\n }\n\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders,\n };\n}\n\nfunction processLoaderData(\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n results: Record,\n pendingActionResult: PendingActionResult | undefined,\n revalidatingFetchers: RevalidatingFetcher[],\n fetcherResults: Record,\n activeDeferreds: Map\n): {\n loaderData: RouterState[\"loaderData\"];\n errors?: RouterState[\"errors\"];\n} {\n let { loaderData, errors } = processRouteLoaderData(\n matches,\n results,\n pendingActionResult,\n activeDeferreds,\n false // This method is only called client side so we always want to bubble\n );\n\n // Process results from our revalidating fetchers\n revalidatingFetchers.forEach((rf) => {\n let { key, match, controller } = rf;\n let result = fetcherResults[key];\n invariant(result, \"Did not find corresponding fetcher result\");\n\n // Process fetcher non-redirect errors\n if (controller && controller.signal.aborted) {\n // Nothing to do for aborted fetchers\n return;\n } else if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match?.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = {\n ...errors,\n [boundaryMatch.route.id]: result.error,\n };\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n // Should never get here, redirects should get processed above, but we\n // keep this to type narrow to a success result in the else\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else if (isDeferredResult(result)) {\n // Should never get here, deferred data should be awaited for fetchers\n // in resolveDeferredResults\n invariant(false, \"Unhandled fetcher deferred data\");\n } else {\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n }\n });\n\n return { loaderData, errors };\n}\n\nfunction mergeLoaderData(\n loaderData: RouteData,\n newLoaderData: RouteData,\n matches: AgnosticDataRouteMatch[],\n errors: RouteData | null | undefined\n): RouteData {\n let mergedLoaderData = { ...newLoaderData };\n for (let match of matches) {\n let id = match.route.id;\n if (newLoaderData.hasOwnProperty(id)) {\n if (newLoaderData[id] !== undefined) {\n mergedLoaderData[id] = newLoaderData[id];\n } else {\n // No-op - this is so we ignore existing data if we have a key in the\n // incoming object with an undefined value, which is how we unset a prior\n // loaderData if we encounter a loader error\n }\n } else if (loaderData[id] !== undefined && match.route.loader) {\n // Preserve existing keys not included in newLoaderData and where a loader\n // wasn't removed by HMR\n mergedLoaderData[id] = loaderData[id];\n }\n\n if (errors && errors.hasOwnProperty(id)) {\n // Don't keep any loader data below the boundary\n break;\n }\n }\n return mergedLoaderData;\n}\n\nfunction getActionDataForCommit(\n pendingActionResult: PendingActionResult | undefined\n) {\n if (!pendingActionResult) {\n return {};\n }\n return isErrorResult(pendingActionResult[1])\n ? {\n // Clear out prior actionData on errors\n actionData: {},\n }\n : {\n actionData: {\n [pendingActionResult[0]]: pendingActionResult[1].data,\n },\n };\n}\n\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(\n matches: AgnosticDataRouteMatch[],\n routeId?: string\n): AgnosticDataRouteMatch {\n let eligibleMatches = routeId\n ? matches.slice(0, matches.findIndex((m) => m.route.id === routeId) + 1)\n : [...matches];\n return (\n eligibleMatches.reverse().find((m) => m.route.hasErrorBoundary === true) ||\n matches[0]\n );\n}\n\nfunction getShortCircuitMatches(routes: AgnosticDataRouteObject[]): {\n matches: AgnosticDataRouteMatch[];\n route: AgnosticDataRouteObject;\n} {\n // Prefer a root layout route if present, otherwise shim in a route object\n let route =\n routes.length === 1\n ? routes[0]\n : routes.find((r) => r.index || !r.path || r.path === \"/\") || {\n id: `__shim-error-route__`,\n };\n\n return {\n matches: [\n {\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route,\n },\n ],\n route,\n };\n}\n\nfunction getInternalRouterError(\n status: number,\n {\n pathname,\n routeId,\n method,\n type,\n message,\n }: {\n pathname?: string;\n routeId?: string;\n method?: string;\n type?: \"defer-action\" | \"invalid-body\";\n message?: string;\n } = {}\n) {\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method} request to \"${pathname}\" but ` +\n `did not provide a \\`loader\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (type === \"defer-action\") {\n errorMessage = \"defer() is not supported in actions\";\n } else if (type === \"invalid-body\") {\n errorMessage = \"Unable to encode submission body\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = `Route \"${routeId}\" does not match URL \"${pathname}\"`;\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = `No route matches URL \"${pathname}\"`;\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method.toUpperCase()} request to \"${pathname}\" but ` +\n `did not provide an \\`action\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (method) {\n errorMessage = `Invalid request method \"${method.toUpperCase()}\"`;\n }\n }\n\n return new ErrorResponseImpl(\n status || 500,\n statusText,\n new Error(errorMessage),\n true\n );\n}\n\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(\n results: Record\n): { key: string; result: RedirectResult } | undefined {\n let entries = Object.entries(results);\n for (let i = entries.length - 1; i >= 0; i--) {\n let [key, result] = entries[i];\n if (isRedirectResult(result)) {\n return { key, result };\n }\n }\n}\n\nfunction stripHashFromPath(path: To) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath({ ...parsedPath, hash: \"\" });\n}\n\nfunction isHashChangeOnly(a: Location, b: Location): boolean {\n if (a.pathname !== b.pathname || a.search !== b.search) {\n return false;\n }\n\n if (a.hash === \"\") {\n // /page -> /page#hash\n return b.hash !== \"\";\n } else if (a.hash === b.hash) {\n // /page#hash -> /page#hash\n return true;\n } else if (b.hash !== \"\") {\n // /page#hash -> /page#other\n return true;\n }\n\n // If the hash is removed the browser will re-perform a request to the server\n // /page#hash -> /page\n return false;\n}\n\nfunction isPromise(val: unknown): val is Promise {\n return typeof val === \"object\" && val != null && \"then\" in val;\n}\n\nfunction isDataStrategyResult(result: unknown): result is DataStrategyResult {\n return (\n result != null &&\n typeof result === \"object\" &&\n \"type\" in result &&\n \"result\" in result &&\n (result.type === ResultType.data || result.type === ResultType.error)\n );\n}\n\nfunction isRedirectDataStrategyResultResult(result: DataStrategyResult) {\n return (\n isResponse(result.result) && redirectStatusCodes.has(result.result.status)\n );\n}\n\nfunction isDeferredResult(result: DataResult): result is DeferredResult {\n return result.type === ResultType.deferred;\n}\n\nfunction isErrorResult(result: DataResult): result is ErrorResult {\n return result.type === ResultType.error;\n}\n\nfunction isRedirectResult(result?: DataResult): result is RedirectResult {\n return (result && result.type) === ResultType.redirect;\n}\n\nexport function isDataWithResponseInit(\n value: any\n): value is DataWithResponseInit {\n return (\n typeof value === \"object\" &&\n value != null &&\n \"type\" in value &&\n \"data\" in value &&\n \"init\" in value &&\n value.type === \"DataWithResponseInit\"\n );\n}\n\nexport function isDeferredData(value: any): value is DeferredData {\n let deferred: DeferredData = value;\n return (\n deferred &&\n typeof deferred === \"object\" &&\n typeof deferred.data === \"object\" &&\n typeof deferred.subscribe === \"function\" &&\n typeof deferred.cancel === \"function\" &&\n typeof deferred.resolveData === \"function\"\n );\n}\n\nfunction isResponse(value: any): value is Response {\n return (\n value != null &&\n typeof value.status === \"number\" &&\n typeof value.statusText === \"string\" &&\n typeof value.headers === \"object\" &&\n typeof value.body !== \"undefined\"\n );\n}\n\nfunction isRedirectResponse(result: any): result is Response {\n if (!isResponse(result)) {\n return false;\n }\n\n let status = result.status;\n let location = result.headers.get(\"Location\");\n return status >= 300 && status <= 399 && location != null;\n}\n\nfunction isValidMethod(method: string): method is FormMethod | V7_FormMethod {\n return validRequestMethods.has(method.toLowerCase() as FormMethod);\n}\n\nfunction isMutationMethod(\n method: string\n): method is MutationFormMethod | V7_MutationFormMethod {\n return validMutationMethods.has(method.toLowerCase() as MutationFormMethod);\n}\n\nasync function resolveNavigationDeferredResults(\n matches: (AgnosticDataRouteMatch | null)[],\n results: Record,\n signal: AbortSignal,\n currentMatches: AgnosticDataRouteMatch[],\n currentLoaderData: RouteData\n) {\n let entries = Object.entries(results);\n for (let index = 0; index < entries.length; index++) {\n let [routeId, result] = entries[index];\n let match = matches.find((m) => m?.route.id === routeId);\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n\n let currentMatch = currentMatches.find(\n (m) => m.route.id === match!.route.id\n );\n let isRevalidatingLoader =\n currentMatch != null &&\n !isNewRouteInstance(currentMatch, match) &&\n (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n\n if (isDeferredResult(result) && isRevalidatingLoader) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n await resolveDeferredData(result, signal, false).then((result) => {\n if (result) {\n results[routeId] = result;\n }\n });\n }\n }\n}\n\nasync function resolveFetcherDeferredResults(\n matches: (AgnosticDataRouteMatch | null)[],\n results: Record,\n revalidatingFetchers: RevalidatingFetcher[]\n) {\n for (let index = 0; index < revalidatingFetchers.length; index++) {\n let { key, routeId, controller } = revalidatingFetchers[index];\n let result = results[key];\n let match = matches.find((m) => m?.route.id === routeId);\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n\n if (isDeferredResult(result)) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n invariant(\n controller,\n \"Expected an AbortController for revalidating fetcher deferred result\"\n );\n await resolveDeferredData(result, controller.signal, true).then(\n (result) => {\n if (result) {\n results[key] = result;\n }\n }\n );\n }\n }\n}\n\nasync function resolveDeferredData(\n result: DeferredResult,\n signal: AbortSignal,\n unwrap = false\n): Promise {\n let aborted = await result.deferredData.resolveData(signal);\n if (aborted) {\n return;\n }\n\n if (unwrap) {\n try {\n return {\n type: ResultType.data,\n data: result.deferredData.unwrappedData,\n };\n } catch (e) {\n // Handle any TrackedPromise._error values encountered while unwrapping\n return {\n type: ResultType.error,\n error: e,\n };\n }\n }\n\n return {\n type: ResultType.data,\n data: result.deferredData.data,\n };\n}\n\nfunction hasNakedIndexQuery(search: string): boolean {\n return new URLSearchParams(search).getAll(\"index\").some((v) => v === \"\");\n}\n\nfunction getTargetMatch(\n matches: AgnosticDataRouteMatch[],\n location: Location | string\n) {\n let search =\n typeof location === \"string\" ? parsePath(location).search : location.search;\n if (\n matches[matches.length - 1].route.index &&\n hasNakedIndexQuery(search || \"\")\n ) {\n // Return the leaf index route when index is present\n return matches[matches.length - 1];\n }\n // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n // pathless layout routes)\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\n\nfunction getSubmissionFromNavigation(\n navigation: Navigation\n): Submission | undefined {\n let { formMethod, formAction, formEncType, text, formData, json } =\n navigation;\n if (!formMethod || !formAction || !formEncType) {\n return;\n }\n\n if (text != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json: undefined,\n text,\n };\n } else if (formData != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData,\n json: undefined,\n text: undefined,\n };\n } else if (json !== undefined) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json,\n text: undefined,\n };\n }\n}\n\nfunction getLoadingNavigation(\n location: Location,\n submission?: Submission\n): NavigationStates[\"Loading\"] {\n if (submission) {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n };\n return navigation;\n } else {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n };\n return navigation;\n }\n}\n\nfunction getSubmittingNavigation(\n location: Location,\n submission: Submission\n): NavigationStates[\"Submitting\"] {\n let navigation: NavigationStates[\"Submitting\"] = {\n state: \"submitting\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n };\n return navigation;\n}\n\nfunction getLoadingFetcher(\n submission?: Submission,\n data?: Fetcher[\"data\"]\n): FetcherStates[\"Loading\"] {\n if (submission) {\n let fetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data,\n };\n return fetcher;\n } else {\n let fetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data,\n };\n return fetcher;\n }\n}\n\nfunction getSubmittingFetcher(\n submission: Submission,\n existingFetcher?: Fetcher\n): FetcherStates[\"Submitting\"] {\n let fetcher: FetcherStates[\"Submitting\"] = {\n state: \"submitting\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data: existingFetcher ? existingFetcher.data : undefined,\n };\n return fetcher;\n}\n\nfunction getDoneFetcher(data: Fetcher[\"data\"]): FetcherStates[\"Idle\"] {\n let fetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data,\n };\n return fetcher;\n}\n\nfunction restoreAppliedTransitions(\n _window: Window,\n transitions: Map>\n) {\n try {\n let sessionPositions = _window.sessionStorage.getItem(\n TRANSITIONS_STORAGE_KEY\n );\n if (sessionPositions) {\n let json = JSON.parse(sessionPositions);\n for (let [k, v] of Object.entries(json || {})) {\n if (v && Array.isArray(v)) {\n transitions.set(k, new Set(v || []));\n }\n }\n }\n } catch (e) {\n // no-op, use default empty object\n }\n}\n\nfunction persistAppliedTransitions(\n _window: Window,\n transitions: Map>\n) {\n if (transitions.size > 0) {\n let json: Record = {};\n for (let [k, v] of transitions) {\n json[k] = [...v];\n }\n try {\n _window.sessionStorage.setItem(\n TRANSITIONS_STORAGE_KEY,\n JSON.stringify(json)\n );\n } catch (error) {\n warning(\n false,\n `Failed to save applied view transitions in sessionStorage (${error}).`\n );\n }\n }\n}\n//#endregion\n","import * as React from \"react\";\nimport type {\n AgnosticIndexRouteObject,\n AgnosticNonIndexRouteObject,\n AgnosticRouteMatch,\n History,\n LazyRouteFunction,\n Location,\n Action as NavigationType,\n RelativeRoutingType,\n Router,\n StaticHandlerContext,\n To,\n TrackedPromise,\n} from \"@remix-run/router\";\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nexport interface IndexRouteObject {\n caseSensitive?: AgnosticIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticIndexRouteObject[\"path\"];\n id?: AgnosticIndexRouteObject[\"id\"];\n loader?: AgnosticIndexRouteObject[\"loader\"];\n action?: AgnosticIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticIndexRouteObject[\"handle\"];\n index: true;\n children?: undefined;\n element?: React.ReactNode | null;\n hydrateFallbackElement?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n HydrateFallback?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n lazy?: LazyRouteFunction;\n}\n\nexport interface NonIndexRouteObject {\n caseSensitive?: AgnosticNonIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticNonIndexRouteObject[\"path\"];\n id?: AgnosticNonIndexRouteObject[\"id\"];\n loader?: AgnosticNonIndexRouteObject[\"loader\"];\n action?: AgnosticNonIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticNonIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticNonIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticNonIndexRouteObject[\"handle\"];\n index?: false;\n children?: RouteObject[];\n element?: React.ReactNode | null;\n hydrateFallbackElement?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n HydrateFallback?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n lazy?: LazyRouteFunction;\n}\n\nexport type RouteObject = IndexRouteObject | NonIndexRouteObject;\n\nexport type DataRouteObject = RouteObject & {\n children?: DataRouteObject[];\n id: string;\n};\n\nexport interface RouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends RouteObject = RouteObject\n> extends AgnosticRouteMatch {}\n\nexport interface DataRouteMatch extends RouteMatch {}\n\nexport interface DataRouterContextObject\n // Omit `future` since those can be pulled from the `router`\n // `NavigationContext` needs future since it doesn't have a `router` in all cases\n extends Omit {\n router: Router;\n staticContext?: StaticHandlerContext;\n}\n\nexport const DataRouterContext =\n React.createContext(null);\nif (__DEV__) {\n DataRouterContext.displayName = \"DataRouter\";\n}\n\nexport const DataRouterStateContext = React.createContext<\n Router[\"state\"] | null\n>(null);\nif (__DEV__) {\n DataRouterStateContext.displayName = \"DataRouterState\";\n}\n\nexport const AwaitContext = React.createContext(null);\nif (__DEV__) {\n AwaitContext.displayName = \"Await\";\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n flushSync?: boolean;\n viewTransition?: boolean;\n}\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level `` API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport interface Navigator {\n createHref: History[\"createHref\"];\n // Optional for backwards-compat with Router/HistoryRouter usage (edge case)\n encodeLocation?: History[\"encodeLocation\"];\n go: History[\"go\"];\n push(to: To, state?: any, opts?: NavigateOptions): void;\n replace(to: To, state?: any, opts?: NavigateOptions): void;\n}\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n future: {\n v7_relativeSplatPath: boolean;\n };\n}\n\nexport const NavigationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nexport const LocationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\nexport interface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n isDataRoute: boolean;\n}\n\nexport const RouteContext = React.createContext({\n outlet: null,\n matches: [],\n isDataRoute: false,\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\nexport const RouteErrorContext = React.createContext(null);\n\nif (__DEV__) {\n RouteErrorContext.displayName = \"RouteError\";\n}\n","import * as React from \"react\";\nimport type {\n Blocker,\n BlockerFunction,\n Location,\n ParamParseKey,\n Params,\n Path,\n PathMatch,\n PathPattern,\n RelativeRoutingType,\n Router as RemixRouter,\n RevalidationState,\n To,\n UIMatch,\n} from \"@remix-run/router\";\nimport {\n IDLE_BLOCKER,\n Action as NavigationType,\n UNSAFE_convertRouteMatchToUiMatch as convertRouteMatchToUiMatch,\n UNSAFE_decodePath as decodePath,\n UNSAFE_getResolveToMatches as getResolveToMatches,\n UNSAFE_invariant as invariant,\n isRouteErrorResponse,\n joinPaths,\n matchPath,\n matchRoutes,\n parsePath,\n resolveTo,\n stripBasename,\n UNSAFE_warning as warning,\n} from \"@remix-run/router\";\n\nimport type {\n DataRouteMatch,\n NavigateOptions,\n RouteContextObject,\n RouteMatch,\n RouteObject,\n} from \"./context\";\nimport {\n AwaitContext,\n DataRouterContext,\n DataRouterStateContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n RouteErrorContext,\n} from \"./context\";\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/v6/hooks/use-href\n */\nexport function useHref(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to, { relative });\n\n let joinedPathname = pathname;\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n if (basename !== \"/\") {\n joinedPathname =\n pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a ``.\n *\n * @see https://reactrouter.com/v6/hooks/use-in-router-context\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/v6/hooks/use-location\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/v6/hooks/use-navigation-type\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns a PathMatch object if the given pattern matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * ``.\n *\n * @see https://reactrouter.com/v6/hooks/use-match\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, decodePath(pathname)),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nconst navigateEffectWarning =\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`;\n\n// Mute warnings for calls to useNavigate in SSR environments\nfunction useIsomorphicLayoutEffect(\n cb: Parameters[0]\n) {\n let isStatic = React.useContext(NavigationContext).static;\n if (!isStatic) {\n // We should be able to get rid of this once react 18.3 is released\n // See: https://github.com/facebook/react/pull/26395\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(cb);\n }\n}\n\n/**\n * Returns an imperative method for changing the location. Used by ``s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/v6/hooks/use-navigate\n */\nexport function useNavigate(): NavigateFunction {\n let { isDataRoute } = React.useContext(RouteContext);\n // Conditional usage is OK here because the usage of a data router is static\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\n\nfunction useNavigateUnstable(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let dataRouterContext = React.useContext(DataRouterContext);\n let { basename, future, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getResolveToMatches(matches, future.v7_relativeSplatPath)\n );\n\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our history listener yet\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n options.relative === \"path\"\n );\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history (but only if we're not in a data router,\n // otherwise it'll prepend the basename inside of the router).\n // If this is a root navigation, then we navigate to the raw basename\n // which allows the basename to have full control over the presence of a\n // trailing slash on root links\n if (dataRouterContext == null && basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\"\n ? basename\n : joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state,\n options\n );\n },\n [\n basename,\n navigator,\n routePathnamesJson,\n locationPathname,\n dataRouterContext,\n ]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/v6/hooks/use-outlet-context\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by `` to render child routes.\n *\n * @see https://reactrouter.com/v6/hooks/use-outlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/v6/hooks/use-params\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/v6/hooks/use-resolved-path\n */\nexport function useResolvedPath(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): Path {\n let { future } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n let routePathnamesJson = JSON.stringify(\n getResolveToMatches(matches, future.v7_relativeSplatPath)\n );\n\n return React.useMemo(\n () =>\n resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n relative === \"path\"\n ),\n [to, routePathnamesJson, locationPathname, relative]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an `` to render their child route's\n * element.\n *\n * @see https://reactrouter.com/v6/hooks/use-routes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n return useRoutesImpl(routes, locationArg);\n}\n\n// Internal implementation with accept optional param for RouterProvider usage\nexport function useRoutesImpl(\n routes: RouteObject[],\n locationArg?: Partial | string,\n dataRouterState?: RemixRouter[\"state\"],\n future?: RemixRouter[\"future\"]\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let { navigator } = React.useContext(NavigationContext);\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n\n let remainingPathname = pathname;\n if (parentPathnameBase !== \"/\") {\n // Determine the remaining pathname by removing the # of URL segments the\n // parentPathnameBase has, instead of removing based on character count.\n // This is because we can't guarantee that incoming/outgoing encodings/\n // decodings will match exactly.\n // We decode paths before matching on a per-segment basis with\n // decodeURIComponent(), but we re-encode pathnames via `new URL()` so they\n // match what `window.location.pathname` would reflect. Those don't 100%\n // align when it comes to encoded URI characters such as % and &.\n //\n // So we may end up with:\n // pathname: \"/descendant/a%25b/match\"\n // parentPathnameBase: \"/descendant/a%b\"\n //\n // And the direct substring removal approach won't work :/\n let parentSegments = parentPathnameBase.replace(/^\\//, \"\").split(\"/\");\n let segments = pathname.replace(/^\\//, \"\").split(\"/\");\n remainingPathname = \"/\" + segments.slice(parentSegments.length).join(\"/\");\n }\n\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined ||\n matches[matches.length - 1].route.Component !== undefined ||\n matches[matches.length - 1].route.lazy !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" ` +\n `does not have an element or Component. This means it will render an with a ` +\n `null value by default resulting in an \"empty\" page.`\n );\n }\n\n let renderedMatches = _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathname).pathname\n : match.pathname,\n ]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathnameBase).pathname\n : match.pathnameBase,\n ]),\n })\n ),\n parentMatches,\n dataRouterState,\n future\n );\n\n // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n if (locationArg && renderedMatches) {\n return (\n \n {renderedMatches}\n \n );\n }\n\n return renderedMatches;\n}\n\nfunction DefaultErrorComponent() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error)\n ? `${error.status} ${error.statusText}`\n : error instanceof Error\n ? error.message\n : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = { padding: \"0.5rem\", backgroundColor: lightgrey };\n let codeStyles = { padding: \"2px 4px\", backgroundColor: lightgrey };\n\n let devInfo = null;\n if (__DEV__) {\n console.error(\n \"Error handled by React Router default ErrorBoundary:\",\n error\n );\n\n devInfo = (\n <>\n

💿 Hey developer 👋

\n

\n You can provide a way better UX than this when your app throws errors\n by providing your own ErrorBoundary or{\" \"}\n errorElement prop on your route.\n

\n \n );\n }\n\n return (\n <>\n

Unexpected Application Error!

\n

{message}

\n {stack ?
{stack}
: null}\n {devInfo}\n \n );\n}\n\nconst defaultErrorElement = ;\n\ntype RenderErrorBoundaryProps = React.PropsWithChildren<{\n location: Location;\n revalidation: RevalidationState;\n error: any;\n component: React.ReactNode;\n routeContext: RouteContextObject;\n}>;\n\ntype RenderErrorBoundaryState = {\n location: Location;\n revalidation: RevalidationState;\n error: any;\n};\n\nexport class RenderErrorBoundary extends React.Component<\n RenderErrorBoundaryProps,\n RenderErrorBoundaryState\n> {\n constructor(props: RenderErrorBoundaryProps) {\n super(props);\n this.state = {\n location: props.location,\n revalidation: props.revalidation,\n error: props.error,\n };\n }\n\n static getDerivedStateFromError(error: any) {\n return { error: error };\n }\n\n static getDerivedStateFromProps(\n props: RenderErrorBoundaryProps,\n state: RenderErrorBoundaryState\n ) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (\n state.location !== props.location ||\n (state.revalidation !== \"idle\" && props.revalidation === \"idle\")\n ) {\n return {\n error: props.error,\n location: props.location,\n revalidation: props.revalidation,\n };\n }\n\n // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n return {\n error: props.error !== undefined ? props.error : state.error,\n location: state.location,\n revalidation: props.revalidation || state.revalidation,\n };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error(\n \"React Router caught the following error during render\",\n error,\n errorInfo\n );\n }\n\n render() {\n return this.state.error !== undefined ? (\n \n \n \n ) : (\n this.props.children\n );\n }\n}\n\ninterface RenderedRouteProps {\n routeContext: RouteContextObject;\n match: RouteMatch;\n children: React.ReactNode | null;\n}\n\nfunction RenderedRoute({ routeContext, match, children }: RenderedRouteProps) {\n let dataRouterContext = React.useContext(DataRouterContext);\n\n // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n if (\n dataRouterContext &&\n dataRouterContext.static &&\n dataRouterContext.staticContext &&\n (match.route.errorElement || match.route.ErrorBoundary)\n ) {\n dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n }\n\n return (\n \n {children}\n \n );\n}\n\nexport function _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = [],\n dataRouterState: RemixRouter[\"state\"] | null = null,\n future: RemixRouter[\"future\"] | null = null\n): React.ReactElement | null {\n if (matches == null) {\n if (!dataRouterState) {\n return null;\n }\n\n if (dataRouterState.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches as DataRouteMatch[];\n } else if (\n future?.v7_partialHydration &&\n parentMatches.length === 0 &&\n !dataRouterState.initialized &&\n dataRouterState.matches.length > 0\n ) {\n // Don't bail if we're initializing with partial hydration and we have\n // router matches. That means we're actively running `patchRoutesOnNavigation`\n // so we should render down the partial matches to the appropriate\n // `HydrateFallback`. We only do this if `parentMatches` is empty so it\n // only impacts the root matches for `RouterProvider` and no descendant\n // ``\n matches = dataRouterState.matches as DataRouteMatch[];\n } else {\n return null;\n }\n }\n\n let renderedMatches = matches;\n\n // If we have data errors, trim matches to the highest error boundary\n let errors = dataRouterState?.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(\n (m) => m.route.id && errors?.[m.route.id] !== undefined\n );\n invariant(\n errorIndex >= 0,\n `Could not find a matching route for errors on route IDs: ${Object.keys(\n errors\n ).join(\",\")}`\n );\n renderedMatches = renderedMatches.slice(\n 0,\n Math.min(renderedMatches.length, errorIndex + 1)\n );\n }\n\n // If we're in a partial hydration mode, detect if we need to render down to\n // a given HydrateFallback while we load the rest of the hydration data\n let renderFallback = false;\n let fallbackIndex = -1;\n if (dataRouterState && future && future.v7_partialHydration) {\n for (let i = 0; i < renderedMatches.length; i++) {\n let match = renderedMatches[i];\n // Track the deepest fallback up until the first route without data\n if (match.route.HydrateFallback || match.route.hydrateFallbackElement) {\n fallbackIndex = i;\n }\n\n if (match.route.id) {\n let { loaderData, errors } = dataRouterState;\n let needsToRunLoader =\n match.route.loader &&\n loaderData[match.route.id] === undefined &&\n (!errors || errors[match.route.id] === undefined);\n if (match.route.lazy || needsToRunLoader) {\n // We found the first route that's not ready to render (waiting on\n // lazy, or has a loader that hasn't run yet). Flag that we need to\n // render a fallback and render up until the appropriate fallback\n renderFallback = true;\n if (fallbackIndex >= 0) {\n renderedMatches = renderedMatches.slice(0, fallbackIndex + 1);\n } else {\n renderedMatches = [renderedMatches[0]];\n }\n break;\n }\n }\n }\n }\n\n return renderedMatches.reduceRight((outlet, match, index) => {\n // Only data routers handle errors/fallbacks\n let error: any;\n let shouldRenderHydrateFallback = false;\n let errorElement: React.ReactNode | null = null;\n let hydrateFallbackElement: React.ReactNode | null = null;\n if (dataRouterState) {\n error = errors && match.route.id ? errors[match.route.id] : undefined;\n errorElement = match.route.errorElement || defaultErrorElement;\n\n if (renderFallback) {\n if (fallbackIndex < 0 && index === 0) {\n warningOnce(\n \"route-fallback\",\n false,\n \"No `HydrateFallback` element provided to render during initial hydration\"\n );\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = null;\n } else if (fallbackIndex === index) {\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = match.route.hydrateFallbackElement || null;\n }\n }\n }\n\n let matches = parentMatches.concat(renderedMatches.slice(0, index + 1));\n let getChildren = () => {\n let children: React.ReactNode;\n if (error) {\n children = errorElement;\n } else if (shouldRenderHydrateFallback) {\n children = hydrateFallbackElement;\n } else if (match.route.Component) {\n // Note: This is a de-optimized path since React won't re-use the\n // ReactElement since it's identity changes with each new\n // React.createElement call. We keep this so folks can use\n // `` in `` but generally `Component`\n // usage is only advised in `RouterProvider` when we can convert it to\n // `element` ahead of time.\n children = ;\n } else if (match.route.element) {\n children = match.route.element;\n } else {\n children = outlet;\n }\n return (\n \n );\n };\n // Only wrap in an error boundary within data router usages when we have an\n // ErrorBoundary/errorElement on this route. Otherwise let it bubble up to\n // an ancestor ErrorBoundary/errorElement\n return dataRouterState &&\n (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? (\n \n ) : (\n getChildren()\n );\n }, null as React.ReactElement | null);\n}\n\nenum DataRouterHook {\n UseBlocker = \"useBlocker\",\n UseRevalidator = \"useRevalidator\",\n UseNavigateStable = \"useNavigate\",\n}\n\nenum DataRouterStateHook {\n UseBlocker = \"useBlocker\",\n UseLoaderData = \"useLoaderData\",\n UseActionData = \"useActionData\",\n UseRouteError = \"useRouteError\",\n UseNavigation = \"useNavigation\",\n UseRouteLoaderData = \"useRouteLoaderData\",\n UseMatches = \"useMatches\",\n UseRevalidator = \"useRevalidator\",\n UseNavigateStable = \"useNavigate\",\n UseRouteId = \"useRouteId\",\n}\n\nfunction getDataRouterConsoleError(\n hookName: DataRouterHook | DataRouterStateHook\n) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/v6/routers/picking-a-router.`;\n}\n\nfunction useDataRouterContext(hookName: DataRouterHook) {\n let ctx = React.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError(hookName));\n return ctx;\n}\n\nfunction useDataRouterState(hookName: DataRouterStateHook) {\n let state = React.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError(hookName));\n return state;\n}\n\nfunction useRouteContext(hookName: DataRouterStateHook) {\n let route = React.useContext(RouteContext);\n invariant(route, getDataRouterConsoleError(hookName));\n return route;\n}\n\n// Internal version with hookName-aware debugging\nfunction useCurrentRouteId(hookName: DataRouterStateHook) {\n let route = useRouteContext(hookName);\n let thisRoute = route.matches[route.matches.length - 1];\n invariant(\n thisRoute.route.id,\n `${hookName} can only be used on routes that contain a unique \"id\"`\n );\n return thisRoute.route.id;\n}\n\n/**\n * Returns the ID for the nearest contextual route\n */\nexport function useRouteId() {\n return useCurrentRouteId(DataRouterStateHook.UseRouteId);\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nexport function useNavigation() {\n let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nexport function useRevalidator() {\n let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n return React.useMemo(\n () => ({\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation,\n }),\n [dataRouterContext.router.revalidate, state.revalidation]\n );\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nexport function useMatches(): UIMatch[] {\n let { matches, loaderData } = useDataRouterState(\n DataRouterStateHook.UseMatches\n );\n return React.useMemo(\n () => matches.map((m) => convertRouteMatchToUiMatch(m, loaderData)),\n [matches, loaderData]\n );\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nexport function useLoaderData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n\n if (state.errors && state.errors[routeId] != null) {\n console.error(\n `You cannot \\`useLoaderData\\` in an errorElement (routeId: ${routeId})`\n );\n return undefined;\n }\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nexport function useRouteLoaderData(routeId: string): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nexport function useActionData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseActionData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n return state.actionData ? state.actionData[routeId] : undefined;\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error. This is intended to be called from your\n * ErrorBoundary/errorElement to display a proper error message.\n */\nexport function useRouteError(): unknown {\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseRouteError);\n\n // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n if (error !== undefined) {\n return error;\n }\n\n // Otherwise look for errors from our data router state\n return state.errors?.[routeId];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor `` value\n */\nexport function useAsyncValue(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._data;\n}\n\n/**\n * Returns the error from the nearest ancestor `` value\n */\nexport function useAsyncError(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._error;\n}\n\nlet blockerId = 0;\n\n/**\n * Allow the application to block navigations within the SPA and present the\n * user a confirmation dialog to confirm the navigation. Mostly used to avoid\n * using half-filled form data. This does not handle hard-reloads or\n * cross-origin navigations.\n */\nexport function useBlocker(shouldBlock: boolean | BlockerFunction): Blocker {\n let { router, basename } = useDataRouterContext(DataRouterHook.UseBlocker);\n let state = useDataRouterState(DataRouterStateHook.UseBlocker);\n\n let [blockerKey, setBlockerKey] = React.useState(\"\");\n let blockerFunction = React.useCallback(\n (arg) => {\n if (typeof shouldBlock !== \"function\") {\n return !!shouldBlock;\n }\n if (basename === \"/\") {\n return shouldBlock(arg);\n }\n\n // If they provided us a function and we've got an active basename, strip\n // it from the locations we expose to the user to match the behavior of\n // useLocation\n let { currentLocation, nextLocation, historyAction } = arg;\n return shouldBlock({\n currentLocation: {\n ...currentLocation,\n pathname:\n stripBasename(currentLocation.pathname, basename) ||\n currentLocation.pathname,\n },\n nextLocation: {\n ...nextLocation,\n pathname:\n stripBasename(nextLocation.pathname, basename) ||\n nextLocation.pathname,\n },\n historyAction,\n });\n },\n [basename, shouldBlock]\n );\n\n // This effect is in charge of blocker key assignment and deletion (which is\n // tightly coupled to the key)\n React.useEffect(() => {\n let key = String(++blockerId);\n setBlockerKey(key);\n return () => router.deleteBlocker(key);\n }, [router]);\n\n // This effect handles assigning the blockerFunction. This is to handle\n // unstable blocker function identities, and happens only after the prior\n // effect so we don't get an orphaned blockerFunction in the router with a\n // key of \"\". Until then we just have the IDLE_BLOCKER.\n React.useEffect(() => {\n if (blockerKey !== \"\") {\n router.getBlocker(blockerKey, blockerFunction);\n }\n }, [router, blockerKey, blockerFunction]);\n\n // Prefer the blocker from `state` not `router.state` since DataRouterContext\n // is memoized so this ensures we update on blocker state updates\n return blockerKey && state.blockers.has(blockerKey)\n ? state.blockers.get(blockerKey)!\n : IDLE_BLOCKER;\n}\n\n/**\n * Stable version of useNavigate that is used when we are in the context of\n * a RouterProvider.\n */\nfunction useNavigateStable(): NavigateFunction {\n let { router } = useDataRouterContext(DataRouterHook.UseNavigateStable);\n let id = useCurrentRouteId(DataRouterStateHook.UseNavigateStable);\n\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our router subscriber yet\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n router.navigate(to);\n } else {\n router.navigate(to, { fromRouteId: id, ...options });\n }\n },\n [router, id]\n );\n\n return navigate;\n}\n\nconst alreadyWarned: Record = {};\n\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n","import type { FutureConfig as RouterFutureConfig } from \"@remix-run/router\";\nimport type { FutureConfig as RenderFutureConfig } from \"./components\";\n\nconst alreadyWarned: { [key: string]: boolean } = {};\n\nexport function warnOnce(key: string, message: string): void {\n if (!alreadyWarned[message]) {\n alreadyWarned[message] = true;\n console.warn(message);\n }\n}\n\nconst logDeprecation = (flag: string, msg: string, link: string) =>\n warnOnce(\n flag,\n `⚠️ React Router Future Flag Warning: ${msg}. ` +\n `You can use the \\`${flag}\\` future flag to opt-in early. ` +\n `For more information, see ${link}.`\n );\n\nexport function logV6DeprecationWarnings(\n renderFuture: Partial | undefined,\n routerFuture?: Omit\n) {\n if (!renderFuture?.v7_startTransition) {\n logDeprecation(\n \"v7_startTransition\",\n \"React Router will begin wrapping state updates in `React.startTransition` in v7\",\n \"https://reactrouter.com/v6/upgrading/future#v7_starttransition\"\n );\n }\n\n if (\n !renderFuture?.v7_relativeSplatPath &&\n (!routerFuture || !routerFuture.v7_relativeSplatPath)\n ) {\n logDeprecation(\n \"v7_relativeSplatPath\",\n \"Relative route resolution within Splat routes is changing in v7\",\n \"https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath\"\n );\n }\n\n if (routerFuture) {\n if (!routerFuture.v7_fetcherPersist) {\n logDeprecation(\n \"v7_fetcherPersist\",\n \"The persistence behavior of fetchers is changing in v7\",\n \"https://reactrouter.com/v6/upgrading/future#v7_fetcherpersist\"\n );\n }\n\n if (!routerFuture.v7_normalizeFormMethod) {\n logDeprecation(\n \"v7_normalizeFormMethod\",\n \"Casing of `formMethod` fields is being normalized to uppercase in v7\",\n \"https://reactrouter.com/v6/upgrading/future#v7_normalizeformmethod\"\n );\n }\n\n if (!routerFuture.v7_partialHydration) {\n logDeprecation(\n \"v7_partialHydration\",\n \"`RouterProvider` hydration behavior is changing in v7\",\n \"https://reactrouter.com/v6/upgrading/future#v7_partialhydration\"\n );\n }\n\n if (!routerFuture.v7_skipActionErrorRevalidation) {\n logDeprecation(\n \"v7_skipActionErrorRevalidation\",\n \"The revalidation behavior after 4xx/5xx `action` responses is changing in v7\",\n \"https://reactrouter.com/v6/upgrading/future#v7_skipactionerrorrevalidation\"\n );\n }\n }\n}\n","import type {\n InitialEntry,\n LazyRouteFunction,\n Location,\n MemoryHistory,\n RelativeRoutingType,\n Router as RemixRouter,\n RouterState,\n RouterSubscriber,\n To,\n TrackedPromise,\n} from \"@remix-run/router\";\nimport {\n AbortedDeferredError,\n Action as NavigationType,\n createMemoryHistory,\n UNSAFE_getResolveToMatches as getResolveToMatches,\n UNSAFE_invariant as invariant,\n parsePath,\n resolveTo,\n stripBasename,\n UNSAFE_warning as warning,\n} from \"@remix-run/router\";\nimport * as React from \"react\";\n\nimport type {\n DataRouteObject,\n IndexRouteObject,\n Navigator,\n NonIndexRouteObject,\n RouteMatch,\n RouteObject,\n} from \"./context\";\nimport {\n AwaitContext,\n DataRouterContext,\n DataRouterStateContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n} from \"./context\";\nimport {\n _renderMatches,\n useAsyncValue,\n useInRouterContext,\n useLocation,\n useNavigate,\n useOutlet,\n useRoutes,\n useRoutesImpl,\n} from \"./hooks\";\nimport { logV6DeprecationWarnings } from \"./deprecations\";\n\nexport interface FutureConfig {\n v7_relativeSplatPath: boolean;\n v7_startTransition: boolean;\n}\n\nexport interface RouterProviderProps {\n fallbackElement?: React.ReactNode;\n router: RemixRouter;\n // Only accept future flags relevant to rendering behavior\n // routing flags should be accessed via router.future\n future?: Partial>;\n}\n\n/**\n Webpack + React 17 fails to compile on any of the following because webpack\n complains that `startTransition` doesn't exist in `React`:\n * import { startTransition } from \"react\"\n * import * as React from from \"react\";\n \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n * import * as React from from \"react\";\n \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n Moving it to a constant such as the following solves the Webpack/React 17 issue:\n * import * as React from from \"react\";\n const START_TRANSITION = \"startTransition\";\n START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n However, that introduces webpack/terser minification issues in production builds\n in React 18 where minification/obfuscation ends up removing the call of\n React.startTransition entirely from the first half of the ternary. Grabbing\n this exported reference once up front resolves that issue.\n\n See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nexport function RouterProvider({\n fallbackElement,\n router,\n future,\n}: RouterProviderProps): React.ReactElement {\n let [state, setStateImpl] = React.useState(router.state);\n let { v7_startTransition } = future || {};\n\n let setState = React.useCallback(\n (newState: RouterState) => {\n if (v7_startTransition && startTransitionImpl) {\n startTransitionImpl(() => setStateImpl(newState));\n } else {\n setStateImpl(newState);\n }\n },\n [setStateImpl, v7_startTransition]\n );\n\n // Need to use a layout effect here so we are subscribed early enough to\n // pick up on any render-driven redirects/navigations (useEffect/)\n React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n\n React.useEffect(() => {\n warning(\n fallbackElement == null || !router.future.v7_partialHydration,\n \"`` is deprecated when using \" +\n \"`v7_partialHydration`, use a `HydrateFallback` component instead\"\n );\n // Only log this once on initial mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n let navigator = React.useMemo((): Navigator => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: (n) => router.navigate(n),\n push: (to, state, opts) =>\n router.navigate(to, {\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n replace: (to, state, opts) =>\n router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n };\n }, [router]);\n\n let basename = router.basename || \"/\";\n\n let dataRouterContext = React.useMemo(\n () => ({\n router,\n navigator,\n static: false,\n basename,\n }),\n [router, navigator, basename]\n );\n\n React.useEffect(\n () => logV6DeprecationWarnings(future, router.future),\n [router, future]\n );\n\n // The fragment and {null} here are important! We need them to keep React 18's\n // useId happy when we are server-rendering since we may have a