@loaders.gl/services 5.0.0-alpha.7 → 5.0.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -46
- package/dist/authentication.d.ts +22 -9
- package/dist/authentication.d.ts.map +1 -1
- package/dist/authentication.js +28 -11
- package/dist/authentication.js.map +1 -1
- package/dist/index.cjs +301 -23886
- package/dist/index.cjs.map +3 -3
- package/dist/index.d.ts +2 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -20
- package/dist/index.js.map +1 -1
- package/package.json +6 -16
- package/src/authentication.ts +31 -19
- package/src/index.ts +3 -84
- package/dist/arcgis/arcgis-capability-graph.d.ts +0 -48
- package/dist/arcgis/arcgis-capability-graph.d.ts.map +0 -1
- package/dist/arcgis/arcgis-capability-graph.js +0 -220
- package/dist/arcgis/arcgis-capability-graph.js.map +0 -1
- package/dist/arcgis/arcgis-feature-server-source-loader.d.ts +0 -94
- package/dist/arcgis/arcgis-feature-server-source-loader.d.ts.map +0 -1
- package/dist/arcgis/arcgis-feature-server-source-loader.js +0 -231
- package/dist/arcgis/arcgis-feature-server-source-loader.js.map +0 -1
- package/dist/arcgis/arcgis-image-server-source-loader.d.ts +0 -96
- package/dist/arcgis/arcgis-image-server-source-loader.d.ts.map +0 -1
- package/dist/arcgis/arcgis-image-server-source-loader.js +0 -143
- package/dist/arcgis/arcgis-image-server-source-loader.js.map +0 -1
- package/dist/arcgis/arcgis-image-tile-source-loader.d.ts +0 -71
- package/dist/arcgis/arcgis-image-tile-source-loader.d.ts.map +0 -1
- package/dist/arcgis/arcgis-image-tile-source-loader.js +0 -153
- package/dist/arcgis/arcgis-image-tile-source-loader.js.map +0 -1
- package/dist/arcgis/arcgis-map-tile-source-loader.d.ts +0 -106
- package/dist/arcgis/arcgis-map-tile-source-loader.d.ts.map +0 -1
- package/dist/arcgis/arcgis-map-tile-source-loader.js +0 -202
- package/dist/arcgis/arcgis-map-tile-source-loader.js.map +0 -1
- package/dist/arcgis/arcgis-scene-aggregation.d.ts +0 -34
- package/dist/arcgis/arcgis-scene-aggregation.d.ts.map +0 -1
- package/dist/arcgis/arcgis-scene-aggregation.js +0 -57
- package/dist/arcgis/arcgis-scene-aggregation.js.map +0 -1
- package/dist/arcgis/arcgis-scene-server-source-loader.d.ts +0 -112
- package/dist/arcgis/arcgis-scene-server-source-loader.d.ts.map +0 -1
- package/dist/arcgis/arcgis-scene-server-source-loader.js +0 -157
- package/dist/arcgis/arcgis-scene-server-source-loader.js.map +0 -1
- package/dist/arcgis/arcgis-server.d.ts +0 -15
- package/dist/arcgis/arcgis-server.d.ts.map +0 -1
- package/dist/arcgis/arcgis-server.js +0 -41
- package/dist/arcgis/arcgis-server.js.map +0 -1
- package/dist/arcgis/arcgis-url-utils.d.ts +0 -3
- package/dist/arcgis/arcgis-url-utils.d.ts.map +0 -1
- package/dist/arcgis/arcgis-url-utils.js +0 -23
- package/dist/arcgis/arcgis-url-utils.js.map +0 -1
- package/dist/arcgis/arcgis-vector-tile-server-source-loader.d.ts +0 -115
- package/dist/arcgis/arcgis-vector-tile-server-source-loader.d.ts.map +0 -1
- package/dist/arcgis/arcgis-vector-tile-server-source-loader.js +0 -156
- package/dist/arcgis/arcgis-vector-tile-server-source-loader.js.map +0 -1
- package/dist/service-registry.d.ts +0 -18
- package/dist/service-registry.d.ts.map +0 -1
- package/dist/service-registry.js +0 -29
- package/dist/service-registry.js.map +0 -1
- package/src/arcgis/arcgis-capability-graph.ts +0 -295
- package/src/arcgis/arcgis-feature-server-source-loader.ts +0 -346
- package/src/arcgis/arcgis-image-server-source-loader.ts +0 -242
- package/src/arcgis/arcgis-image-tile-source-loader.ts +0 -206
- package/src/arcgis/arcgis-map-tile-source-loader.ts +0 -286
- package/src/arcgis/arcgis-scene-aggregation.ts +0 -90
- package/src/arcgis/arcgis-scene-server-source-loader.ts +0 -258
- package/src/arcgis/arcgis-server.ts +0 -61
- package/src/arcgis/arcgis-url-utils.ts +0 -26
- package/src/arcgis/arcgis-vector-tile-server-source-loader.ts +0 -233
- package/src/service-registry.ts +0 -43
package/dist/index.d.ts
CHANGED
|
@@ -1,32 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*/
|
|
4
|
-
export { getArcGISServices } from "./arcgis/arcgis-server.js";
|
|
5
|
-
export type { Service as ArcGISService } from "./arcgis/arcgis-server.js";
|
|
6
|
-
export { discoverArcGISCapabilities, selectArcGISService } from "./arcgis/arcgis-capability-graph.js";
|
|
7
|
-
export type { ArcGISCapabilityGraph, ArcGISCapabilityGraphOptions, ArcGISServiceCapabilities, ArcGISServiceSelection } from "./arcgis/arcgis-capability-graph.js";
|
|
8
|
-
/** ArcGIS FeatureServer source and loader. */
|
|
9
|
-
export { ArcGISFeatureServerSourceLoader, ArcGISVectorSource } from "./arcgis/arcgis-feature-server-source-loader.js";
|
|
10
|
-
export type { ArcGISFeatureServiceQueryOptions, ArcGISFeatureServerSourceLoaderOptions } from "./arcgis/arcgis-feature-server-source-loader.js";
|
|
11
|
-
/** ArcGIS ImageServer source and loader. */
|
|
12
|
-
export { ArcGISImageServerSourceLoader, ArcGISImageSource } from "./arcgis/arcgis-image-server-source-loader.js";
|
|
13
|
-
export type { ArcGISExportImageParameters, ArcGISImageSourceLoaderProps } from "./arcgis/arcgis-image-server-source-loader.js";
|
|
14
|
-
/** ArcGIS cached MapServer tile source and loader. */
|
|
15
|
-
export { ArcGISMapTileSourceLoader, ArcGISMapTileSource } from "./arcgis/arcgis-map-tile-source-loader.js";
|
|
16
|
-
export type { ArcGISMapTileSourceLoaderOptions } from "./arcgis/arcgis-map-tile-source-loader.js";
|
|
17
|
-
/** ArcGIS ImageServer export tile source and loader. */
|
|
18
|
-
export { ArcGISImageTileSourceLoader, ArcGISImageTileSource } from "./arcgis/arcgis-image-tile-source-loader.js";
|
|
19
|
-
export type { ArcGISImageTileSourceLoaderOptions } from "./arcgis/arcgis-image-tile-source-loader.js";
|
|
20
|
-
/** ArcGIS vector tile service source and loader. */
|
|
21
|
-
export { ArcGISVectorTileServerSourceLoader, ArcGISVectorTileServerSource } from "./arcgis/arcgis-vector-tile-server-source-loader.js";
|
|
22
|
-
export type { ArcGISVectorTileServiceMetadata, ArcGISVectorTileServerSourceLoaderOptions } from "./arcgis/arcgis-vector-tile-server-source-loader.js";
|
|
23
|
-
/** ArcGIS SceneServer I3S source and loader. */
|
|
24
|
-
export { ArcGISSceneServerSourceLoader, ArcGISSceneServerSource, ArcGISSceneServerQueryError } from "./arcgis/arcgis-scene-server-source-loader.js";
|
|
25
|
-
export { aggregateArcGISSceneFeatures } from "./arcgis/arcgis-scene-aggregation.js";
|
|
26
|
-
export type { ArcGISSceneAggregationOperation, ArcGISSceneAggregationSpec, ArcGISSceneAggregationOptions, ArcGISSceneAggregationGroup } from "./arcgis/arcgis-scene-aggregation.js";
|
|
27
|
-
export type { ArcGISSceneServerSourceOptions, ArcGISSceneQueryOptions, ArcGISSceneQueryResult } from "./arcgis/arcgis-scene-server-source-loader.js";
|
|
28
|
-
export type { ServiceLoader } from "./service-registry.js";
|
|
29
|
-
export { SERVICE_LOADERS, getServiceLoader } from "./service-registry.js";
|
|
30
|
-
export { createArcGISCredential, createCesiumIonCredential, createGoogleMapsCredential, createMapboxCredential } from "./authentication.js";
|
|
31
|
-
export type { ArcGISCredentialOptions, CesiumIonCredentialOptions, GoogleMapsCredentialOptions, MapboxCredentialOptions, ServiceCredentialOptions } from "./authentication.js";
|
|
1
|
+
export { MapboxAuthentication, GoogleMapsAuthentication, CesiumIonAuthentication, createCesiumIonCredential, createGoogleMapsCredential, createMapboxCredential } from "./authentication.js";
|
|
2
|
+
export type { CesiumIonCredentialOptions, GoogleMapsCredentialOptions, MapboxCredentialOptions, ServiceCredentialOptions } from "./authentication.js";
|
|
32
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACvB,4BAAyB;AAC1B,YAAY,EACV,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,wBAAwB,EACzB,4BAAyB"}
|
package/dist/index.js
CHANGED
|
@@ -1,24 +1,5 @@
|
|
|
1
1
|
// loaders.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
* Returns services discovered from an ArcGIS REST services directory.
|
|
6
|
-
*/
|
|
7
|
-
export { getArcGISServices } from "./arcgis/arcgis-server.js";
|
|
8
|
-
export { discoverArcGISCapabilities, selectArcGISService } from "./arcgis/arcgis-capability-graph.js";
|
|
9
|
-
/** ArcGIS FeatureServer source and loader. */
|
|
10
|
-
export { ArcGISFeatureServerSourceLoader, ArcGISVectorSource } from "./arcgis/arcgis-feature-server-source-loader.js";
|
|
11
|
-
/** ArcGIS ImageServer source and loader. */
|
|
12
|
-
export { ArcGISImageServerSourceLoader, ArcGISImageSource } from "./arcgis/arcgis-image-server-source-loader.js";
|
|
13
|
-
/** ArcGIS cached MapServer tile source and loader. */
|
|
14
|
-
export { ArcGISMapTileSourceLoader, ArcGISMapTileSource } from "./arcgis/arcgis-map-tile-source-loader.js";
|
|
15
|
-
/** ArcGIS ImageServer export tile source and loader. */
|
|
16
|
-
export { ArcGISImageTileSourceLoader, ArcGISImageTileSource } from "./arcgis/arcgis-image-tile-source-loader.js";
|
|
17
|
-
/** ArcGIS vector tile service source and loader. */
|
|
18
|
-
export { ArcGISVectorTileServerSourceLoader, ArcGISVectorTileServerSource } from "./arcgis/arcgis-vector-tile-server-source-loader.js";
|
|
19
|
-
/** ArcGIS SceneServer I3S source and loader. */
|
|
20
|
-
export { ArcGISSceneServerSourceLoader, ArcGISSceneServerSource, ArcGISSceneServerQueryError } from "./arcgis/arcgis-scene-server-source-loader.js";
|
|
21
|
-
export { aggregateArcGISSceneFeatures } from "./arcgis/arcgis-scene-aggregation.js";
|
|
22
|
-
export { SERVICE_LOADERS, getServiceLoader } from "./service-registry.js";
|
|
23
|
-
export { createArcGISCredential, createCesiumIonCredential, createGoogleMapsCredential, createMapboxCredential } from "./authentication.js";
|
|
4
|
+
export { MapboxAuthentication, GoogleMapsAuthentication, CesiumIonAuthentication, createCesiumIonCredential, createGoogleMapsCredential, createMapboxCredential } from "./authentication.js";
|
|
24
5
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACvB,4BAAyB"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/services",
|
|
3
|
-
"version": "5.0.0-alpha.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "5.0.0-alpha.8",
|
|
4
|
+
"description": "Authentication presets for geospatial service providers",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"publishConfig": {
|
|
@@ -12,13 +12,9 @@
|
|
|
12
12
|
"url": "https://github.com/visgl/loaders.gl"
|
|
13
13
|
},
|
|
14
14
|
"keywords": [
|
|
15
|
-
"
|
|
15
|
+
"authentication",
|
|
16
16
|
"services",
|
|
17
|
-
"
|
|
18
|
-
"ImageServer",
|
|
19
|
-
"MapServer",
|
|
20
|
-
"geospatial",
|
|
21
|
-
"loader"
|
|
17
|
+
"geospatial"
|
|
22
18
|
],
|
|
23
19
|
"types": "dist/index.d.ts",
|
|
24
20
|
"main": "dist/index.cjs",
|
|
@@ -49,16 +45,10 @@
|
|
|
49
45
|
"README.md"
|
|
50
46
|
],
|
|
51
47
|
"dependencies": {
|
|
52
|
-
"@loaders.gl/
|
|
53
|
-
"@loaders.gl/i3s": "5.0.0-alpha.7",
|
|
54
|
-
"@loaders.gl/images": "5.0.0-alpha.7",
|
|
55
|
-
"@loaders.gl/lerc": "5.0.0-alpha.7",
|
|
56
|
-
"@loaders.gl/loader-utils": "5.0.0-alpha.7",
|
|
57
|
-
"@loaders.gl/mvt": "5.0.0-alpha.7",
|
|
58
|
-
"@loaders.gl/schema": "5.0.0-alpha.7"
|
|
48
|
+
"@loaders.gl/loader-utils": "5.0.0-alpha.8"
|
|
59
49
|
},
|
|
60
50
|
"peerDependencies": {
|
|
61
51
|
"@loaders.gl/core": "~5.0.0-alpha.0"
|
|
62
52
|
},
|
|
63
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "bdc4536ea5b7d074ea362e372704cbdb180126cc"
|
|
64
54
|
}
|
package/src/authentication.ts
CHANGED
|
@@ -10,11 +10,42 @@ import type {
|
|
|
10
10
|
} from '@loaders.gl/loader-utils';
|
|
11
11
|
import {
|
|
12
12
|
createAuthenticatedFetch,
|
|
13
|
+
TokenAuthentication,
|
|
13
14
|
createBearerTokenCredential,
|
|
14
15
|
createQueryParameterCredential
|
|
15
16
|
} from '@loaders.gl/loader-utils';
|
|
16
17
|
|
|
17
18
|
const CESIUM_ION_API_ORIGIN = 'https://api.cesium.com';
|
|
19
|
+
|
|
20
|
+
/** Declarative Mapbox access-token authentication. */
|
|
21
|
+
export class MapboxAuthentication extends TokenAuthentication {
|
|
22
|
+
/** Discriminator used in `core.credentials`. */
|
|
23
|
+
static readonly type = 'mapbox';
|
|
24
|
+
/** Creates a Mapbox credential with the existing provider defaults. */
|
|
25
|
+
constructor(options: MapboxCredentialOptions) {
|
|
26
|
+
super(createMapboxCredential(options));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/** Declarative Google Maps API-key authentication. */
|
|
31
|
+
export class GoogleMapsAuthentication extends TokenAuthentication {
|
|
32
|
+
/** Discriminator used in `core.credentials`. */
|
|
33
|
+
static readonly type = 'google-maps';
|
|
34
|
+
/** Creates a Google Maps credential with the existing provider defaults. */
|
|
35
|
+
constructor(options: GoogleMapsCredentialOptions) {
|
|
36
|
+
super(createGoogleMapsCredential(options));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** Declarative Cesium ion authentication, including lazy asset-token exchange. */
|
|
41
|
+
export class CesiumIonAuthentication extends TokenAuthentication {
|
|
42
|
+
/** Discriminator used in `core.credentials`. */
|
|
43
|
+
static readonly type = 'cesium-ion';
|
|
44
|
+
/** Creates an ion credential with the existing provider lifecycle. */
|
|
45
|
+
constructor(options: CesiumIonCredentialOptions) {
|
|
46
|
+
super(createCesiumIonCredential(options));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
18
49
|
const CESIUM_ION_ASSET_ORIGINS = [
|
|
19
50
|
'https://assets.ion.cesium.com',
|
|
20
51
|
'https://assets.cesium.com'
|
|
@@ -26,14 +57,6 @@ export type ServiceCredentialOptions = {
|
|
|
26
57
|
origins?: readonly string[];
|
|
27
58
|
};
|
|
28
59
|
|
|
29
|
-
/** Options for an ArcGIS REST service credential. */
|
|
30
|
-
export type ArcGISCredentialOptions = {
|
|
31
|
-
/** ArcGIS token or application-managed token callback. */
|
|
32
|
-
token: TokenValue;
|
|
33
|
-
/** Exact ArcGIS Online or Enterprise origins authorized to receive the token. */
|
|
34
|
-
origins: readonly string[];
|
|
35
|
-
};
|
|
36
|
-
|
|
37
60
|
/** Options for a Mapbox API credential. */
|
|
38
61
|
export type MapboxCredentialOptions = ServiceCredentialOptions & {
|
|
39
62
|
/** Mapbox public access token or application-managed token callback. */
|
|
@@ -58,17 +81,6 @@ export type CesiumIonCredentialOptions = ServiceCredentialOptions & {
|
|
|
58
81
|
tokenType?: 'account' | 'asset' | 'auto';
|
|
59
82
|
};
|
|
60
83
|
|
|
61
|
-
/** Creates an exact-origin ArcGIS `token` query credential. */
|
|
62
|
-
export function createArcGISCredential(options: ArcGISCredentialOptions): RequestCredential {
|
|
63
|
-
return createQueryParameterCredential({
|
|
64
|
-
id: 'arcgis-token',
|
|
65
|
-
origins: options.origins,
|
|
66
|
-
parameterName: 'token',
|
|
67
|
-
token: options.token,
|
|
68
|
-
refreshStatusCodes: [401, 403, 498, 499]
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
|
|
72
84
|
/** Creates a Mapbox `access_token` query credential. */
|
|
73
85
|
export function createMapboxCredential(options: MapboxCredentialOptions): RequestCredential {
|
|
74
86
|
return createQueryParameterCredential({
|
package/src/index.ts
CHANGED
|
@@ -2,96 +2,15 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
|
|
5
|
-
/**
|
|
6
|
-
* Returns services discovered from an ArcGIS REST services directory.
|
|
7
|
-
*/
|
|
8
|
-
export {getArcGISServices} from './arcgis/arcgis-server';
|
|
9
|
-
export type {Service as ArcGISService} from './arcgis/arcgis-server';
|
|
10
5
|
export {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
export type {
|
|
15
|
-
ArcGISCapabilityGraph,
|
|
16
|
-
ArcGISCapabilityGraphOptions,
|
|
17
|
-
ArcGISServiceCapabilities,
|
|
18
|
-
ArcGISServiceSelection
|
|
19
|
-
} from './arcgis/arcgis-capability-graph';
|
|
20
|
-
|
|
21
|
-
/** ArcGIS FeatureServer source and loader. */
|
|
22
|
-
export {
|
|
23
|
-
ArcGISFeatureServerSourceLoader,
|
|
24
|
-
ArcGISVectorSource
|
|
25
|
-
} from './arcgis/arcgis-feature-server-source-loader';
|
|
26
|
-
export type {
|
|
27
|
-
ArcGISFeatureServiceQueryOptions,
|
|
28
|
-
ArcGISFeatureServerSourceLoaderOptions
|
|
29
|
-
} from './arcgis/arcgis-feature-server-source-loader';
|
|
30
|
-
|
|
31
|
-
/** ArcGIS ImageServer source and loader. */
|
|
32
|
-
export {
|
|
33
|
-
ArcGISImageServerSourceLoader,
|
|
34
|
-
ArcGISImageSource
|
|
35
|
-
} from './arcgis/arcgis-image-server-source-loader';
|
|
36
|
-
export type {
|
|
37
|
-
ArcGISExportImageParameters,
|
|
38
|
-
ArcGISImageSourceLoaderProps
|
|
39
|
-
} from './arcgis/arcgis-image-server-source-loader';
|
|
40
|
-
|
|
41
|
-
/** ArcGIS cached MapServer tile source and loader. */
|
|
42
|
-
export {
|
|
43
|
-
ArcGISMapTileSourceLoader,
|
|
44
|
-
ArcGISMapTileSource
|
|
45
|
-
} from './arcgis/arcgis-map-tile-source-loader';
|
|
46
|
-
export type {ArcGISMapTileSourceLoaderOptions} from './arcgis/arcgis-map-tile-source-loader';
|
|
47
|
-
|
|
48
|
-
/** ArcGIS ImageServer export tile source and loader. */
|
|
49
|
-
export {
|
|
50
|
-
ArcGISImageTileSourceLoader,
|
|
51
|
-
ArcGISImageTileSource
|
|
52
|
-
} from './arcgis/arcgis-image-tile-source-loader';
|
|
53
|
-
export type {ArcGISImageTileSourceLoaderOptions} from './arcgis/arcgis-image-tile-source-loader';
|
|
54
|
-
|
|
55
|
-
/** ArcGIS vector tile service source and loader. */
|
|
56
|
-
export {
|
|
57
|
-
ArcGISVectorTileServerSourceLoader,
|
|
58
|
-
ArcGISVectorTileServerSource
|
|
59
|
-
} from './arcgis/arcgis-vector-tile-server-source-loader';
|
|
60
|
-
export type {
|
|
61
|
-
ArcGISVectorTileServiceMetadata,
|
|
62
|
-
ArcGISVectorTileServerSourceLoaderOptions
|
|
63
|
-
} from './arcgis/arcgis-vector-tile-server-source-loader';
|
|
64
|
-
|
|
65
|
-
/** ArcGIS SceneServer I3S source and loader. */
|
|
66
|
-
export {
|
|
67
|
-
ArcGISSceneServerSourceLoader,
|
|
68
|
-
ArcGISSceneServerSource,
|
|
69
|
-
ArcGISSceneServerQueryError
|
|
70
|
-
} from './arcgis/arcgis-scene-server-source-loader';
|
|
71
|
-
export {aggregateArcGISSceneFeatures} from './arcgis/arcgis-scene-aggregation';
|
|
72
|
-
export type {
|
|
73
|
-
ArcGISSceneAggregationOperation,
|
|
74
|
-
ArcGISSceneAggregationSpec,
|
|
75
|
-
ArcGISSceneAggregationOptions,
|
|
76
|
-
ArcGISSceneAggregationGroup
|
|
77
|
-
} from './arcgis/arcgis-scene-aggregation';
|
|
78
|
-
export type {
|
|
79
|
-
ArcGISSceneServerSourceOptions,
|
|
80
|
-
ArcGISSceneQueryOptions,
|
|
81
|
-
ArcGISSceneQueryResult
|
|
82
|
-
} from './arcgis/arcgis-scene-server-source-loader';
|
|
83
|
-
|
|
84
|
-
export type {ServiceLoader} from './service-registry';
|
|
85
|
-
export {SERVICE_LOADERS, getServiceLoader} from './service-registry';
|
|
86
|
-
|
|
87
|
-
export {
|
|
88
|
-
createArcGISCredential,
|
|
6
|
+
MapboxAuthentication,
|
|
7
|
+
GoogleMapsAuthentication,
|
|
8
|
+
CesiumIonAuthentication,
|
|
89
9
|
createCesiumIonCredential,
|
|
90
10
|
createGoogleMapsCredential,
|
|
91
11
|
createMapboxCredential
|
|
92
12
|
} from './authentication';
|
|
93
13
|
export type {
|
|
94
|
-
ArcGISCredentialOptions,
|
|
95
14
|
CesiumIonCredentialOptions,
|
|
96
15
|
GoogleMapsCredentialOptions,
|
|
97
16
|
MapboxCredentialOptions,
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import type { ServiceCapabilities } from '@loaders.gl/loader-utils';
|
|
2
|
-
import type { Service as ArcGISService } from "./arcgis-server.js";
|
|
3
|
-
/** Normalized capabilities discovered from one ArcGIS REST service. */
|
|
4
|
-
export type ArcGISServiceCapabilities = ArcGISService & {
|
|
5
|
-
/** Stable identifier for the discovered service. */
|
|
6
|
-
id: string;
|
|
7
|
-
/** Broad service family used for selection. */
|
|
8
|
-
kind: 'vector' | 'image' | 'tile' | 'scene' | 'unknown';
|
|
9
|
-
/** Shared normalized service capability contract. */
|
|
10
|
-
capabilities: ServiceCapabilities;
|
|
11
|
-
/** Raw service metadata for provider-specific consumers. */
|
|
12
|
-
metadata: Record<string, unknown>;
|
|
13
|
-
};
|
|
14
|
-
/** A normalized graph of services discovered below an ArcGIS REST directory. */
|
|
15
|
-
export type ArcGISCapabilityGraph = {
|
|
16
|
-
/** URL used as the discovery root. */
|
|
17
|
-
rootUrl: string;
|
|
18
|
-
/** Services discovered below the root, including normalized capabilities. */
|
|
19
|
-
nodes: ArcGISServiceCapabilities[];
|
|
20
|
-
};
|
|
21
|
-
/** Requirements used to select the best matching service node. */
|
|
22
|
-
export type ArcGISServiceSelection = {
|
|
23
|
-
/** Preferred service family. */
|
|
24
|
-
kind?: ArcGISServiceCapabilities['kind'];
|
|
25
|
-
/** Required response or source format. */
|
|
26
|
-
format?: string;
|
|
27
|
-
/** Preferred coordinate system. */
|
|
28
|
-
crs?: string;
|
|
29
|
-
/** Required I3S layer profile for SceneServer nodes. */
|
|
30
|
-
profile?: string;
|
|
31
|
-
/** Required layer identifier for SceneServer nodes. */
|
|
32
|
-
layerId?: string | number;
|
|
33
|
-
};
|
|
34
|
-
/** Options controlling ArcGIS capability discovery. */
|
|
35
|
-
export type ArcGISCapabilityGraphOptions = {
|
|
36
|
-
/** Optional fetch implementation for hermetic tests and custom transports. */
|
|
37
|
-
fetch?: typeof fetch;
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Discovers an ArcGIS REST directory and normalizes the capabilities of each service.
|
|
41
|
-
*
|
|
42
|
-
* Capability requests are explicit and independent from source loading. Applications that
|
|
43
|
-
* already know the endpoint can continue using the source classes directly.
|
|
44
|
-
*/
|
|
45
|
-
export declare function discoverArcGISCapabilities(url: string, options?: ArcGISCapabilityGraphOptions): Promise<ArcGISCapabilityGraph | null>;
|
|
46
|
-
/** Selects the first service satisfying all supplied requirements. */
|
|
47
|
-
export declare function selectArcGISService(graph: ArcGISCapabilityGraph, requirements?: ArcGISServiceSelection): ArcGISServiceCapabilities | undefined;
|
|
48
|
-
//# sourceMappingURL=arcgis-capability-graph.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arcgis-capability-graph.d.ts","sourceRoot":"","sources":["../../src/arcgis/arcgis-capability-graph.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAC,OAAO,IAAI,aAAa,EAAC,2BAAwB;AAE9D,uEAAuE;AACvE,MAAM,MAAM,yBAAyB,GAAG,aAAa,GAAG;IACtD,oDAAoD;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACxD,qDAAqD;IACrD,YAAY,EAAE,mBAAmB,CAAC;IAClC,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,qBAAqB,GAAG;IAClC,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,KAAK,EAAE,yBAAyB,EAAE,CAAC;CACpC,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,sBAAsB,GAAG;IACnC,gCAAgC;IAChC,IAAI,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACzC,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B,CAAC;AAEF,uDAAuD;AACvD,MAAM,MAAM,4BAA4B,GAAG;IACzC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAgBvC;AAED,sEAAsE;AACtE,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,qBAAqB,EAC5B,YAAY,GAAE,sBAA2B,GACxC,yBAAyB,GAAG,SAAS,CAyBvC"}
|
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
// loaders.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
import { getArcGISServices } from "./arcgis-server.js";
|
|
5
|
-
/**
|
|
6
|
-
* Discovers an ArcGIS REST directory and normalizes the capabilities of each service.
|
|
7
|
-
*
|
|
8
|
-
* Capability requests are explicit and independent from source loading. Applications that
|
|
9
|
-
* already know the endpoint can continue using the source classes directly.
|
|
10
|
-
*/
|
|
11
|
-
export async function discoverArcGISCapabilities(url, options = {}) {
|
|
12
|
-
const fetchFile = options.fetch || fetch;
|
|
13
|
-
const services = await getArcGISServices(url, fetchFile);
|
|
14
|
-
if (!services)
|
|
15
|
-
return null;
|
|
16
|
-
const nodes = await Promise.all(services.map(async (service) => {
|
|
17
|
-
let metadata = await fetchServiceMetadata(service.url, fetchFile);
|
|
18
|
-
if (service.type.toLowerCase().includes('scene')) {
|
|
19
|
-
metadata = await enrichSceneServerMetadata(service.url, metadata, fetchFile);
|
|
20
|
-
}
|
|
21
|
-
return normalizeServiceCapabilities(service, metadata);
|
|
22
|
-
}));
|
|
23
|
-
return { rootUrl: url, nodes };
|
|
24
|
-
}
|
|
25
|
-
/** Selects the first service satisfying all supplied requirements. */
|
|
26
|
-
export function selectArcGISService(graph, requirements = {}) {
|
|
27
|
-
return graph.nodes.find(node => {
|
|
28
|
-
if (requirements.kind && node.kind !== requirements.kind)
|
|
29
|
-
return false;
|
|
30
|
-
if (requirements.format &&
|
|
31
|
-
!node.capabilities.formats.includes(requirements.format.toLowerCase()))
|
|
32
|
-
return false;
|
|
33
|
-
if (requirements.crs && !node.capabilities.crs.includes(requirements.crs))
|
|
34
|
-
return false;
|
|
35
|
-
if (requirements.profile &&
|
|
36
|
-
node.metadata.profile !== requirements.profile &&
|
|
37
|
-
!node.capabilities.layers.some(layer => layer.profile === requirements.profile))
|
|
38
|
-
return false;
|
|
39
|
-
if (requirements.layerId !== undefined &&
|
|
40
|
-
!node.capabilities.layers.some(layer => layer.id === String(requirements.layerId) || layer.name === String(requirements.layerId)))
|
|
41
|
-
return false;
|
|
42
|
-
return true;
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
/** Fetches one service's provider-specific metadata document. */
|
|
46
|
-
async function fetchServiceMetadata(serviceUrl, fetchFile) {
|
|
47
|
-
const url = new URL(serviceUrl);
|
|
48
|
-
url.searchParams.set('f', 'pjson');
|
|
49
|
-
const response = await fetchFile(url.toString());
|
|
50
|
-
if (!response.ok) {
|
|
51
|
-
throw new Error(`ArcGIS service metadata request failed: ${response.status}`);
|
|
52
|
-
}
|
|
53
|
-
return (await response.json());
|
|
54
|
-
}
|
|
55
|
-
/** Fetches layer documents so SceneServer profile selection uses authoritative store metadata. */
|
|
56
|
-
async function enrichSceneServerMetadata(serviceUrl, metadata, fetchFile) {
|
|
57
|
-
const layers = Array.isArray(metadata.layers) ? metadata.layers : [];
|
|
58
|
-
if (!layers.length)
|
|
59
|
-
return metadata;
|
|
60
|
-
const enrichedLayers = await Promise.all(layers.map(async (value) => {
|
|
61
|
-
if (!value || typeof value !== 'object')
|
|
62
|
-
return value;
|
|
63
|
-
const layer = value;
|
|
64
|
-
if (layer.id === undefined)
|
|
65
|
-
return value;
|
|
66
|
-
const layerURL = `${serviceUrl.replace(/\/$/, '')}/layers/${encodeURIComponent(String(layer.id))}`;
|
|
67
|
-
try {
|
|
68
|
-
const layerMetadata = await fetchServiceMetadata(layerURL, fetchFile);
|
|
69
|
-
return { ...layer, ...layerMetadata, id: layer.id, name: layer.name ?? layerMetadata.name };
|
|
70
|
-
}
|
|
71
|
-
catch {
|
|
72
|
-
// Keep directory metadata when an individual layer is unavailable.
|
|
73
|
-
return value;
|
|
74
|
-
}
|
|
75
|
-
}));
|
|
76
|
-
return { ...metadata, layers: enrichedLayers };
|
|
77
|
-
}
|
|
78
|
-
/** Combines directory information and metadata into a normalized capability node. */
|
|
79
|
-
function normalizeServiceCapabilities(service, metadata) {
|
|
80
|
-
const serviceType = service.type;
|
|
81
|
-
const kind = getServiceKind(serviceType);
|
|
82
|
-
const formats = getServiceFormats(metadata);
|
|
83
|
-
const crs = getServiceCrs(metadata);
|
|
84
|
-
const layers = getServiceLayers(metadata).map(layer => ({
|
|
85
|
-
...layer,
|
|
86
|
-
url: layer.url ||
|
|
87
|
-
(serviceType.includes('scene') && layer.id
|
|
88
|
-
? `${service.url.replace(/\/$/, '')}/layers/${encodeURIComponent(layer.id)}`
|
|
89
|
-
: undefined)
|
|
90
|
-
}));
|
|
91
|
-
const capabilities = {
|
|
92
|
-
url: service.url,
|
|
93
|
-
type: getServiceCapabilityType(serviceType),
|
|
94
|
-
name: service.name,
|
|
95
|
-
title: typeof metadata.name === 'string' ? metadata.name : undefined,
|
|
96
|
-
abstract: typeof metadata.description === 'string' ? metadata.description : undefined,
|
|
97
|
-
crs,
|
|
98
|
-
formats,
|
|
99
|
-
layers,
|
|
100
|
-
operations: getServiceOperations(metadata),
|
|
101
|
-
formatSpecificMetadata: metadata
|
|
102
|
-
};
|
|
103
|
-
return {
|
|
104
|
-
...service,
|
|
105
|
-
id: service.url,
|
|
106
|
-
kind,
|
|
107
|
-
capabilities,
|
|
108
|
-
metadata
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
/** Extracts normalized layer entries from SceneServer and other service metadata. */
|
|
112
|
-
function getServiceLayers(metadata) {
|
|
113
|
-
const layerValues = Array.isArray(metadata.layers) ? metadata.layers : [];
|
|
114
|
-
return layerValues.flatMap(value => {
|
|
115
|
-
if (!value || typeof value !== 'object')
|
|
116
|
-
return [];
|
|
117
|
-
const layer = value;
|
|
118
|
-
const spatialReference = layer.spatialReference;
|
|
119
|
-
const wkid = spatialReference?.latestWkid || spatialReference?.wkid;
|
|
120
|
-
const extent = layer.extent;
|
|
121
|
-
const bounds = extent && [extent.xmin, extent.ymin, extent.xmax, extent.ymax].every(Number.isFinite)
|
|
122
|
-
? [extent.xmin, extent.ymin, extent.xmax, extent.ymax]
|
|
123
|
-
: undefined;
|
|
124
|
-
return [
|
|
125
|
-
{
|
|
126
|
-
name: layer.id === undefined ? String(layer.name || '') : String(layer.id),
|
|
127
|
-
id: layer.id === undefined ? undefined : String(layer.id),
|
|
128
|
-
url: typeof layer.url === 'string' ? layer.url : undefined,
|
|
129
|
-
title: typeof layer.name === 'string' ? layer.name : undefined,
|
|
130
|
-
crs: wkid ? [`EPSG:${wkid}`] : undefined,
|
|
131
|
-
bounds,
|
|
132
|
-
profile: typeof layer.profile === 'string'
|
|
133
|
-
? layer.profile
|
|
134
|
-
: layer.store &&
|
|
135
|
-
typeof layer.store === 'object' &&
|
|
136
|
-
typeof layer.store.profile === 'string'
|
|
137
|
-
? layer.store.profile
|
|
138
|
-
: undefined,
|
|
139
|
-
layerType: typeof layer.layerType === 'string' ? layer.layerType : undefined,
|
|
140
|
-
version: typeof layer.version === 'string'
|
|
141
|
-
? layer.version
|
|
142
|
-
: layer.store &&
|
|
143
|
-
typeof layer.store === 'object' &&
|
|
144
|
-
typeof layer.store.version === 'string'
|
|
145
|
-
? layer.store.version
|
|
146
|
-
: undefined
|
|
147
|
-
}
|
|
148
|
-
];
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
/** Extracts operation names when a service advertises them. */
|
|
152
|
-
function getServiceOperations(metadata) {
|
|
153
|
-
const capabilities = metadata.capabilities;
|
|
154
|
-
return typeof capabilities === 'string'
|
|
155
|
-
? capabilities
|
|
156
|
-
.split(',')
|
|
157
|
-
.map(value => value.trim())
|
|
158
|
-
.filter(Boolean)
|
|
159
|
-
: [];
|
|
160
|
-
}
|
|
161
|
-
/** Maps a discovered ArcGIS family to the shared service capability type. */
|
|
162
|
-
function getServiceCapabilityType(serviceType) {
|
|
163
|
-
if (serviceType.includes('vectortile') || serviceType.includes('vector-tile')) {
|
|
164
|
-
return 'arcgis-vector-tile-server';
|
|
165
|
-
}
|
|
166
|
-
if (serviceType.includes('feature'))
|
|
167
|
-
return 'arcgis-feature-server';
|
|
168
|
-
if (serviceType.includes('image'))
|
|
169
|
-
return 'arcgis-image-server';
|
|
170
|
-
if (serviceType.includes('scene'))
|
|
171
|
-
return 'arcgis-scene-server';
|
|
172
|
-
if (serviceType.includes('map'))
|
|
173
|
-
return 'arcgis-map-server';
|
|
174
|
-
return 'unknown';
|
|
175
|
-
}
|
|
176
|
-
/** Maps an ArcGIS service type to the generic source family. */
|
|
177
|
-
function getServiceKind(serviceType) {
|
|
178
|
-
if (serviceType.includes('feature'))
|
|
179
|
-
return 'vector';
|
|
180
|
-
if (serviceType.includes('image'))
|
|
181
|
-
return 'image';
|
|
182
|
-
if (serviceType.includes('scene'))
|
|
183
|
-
return 'scene';
|
|
184
|
-
if (serviceType.includes('map') ||
|
|
185
|
-
serviceType.includes('vectortile') ||
|
|
186
|
-
serviceType.includes('vector-tile'))
|
|
187
|
-
return 'tile';
|
|
188
|
-
return 'unknown';
|
|
189
|
-
}
|
|
190
|
-
/** Extracts and canonicalizes formats advertised by an ArcGIS service. */
|
|
191
|
-
function getServiceFormats(metadata) {
|
|
192
|
-
const formats = new Set();
|
|
193
|
-
const supportedFormats = metadata.supportedQueryFormats;
|
|
194
|
-
if (typeof supportedFormats === 'string') {
|
|
195
|
-
for (const format of supportedFormats.split(','))
|
|
196
|
-
formats.add(format.trim().toLowerCase());
|
|
197
|
-
}
|
|
198
|
-
const imageFormats = metadata.supportedImageFormatTypes;
|
|
199
|
-
if (typeof imageFormats === 'string') {
|
|
200
|
-
for (const format of imageFormats.split(','))
|
|
201
|
-
formats.add(format.trim().toLowerCase());
|
|
202
|
-
}
|
|
203
|
-
const tileInfo = metadata.tileInfo;
|
|
204
|
-
if (typeof tileInfo?.format === 'string')
|
|
205
|
-
formats.add(tileInfo.format.toLowerCase());
|
|
206
|
-
return [...formats].sort();
|
|
207
|
-
}
|
|
208
|
-
/** Extracts unique EPSG identifiers from common ArcGIS metadata locations. */
|
|
209
|
-
function getServiceCrs(metadata) {
|
|
210
|
-
const spatialReferences = new Set();
|
|
211
|
-
for (const value of [metadata.spatialReference, metadata.fullExtent?.spatialReference]) {
|
|
212
|
-
const spatialReference = value;
|
|
213
|
-
for (const wkid of [spatialReference?.wkid, spatialReference?.latestWkid]) {
|
|
214
|
-
if (wkid)
|
|
215
|
-
spatialReferences.add(`EPSG:${wkid}`);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
return [...spatialReferences].sort();
|
|
219
|
-
}
|
|
220
|
-
//# sourceMappingURL=arcgis-capability-graph.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arcgis-capability-graph.js","sourceRoot":"","sources":["../../src/arcgis/arcgis-capability-graph.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,iBAAiB,EAAC,2BAAwB;AA4ClD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,GAAW,EACX,UAAwC,EAAE;IAE1C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;QAC3B,IAAI,QAAQ,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAClE,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,QAAQ,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,4BAA4B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAC,CAAC;AAC/B,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,mBAAmB,CACjC,KAA4B,EAC5B,eAAuC,EAAE;IAEzC,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC7B,IAAI,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACvE,IACE,YAAY,CAAC,MAAM;YACnB,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAEtE,OAAO,KAAK,CAAC;QACf,IAAI,YAAY,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QACxF,IACE,YAAY,CAAC,OAAO;YACpB,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,YAAY,CAAC,OAAO;YAC9C,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,YAAY,CAAC,OAAO,CAAC;YAE/E,OAAO,KAAK,CAAC;QACf,IACE,YAAY,CAAC,OAAO,KAAK,SAAS;YAClC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAC5B,KAAK,CAAC,EAAE,CACN,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAC3F;YAED,OAAO,KAAK,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iEAAiE;AACjE,KAAK,UAAU,oBAAoB,CACjC,UAAkB,EAClB,SAAuB;IAEvB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAChC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;AAC5D,CAAC;AAED,kGAAkG;AAClG,KAAK,UAAU,yBAAyB,CACtC,UAAkB,EAClB,QAAiC,EACjC,SAAuB;IAEvB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC;IACpC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;QACvB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACtD,MAAM,KAAK,GAAG,KAAgC,CAAC;QAC/C,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACzC,MAAM,QAAQ,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACnG,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACtE,OAAO,EAAC,GAAG,KAAK,EAAE,GAAG,aAAa,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,EAAC,CAAC;QAC5F,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;YACnE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,OAAO,EAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAC,CAAC;AAC/C,CAAC;AAED,qFAAqF;AACrF,SAAS,4BAA4B,CACnC,OAAsB,EACtB,QAAiC;IAEjC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IACjC,MAAM,IAAI,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtD,GAAG,KAAK;QACR,GAAG,EACD,KAAK,CAAC,GAAG;YACT,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE;gBACxC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;gBAC5E,CAAC,CAAC,SAAS,CAAC;KACjB,CAAC,CAAC,CAAC;IACJ,MAAM,YAAY,GAAwB;QACxC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE,wBAAwB,CAAC,WAAW,CAAC;QAC3C,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACpE,QAAQ,EAAE,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QACrF,GAAG;QACH,OAAO;QACP,MAAM;QACN,UAAU,EAAE,oBAAoB,CAAC,QAAQ,CAAC;QAC1C,sBAAsB,EAAE,QAAQ;KACjC,CAAC;IACF,OAAO;QACL,GAAG,OAAO;QACV,EAAE,EAAE,OAAO,CAAC,GAAG;QACf,IAAI;QACJ,YAAY;QACZ,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,SAAS,gBAAgB,CAAC,QAAiC;IACzD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,OAAO,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,KAAgC,CAAC;QAC/C,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAElB,CAAC;QACd,MAAM,IAAI,GAAG,gBAAgB,EAAE,UAAU,IAAI,gBAAgB,EAAE,IAAI,CAAC;QACpE,MAAM,MAAM,GAAG,KAAK,CAAC,MAER,CAAC;QACd,MAAM,MAAM,GACV,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;YACnF,CAAC,CAAC,CAAC,MAAM,CAAC,IAAK,EAAE,MAAM,CAAC,IAAK,EAAE,MAAM,CAAC,IAAK,EAAE,MAAM,CAAC,IAAK,CAAC;YAC1D,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO;YACL;gBACE,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1E,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzD,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC1D,KAAK,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBAC9D,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;gBACxC,MAAM;gBACN,OAAO,EACL,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;oBAC/B,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,KAAK,CAAC,KAAK;wBACT,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;wBAC/B,OAAQ,KAAK,CAAC,KAAiC,CAAC,OAAO,KAAK,QAAQ;wBACtE,CAAC,CAAG,KAAK,CAAC,KAAiC,CAAC,OAAkB;wBAC9D,CAAC,CAAC,SAAS;gBACjB,SAAS,EAAE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBAC5E,OAAO,EACL,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;oBAC/B,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,KAAK,CAAC,KAAK;wBACT,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;wBAC/B,OAAQ,KAAK,CAAC,KAAiC,CAAC,OAAO,KAAK,QAAQ;wBACtE,CAAC,CAAG,KAAK,CAAC,KAAiC,CAAC,OAAkB;wBAC9D,CAAC,CAAC,SAAS;aAClB;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,+DAA+D;AAC/D,SAAS,oBAAoB,CAAC,QAAiC;IAC7D,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;IAC3C,OAAO,OAAO,YAAY,KAAK,QAAQ;QACrC,CAAC,CAAC,YAAY;aACT,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,OAAO,CAAC;QACpB,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,6EAA6E;AAC7E,SAAS,wBAAwB,CAAC,WAAmB;IACnD,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9E,OAAO,2BAA2B,CAAC;IACrC,CAAC;IACD,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,uBAAuB,CAAC;IACpE,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,qBAAqB,CAAC;IAChE,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,qBAAqB,CAAC;IAChE,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,mBAAmB,CAAC;IAC5D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gEAAgE;AAChE,SAAS,cAAc,CAAC,WAAmB;IACzC,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAC;IACrD,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAClD,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAClD,IACE,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC3B,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC;QAClC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC;QAEnC,OAAO,MAAM,CAAC;IAChB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,0EAA0E;AAC1E,SAAS,iBAAiB,CAAC,QAAiC;IAC1D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,qBAAqB,CAAC;IACxD,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QACzC,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,YAAY,GAAG,QAAQ,CAAC,yBAAyB,CAAC;IACxD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAyC,CAAC;IACpE,IAAI,OAAO,QAAQ,EAAE,MAAM,KAAK,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,8EAA8E;AAC9E,SAAS,aAAa,CAAC,QAAiC;IACtD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAG,QAAQ,CAAC,UAAkB,EAAE,gBAAgB,CAAC,EAAE,CAAC;QAChG,MAAM,gBAAgB,GAAG,KAAyD,CAAC;QACnF,KAAK,MAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,CAAC;YAC1E,IAAI,IAAI;gBAAE,iBAAiB,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;AACvC,CAAC"}
|