@deck.gl/geo-layers 9.4.0-alpha.2 → 9.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/dist/dist.dev.js +6375 -5029
  2. package/dist/geo-cell-layer/GeoCellLayer.d.ts.map +1 -1
  3. package/dist/geo-cell-layer/GeoCellLayer.js +2 -1
  4. package/dist/geo-cell-layer/GeoCellLayer.js.map +1 -1
  5. package/dist/index.cjs +21181 -1889
  6. package/dist/index.cjs.map +3 -4
  7. package/dist/mesh-layer/mesh-layer-uniforms.d.ts +1 -0
  8. package/dist/mesh-layer/mesh-layer-uniforms.d.ts.map +1 -1
  9. package/dist/mesh-layer/mesh-layer-uniforms.js +8 -0
  10. package/dist/mesh-layer/mesh-layer-uniforms.js.map +1 -1
  11. package/dist/mesh-layer/mesh-layer.d.ts.map +1 -1
  12. package/dist/mesh-layer/mesh-layer.js +15 -6
  13. package/dist/mesh-layer/mesh-layer.js.map +1 -1
  14. package/dist/mesh-layer/mesh-layer.wgsl.d.ts +3 -0
  15. package/dist/mesh-layer/mesh-layer.wgsl.d.ts.map +1 -0
  16. package/dist/mesh-layer/mesh-layer.wgsl.js +130 -0
  17. package/dist/mesh-layer/mesh-layer.wgsl.js.map +1 -0
  18. package/dist/mesh-layer/mesh-pbr-material.d.ts +252 -0
  19. package/dist/mesh-layer/mesh-pbr-material.d.ts.map +1 -0
  20. package/dist/mesh-layer/mesh-pbr-material.js +27 -0
  21. package/dist/mesh-layer/mesh-pbr-material.js.map +1 -0
  22. package/dist/trips-layer/trips-layer-uniforms.d.ts +1 -0
  23. package/dist/trips-layer/trips-layer-uniforms.d.ts.map +1 -1
  24. package/dist/trips-layer/trips-layer-uniforms.js +14 -3
  25. package/dist/trips-layer/trips-layer-uniforms.js.map +1 -1
  26. package/dist/trips-layer/trips-layer.d.ts +6 -1
  27. package/dist/trips-layer/trips-layer.d.ts.map +1 -1
  28. package/dist/trips-layer/trips-layer.js +57 -24
  29. package/dist/trips-layer/trips-layer.js.map +1 -1
  30. package/dist/trips-layer/trips-layer.wgsl.d.ts +11 -0
  31. package/dist/trips-layer/trips-layer.wgsl.d.ts.map +1 -0
  32. package/dist/trips-layer/trips-layer.wgsl.js +48 -0
  33. package/dist/trips-layer/trips-layer.wgsl.js.map +1 -0
  34. package/dist.min.js +1415 -149
  35. package/dist.webgl-only/a5-layer/a5-layer.js +30 -0
  36. package/dist.webgl-only/a5-layer/a5-layer.js.map +1 -0
  37. package/dist.webgl-only/geo-cell-layer/GeoCellLayer.js +57 -0
  38. package/dist.webgl-only/geo-cell-layer/GeoCellLayer.js.map +1 -0
  39. package/dist.webgl-only/geohash-layer/geohash-layer.js +24 -0
  40. package/dist.webgl-only/geohash-layer/geohash-layer.js.map +1 -0
  41. package/dist.webgl-only/geohash-layer/geohash-utils.js +54 -0
  42. package/dist.webgl-only/geohash-layer/geohash-utils.js.map +1 -0
  43. package/dist.webgl-only/great-circle-layer/great-circle-layer.js +17 -0
  44. package/dist.webgl-only/great-circle-layer/great-circle-layer.js.map +1 -0
  45. package/dist.webgl-only/h3-layers/h3-cluster-layer.js +52 -0
  46. package/dist.webgl-only/h3-layers/h3-cluster-layer.js.map +1 -0
  47. package/dist.webgl-only/h3-layers/h3-hexagon-layer.js +209 -0
  48. package/dist.webgl-only/h3-layers/h3-hexagon-layer.js.map +1 -0
  49. package/dist.webgl-only/h3-layers/h3-utils.js +60 -0
  50. package/dist.webgl-only/h3-layers/h3-utils.js.map +1 -0
  51. package/dist.webgl-only/index.cjs +22542 -0
  52. package/dist.webgl-only/index.cjs.map +6 -0
  53. package/dist.webgl-only/index.js +22 -0
  54. package/dist.webgl-only/index.js.map +1 -0
  55. package/dist.webgl-only/mesh-layer/mesh-layer-fragment.glsl.js +34 -0
  56. package/dist.webgl-only/mesh-layer/mesh-layer-fragment.glsl.js.map +1 -0
  57. package/dist.webgl-only/mesh-layer/mesh-layer-uniforms.js +19 -0
  58. package/dist.webgl-only/mesh-layer/mesh-layer-uniforms.js.map +1 -0
  59. package/dist.webgl-only/mesh-layer/mesh-layer-vertex.glsl.js +64 -0
  60. package/dist.webgl-only/mesh-layer/mesh-layer-vertex.glsl.js.map +1 -0
  61. package/dist.webgl-only/mesh-layer/mesh-layer.js +149 -0
  62. package/dist.webgl-only/mesh-layer/mesh-layer.js.map +1 -0
  63. package/dist.webgl-only/mesh-layer/mesh-layer.wgsl.js +5 -0
  64. package/dist.webgl-only/mesh-layer/mesh-layer.wgsl.js.map +1 -0
  65. package/dist.webgl-only/mesh-layer/mesh-pbr-material.js +27 -0
  66. package/dist.webgl-only/mesh-layer/mesh-pbr-material.js.map +1 -0
  67. package/dist.webgl-only/mvt-layer/coordinate-transform.js +45 -0
  68. package/dist.webgl-only/mvt-layer/coordinate-transform.js.map +1 -0
  69. package/dist.webgl-only/mvt-layer/find-index-binary.js +100 -0
  70. package/dist.webgl-only/mvt-layer/find-index-binary.js.map +1 -0
  71. package/dist.webgl-only/mvt-layer/mvt-layer.js +315 -0
  72. package/dist.webgl-only/mvt-layer/mvt-layer.js.map +1 -0
  73. package/dist.webgl-only/quadkey-layer/quadkey-layer.js +27 -0
  74. package/dist.webgl-only/quadkey-layer/quadkey-layer.js.map +1 -0
  75. package/dist.webgl-only/quadkey-layer/quadkey-utils.js +30 -0
  76. package/dist.webgl-only/quadkey-layer/quadkey-utils.js.map +1 -0
  77. package/dist.webgl-only/s2-layer/s2-geometry.js +127 -0
  78. package/dist.webgl-only/s2-layer/s2-geometry.js.map +1 -0
  79. package/dist.webgl-only/s2-layer/s2-layer.js +24 -0
  80. package/dist.webgl-only/s2-layer/s2-layer.js.map +1 -0
  81. package/dist.webgl-only/s2-layer/s2-utils.js +91 -0
  82. package/dist.webgl-only/s2-layer/s2-utils.js.map +1 -0
  83. package/dist.webgl-only/terrain-layer/terrain-layer.js +260 -0
  84. package/dist.webgl-only/terrain-layer/terrain-layer.js.map +1 -0
  85. package/dist.webgl-only/tile-3d-layer/tile-3d-layer.js +343 -0
  86. package/dist.webgl-only/tile-3d-layer/tile-3d-layer.js.map +1 -0
  87. package/dist.webgl-only/tile-layer/tile-layer.js +233 -0
  88. package/dist.webgl-only/tile-layer/tile-layer.js.map +1 -0
  89. package/dist.webgl-only/tileset-2d/index.js +7 -0
  90. package/dist.webgl-only/tileset-2d/index.js.map +1 -0
  91. package/dist.webgl-only/tileset-2d/memoize.js +45 -0
  92. package/dist.webgl-only/tileset-2d/memoize.js.map +1 -0
  93. package/dist.webgl-only/tileset-2d/tile-2d-header.js +141 -0
  94. package/dist.webgl-only/tileset-2d/tile-2d-header.js.map +1 -0
  95. package/dist.webgl-only/tileset-2d/tile-2d-traversal.js +208 -0
  96. package/dist.webgl-only/tileset-2d/tile-2d-traversal.js.map +1 -0
  97. package/dist.webgl-only/tileset-2d/tileset-2d.js +557 -0
  98. package/dist.webgl-only/tileset-2d/tileset-2d.js.map +1 -0
  99. package/dist.webgl-only/tileset-2d/types.js +5 -0
  100. package/dist.webgl-only/tileset-2d/types.js.map +1 -0
  101. package/dist.webgl-only/tileset-2d/utils.js +246 -0
  102. package/dist.webgl-only/tileset-2d/utils.js.map +1 -0
  103. package/dist.webgl-only/trips-layer/trips-layer-uniforms.js +23 -0
  104. package/dist.webgl-only/trips-layer/trips-layer-uniforms.js.map +1 -0
  105. package/dist.webgl-only/trips-layer/trips-layer.js +97 -0
  106. package/dist.webgl-only/trips-layer/trips-layer.js.map +1 -0
  107. package/dist.webgl-only/trips-layer/trips-layer.wgsl.js +3 -0
  108. package/dist.webgl-only/trips-layer/trips-layer.wgsl.js.map +1 -0
  109. package/dist.webgl-only/wms-layer/utils.js +17 -0
  110. package/dist.webgl-only/wms-layer/utils.js.map +1 -0
  111. package/dist.webgl-only/wms-layer/wms-layer.js +198 -0
  112. package/dist.webgl-only/wms-layer/wms-layer.js.map +1 -0
  113. package/package.json +11 -6
  114. package/src/geo-cell-layer/GeoCellLayer.ts +2 -0
  115. package/src/mesh-layer/mesh-layer-uniforms.ts +9 -0
  116. package/src/mesh-layer/mesh-layer.ts +15 -6
  117. package/src/mesh-layer/mesh-layer.wgsl.ts +130 -0
  118. package/src/mesh-layer/mesh-pbr-material.ts +39 -0
  119. package/src/trips-layer/trips-layer-uniforms.ts +15 -3
  120. package/src/trips-layer/trips-layer.ts +84 -38
  121. package/src/trips-layer/trips-layer.wgsl.ts +63 -0
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/index.ts", "../src/geo-cell-layer/GeoCellLayer.ts", "../src/a5-layer/a5-layer.ts", "../src/h3-layers/h3-utils.ts", "../src/wms-layer/wms-layer.ts", "../src/wms-layer/utils.ts", "../src/great-circle-layer/great-circle-layer.ts", "../src/s2-layer/s2-geometry.ts", "../src/s2-layer/s2-utils.ts", "../src/s2-layer/s2-layer.ts", "../src/quadkey-layer/quadkey-utils.ts", "../src/quadkey-layer/quadkey-layer.ts", "../src/tile-layer/tile-layer.ts", "../src/tileset-2d/tileset-2d.ts", "../src/tileset-2d/tile-2d-header.ts", "../src/tileset-2d/tile-2d-traversal.ts", "../src/tileset-2d/utils.ts", "../src/tileset-2d/memoize.ts", "../src/trips-layer/trips-layer.ts", "../src/trips-layer/trips-layer-uniforms.ts", "../src/h3-layers/h3-cluster-layer.ts", "../src/h3-layers/h3-hexagon-layer.ts", "../src/tile-3d-layer/tile-3d-layer.ts", "../src/mesh-layer/mesh-layer.ts", "../src/mesh-layer/mesh-layer-uniforms.ts", "../src/mesh-layer/mesh-layer-vertex.glsl.ts", "../src/mesh-layer/mesh-layer-fragment.glsl.ts", "../src/terrain-layer/terrain-layer.ts", "../src/mvt-layer/mvt-layer.ts", "../src/mvt-layer/coordinate-transform.ts", "../src/mvt-layer/find-index-binary.ts", "../src/geohash-layer/geohash-utils.ts", "../src/geohash-layer/geohash-layer.ts"],
4
- "sourcesContent": ["// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/* eslint-disable max-len */\n\nexport {default as A5Layer} from './a5-layer/a5-layer';\nexport {WMSLayer as _WMSLayer} from './wms-layer/wms-layer';\nexport {default as GreatCircleLayer} from './great-circle-layer/great-circle-layer';\nexport {default as S2Layer} from './s2-layer/s2-layer';\nexport {default as QuadkeyLayer} from './quadkey-layer/quadkey-layer';\nexport {default as TileLayer} from './tile-layer/tile-layer';\nexport {default as TripsLayer} from './trips-layer/trips-layer';\nexport {default as H3ClusterLayer} from './h3-layers/h3-cluster-layer';\nexport {default as H3HexagonLayer} from './h3-layers/h3-hexagon-layer';\nexport {default as Tile3DLayer} from './tile-3d-layer/tile-3d-layer';\nexport {default as TerrainLayer} from './terrain-layer/terrain-layer';\nexport {default as MVTLayer} from './mvt-layer/mvt-layer';\nexport {default as GeohashLayer} from './geohash-layer/geohash-layer';\n\nexport {default as _GeoCellLayer} from './geo-cell-layer/GeoCellLayer';\n\n// Types\nexport type {A5LayerProps} from './a5-layer/a5-layer';\nexport type {WMSLayerProps} from './wms-layer/wms-layer';\nexport type {H3ClusterLayerProps} from './h3-layers/h3-cluster-layer';\nexport type {H3HexagonLayerProps} from './h3-layers/h3-hexagon-layer';\nexport type {GreatCircleLayerProps} from './great-circle-layer/great-circle-layer';\nexport type {S2LayerProps} from './s2-layer/s2-layer';\nexport type {TileLayerProps, TileLayerPickingInfo} from './tile-layer/tile-layer';\nexport type {TripsLayerProps} from './trips-layer/trips-layer';\nexport type {QuadkeyLayerProps} from './quadkey-layer/quadkey-layer';\nexport type {TerrainLayerProps} from './terrain-layer/terrain-layer';\nexport type {Tile3DLayerProps} from './tile-3d-layer/tile-3d-layer';\nexport type {MVTLayerProps, MVTLayerPickingInfo} from './mvt-layer/mvt-layer';\nexport type {GeoCellLayerProps as _GeoCellLayerProps} from './geo-cell-layer/GeoCellLayer';\nexport type {GeohashLayerProps} from './geohash-layer/geohash-layer';\n\n// Tileset2D\n\nexport type {GeoBoundingBox, NonGeoBoundingBox} from './tileset-2d/index';\nexport type {TileLoadProps as _TileLoadProps} from './tileset-2d/index';\nexport type {Tileset2DProps as _Tileset2DProps} from './tileset-2d/index';\n\nexport {getURLFromTemplate as _getURLFromTemplate} from './tileset-2d/index';\nexport {Tileset2D as _Tileset2D} from './tileset-2d/index';\nexport {Tile2DHeader as _Tile2DHeader} from './tileset-2d/index';\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {CompositeLayer, Layer, LayersList, DefaultProps} from '@deck.gl/core';\nimport {PolygonLayer, PolygonLayerProps} from '@deck.gl/layers';\n\nconst defaultProps: DefaultProps<GeoCellLayerProps> = {\n ...PolygonLayer.defaultProps\n};\n\n/** All properties supported by GeoCellLayer. */\nexport type GeoCellLayerProps<DataT = unknown> = PolygonLayerProps<DataT>;\n\nexport default class GeoCellLayer<DataT = any, ExtraProps extends {} = {}> extends CompositeLayer<\n Required<GeoCellLayerProps<DataT>> & ExtraProps\n> {\n static layerName = 'GeoCellLayer';\n static defaultProps: DefaultProps = defaultProps;\n\n /** Implement to generate props to create geometry. */\n indexToBounds(): Partial<GeoCellLayer['props']> | null {\n return null;\n }\n\n renderLayers(): Layer | null | LayersList {\n // Rendering props underlying layer\n const {\n elevationScale,\n extruded,\n wireframe,\n filled,\n stroked,\n lineWidthUnits,\n lineWidthScale,\n lineWidthMinPixels,\n lineWidthMaxPixels,\n lineJointRounded,\n lineMiterLimit,\n lineDashJustified,\n getElevation,\n getFillColor,\n getLineColor,\n getLineWidth\n } = this.props;\n\n // Accessor props for underlying layers\n const {updateTriggers, material, transitions} = this.props;\n\n // Filled Polygon Layer\n const CellLayer = this.getSubLayerClass('cell', PolygonLayer);\n const {updateTriggers: boundsUpdateTriggers, ...boundsProps} = this.indexToBounds() || {};\n return new CellLayer(\n {\n filled,\n wireframe,\n\n extruded,\n elevationScale,\n\n stroked,\n lineWidthUnits,\n lineWidthScale,\n lineWidthMinPixels,\n lineWidthMaxPixels,\n lineJointRounded,\n lineMiterLimit,\n lineDashJustified,\n\n material,\n transitions,\n\n getElevation,\n getFillColor,\n getLineColor,\n getLineWidth\n },\n this.getSubLayerProps({\n id: 'cell',\n updateTriggers: updateTriggers && {\n ...boundsUpdateTriggers,\n getElevation: updateTriggers.getElevation,\n getFillColor: updateTriggers.getFillColor,\n getLineColor: updateTriggers.getLineColor,\n getLineWidth: updateTriggers.getLineWidth\n }\n }),\n boundsProps\n );\n }\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {AccessorFunction, DefaultProps} from '@deck.gl/core';\nimport GeoCellLayer, {GeoCellLayerProps} from '../geo-cell-layer/GeoCellLayer';\nimport {cellToBoundary, hexToU64} from 'a5-js';\nimport {flattenPolygon} from '../h3-layers/h3-utils';\n\nconst defaultProps: DefaultProps<A5LayerProps> = {\n getPentagon: {type: 'accessor', value: (d: any) => d.pentagon}\n};\n\n/** All properties supported by A5Layer. */\nexport type A5LayerProps<DataT = unknown> = _A5LayerProps<DataT> & GeoCellLayerProps<DataT>;\n\n/** Properties added by A5Layer. */\ntype _A5LayerProps<DataT> = {\n /**\n * Called for each data object to retrieve the A5 pentagonal cell identifier.\n *\n * By default, it reads `pentagon` property of data object.\n */\n getPentagon?: AccessorFunction<DataT, string | bigint>;\n};\n\n/** Render filled and/or stroked polygons based on the [A5](https://a5geo.org) geospatial indexing system. */\nexport default class A5Layer<DataT = any, ExtraProps extends {} = {}> extends GeoCellLayer<\n DataT,\n Required<_A5LayerProps<DataT>> & ExtraProps\n> {\n static layerName = 'A5Layer';\n static defaultProps = defaultProps;\n\n indexToBounds(): Partial<GeoCellLayer['props']> | null {\n const {data, getPentagon} = this.props;\n\n return {\n data,\n _normalize: false,\n _windingOrder: 'CCW',\n positionFormat: 'XY',\n getPolygon: (x: DataT, objectInfo) => {\n const pentagon = getPentagon(x, objectInfo);\n const boundary = cellToBoundary(\n typeof pentagon === 'string' ? hexToU64(pentagon) : pentagon,\n {closedRing: true, segments: 'auto'}\n );\n return flattenPolygon(boundary);\n }\n };\n }\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {CoordPair, H3IndexInput, cellToBoundary, cellToLatLng} from 'h3-js';\nimport {lerp} from '@math.gl/core';\n\n// normalize longitudes w.r.t center (refLng), when not provided first vertex\nexport function normalizeLongitudes(vertices: CoordPair[], refLng?: number): void {\n refLng = refLng === undefined ? vertices[0][0] : refLng;\n for (const pt of vertices) {\n const deltaLng = pt[0] - refLng;\n if (deltaLng > 180) {\n pt[0] -= 360;\n } else if (deltaLng < -180) {\n pt[0] += 360;\n }\n }\n}\n\n// scale polygon vertices w.r.t center (hexId)\nexport function scalePolygon(hexId: H3IndexInput, vertices: CoordPair[], factor: number): void {\n const [lat, lng] = cellToLatLng(hexId);\n const actualCount = vertices.length;\n\n // normalize with respect to center\n normalizeLongitudes(vertices, lng);\n\n // `cellToBoundary` returns same array object for first and last vertex (closed polygon),\n // if so skip scaling the last vertex\n const vertexCount = vertices[0] === vertices[actualCount - 1] ? actualCount - 1 : actualCount;\n for (let i = 0; i < vertexCount; i++) {\n vertices[i][0] = lerp(lng, vertices[i][0], factor);\n vertices[i][1] = lerp(lat, vertices[i][1], factor);\n }\n}\n\n// gets hexagon centroid\nexport function getHexagonCentroid(getHexagon, object, objectInfo) {\n const hexagonId = getHexagon(object, objectInfo);\n const [lat, lng] = cellToLatLng(hexagonId);\n return [lng, lat];\n}\n\nexport function h3ToPolygon(hexId: H3IndexInput, coverage: number = 1): number[][] {\n const vertices = cellToBoundary(hexId, true);\n\n if (coverage !== 1) {\n // scale and normalize vertices w.r.t to center\n scalePolygon(hexId, vertices, coverage);\n } else {\n // normalize w.r.t to start vertex\n normalizeLongitudes(vertices);\n }\n\n return vertices;\n}\n\nexport function flattenPolygon(vertices: number[][]): Float64Array {\n const positions = new Float64Array(vertices.length * 2);\n let i = 0;\n for (const pt of vertices) {\n positions[i++] = pt[0];\n positions[i++] = pt[1];\n }\n return positions;\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// deck.gl, MIT license\n// Attributions:\n// Copyright 2022 Foursquare Labs, Inc.\n\n/* eslint-disable camelcase */ // Some WMS parameters are not in camel case\n/* global setTimeout, clearTimeout */\n\nimport {\n Layer,\n CompositeLayer,\n CompositeLayerProps,\n UpdateParameters,\n DefaultProps,\n Viewport,\n COORDINATE_SYSTEM,\n _deepEqual as deepEqual\n} from '@deck.gl/core';\nimport {BitmapLayer} from '@deck.gl/layers';\nimport type {GetImageParameters, ImageSourceMetadata, ImageType} from '@loaders.gl/loader-utils';\nimport {createDataSource} from '@loaders.gl/core';\nimport {ImageSource, WMSSource} from '@loaders.gl/wms';\nimport {WGS84ToPseudoMercator} from './utils';\n\n/** All props supported by the TileLayer */\nexport type WMSLayerProps = CompositeLayerProps & _WMSLayerProps;\n\n/** Props added by the TileLayer */\ntype _WMSLayerProps = {\n data: string | ImageSource;\n serviceType?: 'wms' | 'auto';\n layers?: string[];\n srs?: 'EPSG:4326' | 'EPSG:3857' | 'auto';\n onMetadataLoad?: (metadata: ImageSourceMetadata) => void;\n onMetadataLoadError?: (error: Error) => void;\n onImageLoadStart?: (requestId: unknown) => void;\n onImageLoad?: (requestId: unknown) => void;\n onImageLoadError?: (requestId: unknown, error: Error) => void;\n};\n\nconst defaultProps: DefaultProps<WMSLayerProps> = {\n id: 'imagery-layer',\n data: '',\n serviceType: 'auto',\n srs: 'auto',\n layers: {type: 'array', compare: true, value: []},\n onMetadataLoad: {type: 'function', value: () => {}},\n // eslint-disable-next-line\n onMetadataLoadError: {type: 'function', value: console.error},\n onImageLoadStart: {type: 'function', value: () => {}},\n onImageLoad: {type: 'function', value: () => {}},\n onImageLoadError: {\n type: 'function',\n compare: false,\n // eslint-disable-next-line\n value: (requestId: unknown, error: Error) => console.error(error, requestId)\n }\n};\n\n/**\n * The layer is used in Hex Tile layer in order to properly discard invisible elements during animation\n */\nexport class WMSLayer<ExtraPropsT extends {} = {}> extends CompositeLayer<\n ExtraPropsT & Required<_WMSLayerProps>\n> {\n static layerName = 'WMSLayer';\n static defaultProps: DefaultProps = defaultProps;\n\n state!: {\n imageSource: ImageSource;\n image: ImageType;\n bounds: [number, number, number, number];\n lastRequestParameters: {\n bbox: [number, number, number, number];\n layers: string[];\n srs: 'EPSG:4326' | 'EPSG:3857';\n width: number;\n height: number;\n };\n lastRequestId: number;\n _nextRequestId: number;\n /** TODO: Change any => setTimeout return type. Different between Node and browser... */\n _timeoutId: any;\n loadCounter: number;\n };\n\n /** Returns true if all async resources are loaded */\n get isLoaded(): boolean {\n // Track the explicit loading done by this layer\n return this.state?.loadCounter === 0 && super.isLoaded;\n }\n\n /** Lets deck.gl know that we want viewport change events */\n override shouldUpdateState(): boolean {\n return true;\n }\n\n override initializeState(): void {\n // intentionally empty, initialization is done in updateState\n this.state._nextRequestId = 0;\n this.state.lastRequestId = -1;\n this.state.loadCounter = 0;\n }\n\n override updateState({changeFlags, props, oldProps}: UpdateParameters<this>): void {\n const {viewport} = this.context;\n\n // Check if data source has changed\n if (changeFlags.dataChanged || props.serviceType !== oldProps.serviceType) {\n this.state.imageSource = this._createImageSource(props);\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this._loadMetadata();\n this.debounce(() => this.loadImage(viewport, 'image source changed'), 0);\n } else if (!deepEqual(props.layers, oldProps.layers, 1)) {\n this.debounce(() => this.loadImage(viewport, 'layers changed'), 0);\n } else if (changeFlags.viewportChanged) {\n this.debounce(() => this.loadImage(viewport, 'viewport changed'));\n }\n }\n\n override finalizeState(): void {\n // TODO - we could cancel outstanding requests\n }\n\n override renderLayers(): Layer {\n // TODO - which bitmap layer is rendered should depend on the current viewport\n // Currently Studio only uses one viewport\n const {bounds, image, lastRequestParameters} = this.state;\n\n return (\n image &&\n new BitmapLayer({\n ...this.getSubLayerProps({id: 'bitmap'}),\n _imageCoordinateSystem:\n lastRequestParameters.srs === 'EPSG:4326'\n ? COORDINATE_SYSTEM.LNGLAT\n : COORDINATE_SYSTEM.CARTESIAN,\n bounds,\n image\n })\n );\n }\n\n async getFeatureInfoText(x: number, y: number): Promise<string | null> {\n const {lastRequestParameters} = this.state;\n if (lastRequestParameters) {\n // @ts-expect-error Undocumented method\n const featureInfo = await this.state.imageSource.getFeatureInfoText?.({\n ...lastRequestParameters,\n query_layers: lastRequestParameters.layers,\n x,\n y,\n info_format: 'application/vnd.ogc.gml'\n });\n return featureInfo;\n }\n return '';\n }\n\n _createImageSource(props: WMSLayerProps): ImageSource {\n if (props.data instanceof ImageSource) {\n return props.data;\n }\n\n if (typeof props.data === 'string') {\n return createDataSource(props.data, [WMSSource], {\n core: {\n type: props.serviceType,\n loadOptions: props.loadOptions\n }\n }) as ImageSource;\n }\n\n throw new Error('invalid image source in props.data');\n }\n\n /** Run a getMetadata on the image service */\n async _loadMetadata(): Promise<void> {\n const {imageSource} = this.state;\n try {\n this.state.loadCounter++;\n const metadata = await imageSource.getMetadata();\n\n // If a request takes a long time, it may no longer be expected\n if (this.state.imageSource === imageSource) {\n this.getCurrentLayer()?.props.onMetadataLoad(metadata);\n }\n } catch (error) {\n this.getCurrentLayer()?.props.onMetadataLoadError(error as Error);\n } finally {\n this.state.loadCounter--;\n }\n }\n\n /** Load an image */\n async loadImage(viewport: Viewport, reason: string): Promise<void> {\n const {layers, serviceType} = this.props;\n\n // TODO - move to ImageSource?\n if (serviceType === 'wms' && layers.length === 0) {\n return;\n }\n\n const bounds = viewport.getBounds();\n const {width, height} = viewport;\n const requestId = this.getRequestId();\n let {srs} = this.props;\n if (srs === 'auto') {\n // BitmapLayer only supports LNGLAT or CARTESIAN (Web-Mercator)\n srs = viewport.resolution ? 'EPSG:4326' : 'EPSG:3857';\n }\n const requestParams: GetImageParameters = {\n width,\n height,\n boundingBox: [\n [bounds[0], bounds[1]],\n [bounds[2], bounds[3]]\n ],\n layers,\n crs: srs\n };\n if (srs === 'EPSG:3857') {\n const min = WGS84ToPseudoMercator([bounds[0], bounds[1]]);\n const max = WGS84ToPseudoMercator([bounds[2], bounds[3]]);\n requestParams.boundingBox = [min, max];\n }\n\n try {\n this.state.loadCounter++;\n this.props.onImageLoadStart(requestId);\n\n const image = await this.state.imageSource.getImage(requestParams);\n\n // If a request takes a long time, later requests may have already loaded.\n if (this.state.lastRequestId < requestId) {\n this.getCurrentLayer()?.props.onImageLoad(requestId);\n // Not type safe...\n this.setState({\n image,\n bounds,\n lastRequestParameters: requestParams,\n lastRequestId: requestId\n });\n }\n } catch (error) {\n this.raiseError(error as Error, 'Load image');\n this.getCurrentLayer()?.props.onImageLoadError(requestId, error as Error);\n } finally {\n this.state.loadCounter--;\n }\n }\n\n // HELPERS\n\n /** Global counter for issuing unique request ids */\n private getRequestId(): number {\n return this.state._nextRequestId++;\n }\n\n /** Runs an action in the future, cancels it if the new action is issued before it executes */\n private debounce(fn: Function, ms = 500): void {\n clearTimeout(this.state._timeoutId);\n this.state._timeoutId = setTimeout(() => fn(), ms);\n }\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {lngLatToWorld} from '@math.gl/web-mercator';\n\n// https://epsg.io/3857\n// +proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs +type=crs\nconst HALF_EARTH_CIRCUMFERENCE = 6378137 * Math.PI;\n\n/** Projects EPSG:4326 to EPSG:3857\n * This is a lightweight replacement of proj4. Use tests to ensure conformance.\n */\nexport function WGS84ToPseudoMercator(coord: [number, number]): [number, number] {\n const mercator = lngLatToWorld(coord);\n mercator[0] = (mercator[0] / 256 - 1) * HALF_EARTH_CIRCUMFERENCE;\n mercator[1] = (mercator[1] / 256 - 1) * HALF_EARTH_CIRCUMFERENCE;\n return mercator;\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {DefaultProps} from '@deck.gl/core';\nimport {ArcLayer, ArcLayerProps} from '@deck.gl/layers';\n\nconst defaultProps: DefaultProps<ArcLayerProps> = {\n getHeight: {type: 'accessor', value: 0},\n greatCircle: true\n};\n\n/** All properties supported by GreatCircleLayer. */\nexport type GreatCircleLayerProps<DataT = unknown> = ArcLayerProps<DataT>;\n\n// This layer has been merged into the core ArcLayer\n// Keeping for backward-compatibility\n/** @deprecated Use ArcLayer with `greatCircle: true` instead */\nexport default class GreatCircleLayer<DataT = any, ExtraProps extends {} = {}> extends ArcLayer<\n DataT,\n ExtraProps\n> {\n static layerName = 'GreatCircleLayer';\n static defaultProps = defaultProps;\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/*\nAdapted from s2-geometry\n\nISC License (ISC)\n\nCopyright (c) 2012-2016, Jon Atkins <github@jonatkins.com>\nCopyright (c) 2016, AJ ONeal <aj@daplie.com>\n\nPermission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n*/\n\nimport Long from 'long';\n\n//\n// Functional Style\n//\nconst FACE_BITS = 3;\nconst MAX_LEVEL = 30;\nconst POS_BITS = 2 * MAX_LEVEL + 1; // 61 (60 bits of data, 1 bit lsb marker)\nconst RADIAN_TO_DEGREE = 180 / Math.PI;\n\nexport function IJToST(\n ij: [number, number],\n order: number,\n offsets: [number, number]\n): [number, number] {\n const maxSize = 1 << order;\n\n return [(ij[0] + offsets[0]) / maxSize, (ij[1] + offsets[1]) / maxSize];\n}\n\nfunction singleSTtoUV(st: number): number {\n if (st >= 0.5) {\n return (1 / 3.0) * (4 * st * st - 1);\n }\n return (1 / 3.0) * (1 - 4 * (1 - st) * (1 - st));\n}\n\nexport function STToUV(st: [number, number]): [number, number] {\n return [singleSTtoUV(st[0]), singleSTtoUV(st[1])];\n}\n\nexport function FaceUVToXYZ(face: number, [u, v]: [number, number]): [number, number, number] {\n switch (face) {\n case 0:\n return [1, u, v];\n case 1:\n return [-u, 1, v];\n case 2:\n return [-u, -v, 1];\n case 3:\n return [-1, -v, -u];\n case 4:\n return [v, -1, -u];\n case 5:\n return [v, u, -1];\n default:\n throw new Error('Invalid face');\n }\n}\n\nexport function XYZToLngLat([x, y, z]: [number, number, number]): [number, number] {\n const lat = Math.atan2(z, Math.sqrt(x * x + y * y));\n const lng = Math.atan2(y, x);\n\n return [lng * RADIAN_TO_DEGREE, lat * RADIAN_TO_DEGREE];\n}\n\nexport function toHilbertQuadkey(idS: string): string {\n let bin = Long.fromString(idS, true, 10).toString(2);\n\n while (bin.length < FACE_BITS + POS_BITS) {\n // eslint-disable-next-line prefer-template\n bin = '0' + bin;\n }\n\n // MUST come AFTER binstr has been left-padded with '0's\n const lsbIndex = bin.lastIndexOf('1');\n // substr(start, len)\n // substring(start, end) // includes start, does not include end\n const faceB = bin.substring(0, 3);\n // posB will always be a multiple of 2 (or it's invalid)\n const posB = bin.substring(3, lsbIndex);\n const levelN = posB.length / 2;\n\n const faceS = Long.fromString(faceB, true, 2).toString(10);\n let posS = Long.fromString(posB, true, 2).toString(4);\n\n while (posS.length < levelN) {\n // eslint-disable-next-line prefer-template\n posS = '0' + posS;\n }\n\n return `${faceS}/${posS}`;\n}\n\nfunction rotateAndFlipQuadrant(n: number, point: [number, number], rx: number, ry: number): void {\n if (ry === 0) {\n if (rx === 1) {\n point[0] = n - 1 - point[0];\n point[1] = n - 1 - point[1];\n }\n\n const x = point[0];\n point[0] = point[1];\n point[1] = x;\n }\n}\n\nexport function FromHilbertQuadKey(hilbertQuadkey: string): {\n face: number;\n ij: [number, number];\n level: number;\n} {\n const parts = hilbertQuadkey.split('/');\n const face = parseInt(parts[0], 10);\n const position = parts[1];\n const maxLevel = position.length;\n const point = [0, 0] as [number, number];\n let level;\n\n for (let i = maxLevel - 1; i >= 0; i--) {\n level = maxLevel - i;\n const bit = position[i];\n let rx = 0;\n let ry = 0;\n if (bit === '1') {\n ry = 1;\n } else if (bit === '2') {\n rx = 1;\n ry = 1;\n } else if (bit === '3') {\n rx = 1;\n }\n\n const val = Math.pow(2, level - 1);\n rotateAndFlipQuadrant(val, point, rx, ry);\n\n point[0] += val * rx;\n point[1] += val * ry;\n }\n\n if (face % 2 === 1) {\n const t = point[0];\n point[0] = point[1];\n point[1] = t;\n }\n\n return {face, ij: point, level};\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// s2-geometry is a pure JavaScript port of Google/Niantic's S2 Geometry library\n// which is perfect since it works in the browser.\nimport {\n toHilbertQuadkey,\n FromHilbertQuadKey,\n IJToST,\n STToUV,\n FaceUVToXYZ,\n XYZToLngLat\n} from './s2-geometry';\nimport Long from 'long';\n\n/**\n * Given an S2 token this function convert the token to 64 bit id\n https://github.com/google/s2-geometry-library-java/blob/c04b68bf3197a9c34082327eeb3aec7ab7c85da1/src/com/google/common/geometry/S2CellId.java#L439\n * */\nfunction getIdFromToken(token: string): number {\n // pad token with zeros to make the length 16\n const paddedToken = token.padEnd(16, '0');\n return Long.fromString(paddedToken, 16);\n}\n\nconst MAX_RESOLUTION = 100;\n\n/* Adapted from s2-geometry's S2Cell.getCornerLatLngs */\n/* eslint-disable max-statements */\nfunction getGeoBounds({\n face,\n ij,\n level\n}: {\n face: number;\n ij: [number, number];\n level: number;\n}): Float64Array {\n const offsets = [\n [0, 0],\n [0, 1],\n [1, 1],\n [1, 0],\n [0, 0]\n ];\n\n // The S2 cell edge is curved: http://s2geometry.io/\n // This is more prominent at lower levels\n // resolution is the number of segments to generate per edge.\n // We exponentially reduce resolution as level increases so it doesn't affect perf\n // when there are a large number of cells\n const resolution = Math.max(1, Math.ceil(MAX_RESOLUTION * Math.pow(2, -level)));\n const result = new Float64Array(4 * resolution * 2 + 2);\n let ptIndex = 0;\n let prevLng = 0;\n\n for (let i = 0; i < 4; i++) {\n const offset = offsets[i].slice(0) as [number, number];\n const nextOffset = offsets[i + 1];\n const stepI = (nextOffset[0] - offset[0]) / resolution;\n const stepJ = (nextOffset[1] - offset[1]) / resolution;\n\n for (let j = 0; j < resolution; j++) {\n offset[0] += stepI;\n offset[1] += stepJ;\n // Cell can be represented by coordinates IJ, ST, UV, XYZ\n // http://s2geometry.io/devguide/s2cell_hierarchy#coordinate-systems\n const st = IJToST(ij, level, offset);\n const uv = STToUV(st);\n const xyz = FaceUVToXYZ(face, uv);\n const lngLat = XYZToLngLat(xyz);\n\n // Adjust longitude for Web Mercator projection\n if (Math.abs(lngLat[1]) > 89.999) {\n lngLat[0] = prevLng;\n }\n const deltaLng = lngLat[0] - prevLng;\n lngLat[0] += deltaLng > 180 ? -360 : deltaLng < -180 ? 360 : 0;\n\n result[ptIndex++] = lngLat[0];\n result[ptIndex++] = lngLat[1];\n prevLng = lngLat[0];\n }\n }\n // close the loop\n result[ptIndex++] = result[0];\n result[ptIndex++] = result[1];\n return result;\n}\n/* eslint-enable max-statements */\n\nexport function getS2QuadKey(token: string | number): string {\n if (typeof token === 'string') {\n if (token.indexOf('/') > 0) {\n // is Hilbert quad key\n return token;\n }\n // is S2 token\n token = getIdFromToken(token);\n }\n // is Long id\n return toHilbertQuadkey(token.toString());\n}\n\n/**\n * Get a polygon with corner coordinates for an s2 cell\n * @param {*} cell - This can be an S2 key or token\n * @return {Float64Array} - a simple polygon in flat array format: [lng0, lat0, lng1, lat1, ...]\n * - the polygon is closed, i.e. last coordinate is a copy of the first coordinate\n */\nexport function getS2Polygon(token: string | number): Float64Array {\n const key = getS2QuadKey(token);\n const s2cell = FromHilbertQuadKey(key);\n\n return getGeoBounds(s2cell);\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {AccessorFunction, DefaultProps} from '@deck.gl/core';\nimport GeoCellLayer, {GeoCellLayerProps} from '../geo-cell-layer/GeoCellLayer';\nimport {getS2Polygon} from './s2-utils';\n\nconst defaultProps: DefaultProps<S2LayerProps> = {\n getS2Token: {type: 'accessor', value: (d: any) => d.token}\n};\n\n/** All properties supported by S2Layer. */\nexport type S2LayerProps<DataT = unknown> = _S2LayerProps<DataT> & GeoCellLayerProps<DataT>;\n\n/** Properties added by S2Layer. */\ntype _S2LayerProps<DataT> = {\n /**\n * Called for each data object to retrieve the quadkey string identifier.\n *\n * By default, it reads `token` property of data object.\n */\n getS2Token?: AccessorFunction<DataT, string>;\n};\n\n/** Render filled and/or stroked polygons based on the [S2](http://s2geometry.io/) geospatial indexing system. */\nexport default class S2Layer<DataT = any, ExtraProps extends {} = {}> extends GeoCellLayer<\n DataT,\n Required<_S2LayerProps<DataT>> & ExtraProps\n> {\n static layerName = 'S2Layer';\n static defaultProps = defaultProps;\n\n indexToBounds(): Partial<GeoCellLayer['props']> | null {\n const {data, getS2Token} = this.props;\n\n return {\n data,\n _normalize: false,\n positionFormat: 'XY',\n getPolygon: (x: DataT, objectInfo) => getS2Polygon(getS2Token(x, objectInfo))\n };\n }\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {worldToLngLat} from '@math.gl/web-mercator';\n\nconst TILE_SIZE = 512;\n\nexport function quadkeyToWorldBounds(quadkey: string, coverage: number): [number[], number[]] {\n let x = 0;\n let y = 0;\n let mask = 1 << quadkey.length;\n const scale = mask / TILE_SIZE;\n\n for (let i = 0; i < quadkey.length; i++) {\n mask >>= 1;\n const q = parseInt(quadkey[i]);\n if (q % 2) x |= mask;\n if (q > 1) y |= mask;\n }\n return [\n [x / scale, TILE_SIZE - y / scale],\n [(x + coverage) / scale, TILE_SIZE - (y + coverage) / scale]\n ];\n}\n\nexport function getQuadkeyPolygon(quadkey: string, coverage = 1): number[] {\n const [topLeft, bottomRight] = quadkeyToWorldBounds(quadkey, coverage);\n const [w, n] = worldToLngLat(topLeft);\n const [e, s] = worldToLngLat(bottomRight);\n return [e, n, e, s, w, s, w, n, e, n];\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {AccessorFunction, DefaultProps} from '@deck.gl/core';\nimport GeoCellLayer, {GeoCellLayerProps} from '../geo-cell-layer/GeoCellLayer';\nimport {getQuadkeyPolygon} from './quadkey-utils';\n\nconst defaultProps: DefaultProps<QuadkeyLayerProps> = {\n getQuadkey: {type: 'accessor', value: (d: any) => d.quadkey}\n};\n\n/** All properties supported by QuadkeyLayer. */\nexport type QuadkeyLayerProps<DataT = unknown> = _QuadkeyLayerProps<DataT> &\n GeoCellLayerProps<DataT>;\n\n/** Properties added by QuadkeyLayer. */\ntype _QuadkeyLayerProps<DataT> = {\n /**\n * Called for each data object to retrieve the quadkey string identifier.\n *\n * By default, it reads `quadkey` property of data object.\n */\n getQuadkey?: AccessorFunction<DataT, string>;\n};\n\n/** Render filled and/or stroked polygons based on the [Quadkey](https://towardsdatascience.com/geospatial-indexing-with-quadkeys-d933dff01496) geospatial indexing system. */\nexport default class QuadkeyLayer<DataT = any, ExtraProps extends {} = {}> extends GeoCellLayer<\n DataT,\n Required<_QuadkeyLayerProps<DataT>> & ExtraProps\n> {\n static layerName = 'QuadkeyLayer';\n static defaultProps = defaultProps;\n\n indexToBounds(): Partial<GeoCellLayer['props']> | null {\n const {data, extruded, getQuadkey} = this.props;\n // To avoid z-fighting reduce polygon footprint when extruding\n const coverage = extruded ? 0.99 : 1;\n\n return {\n data,\n _normalize: false,\n positionFormat: 'XY',\n\n getPolygon: (x: DataT, objectInfo) => getQuadkeyPolygon(getQuadkey(x, objectInfo), coverage),\n updateTriggers: {getPolygon: coverage}\n };\n }\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {\n CompositeLayer,\n CompositeLayerProps,\n Layer,\n LayerProps,\n UpdateParameters,\n PickingInfo,\n GetPickingInfoParams,\n DefaultProps,\n FilterContext,\n _flatten as flatten\n} from '@deck.gl/core';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {LayersList} from '@deck.gl/core';\n\nimport type {TileLoadProps, ZRange} from '../tileset-2d/index';\nimport {\n Tileset2D,\n Tile2DHeader,\n RefinementStrategy,\n STRATEGY_DEFAULT,\n Tileset2DProps\n} from '../tileset-2d/index';\nimport {urlType, URLTemplate, getURLFromTemplate} from '../tileset-2d/index';\nimport {Matrix4} from '@math.gl/core';\n\nconst defaultProps: DefaultProps<TileLayerProps> = {\n TilesetClass: Tileset2D,\n data: {type: 'data', value: []},\n dataComparator: urlType.equal,\n renderSubLayers: {type: 'function', value: (props: any) => new GeoJsonLayer(props)},\n getTileData: {type: 'function', optional: true, value: null},\n // TODO - change to onViewportLoad to align with Tile3DLayer\n onViewportLoad: {type: 'function', optional: true, value: null},\n onTileLoad: {type: 'function', value: tile => {}},\n onTileUnload: {type: 'function', value: tile => {}},\n // eslint-disable-next-line\n onTileError: {type: 'function', value: err => console.error(err)},\n extent: {type: 'array', optional: true, value: null, compare: true},\n tileSize: 512,\n maxZoom: null,\n minZoom: 0,\n maxCacheSize: null,\n maxCacheByteSize: null,\n refinementStrategy: STRATEGY_DEFAULT,\n zRange: null,\n maxRequests: 6,\n debounceTime: 0,\n zoomOffset: 0,\n visibleMinZoom: null,\n visibleMaxZoom: null\n};\n\n/** All props supported by the TileLayer */\nexport type TileLayerProps<DataT = unknown> = CompositeLayerProps & _TileLayerProps<DataT>;\n\n/** Props added by the TileLayer */\ntype _TileLayerProps<DataT> = {\n data: URLTemplate;\n /**\n * Optionally implement a custom indexing scheme.\n */\n TilesetClass?: typeof Tileset2D;\n /**\n * Renders one or an array of Layer instances.\n */\n renderSubLayers?: (\n props: TileLayerProps<DataT> & {\n id: string;\n data: DataT;\n _offset: number;\n tile: Tile2DHeader<DataT>;\n }\n ) => Layer | null | LayersList;\n /**\n * If supplied, `getTileData` is called to retrieve the data of each tile.\n */\n getTileData?: ((props: TileLoadProps) => Promise<DataT> | DataT) | null;\n\n /** Called when all tiles in the current viewport are loaded. */\n onViewportLoad?: ((tiles: Tile2DHeader<DataT>[]) => void) | null;\n\n /** Called when a tile successfully loads. */\n onTileLoad?: (tile: Tile2DHeader<DataT>) => void;\n\n /** Called when a tile is cleared from cache. */\n onTileUnload?: (tile: Tile2DHeader<DataT>) => void;\n\n /** Called when a tile failed to load. */\n onTileError?: (err: any, tile?) => void;\n\n /** The bounding box of the layer's data. */\n extent?: number[] | null;\n\n /** The pixel dimension of the tiles, usually a power of 2. */\n tileSize?: number;\n\n /** The max zoom level of the layer's data.\n * @default null\n */\n maxZoom?: number | null;\n\n /** The min zoom level of the layer's data.\n * @default 0\n */\n minZoom?: number | null;\n\n /** The maximum number of tiles that can be cached. */\n maxCacheSize?: number | null;\n\n /**\n * The maximum memory used for caching tiles.\n *\n * @default null\n */\n maxCacheByteSize?: number | null;\n\n /**\n * How the tile layer refines the visibility of tiles.\n *\n * @default 'best-available'\n */\n refinementStrategy?: RefinementStrategy;\n\n /** Range of minimum and maximum heights in the tile. */\n zRange?: ZRange | null;\n\n /**\n * The maximum number of concurrent getTileData calls.\n *\n * @default 6\n */\n maxRequests?: number;\n\n /**\n * Queue tile requests until no new tiles have been requested for at least `debounceTime` milliseconds.\n *\n * @default 0\n */\n debounceTime?: number;\n\n /**\n * This offset changes the zoom level at which the tiles are fetched.\n *\n * Needs to be an integer.\n *\n * @default 0\n */\n zoomOffset?: number;\n\n /**\n * The minimum zoom level at which tiles are visible.\n * When the viewport zoom is below this level, no tiles are rendered.\n *\n * @default null\n */\n visibleMinZoom?: number | null;\n\n /**\n * The maximum zoom level at which tiles are visible.\n * When the viewport zoom is above this level, no tiles are rendered.\n *\n * @default null\n */\n visibleMaxZoom?: number | null;\n};\n\nexport type TileLayerPickingInfo<\n DataT = any,\n SubLayerPickingInfo = PickingInfo\n> = SubLayerPickingInfo & {\n /** The picked tile */\n tile?: Tile2DHeader<DataT>;\n /** the tile that emitted the picking event */\n sourceTile: Tile2DHeader<DataT>;\n /** a layer created by props.renderSubLayer() that emitted the picking event */\n sourceTileSubLayer: Layer;\n};\n\n/**\n * The TileLayer is a composite layer that makes it possible to visualize very large datasets.\n *\n * Instead of fetching the entire dataset, it only loads and renders what's visible in the current viewport.\n */\nexport default class TileLayer<DataT = any, ExtraPropsT extends {} = {}> extends CompositeLayer<\n ExtraPropsT & Required<_TileLayerProps<DataT>>\n> {\n static defaultProps: DefaultProps = defaultProps;\n static layerName = 'TileLayer';\n\n state!: {\n tileset: Tileset2D | null;\n isLoaded: boolean;\n frameNumber?: number;\n };\n\n initializeState() {\n this.state = {\n tileset: null,\n isLoaded: false\n };\n }\n\n finalizeState() {\n this.state?.tileset?.finalize();\n }\n\n get isLoaded(): boolean {\n return Boolean(\n this.state?.tileset?.selectedTiles?.every(\n tile =>\n // Error / empty tiles resolve to `content === null`. Once Tile2DHeader marks those\n // requests as loaded, do not wait for generated sublayers because there is nothing to\n // render for that tile and `tile.layers` will remain null.\n tile.isLoaded &&\n (!tile.content || !tile.layers || tile.layers.every(layer => layer.isLoaded))\n )\n );\n }\n\n shouldUpdateState({changeFlags}): boolean {\n return changeFlags.somethingChanged;\n }\n\n updateState({changeFlags}: UpdateParameters<this>) {\n let {tileset} = this.state;\n const propsChanged = changeFlags.propsOrDataChanged || changeFlags.updateTriggersChanged;\n const dataChanged =\n changeFlags.dataChanged ||\n (changeFlags.updateTriggersChanged &&\n (changeFlags.updateTriggersChanged.all || changeFlags.updateTriggersChanged.getTileData));\n\n if (!tileset) {\n tileset = new this.props.TilesetClass(this._getTilesetOptions());\n this.setState({tileset});\n } else if (propsChanged) {\n tileset.setOptions(this._getTilesetOptions());\n\n if (dataChanged) {\n // reload all tiles\n // use cached layers until new content is loaded\n tileset.reloadAll();\n } else {\n // some render options changed, regenerate sub layers now\n tileset.tiles.forEach(tile => {\n tile.layers = null;\n });\n }\n }\n\n this._updateTileset();\n }\n\n _getTilesetOptions(): Tileset2DProps {\n const {\n tileSize,\n maxCacheSize,\n maxCacheByteSize,\n refinementStrategy,\n extent,\n maxZoom,\n minZoom,\n maxRequests,\n debounceTime,\n zoomOffset,\n visibleMinZoom,\n visibleMaxZoom\n } = this.props;\n\n return {\n maxCacheSize,\n maxCacheByteSize,\n maxZoom,\n minZoom,\n tileSize,\n refinementStrategy,\n extent,\n maxRequests,\n debounceTime,\n zoomOffset,\n visibleMinZoom,\n visibleMaxZoom,\n\n getTileData: this.getTileData.bind(this),\n onTileLoad: this._onTileLoad.bind(this),\n onTileError: this._onTileError.bind(this),\n onTileUnload: this._onTileUnload.bind(this)\n };\n }\n\n private _updateTileset(): void {\n const tileset = this.state.tileset!;\n const {zRange, modelMatrix} = this.props;\n const frameNumber = tileset.update(this.context.viewport, {zRange, modelMatrix});\n const {isLoaded} = tileset;\n\n const loadingStateChanged = this.state.isLoaded !== isLoaded;\n const tilesetChanged = this.state.frameNumber !== frameNumber;\n\n if (isLoaded && (loadingStateChanged || tilesetChanged)) {\n this._onViewportLoad();\n }\n\n if (tilesetChanged) {\n // Save the tileset frame number - trigger a rerender\n this.setState({frameNumber});\n }\n // Save the loaded state - should not trigger a rerender\n this.state.isLoaded = isLoaded;\n }\n\n _onViewportLoad(): void {\n const {tileset} = this.state;\n const {onViewportLoad} = this.props;\n\n if (onViewportLoad) {\n // This method can only be called when tileset is defined and updated\n onViewportLoad(tileset!.selectedTiles!);\n }\n }\n\n _onTileLoad(tile: Tile2DHeader<DataT>): void {\n this.props.onTileLoad(tile);\n tile.layers = null;\n\n this.setNeedsUpdate();\n }\n\n _onTileError(error: any, tile: Tile2DHeader<DataT>) {\n this.props.onTileError(error);\n tile.layers = null;\n\n this.setNeedsUpdate();\n }\n\n _onTileUnload(tile: Tile2DHeader<DataT>) {\n this.props.onTileUnload(tile);\n }\n\n // Methods for subclass to override\n\n getTileData(tile: TileLoadProps): Promise<DataT> | DataT | null {\n const {data, getTileData, fetch} = this.props;\n const {signal} = tile;\n\n tile.url =\n typeof data === 'string' || Array.isArray(data) ? getURLFromTemplate(data, tile) : null;\n\n if (getTileData) {\n return getTileData(tile);\n }\n if (fetch && tile.url) {\n return fetch(tile.url, {propName: 'data', layer: this, signal});\n }\n return null;\n }\n\n renderSubLayers(\n props: TileLayer['props'] & {\n id: string;\n data: DataT;\n _offset: number;\n tile: Tile2DHeader<DataT>;\n }\n ): Layer | null | LayersList {\n return this.props.renderSubLayers(props);\n }\n\n getSubLayerPropsByTile(tile: Tile2DHeader): Partial<LayerProps> | null {\n return null;\n }\n\n getPickingInfo(params: GetPickingInfoParams): TileLayerPickingInfo<DataT> {\n // TileLayer does not directly render anything, sourceLayer cannot be null\n const sourceLayer = params.sourceLayer!;\n const sourceTile: Tile2DHeader<DataT> = (sourceLayer.props as any).tile;\n const info = params.info as TileLayerPickingInfo<DataT>;\n if (info.picked) {\n info.tile = sourceTile;\n }\n info.sourceTile = sourceTile;\n info.sourceTileSubLayer = sourceLayer;\n return info;\n }\n\n protected _updateAutoHighlight(info: TileLayerPickingInfo<DataT>): void {\n info.sourceTileSubLayer.updateAutoHighlight(info);\n }\n\n renderLayers(): Layer | null | LayersList {\n const {visibleMinZoom, visibleMaxZoom, minZoom, extent} = this.props;\n const zoom = this.context.viewport.zoom;\n const hidden =\n (visibleMinZoom != null && zoom < visibleMinZoom) ||\n (visibleMaxZoom != null && zoom > visibleMaxZoom) ||\n (minZoom != null && !extent && zoom < minZoom);\n if (hidden) {\n // Clear cached sublayer references so they are recreated when visible again\n for (const tile of this.state.tileset!.tiles) {\n tile.layers = null;\n }\n return [];\n }\n return this.state.tileset!.tiles.map((tile: Tile2DHeader) => {\n const subLayerProps = this.getSubLayerPropsByTile(tile);\n // cache the rendered layer in the tile\n if (!tile.isLoaded && !tile.content) {\n // nothing to show\n } else if (!tile.layers) {\n const layers = this.renderSubLayers({\n ...this.props,\n ...this.getSubLayerProps({\n id: tile.id,\n updateTriggers: this.props.updateTriggers\n }),\n data: tile.content,\n _offset: 0,\n tile\n });\n tile.layers = (flatten(layers, Boolean) as Layer<{tile?: Tile2DHeader}>[]).map(layer =>\n layer.clone({\n tile,\n ...subLayerProps\n })\n );\n } else if (\n subLayerProps &&\n tile.layers[0] &&\n Object.keys(subLayerProps).some(\n propName => tile.layers![0].props[propName] !== subLayerProps[propName]\n )\n ) {\n tile.layers = tile.layers.map(layer => layer.clone(subLayerProps));\n }\n return tile.layers;\n });\n }\n\n filterSubLayer({layer, cullRect}: FilterContext) {\n const {tile} = (layer as Layer<{tile: Tile2DHeader}>).props;\n const {modelMatrix} = this.props;\n return this.state.tileset!.isTileVisible(\n tile,\n cullRect,\n modelMatrix ? new Matrix4(modelMatrix) : null\n );\n }\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Viewport} from '@deck.gl/core';\n\nimport {RequestScheduler} from '@loaders.gl/loader-utils';\nimport {Matrix4, equals, NumericArray} from '@math.gl/core';\n\nimport {Tile2DHeader} from './tile-2d-header';\n\nimport {getTileIndices, tileToBoundingBox, getCullBounds, transformBox} from './utils';\nimport {Bounds, TileBoundingBox, TileIndex, ZRange} from './types';\nimport {TileLoadProps} from './types';\nimport {memoize} from './memoize';\n\n// bit masks\nconst TILE_STATE_VISITED = 1;\nconst TILE_STATE_VISIBLE = 2;\n/*\n show cached parent tile if children are loading\n +-----------+ +-----+ +-----+-----+\n | | | | | | |\n | | | | | | |\n | | --> +-----+-----+ -> +-----+-----+\n | | | | | | |\n | | | | | | |\n +-----------+ +-----+ +-----+-----+\n\n show cached children tiles when parent is loading\n +-------+---- +------------\n | | |\n | | |\n | | |\n +-------+---- --> |\n | | |\n */\n\nexport const STRATEGY_NEVER = 'never';\nexport const STRATEGY_REPLACE = 'no-overlap';\nexport const STRATEGY_DEFAULT = 'best-available';\n\nexport type RefinementStrategyFunction = (tiles: Tile2DHeader[]) => void;\nexport type RefinementStrategy =\n | 'never'\n | 'no-overlap'\n | 'best-available'\n | RefinementStrategyFunction;\n\nconst DEFAULT_CACHE_SCALE = 5;\nconst SELECTED_TILE_PRIORITY = 0;\nconst VISIBLE_TILE_PRIORITY = 1e8;\nconst MAX_TILE_DISTANCE_PRIORITY = VISIBLE_TILE_PRIORITY - SELECTED_TILE_PRIORITY - 1;\n\nconst STRATEGIES = {\n [STRATEGY_DEFAULT]: updateTileStateDefault,\n [STRATEGY_REPLACE]: updateTileStateReplace,\n [STRATEGY_NEVER]: () => {}\n};\n\nexport type Tileset2DProps<DataT = any> = {\n /** `getTileData` is called to retrieve the data of each tile. */\n getTileData: (props: TileLoadProps) => Promise<DataT> | DataT;\n\n /** The bounding box of the layer's data. */\n extent?: number[] | null;\n /** The pixel dimension of the tiles, usually a power of 2. */\n tileSize?: number;\n /** The max zoom level of the layer's data. @default null */\n maxZoom?: number | null;\n /** The min zoom level of the layer's data. @default 0 */\n minZoom?: number | null;\n /** The maximum number of tiles that can be cached. */\n maxCacheSize?: number | null;\n /** The maximum memory used for caching tiles. @default null */\n maxCacheByteSize?: number | null;\n /** How the tile layer refines the visibility of tiles. @default 'best-available' */\n refinementStrategy?: RefinementStrategy;\n /** Range of minimum and maximum heights in the tile. */\n zRange?: ZRange | null;\n /** The maximum number of concurrent getTileData calls. @default 6 */\n maxRequests?: number;\n /** Queue tile requests until no new tiles have been requested for at least `debounceTime` milliseconds. @default 0 */\n debounceTime?: number;\n /** Changes the zoom level at which the tiles are fetched. Needs to be an integer. @default 0 */\n zoomOffset?: number;\n /** The minimum zoom level at which tiles are visible. @default null */\n visibleMinZoom?: number | null;\n /** The maximum zoom level at which tiles are visible. @default null */\n visibleMaxZoom?: number | null;\n /** Called when a tile successfully loads. */\n onTileLoad?: (tile: Tile2DHeader<DataT>) => void;\n /** Called when a tile is cleared from cache. */\n onTileUnload?: (tile: Tile2DHeader<DataT>) => void;\n /** Called when a tile failed to load. */\n onTileError?: (err: any, tile: Tile2DHeader<DataT>) => void;\n\n // onTileLoad: (tile: Tile2DHeader) => void;\n // onTileUnload: (tile: Tile2DHeader) => void;\n // onTileError: (error: any, tile: Tile2DHeader) => void;\n /** Called when all tiles in the current viewport are loaded. */\n // sonViewportLoad?: ((tiles: Tile2DHeader<DataT>[]) => void) | null;\n};\n\nexport const DEFAULT_TILESET2D_PROPS: Omit<Required<Tileset2DProps>, 'getTileData'> = {\n extent: null,\n tileSize: 512,\n\n maxZoom: null,\n minZoom: null,\n maxCacheSize: null,\n maxCacheByteSize: null,\n refinementStrategy: 'best-available',\n zRange: null,\n maxRequests: 6,\n debounceTime: 0,\n zoomOffset: 0,\n visibleMinZoom: null,\n visibleMaxZoom: null,\n\n // onTileLoad: (tile: Tile2DHeader) => void, // onTileUnload: (tile: Tile2DHeader) => void, // onTileError: (error: any, tile: Tile2DHeader) => void, /** Called when all tiles in the current viewport are loaded. */\n // onViewportLoad: ((tiles: Tile2DHeader<DataT>[]) => void) | null,\n onTileLoad: () => {},\n onTileUnload: () => {},\n onTileError: () => {}\n};\n\n/**\n * Manages loading and purging of tile data. This class caches recently visited tiles\n * and only creates new tiles if they are present.\n */\nexport class Tileset2D {\n protected opts: Required<Tileset2DProps>;\n private _requestScheduler: RequestScheduler;\n private _cache: Map<string, Tile2DHeader>;\n private _dirty: boolean;\n private _tiles: Tile2DHeader[];\n\n private _cacheByteSize: number;\n private _viewport: Viewport | null;\n private _zRange: ZRange | null;\n private _selectedTiles: Tile2DHeader[] | null;\n private _frameNumber: number;\n private _modelMatrix: Matrix4;\n private _modelMatrixInverse: Matrix4;\n\n private _maxZoom?: number;\n private _minZoom?: number;\n\n private onTileLoad: (tile: Tile2DHeader) => void;\n\n /**\n * Takes in a function that returns tile data, a cache size, and a max and a min zoom level.\n * Cache size defaults to 5 * number of tiles in the current viewport\n */\n constructor(opts: Tileset2DProps) {\n this.opts = {...DEFAULT_TILESET2D_PROPS, ...opts};\n this.setOptions(this.opts);\n\n this.onTileLoad = tile => {\n this.opts.onTileLoad?.(tile);\n if (this.opts.maxCacheByteSize !== null) {\n this._cacheByteSize += tile.byteLength;\n this._resizeCache();\n }\n };\n\n this._requestScheduler = new RequestScheduler({\n throttleRequests: this.opts.maxRequests > 0 || this.opts.debounceTime > 0,\n maxRequests: this.opts.maxRequests,\n debounceTime: this.opts.debounceTime\n });\n\n // Maps tile id in string {z}-{x}-{y} to a Tile object\n this._cache = new Map();\n this._tiles = [];\n this._dirty = false;\n this._cacheByteSize = 0;\n\n // Cache the last processed viewport\n this._viewport = null;\n this._zRange = null;\n this._selectedTiles = null;\n this._frameNumber = 0;\n\n this._modelMatrix = new Matrix4();\n this._modelMatrixInverse = new Matrix4();\n }\n\n /* Public API */\n get tiles() {\n return this._tiles;\n }\n\n get selectedTiles(): Tile2DHeader[] | null {\n return this._selectedTiles;\n }\n\n get isLoaded(): boolean {\n return this._selectedTiles !== null && this._selectedTiles.every(tile => tile.isLoaded);\n }\n\n get needsReload(): boolean {\n return this._selectedTiles !== null && this._selectedTiles.some(tile => tile.needsReload);\n }\n\n setOptions(opts: Tileset2DProps): void {\n Object.assign(this.opts, opts);\n if (Number.isFinite(opts.maxZoom)) {\n this._maxZoom = Math.floor(opts.maxZoom as number);\n }\n if (Number.isFinite(opts.minZoom)) {\n this._minZoom = Math.ceil(opts.minZoom as number);\n }\n // Force re-evaluation of tile indices on next update\n this._viewport = null;\n }\n\n // Clean up any outstanding tile requests.\n finalize(): void {\n for (const tile of this._cache.values()) {\n if (tile.isLoading) {\n tile.abort();\n }\n }\n this._cache.clear();\n this._tiles = [];\n this._selectedTiles = null;\n }\n\n reloadAll(): void {\n for (const id of this._cache.keys()) {\n const tile = this._cache.get(id) as Tile2DHeader;\n if (!this._selectedTiles || !this._selectedTiles.includes(tile)) {\n this._cache.delete(id);\n } else {\n tile.setNeedsReload();\n }\n }\n }\n\n /**\n * Update the cache with the given viewport and model matrix and triggers callback onUpdate.\n */\n update(\n viewport: Viewport,\n {zRange, modelMatrix}: {zRange: ZRange | null; modelMatrix: NumericArray | null} = {\n zRange: null,\n modelMatrix: null\n }\n ): number {\n const modelMatrixAsMatrix4 = modelMatrix ? new Matrix4(modelMatrix) : new Matrix4();\n const isModelMatrixNew = !modelMatrixAsMatrix4.equals(this._modelMatrix);\n if (\n !this._viewport ||\n !viewport.equals(this._viewport) ||\n !equals(this._zRange, zRange) ||\n isModelMatrixNew\n ) {\n if (isModelMatrixNew) {\n this._modelMatrixInverse = modelMatrixAsMatrix4.clone().invert();\n this._modelMatrix = modelMatrixAsMatrix4;\n }\n this._viewport = viewport;\n this._zRange = zRange;\n const tileIndices = this.getTileIndices({\n viewport,\n maxZoom: this._maxZoom,\n minZoom: this._minZoom,\n zRange,\n modelMatrix: this._modelMatrix,\n modelMatrixInverse: this._modelMatrixInverse\n });\n this._selectedTiles = tileIndices.map(index => this._getTile(index, true));\n\n if (this._dirty) {\n // Some new tiles are added\n this._rebuildTree();\n }\n // Check for needed reloads explicitly even if the view/matrix has not changed.\n } else if (this.needsReload) {\n this._selectedTiles = this._selectedTiles!.map(tile => this._getTile(tile.index, true));\n }\n\n // Update tile states\n const changed = this.updateTileStates();\n this._pruneRequests();\n\n if (this._dirty) {\n // cache size is either the user defined maxSize or 5 * number of current tiles in the viewport.\n this._resizeCache();\n }\n\n if (changed) {\n this._frameNumber++;\n }\n\n return this._frameNumber;\n }\n\n // eslint-disable-next-line complexity\n isTileVisible(\n tile: Tile2DHeader,\n cullRect?: {x: number; y: number; width: number; height: number},\n modelMatrix?: Matrix4 | null\n ): boolean {\n if (!tile.isVisible) {\n return false;\n }\n\n if (cullRect && this._viewport) {\n const boundsArr = this._getCullBounds({\n viewport: this._viewport,\n z: this._zRange,\n cullRect\n });\n let {bbox} = tile;\n for (const [minX, minY, maxX, maxY] of boundsArr) {\n let overlaps;\n if ('west' in bbox) {\n overlaps = bbox.west < maxX && bbox.east > minX && bbox.south < maxY && bbox.north > minY;\n } else {\n if (modelMatrix && !Matrix4.IDENTITY.equals(modelMatrix)) {\n const [left, top, right, bottom] = transformBox(\n [bbox.left, bbox.top, bbox.right, bbox.bottom],\n modelMatrix\n );\n bbox = {left, top, right, bottom};\n }\n // top/bottom could be swapped depending on the indexing system\n const y0 = Math.min(bbox.top, bbox.bottom);\n const y1 = Math.max(bbox.top, bbox.bottom);\n overlaps = bbox.left < maxX && bbox.right > minX && y0 < maxY && y1 > minY;\n }\n if (overlaps) {\n return true;\n }\n }\n return false;\n }\n return true;\n }\n\n /* Public interface for subclassing */\n\n /** Returns array of tile indices in the current viewport */\n getTileIndices({\n viewport,\n maxZoom,\n minZoom,\n zRange,\n modelMatrix,\n modelMatrixInverse\n }: {\n viewport: Viewport;\n maxZoom?: number;\n minZoom?: number;\n zRange: ZRange | null;\n tileSize?: number;\n modelMatrix?: Matrix4;\n modelMatrixInverse?: Matrix4;\n zoomOffset?: number;\n }): TileIndex[] {\n const {tileSize, extent, zoomOffset, visibleMinZoom, visibleMaxZoom} = this.opts;\n return getTileIndices({\n viewport,\n maxZoom,\n minZoom,\n zRange,\n tileSize,\n extent: extent as Bounds | undefined,\n modelMatrix,\n modelMatrixInverse,\n zoomOffset,\n visibleMinZoom,\n visibleMaxZoom\n });\n }\n\n /** Returns unique string key for a tile index */\n getTileId(index: TileIndex) {\n return `${index.x}-${index.y}-${index.z}`;\n }\n\n /** Returns a zoom level for a tile index */\n getTileZoom(index: TileIndex) {\n return index.z;\n }\n\n /** Returns additional metadata to add to tile, bbox by default */\n getTileMetadata(index: TileIndex): Record<string, any> {\n const {tileSize} = this.opts;\n return {bbox: tileToBoundingBox(this._viewport!, index.x, index.y, index.z, tileSize)};\n }\n\n /** Returns index of the parent tile */\n getParentIndex(index: TileIndex) {\n const x = Math.floor(index.x / 2);\n const y = Math.floor(index.y / 2);\n const z = index.z - 1;\n return {x, y, z};\n }\n\n // Returns true if any tile's visibility changed\n private updateTileStates() {\n const refinementStrategy = this.opts.refinementStrategy || STRATEGY_DEFAULT;\n\n const visibilities = new Array(this._cache.size);\n let i = 0;\n // Reset state\n for (const tile of this._cache.values()) {\n // save previous state\n visibilities[i++] = tile.isVisible;\n tile.isSelected = false;\n tile.isVisible = false;\n }\n // @ts-expect-error called only when _selectedTiles is already defined\n for (const tile of this._selectedTiles) {\n tile.isSelected = true;\n tile.isVisible = true;\n }\n\n // Strategy-specific state logic\n (typeof refinementStrategy === 'function'\n ? refinementStrategy\n : STRATEGIES[refinementStrategy])(Array.from(this._cache.values()));\n\n i = 0;\n // Check if any visibility has changed\n for (const tile of this._cache.values()) {\n if (visibilities[i++] !== tile.isVisible) {\n return true;\n }\n }\n\n return false;\n }\n\n /* Private methods */\n\n private _getCullBounds = memoize(getCullBounds);\n\n private _getRequestPriority(tile: Tile2DHeader): number {\n if (!tile.isSelected && !tile.isVisible) {\n return -1;\n }\n\n // RequestScheduler loads lower priority values first.\n const distance = this._getTileDistancePriority(tile);\n if (tile.isSelected) {\n return SELECTED_TILE_PRIORITY + distance;\n }\n return VISIBLE_TILE_PRIORITY + distance;\n }\n\n private _getTileDistancePriority(tile: Tile2DHeader): number {\n const {width, height} = this._viewport || {};\n if (!this._viewport || !width || !height) {\n return 0;\n }\n\n try {\n const points = this._getTileScreenCorners(tile.bbox);\n const center: [number, number] = [width / 2, height / 2];\n if (points.length === 4) {\n if (this._isPointInPolygon(center, points)) {\n return 0;\n }\n const distance = points.reduce((minDistance, point, i) => {\n const nextPoint = points[(i + 1) % points.length];\n return Math.min(\n minDistance,\n this._getPointToSegmentDistanceSquared(center, point, nextPoint)\n );\n }, Number.MAX_SAFE_INTEGER);\n return Math.min(distance, MAX_TILE_DISTANCE_PRIORITY);\n }\n } catch {\n // Some viewport/tile combinations are not projectable. Keep them valid but last in tier.\n }\n return MAX_TILE_DISTANCE_PRIORITY;\n }\n\n private _getTileScreenCorners(bbox: TileBoundingBox): [number, number][] {\n const coordinates: [number, number][] =\n 'west' in bbox\n ? [\n [bbox.west, bbox.south],\n [bbox.east, bbox.south],\n [bbox.east, bbox.north],\n [bbox.west, bbox.north]\n ]\n : [\n [bbox.left, bbox.top],\n [bbox.right, bbox.top],\n [bbox.right, bbox.bottom],\n [bbox.left, bbox.bottom]\n ];\n\n return coordinates\n .map(coordinate => this._viewport!.project(coordinate))\n .filter(([x, y]) => Number.isFinite(x) && Number.isFinite(y)) as [number, number][];\n }\n\n private _isPointInPolygon(point: [number, number], polygon: [number, number][]): boolean {\n let inside = false;\n const [x, y] = point;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const [xi, yi] = polygon[i];\n const [xj, yj] = polygon[j];\n if (yi > y !== yj > y && x < ((xj - xi) * (y - yi)) / (yj - yi) + xi) {\n inside = !inside;\n }\n }\n return inside;\n }\n\n private _getPointToSegmentDistanceSquared(\n point: [number, number],\n segmentStart: [number, number],\n segmentEnd: [number, number]\n ): number {\n const [x, y] = point;\n const [x1, y1] = segmentStart;\n const [x2, y2] = segmentEnd;\n const dx = x2 - x1;\n const dy = y2 - y1;\n const lengthSquared = dx * dx + dy * dy;\n const t = lengthSquared\n ? Math.max(0, Math.min(1, ((x - x1) * dx + (y - y1) * dy) / lengthSquared))\n : 0;\n const segmentX = x1 + t * dx;\n const segmentY = y1 + t * dy;\n const distanceX = x - segmentX;\n const distanceY = y - segmentY;\n return distanceX * distanceX + distanceY * distanceY;\n }\n\n private _pruneRequests(): void {\n const {maxRequests = 0} = this.opts;\n\n const abortCandidates: Tile2DHeader[] = [];\n let ongoingRequestCount = 0;\n for (const tile of this._cache.values()) {\n // Keep track of all the ongoing requests\n if (tile.isLoading) {\n ongoingRequestCount++;\n if (!tile.isSelected && !tile.isVisible) {\n abortCandidates.push(tile);\n }\n }\n }\n\n while (maxRequests > 0 && ongoingRequestCount > maxRequests && abortCandidates.length > 0) {\n // There are too many ongoing requests, so abort some that are unselected\n const tile = abortCandidates.shift()!;\n tile.abort();\n ongoingRequestCount--;\n }\n }\n\n // This needs to be called every time some tiles have been added/removed from cache\n private _rebuildTree() {\n const {_cache} = this;\n\n // Reset states\n for (const tile of _cache.values()) {\n tile.parent = null;\n if (tile.children) {\n tile.children.length = 0;\n }\n }\n\n // Rebuild tree\n for (const tile of _cache.values()) {\n const parent = this._getNearestAncestor(tile);\n tile.parent = parent;\n if (parent?.children) {\n parent.children.push(tile);\n }\n }\n }\n\n /**\n * Clear tiles that are not visible when the cache is full\n */\n /* eslint-disable complexity */\n private _resizeCache() {\n const {_cache, opts} = this;\n\n const maxCacheSize =\n opts.maxCacheSize ??\n // @ts-expect-error called only when selectedTiles is initialized\n (opts.maxCacheByteSize !== null ? Infinity : DEFAULT_CACHE_SCALE * this.selectedTiles.length);\n const maxCacheByteSize = opts.maxCacheByteSize ?? Infinity;\n\n const overflown = _cache.size > maxCacheSize || this._cacheByteSize > maxCacheByteSize;\n\n if (overflown) {\n for (const [id, tile] of _cache) {\n if (!tile.isVisible && !tile.isSelected) {\n // delete tile\n this._cacheByteSize -= opts.maxCacheByteSize !== null ? tile.byteLength : 0;\n _cache.delete(id);\n this.opts.onTileUnload?.(tile);\n }\n if (_cache.size <= maxCacheSize && this._cacheByteSize <= maxCacheByteSize) {\n break;\n }\n }\n this._rebuildTree();\n this._dirty = true;\n }\n if (this._dirty) {\n // sort by zoom level so that smaller tiles are displayed on top\n this._tiles = Array.from(this._cache.values()).sort((t1, t2) => t1.zoom - t2.zoom);\n\n this._dirty = false;\n }\n }\n /* eslint-enable complexity */\n\n private _getTile(index: TileIndex, create: true): Tile2DHeader;\n private _getTile(index: TileIndex, create?: false): Tile2DHeader | undefined;\n private _getTile(index: TileIndex, create?: boolean): Tile2DHeader | undefined {\n const id = this.getTileId(index);\n let tile = this._cache.get(id);\n let needsReload = false;\n\n if (!tile && create) {\n tile = new Tile2DHeader(index);\n Object.assign(tile, this.getTileMetadata(tile.index));\n Object.assign(tile, {id, zoom: this.getTileZoom(tile.index)});\n needsReload = true;\n this._cache.set(id, tile);\n this._dirty = true;\n } else if (tile && tile.needsReload) {\n needsReload = true;\n }\n if (tile && needsReload) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n tile.loadData({\n getData: this.opts.getTileData,\n getRequestPriority: this._getRequestPriority.bind(this),\n requestScheduler: this._requestScheduler,\n onLoad: this.onTileLoad,\n onError: this.opts.onTileError\n });\n }\n\n return tile;\n }\n\n _getNearestAncestor(tile: Tile2DHeader): Tile2DHeader | null {\n const {_minZoom = 0} = this;\n\n let index = tile.index;\n while (this.getTileZoom(index) > _minZoom) {\n index = this.getParentIndex(index);\n const parent = this._getTile(index);\n if (parent) {\n return parent;\n }\n }\n return null;\n }\n}\n\n/* -- Refinement strategies --*/\n/* eslint-disable max-depth */\n\n// For all the selected && pending tiles:\n// - pick the closest ancestor as placeholder\n// - if no ancestor is visible, pick the closest children as placeholder\nfunction updateTileStateDefault(allTiles: Tile2DHeader[]) {\n for (const tile of allTiles) {\n tile.state = 0;\n }\n for (const tile of allTiles) {\n if (tile.isSelected && !getPlaceholderInAncestors(tile)) {\n getPlaceholderInChildren(tile);\n }\n }\n for (const tile of allTiles) {\n tile.isVisible = Boolean(tile.state! & TILE_STATE_VISIBLE);\n }\n}\n\n// Until a selected tile and all its selected siblings are loaded, use the closest ancestor as placeholder\nfunction updateTileStateReplace(allTiles: Tile2DHeader[]) {\n for (const tile of allTiles) {\n tile.state = 0;\n }\n for (const tile of allTiles) {\n if (tile.isSelected) {\n getPlaceholderInAncestors(tile);\n }\n }\n // Always process parents first\n const sortedTiles = Array.from(allTiles).sort((t1, t2) => t1.zoom - t2.zoom);\n for (const tile of sortedTiles) {\n tile.isVisible = Boolean(tile.state! & TILE_STATE_VISIBLE);\n\n if (tile.children && (tile.isVisible || tile.state! & TILE_STATE_VISITED)) {\n // If the tile is rendered, or if the tile has been explicitly hidden, hide all of its children\n for (const child of tile.children) {\n child.state = TILE_STATE_VISITED;\n }\n } else if (tile.isSelected) {\n getPlaceholderInChildren(tile);\n }\n }\n}\n\n// Walk up the tree until we find one ancestor that is loaded. Returns true if successful.\nfunction getPlaceholderInAncestors(startTile: Tile2DHeader) {\n let tile: Tile2DHeader | null = startTile;\n while (tile) {\n if (tile.isLoaded || tile.content) {\n tile.state! |= TILE_STATE_VISIBLE;\n return true;\n }\n tile = tile.parent;\n }\n return false;\n}\n\n// Recursively set children as placeholder\nfunction getPlaceholderInChildren(tile) {\n for (const child of tile.children) {\n if (child.isLoaded || child.content) {\n child.state |= TILE_STATE_VISIBLE;\n } else {\n getPlaceholderInChildren(child);\n }\n }\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/* eslint-env browser */\nimport {RequestScheduler} from '@loaders.gl/loader-utils';\nimport {TileBoundingBox, TileIndex, TileLoadProps} from './types';\nimport type {Layer} from '@deck.gl/core';\n\nexport type TileLoadDataProps<DataT = any> = {\n requestScheduler: RequestScheduler;\n getData: (props: TileLoadProps) => Promise<DataT>;\n getRequestPriority: (tile: Tile2DHeader<DataT>) => number;\n onLoad: (tile: Tile2DHeader<DataT>) => void;\n onError: (error: any, tile: Tile2DHeader<DataT>) => void;\n};\n\nexport class Tile2DHeader<DataT = any> {\n index: TileIndex;\n isVisible: boolean;\n isSelected: boolean;\n parent: Tile2DHeader | null;\n children: Tile2DHeader[] | null;\n content: DataT | null;\n state?: number;\n layers?: Layer[] | null;\n\n id!: string; // assigned _always_ with result of `getTileId`\n zoom!: number; // assigned _always_ with result of `getTileZoom`\n userData?: Record<string, any>; // _may be_ assigned with result of `getTileMetadata`\n boundingBox!: [min: number[], max: number[]]; // assigned _always_ with bbox from `getTileMetadata`\n\n private _abortController: AbortController | null;\n private _loader: Promise<void> | undefined;\n private _loaderId: number;\n private _isLoaded: boolean;\n private _isCancelled: boolean;\n private _needsReload: boolean;\n private _bbox!: TileBoundingBox;\n\n constructor(index: TileIndex) {\n this.index = index;\n this.isVisible = false;\n this.isSelected = false;\n this.parent = null;\n this.children = [];\n\n this.content = null;\n\n this._loader = undefined;\n this._abortController = null;\n this._loaderId = 0;\n this._isLoaded = false;\n this._isCancelled = false;\n this._needsReload = false;\n }\n\n /** @deprecated use `boundingBox` instead */\n get bbox(): TileBoundingBox {\n return this._bbox;\n }\n\n // TODO - remove in v9\n set bbox(value: TileBoundingBox) {\n // Only set once from `Tileset2D.getTileMetadata`\n if (this._bbox) return;\n\n this._bbox = value;\n if ('west' in value) {\n this.boundingBox = [\n [value.west, value.south],\n [value.east, value.north]\n ];\n } else {\n this.boundingBox = [\n [value.left, value.top],\n [value.right, value.bottom]\n ];\n }\n }\n\n get data(): Promise<DataT | null> | DataT | null {\n return this.isLoading && this._loader ? this._loader.then(() => this.data) : this.content;\n }\n\n get isLoaded(): boolean {\n return this._isLoaded && !this._needsReload;\n }\n\n get isLoading(): boolean {\n return Boolean(this._loader) && !this._isCancelled;\n }\n\n get needsReload(): boolean {\n return this._needsReload || this._isCancelled;\n }\n\n get byteLength(): number {\n const result = this.content ? (this.content as any).byteLength : 0;\n if (!Number.isFinite(result)) {\n // eslint-disable-next-line no-console\n console.error('byteLength not defined in tile data');\n }\n return result;\n }\n\n /* eslint-disable max-statements */\n private async _loadData({\n getData,\n getRequestPriority,\n requestScheduler,\n onLoad,\n onError\n }: TileLoadDataProps<DataT>): Promise<void> {\n const {index, id, bbox, userData, zoom} = this;\n const loaderId = this._loaderId;\n\n this._abortController = new AbortController();\n const {signal} = this._abortController;\n\n // @ts-expect-error (2345) loaders.gl's RequestScheduler callback type is too narrow.\n const requestToken = await requestScheduler.scheduleRequest(this, getRequestPriority);\n\n if (!requestToken) {\n this._isCancelled = true;\n return;\n }\n // A tile can be cancelled while being scheduled\n if (this._isCancelled) {\n requestToken.done();\n return;\n }\n\n let tileData: DataT | null = null;\n let error;\n try {\n tileData = await getData({index, id, bbox, userData, zoom, signal});\n } catch (err) {\n error = err || true;\n } finally {\n requestToken.done();\n }\n\n // If loadData has been called with a newer version, discard the result from this operation\n if (loaderId !== this._loaderId) {\n return;\n }\n // Clear the `isLoading` flag\n this._loader = undefined;\n // Rewrite tile content with the result of getTileData if successful, or `null` in case of\n // error or cancellation. A `null` tile is still a terminal result for the request: the tile\n // should stop blocking viewport loading even if the source returned 404 / empty content.\n this.content = tileData;\n // If cancelled, do not invoke the callbacks\n // Consider it loaded if we tried to cancel but `getTileData` still returned data\n if (this._isCancelled && !tileData) {\n this._isLoaded = false;\n return;\n }\n // Errors are reported via onError below, but the request itself has completed. Mark the tile\n // as loaded so higher-level layers can treat expected missing tiles as settled instead of\n // waiting forever for content or sublayers that will never exist.\n this._isLoaded = true;\n this._isCancelled = false;\n\n if (error) {\n onError(error, this);\n } else {\n onLoad(this);\n }\n }\n\n loadData(opts: TileLoadDataProps): Promise<void> {\n this._isLoaded = false;\n this._isCancelled = false;\n this._needsReload = false;\n this._loaderId++;\n this._loader = this._loadData(opts);\n return this._loader;\n }\n\n setNeedsReload(): void {\n if (this.isLoading) {\n this.abort();\n this._loader = undefined;\n }\n this._needsReload = true;\n }\n\n abort(): void {\n if (this.isLoaded) {\n return;\n }\n\n this._isCancelled = true;\n this._abortController?.abort();\n }\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Viewport, WebMercatorViewport, _GlobeViewport} from '@deck.gl/core';\n\nimport {\n CullingVolume,\n Plane,\n AxisAlignedBoundingBox,\n makeOrientedBoundingBoxFromPoints\n} from '@math.gl/culling';\nimport {lngLatToWorld} from '@math.gl/web-mercator';\nimport {Bounds, TileIndex, ZRange} from './types';\nimport {osmTile2lngLat} from './utils';\n\nconst TILE_SIZE = 512;\n// number of world copies to check\nconst MAX_MAPS = 3;\n// for calculating bounding volume of a tile in a non-web-mercator viewport\nconst REF_POINTS_5 = [\n [0.5, 0.5],\n [0, 0],\n [0, 1],\n [1, 0],\n [1, 1]\n]; // 4 corners and center\nconst REF_POINTS_9 = REF_POINTS_5.concat([\n [0, 0.5],\n [0.5, 0],\n [1, 0.5],\n [0.5, 1]\n]); // 4 corners, center and 4 mid points\nconst REF_POINTS_11 = REF_POINTS_9.concat([\n [0.25, 0.5],\n [0.75, 0.5]\n]); // 2 additional points on equator for top tile\n\nclass OSMNode {\n x: number;\n y: number;\n z: number;\n\n private childVisible?: boolean;\n private selected?: boolean;\n\n private _children?: OSMNode[];\n\n constructor(x, y, z) {\n this.x = x;\n this.y = y;\n this.z = z;\n }\n\n get children() {\n if (!this._children) {\n const x = this.x * 2;\n const y = this.y * 2;\n const z = this.z + 1;\n this._children = [\n new OSMNode(x, y, z),\n new OSMNode(x, y + 1, z),\n new OSMNode(x + 1, y, z),\n new OSMNode(x + 1, y + 1, z)\n ];\n }\n return this._children;\n }\n\n // eslint-disable-next-line complexity\n update(params: {\n viewport: Viewport;\n project: ((xyz: number[]) => number[]) | null;\n cullingVolume: CullingVolume;\n elevationBounds: ZRange;\n minZ: number;\n maxZ: number;\n bounds?: Bounds;\n offset: number;\n }) {\n const {viewport, cullingVolume, elevationBounds, minZ, maxZ, bounds, offset, project} = params;\n const boundingVolume = this.getBoundingVolume(elevationBounds, offset, project);\n\n // First, check if this tile is visible\n if (bounds && !this.insideBounds(bounds)) {\n return false;\n }\n\n const isInside = cullingVolume.computeVisibility(boundingVolume);\n if (isInside < 0) {\n return false;\n }\n\n // Globe: reject tiles occluded by the near hemisphere\n if (project && this.beyondHorizon(viewport.cameraPosition, project, elevationBounds[1])) {\n return false;\n }\n\n // Avoid loading overlapping tiles - if a descendant is requested, do not request the ancester\n if (!this.childVisible) {\n let {z} = this;\n if (z < maxZ && z >= minZ) {\n // Adjust LOD\n // If the tile is far enough from the camera, accept a lower zoom level\n const distance =\n (boundingVolume.distanceTo(viewport.cameraPosition) * viewport.scale) / viewport.height;\n z += Math.floor(Math.log2(distance));\n }\n if (z >= maxZ) {\n // LOD is acceptable\n this.selected = true;\n return true;\n }\n }\n\n // LOD is not enough, recursively test child tiles\n this.selected = false;\n this.childVisible = true;\n for (const child of this.children) {\n child.update(params);\n }\n return true;\n }\n\n getSelected(result: OSMNode[] = []): OSMNode[] {\n if (this.selected) {\n result.push(this);\n }\n if (this._children) {\n for (const node of this._children) {\n node.getSelected(result);\n }\n }\n return result;\n }\n\n beyondHorizon(\n cameraPosition: number[],\n project: (xyz: number[]) => number[],\n elevation: number\n ): boolean {\n const cx = cameraPosition[0];\n const cy = cameraPosition[1];\n const cz = cameraPosition[2];\n const cMag = Math.sqrt(cx * cx + cy * cy + cz * cz);\n\n const camLng = (Math.atan2(cx, -cy) * 180) / Math.PI;\n const camLat = (Math.asin(cz / cMag) * 180) / Math.PI;\n\n const [west, north] = osmTile2lngLat(this.x, this.y, this.z);\n const [east, south] = osmTile2lngLat(this.x + 1, this.y + 1, this.z);\n\n const tileCenterLng = (west + east) / 2;\n const wrappedCamLng = tileCenterLng + (((camLng - tileCenterLng + 540) % 360) - 180);\n const closestLng = Math.max(west, Math.min(wrappedCamLng, east));\n const closestLat = Math.max(south, Math.min(camLat, north));\n\n const closest = project([closestLng, closestLat, elevation]);\n const dot = closest[0] * cx + closest[1] * cy + closest[2] * cz;\n const magSq = closest[0] * closest[0] + closest[1] * closest[1] + closest[2] * closest[2];\n return dot <= magSq;\n }\n\n insideBounds([minX, minY, maxX, maxY]: Bounds): boolean {\n const scale = Math.pow(2, this.z);\n const extent = TILE_SIZE / scale;\n\n return (\n this.x * extent < maxX &&\n this.y * extent < maxY &&\n (this.x + 1) * extent > minX &&\n (this.y + 1) * extent > minY\n );\n }\n\n getBoundingVolume(\n zRange: ZRange,\n worldOffset: number,\n project: ((xyz: number[]) => number[]) | null\n ) {\n if (project) {\n // Custom projection\n // Estimate bounding box from sample points\n // At low zoom level we need more samples to calculate the bounding volume correctly\n const refPoints = this.z < 1 ? REF_POINTS_11 : this.z < 2 ? REF_POINTS_9 : REF_POINTS_5;\n\n // Convert from tile-relative coordinates to common space\n const refPointPositions: number[][] = [];\n for (const p of refPoints) {\n const lngLat: number[] = osmTile2lngLat(this.x + p[0], this.y + p[1], this.z);\n lngLat[2] = zRange[0];\n refPointPositions.push(project(lngLat));\n\n if (zRange[0] !== zRange[1]) {\n // Account for the elevation volume\n lngLat[2] = zRange[1];\n refPointPositions.push(project(lngLat));\n }\n }\n\n return makeOrientedBoundingBoxFromPoints(refPointPositions);\n }\n\n // Use WebMercator projection\n const scale = Math.pow(2, this.z);\n const extent = TILE_SIZE / scale;\n const originX = this.x * extent + worldOffset * TILE_SIZE;\n // deck's common space is y-flipped\n const originY = TILE_SIZE - (this.y + 1) * extent;\n\n return new AxisAlignedBoundingBox(\n [originX, originY, zRange[0]],\n [originX + extent, originY + extent, zRange[1]]\n );\n }\n}\n\n// eslint-disable-next-line complexity\nexport function getOSMTileIndices(\n viewport: Viewport,\n maxZ: number,\n zRange: ZRange | null,\n bounds?: Bounds\n): TileIndex[] {\n const project: ((xyz: number[]) => number[]) | null =\n viewport instanceof _GlobeViewport\n ? // eslint-disable-next-line @typescript-eslint/unbound-method\n viewport.projectPosition\n : null;\n\n // Get the culling volume of the current camera\n const planes: Plane[] = Object.values(viewport.getFrustumPlanes()).map(\n ({normal, distance}) => new Plane(normal.clone().negate(), distance)\n );\n const cullingVolume = new CullingVolume(planes);\n\n // Project zRange from meters to common space\n const unitsPerMeter = viewport.distanceScales.unitsPerMeter[2];\n const elevationMin = (zRange && zRange[0] * unitsPerMeter) || 0;\n const elevationMax = (zRange && zRange[1] * unitsPerMeter) || 0;\n\n // Always load at the current zoom level if pitch is small\n const minZ = viewport instanceof WebMercatorViewport && viewport.pitch <= 60 ? maxZ : 0;\n\n // Map extent to OSM position\n if (bounds) {\n const [minLng, minLat, maxLng, maxLat] = bounds;\n const topLeft = lngLatToWorld([minLng, maxLat]);\n const bottomRight = lngLatToWorld([maxLng, minLat]);\n bounds = [topLeft[0], TILE_SIZE - topLeft[1], bottomRight[0], TILE_SIZE - bottomRight[1]];\n }\n\n const root = new OSMNode(0, 0, 0);\n const traversalParams = {\n viewport,\n project,\n cullingVolume,\n elevationBounds: [elevationMin, elevationMax] as ZRange,\n minZ,\n maxZ,\n bounds,\n // num. of worlds from the center. For repeated maps\n offset: 0\n };\n\n root.update(traversalParams);\n\n if (\n viewport instanceof WebMercatorViewport &&\n viewport.subViewports &&\n viewport.subViewports.length > 1\n ) {\n // Check worlds in repeated maps\n traversalParams.offset = -1;\n while (root.update(traversalParams)) {\n if (--traversalParams.offset < -MAX_MAPS) {\n break;\n }\n }\n traversalParams.offset = 1;\n while (root.update(traversalParams)) {\n if (++traversalParams.offset > MAX_MAPS) {\n break;\n }\n }\n }\n\n return root.getSelected();\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Viewport} from '@deck.gl/core';\nimport {Matrix4} from '@math.gl/core';\nimport {getOSMTileIndices} from './tile-2d-traversal';\nimport {Bounds, GeoBoundingBox, TileBoundingBox, TileIndex, ZRange} from './types';\n\nconst TILE_SIZE = 512;\nconst DEFAULT_EXTENT: Bounds = [-Infinity, -Infinity, Infinity, Infinity];\n\nexport type URLTemplate = string | string[] | null;\n\nexport const urlType = {\n type: 'object' as const,\n value: null as URLTemplate,\n validate: (value, propType) =>\n (propType.optional && value === null) ||\n typeof value === 'string' ||\n (Array.isArray(value) && value.every(url => typeof url === 'string')),\n equal: (value1, value2) => {\n if (value1 === value2) {\n return true;\n }\n if (!Array.isArray(value1) || !Array.isArray(value2)) {\n return false;\n }\n const len = value1.length;\n if (len !== value2.length) {\n return false;\n }\n for (let i = 0; i < len; i++) {\n if (value1[i] !== value2[i]) {\n return false;\n }\n }\n return true;\n }\n};\n\nexport function transformBox(bbox: Bounds, modelMatrix: Matrix4): Bounds {\n const transformedCoords = [\n // top-left\n modelMatrix.transformAsPoint([bbox[0], bbox[1]]),\n // top-right\n modelMatrix.transformAsPoint([bbox[2], bbox[1]]),\n // bottom-left\n modelMatrix.transformAsPoint([bbox[0], bbox[3]]),\n // bottom-right\n modelMatrix.transformAsPoint([bbox[2], bbox[3]])\n ];\n const transformedBox: Bounds = [\n // Minimum x coord\n Math.min(...transformedCoords.map(i => i[0])),\n // Minimum y coord\n Math.min(...transformedCoords.map(i => i[1])),\n // Max x coord\n Math.max(...transformedCoords.map(i => i[0])),\n // Max y coord\n Math.max(...transformedCoords.map(i => i[1]))\n ];\n return transformedBox;\n}\n\nfunction stringHash(s: string): number {\n return Math.abs(s.split('').reduce((a, b) => ((a << 5) - a + b.charCodeAt(0)) | 0, 0));\n}\n\nexport function getURLFromTemplate(\n template: URLTemplate,\n tile: {\n index: TileIndex;\n id: string;\n }\n): string | null {\n if (!template || !template.length) {\n return null;\n }\n const {index, id} = tile;\n\n if (Array.isArray(template)) {\n const i = stringHash(id) % template.length;\n template = template[i];\n }\n\n let url = template;\n for (const key of Object.keys(index)) {\n const regex = new RegExp(`{${key}}`, 'g');\n url = url.replace(regex, String(index[key]));\n }\n\n // Back-compatible support for {-y}\n if (Number.isInteger(index.y) && Number.isInteger(index.z)) {\n url = url.replace(/\\{-y\\}/g, String(Math.pow(2, index.z) - index.y - 1));\n }\n return url;\n}\n\n/**\n * gets the bounding box of a viewport\n */\nfunction getBoundingBox(viewport: Viewport, zRange: number[] | null, extent: Bounds): Bounds {\n let bounds;\n if (zRange && zRange.length === 2) {\n const [minZ, maxZ] = zRange;\n const bounds0 = viewport.getBounds({z: minZ});\n const bounds1 = viewport.getBounds({z: maxZ});\n bounds = [\n Math.min(bounds0[0], bounds1[0]),\n Math.min(bounds0[1], bounds1[1]),\n Math.max(bounds0[2], bounds1[2]),\n Math.max(bounds0[3], bounds1[3])\n ];\n } else {\n bounds = viewport.getBounds();\n }\n if (!viewport.isGeospatial) {\n return [\n // Top corner should not be more then bottom corner in either direction\n Math.max(Math.min(bounds[0], extent[2]), extent[0]),\n Math.max(Math.min(bounds[1], extent[3]), extent[1]),\n // Bottom corner should not be less then top corner in either direction\n Math.min(Math.max(bounds[2], extent[0]), extent[2]),\n Math.min(Math.max(bounds[3], extent[1]), extent[3])\n ];\n }\n return [\n Math.max(bounds[0], extent[0]),\n Math.max(bounds[1], extent[1]),\n Math.min(bounds[2], extent[2]),\n Math.min(bounds[3], extent[3])\n ];\n}\n\n/** Get culling bounds in world space */\nexport function getCullBounds({\n viewport,\n z,\n cullRect\n}: {\n /** Current viewport */\n viewport: Viewport;\n /** Current z range */\n z: ZRange | number | null;\n /** Culling rectangle in screen space */\n cullRect: {x: number; y: number; width: number; height: number};\n}): [number, number, number, number][] {\n const subViewports = viewport.subViewports || [viewport];\n return subViewports.map(v => getCullBoundsInViewport(v, z || 0, cullRect));\n}\n\nfunction getCullBoundsInViewport(\n /** Current viewport */\n viewport: Viewport,\n /** At altitude */\n z: ZRange | number,\n /** Culling rectangle in screen space */\n cullRect: {x: number; y: number; width: number; height: number}\n): [number, number, number, number] {\n if (!Array.isArray(z)) {\n const x = cullRect.x - viewport.x;\n const y = cullRect.y - viewport.y;\n const {width, height} = cullRect;\n\n const unprojectOption = {targetZ: z};\n\n const topLeft = viewport.unproject([x, y], unprojectOption);\n const topRight = viewport.unproject([x + width, y], unprojectOption);\n const bottomLeft = viewport.unproject([x, y + height], unprojectOption);\n const bottomRight = viewport.unproject([x + width, y + height], unprojectOption);\n\n return [\n Math.min(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]),\n Math.min(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1]),\n Math.max(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]),\n Math.max(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1])\n ];\n }\n\n const bounds0 = getCullBoundsInViewport(viewport, z[0], cullRect);\n const bounds1 = getCullBoundsInViewport(viewport, z[1], cullRect);\n\n return [\n Math.min(bounds0[0], bounds1[0]),\n Math.min(bounds0[1], bounds1[1]),\n Math.max(bounds0[2], bounds1[2]),\n Math.max(bounds0[3], bounds1[3])\n ];\n}\n\nfunction getIndexingCoords(bbox: Bounds, scale: number, modelMatrixInverse?: Matrix4): Bounds {\n if (modelMatrixInverse) {\n const transformedTileIndex = transformBox(bbox, modelMatrixInverse).map(\n i => (i * scale) / TILE_SIZE\n );\n return transformedTileIndex as Bounds;\n }\n return bbox.map(i => (i * scale) / TILE_SIZE) as Bounds;\n}\n\nfunction getScale(z: number, tileSize: number): number {\n return (Math.pow(2, z) * TILE_SIZE) / tileSize;\n}\n\n// https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#Lon..2Flat._to_tile_numbers_2\nexport function osmTile2lngLat(x: number, y: number, z: number): [number, number] {\n const scale = getScale(z, TILE_SIZE);\n const lng = (x / scale) * 360 - 180;\n const n = Math.PI - (2 * Math.PI * y) / scale;\n const lat = (180 / Math.PI) * Math.atan(0.5 * (Math.exp(n) - Math.exp(-n)));\n return [lng, lat];\n}\n\nfunction tile2XY(x: number, y: number, z: number, tileSize: number): [number, number] {\n const scale = getScale(z, tileSize);\n return [(x / scale) * TILE_SIZE, (y / scale) * TILE_SIZE];\n}\nexport function tileToBoundingBox(\n viewport: Viewport,\n x: number,\n y: number,\n z: number,\n tileSize: number = TILE_SIZE\n): TileBoundingBox {\n if (viewport.isGeospatial) {\n const [west, north] = osmTile2lngLat(x, y, z);\n const [east, south] = osmTile2lngLat(x + 1, y + 1, z);\n return {west, north, east, south};\n }\n const [left, top] = tile2XY(x, y, z, tileSize);\n const [right, bottom] = tile2XY(x + 1, y + 1, z, tileSize);\n return {left, top, right, bottom};\n}\n\nfunction getIdentityTileIndices(\n viewport: Viewport,\n z: number,\n tileSize: number,\n extent: Bounds,\n modelMatrixInverse?: Matrix4\n) {\n const bbox = getBoundingBox(viewport, null, extent);\n const scale = getScale(z, tileSize);\n const [minX, minY, maxX, maxY] = getIndexingCoords(bbox, scale, modelMatrixInverse);\n const indices: TileIndex[] = [];\n\n /*\n | TILE | TILE | TILE |\n |(minX) |(maxX)\n */\n for (let x = Math.floor(minX); x < maxX; x++) {\n for (let y = Math.floor(minY); y < maxY; y++) {\n indices.push({x, y, z});\n }\n }\n return indices;\n}\n\n/**\n * Returns all tile indices in the current viewport. If the current zoom level is smaller\n * than minZoom, return an empty array. If the current zoom level is greater than maxZoom,\n * return tiles that are on maxZoom.\n */\n// eslint-disable-next-line complexity\nexport function getTileIndices({\n viewport,\n maxZoom,\n minZoom,\n zRange,\n extent,\n tileSize = TILE_SIZE,\n modelMatrix,\n modelMatrixInverse,\n zoomOffset = 0,\n visibleMinZoom,\n visibleMaxZoom\n}: {\n viewport: Viewport;\n maxZoom?: number;\n minZoom?: number;\n zRange: ZRange | null;\n extent?: Bounds;\n tileSize?: number;\n modelMatrix?: Matrix4;\n modelMatrixInverse?: Matrix4;\n zoomOffset?: number;\n visibleMinZoom?: number | null;\n visibleMaxZoom?: number | null;\n}) {\n // This round/ceil operation ensures that tiles are rendered in the same way as Google Maps, Map Libre, etc.\n // eg. at viewport.zoom = 9.5, you should fetch tiles at z = 10, not z = 9.\n let z = viewport.isGeospatial\n ? Math.round(viewport.zoom + Math.log2(TILE_SIZE / tileSize) + zoomOffset)\n : Math.ceil(viewport.zoom + zoomOffset);\n\n if (typeof minZoom === 'number' && Number.isFinite(minZoom) && z < minZoom) {\n if (!extent) {\n return [];\n }\n z = minZoom;\n }\n if (typeof maxZoom === 'number' && Number.isFinite(maxZoom) && z > maxZoom) {\n z = maxZoom;\n }\n if (visibleMinZoom != null && viewport.zoom < visibleMinZoom) {\n return [];\n }\n if (visibleMaxZoom != null && viewport.zoom > visibleMaxZoom) {\n return [];\n }\n let transformedExtent = extent;\n if (modelMatrix && modelMatrixInverse && extent && !viewport.isGeospatial) {\n transformedExtent = transformBox(extent, modelMatrix);\n }\n return viewport.isGeospatial\n ? getOSMTileIndices(viewport, z, zRange, extent)\n : getIdentityTileIndices(\n viewport,\n z,\n tileSize,\n transformedExtent || DEFAULT_EXTENT,\n modelMatrixInverse\n );\n}\n\n/**\n * Returns true if s is a valid URL template\n */\nexport function isURLTemplate(s: string): boolean {\n return /(?=.*{z})(?=.*{x})(?=.*({y}|{-y}))/.test(s);\n}\n\nexport function isGeoBoundingBox(v: any): v is GeoBoundingBox {\n return (\n Number.isFinite(v.west) &&\n Number.isFinite(v.north) &&\n Number.isFinite(v.east) &&\n Number.isFinite(v.south)\n );\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// deck.gl, MIT license\n// @note - this is a duplicate of the deck.gl core export (because Tileset2D should be deck.gl independent)\n\n/**\n * Speed up consecutive function calls by caching the result of calls with identical input\n * https://en.wikipedia.org/wiki/Memoization\n * @param compute - the function to be memoized\n */\nexport function memoize<In, Out>(compute: (args: In) => Out): (args: In) => Out {\n let cachedArgs: any = {};\n let cachedResult: Out;\n\n return (args: In) => {\n for (const key in args) {\n if (!isEqual(args[key], cachedArgs[key])) {\n cachedResult = compute(args);\n cachedArgs = args;\n break;\n }\n }\n return cachedResult;\n };\n}\n\nfunction isEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (Array.isArray(a)) {\n // Special treatment for arrays: compare 1-level deep\n // This is to support equality of matrix/coordinate props\n const len = a.length;\n if (!b || b.length !== len) {\n return false;\n }\n\n for (let i = 0; i < len; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {NumericArray} from '@math.gl/core';\nimport {AccessorFunction, DefaultProps} from '@deck.gl/core';\nimport {PathLayer, PathLayerProps} from '@deck.gl/layers';\n\nimport {tripsUniforms, TripsProps} from './trips-layer-uniforms';\n\nconst defaultProps: DefaultProps<TripsLayerProps> = {\n fadeTrail: true,\n trailLength: {type: 'number', value: 120, min: 0},\n currentTime: {type: 'number', value: 0, min: 0},\n getTimestamps: {type: 'accessor', value: (d: any) => d.timestamps}\n};\n\n/** All properties supported by TripsLayer. */\nexport type TripsLayerProps<DataT = unknown> = _TripsLayerProps<DataT> & PathLayerProps<DataT>;\n\n/** Properties added by TripsLayer. */\ntype _TripsLayerProps<DataT = unknown> = {\n /**\n * Whether or not the path fades out.\n * @default true\n */\n fadeTrail?: boolean;\n /**\n * Trail length.\n * @default 120\n */\n trailLength?: number;\n /**\n * The current time of the frame.\n * @default 0\n */\n currentTime?: number;\n /**\n * Timestamp accessor.\n */\n getTimestamps?: AccessorFunction<DataT, NumericArray>;\n};\n\n/** Render animated paths that represent vehicle trips. */\nexport default class TripsLayer<DataT = any, ExtraProps extends {} = {}> extends PathLayer<\n DataT,\n Required<_TripsLayerProps<DataT>> & ExtraProps\n> {\n static layerName = 'TripsLayer';\n static defaultProps = defaultProps;\n\n getShaders() {\n const shaders = super.getShaders();\n shaders.inject = {\n 'vs:#decl': `\\\nin float instanceTimestamps;\nin float instanceNextTimestamps;\nout float vTime;\n`,\n // Timestamp of the vertex\n 'vs:#main-end': `\\\nvTime = instanceTimestamps + (instanceNextTimestamps - instanceTimestamps) * vPathPosition.y / vPathLength;\n`,\n 'fs:#decl': `\\\nin float vTime;\n`,\n // Drop the segments outside of the time window\n 'fs:#main-start': `\\\nif(vTime > trips.currentTime || (trips.fadeTrail && (vTime < trips.currentTime - trips.trailLength))) {\n discard;\n}\n`,\n // Fade the color (currentTime - 100%, end of trail - 0%)\n 'fs:DECKGL_FILTER_COLOR': `\\\nif(trips.fadeTrail) {\n color.a *= 1.0 - (trips.currentTime - vTime) / trips.trailLength;\n}\n`\n };\n shaders.modules = [...shaders.modules, tripsUniforms];\n return shaders;\n }\n\n initializeState() {\n super.initializeState();\n\n const attributeManager = this.getAttributeManager();\n attributeManager!.addInstanced({\n timestamps: {\n size: 1,\n accessor: 'getTimestamps',\n shaderAttributes: {\n instanceTimestamps: {\n vertexOffset: 0\n },\n instanceNextTimestamps: {\n vertexOffset: 1\n }\n }\n }\n });\n }\n\n draw(params) {\n const {fadeTrail, trailLength, currentTime} = this.props;\n const tripsProps: TripsProps = {fadeTrail, trailLength, currentTime};\n\n const model = this.state.model!;\n model.shaderInputs.setProps({trips: tripsProps});\n super.draw(params);\n }\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {ShaderModule} from '@luma.gl/shadertools';\n\nconst uniformBlock = `\\\nlayout(std140) uniform tripsUniforms {\n bool fadeTrail;\n float trailLength;\n float currentTime;\n} trips;\n`;\n\nexport type TripsProps = {\n fadeTrail: boolean;\n trailLength: number;\n currentTime: number;\n};\n\nexport const tripsUniforms = {\n name: 'trips',\n vs: uniformBlock,\n fs: uniformBlock,\n uniformTypes: {\n fadeTrail: 'f32',\n trailLength: 'f32',\n currentTime: 'f32'\n }\n} as const satisfies ShaderModule<TripsProps>;\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {cellsToMultiPolygon, H3IndexInput} from 'h3-js';\n\nimport {AccessorFunction, createIterable, UpdateParameters, DefaultProps} from '@deck.gl/core';\nimport {default as H3HexagonLayer} from './h3-hexagon-layer';\nimport GeoCellLayer, {GeoCellLayerProps} from '../geo-cell-layer/GeoCellLayer';\nimport {normalizeLongitudes} from './h3-utils';\n\nconst defaultProps: DefaultProps<H3ClusterLayerProps> = {\n getHexagons: {type: 'accessor', value: (d: any) => d.hexagons}\n};\n\n/** All properties supported by H3ClusterLayer. */\nexport type H3ClusterLayerProps<DataT = unknown> = _H3ClusterLayerProps<DataT> &\n GeoCellLayerProps<DataT>;\n\n/** Properties added by H3ClusterLayer. */\ntype _H3ClusterLayerProps<DataT> = {\n /**\n * Called for each data object to retrieve the hexagon identifiers.\n *\n * By default, it reads `hexagons` property of data object.\n */\n getHexagons?: AccessorFunction<DataT, H3IndexInput[]>;\n};\n\nexport default class H3ClusterLayer<DataT = any, ExtraProps extends {} = {}> extends GeoCellLayer<\n DataT,\n Required<_H3ClusterLayerProps<DataT>> & ExtraProps\n> {\n static layerName = 'H3ClusterLayer';\n static defaultProps = defaultProps;\n\n state!: {\n polygons: {polygon: number[][][]}[];\n };\n\n initializeState(): void {\n H3HexagonLayer._checkH3Lib();\n }\n\n updateState({props, changeFlags}: UpdateParameters<this>): void {\n if (\n changeFlags.dataChanged ||\n (changeFlags.updateTriggersChanged && changeFlags.updateTriggersChanged.getHexagons)\n ) {\n const {data, getHexagons} = props;\n const polygons: {polygon: number[][][]}[] = [];\n\n const {iterable, objectInfo} = createIterable(data);\n for (const object of iterable) {\n objectInfo.index++;\n const hexagons = getHexagons(object, objectInfo);\n const multiPolygon = cellsToMultiPolygon(hexagons, true);\n\n for (const polygon of multiPolygon) {\n // Normalize polygons to prevent wrapping over the anti-meridian\n for (const ring of polygon) {\n normalizeLongitudes(ring);\n }\n polygons.push(this.getSubLayerRow({polygon}, object, objectInfo.index));\n }\n }\n\n this.setState({polygons});\n }\n }\n\n indexToBounds(): Partial<GeoCellLayer['props']> {\n const {getElevation, getFillColor, getLineColor, getLineWidth} = this.props;\n\n return {\n data: this.state.polygons,\n getPolygon: d => d.polygon,\n\n getElevation: this.getSubLayerAccessor(getElevation),\n getFillColor: this.getSubLayerAccessor(getFillColor),\n getLineColor: this.getSubLayerAccessor(getLineColor),\n getLineWidth: this.getSubLayerAccessor(getLineWidth)\n };\n }\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {\n getResolution,\n cellToLatLng,\n latLngToCell,\n isPentagon,\n gridDistance,\n getHexagonEdgeLengthAvg,\n H3Index\n} from 'h3-js';\nimport {\n AccessorFunction,\n CompositeLayer,\n createIterable,\n Layer,\n LayersList,\n UpdateParameters,\n WebMercatorViewport,\n DefaultProps\n} from '@deck.gl/core';\nimport {ColumnLayer, PolygonLayer, PolygonLayerProps} from '@deck.gl/layers';\nimport {flattenPolygon, getHexagonCentroid, h3ToPolygon} from './h3-utils';\n\n// There is a cost to updating the instanced geometries when using highPrecision: false\n// This constant defines the distance between two hexagons that leads to \"significant\n// distortion.\" Smaller value makes the column layer more sensitive to viewport change.\nconst UPDATE_THRESHOLD_KM = 10;\n\nfunction mergeTriggers(getHexagon, coverage) {\n let trigger;\n if (getHexagon === undefined || getHexagon === null) {\n trigger = coverage;\n } else if (typeof getHexagon === 'object') {\n trigger = {...getHexagon, coverage};\n } else {\n trigger = {getHexagon, coverage};\n }\n return trigger;\n}\n\nconst defaultProps: DefaultProps<H3HexagonLayerProps> = {\n ...PolygonLayer.defaultProps,\n highPrecision: 'auto',\n coverage: {type: 'number', min: 0, max: 1, value: 1},\n centerHexagon: null,\n getHexagon: {type: 'accessor', value: (x: any) => x.hexagon},\n extruded: true\n};\n\n/** All properties supported by H3HexagonLayer */\nexport type H3HexagonLayerProps<DataT = unknown> = _H3HexagonLayerProps<DataT> &\n PolygonLayerProps<DataT>;\n\n/** Props added by the H3HexagonLayer */\ntype _H3HexagonLayerProps<DataT> = {\n /**\n * Whether or not draw hexagons with high precision.\n * @default 'auto'\n */\n highPrecision?: boolean | 'auto';\n /**\n * Coverage of hexagon in cell.\n * @default 1\n */\n coverage?: number;\n /**\n * Center hexagon that best represents the shape of the set. If not specified, the hexagon closest to the center of the viewport is used.\n */\n centerHexagon?: H3Index | null;\n /**\n * Called for each data object to retrieve the quadkey string identifier.\n *\n * By default, it reads `hexagon` property of data object.\n */\n getHexagon?: AccessorFunction<DataT, string>;\n /**\n * Whether to extrude polygons.\n * @default true\n */\n extruded?: boolean;\n};\n\n/**\n * Render hexagons from the [H3](https://h3geo.org/) geospatial indexing system.\n */\nexport default class H3HexagonLayer<\n DataT = any,\n ExtraPropsT extends {} = {}\n> extends CompositeLayer<ExtraPropsT & Required<H3HexagonLayerProps<DataT>>> {\n static defaultProps = defaultProps;\n static layerName = 'H3HexagonLayer';\n\n // See `main/bundle.ts`\n static _checkH3Lib = () => {};\n\n initializeState() {\n H3HexagonLayer._checkH3Lib();\n this.state = {\n edgeLengthKM: 0,\n resolution: -1\n };\n }\n\n state!: {\n centerHex?: H3Index;\n edgeLengthKM: number;\n hasMultipleRes?: boolean;\n hasPentagon?: boolean;\n resolution: number;\n vertices?: number[][];\n };\n\n shouldUpdateState({changeFlags}: UpdateParameters<this>): boolean {\n return this._shouldUseHighPrecision()\n ? changeFlags.propsOrDataChanged\n : changeFlags.somethingChanged;\n }\n\n updateState({props, changeFlags}: UpdateParameters<this>): void {\n if (\n props.highPrecision !== true &&\n (changeFlags.dataChanged ||\n (changeFlags.updateTriggersChanged && changeFlags.updateTriggersChanged.getHexagon))\n ) {\n const dataProps = this._calculateH3DataProps();\n this.setState(dataProps);\n }\n\n this._updateVertices(this.context.viewport as WebMercatorViewport);\n }\n\n private _calculateH3DataProps() {\n let resolution = -1;\n let hasPentagon = false;\n let hasMultipleRes = false;\n\n const {iterable, objectInfo} = createIterable(this.props.data);\n for (const object of iterable) {\n objectInfo.index++;\n const hexId = this.props.getHexagon(object, objectInfo);\n // Take the resolution of the first hex\n const hexResolution = getResolution(hexId);\n if (resolution < 0) {\n resolution = hexResolution;\n if (!this.props.highPrecision) break;\n } else if (resolution !== hexResolution) {\n hasMultipleRes = true;\n break;\n }\n if (isPentagon(hexId)) {\n hasPentagon = true;\n break;\n }\n }\n\n return {\n resolution,\n edgeLengthKM: resolution >= 0 ? getHexagonEdgeLengthAvg(resolution, 'km') : 0,\n hasMultipleRes,\n hasPentagon\n };\n }\n\n private _shouldUseHighPrecision(): boolean {\n if (this.props.highPrecision === 'auto') {\n const {resolution, hasPentagon, hasMultipleRes} = this.state;\n const {viewport} = this.context;\n return (\n Boolean(viewport?.resolution) ||\n hasMultipleRes ||\n hasPentagon ||\n (resolution >= 0 && resolution <= 5)\n );\n }\n\n return this.props.highPrecision;\n }\n\n private _updateVertices(viewport: WebMercatorViewport): void {\n if (this._shouldUseHighPrecision()) {\n return;\n }\n const {resolution, edgeLengthKM, centerHex} = this.state;\n if (resolution < 0) {\n return;\n }\n const hex =\n this.props.centerHexagon || latLngToCell(viewport.latitude, viewport.longitude, resolution);\n if (centerHex === hex) {\n return;\n }\n if (centerHex) {\n try {\n const distance = gridDistance(centerHex, hex);\n if (distance * edgeLengthKM < UPDATE_THRESHOLD_KM) {\n return;\n }\n } catch {\n // gridDistance throws if the distance could not be computed\n // due to the two indexes very far apart or on opposite sides of a pentagon.\n }\n }\n\n const {unitsPerMeter} = viewport.distanceScales;\n\n let vertices = h3ToPolygon(hex);\n const [centerLat, centerLng] = cellToLatLng(hex);\n\n const [centerX, centerY] = viewport.projectFlat([centerLng, centerLat]);\n vertices = vertices.map(p => {\n const worldPosition = viewport.projectFlat(p);\n return [\n (worldPosition[0] - centerX) / unitsPerMeter[0],\n (worldPosition[1] - centerY) / unitsPerMeter[1]\n ];\n });\n\n this.setState({centerHex: hex, vertices});\n }\n\n renderLayers(): Layer | null | LayersList {\n return this._shouldUseHighPrecision() ? this._renderPolygonLayer() : this._renderColumnLayer();\n }\n\n private _getForwardProps() {\n const {\n elevationScale,\n material,\n coverage,\n extruded,\n wireframe,\n stroked,\n filled,\n lineWidthUnits,\n lineWidthScale,\n lineWidthMinPixels,\n lineWidthMaxPixels,\n getFillColor,\n getElevation,\n getLineColor,\n getLineWidth,\n transitions,\n updateTriggers\n } = this.props;\n\n return {\n elevationScale,\n extruded,\n coverage,\n wireframe,\n stroked,\n filled,\n lineWidthUnits,\n lineWidthScale,\n lineWidthMinPixels,\n lineWidthMaxPixels,\n material,\n getElevation,\n getFillColor,\n getLineColor,\n getLineWidth,\n transitions,\n updateTriggers: {\n getFillColor: updateTriggers.getFillColor,\n getElevation: updateTriggers.getElevation,\n getLineColor: updateTriggers.getLineColor,\n getLineWidth: updateTriggers.getLineWidth\n } as {\n getFillColor: any;\n getElevation: any;\n getLineColor: any;\n getLineWidth: any;\n getPolygon?: any;\n getPosition?: any;\n }\n };\n }\n\n private _renderPolygonLayer(): PolygonLayer {\n const {data, getHexagon, updateTriggers, coverage} = this.props;\n\n const SubLayerClass = this.getSubLayerClass('hexagon-cell-hifi', PolygonLayer);\n const forwardProps = this._getForwardProps();\n forwardProps.updateTriggers.getPolygon = mergeTriggers(updateTriggers.getHexagon, coverage);\n\n return new SubLayerClass(\n forwardProps,\n this.getSubLayerProps({\n id: 'hexagon-cell-hifi',\n updateTriggers: forwardProps.updateTriggers\n }),\n {\n data,\n _normalize: false,\n _windingOrder: 'CCW',\n positionFormat: 'XY',\n getPolygon: (object, objectInfo) => {\n const hexagonId = getHexagon(object, objectInfo);\n return flattenPolygon(h3ToPolygon(hexagonId, coverage));\n }\n }\n );\n }\n\n private _renderColumnLayer(): ColumnLayer {\n const {data, getHexagon, updateTriggers} = this.props;\n\n const SubLayerClass = this.getSubLayerClass('hexagon-cell', ColumnLayer);\n const forwardProps = this._getForwardProps();\n forwardProps.updateTriggers.getPosition = updateTriggers.getHexagon;\n\n return new SubLayerClass(\n forwardProps,\n this.getSubLayerProps({\n id: 'hexagon-cell',\n flatShading: true,\n updateTriggers: forwardProps.updateTriggers\n }),\n {\n data,\n diskResolution: 6, // generate an extruded hexagon as the base geometry\n radius: 1,\n vertices: this.state.vertices,\n getPosition: getHexagonCentroid.bind(null, getHexagon)\n }\n );\n }\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Geometry} from '@luma.gl/engine';\n\nimport {\n Accessor,\n Color,\n CompositeLayer,\n CompositeLayerProps,\n COORDINATE_SYSTEM,\n FilterContext,\n GetPickingInfoParams,\n Layer,\n LayersList,\n log,\n PickingInfo,\n UpdateParameters,\n Viewport,\n DefaultProps,\n LayerContext\n} from '@deck.gl/core';\nimport {PointCloudLayer} from '@deck.gl/layers';\nimport {ScenegraphLayer} from '@deck.gl/mesh-layers';\nimport {default as MeshLayer} from '../mesh-layer/mesh-layer';\n\nimport {load} from '@loaders.gl/core';\nimport {MeshAttributes} from '@loaders.gl/schema';\nimport {Tileset3D, Tile3D, TILE_TYPE} from '@loaders.gl/tiles';\nimport {Tiles3DLoader} from '@loaders.gl/3d-tiles';\n\nconst SINGLE_DATA = [0];\n\nconst defaultProps: DefaultProps<Tile3DLayerProps> = {\n getPointColor: {type: 'accessor', value: [0, 0, 0, 255]},\n pointSize: 1.0,\n\n // Disable async data loading (handling it in _loadTileSet)\n data: '',\n loader: Tiles3DLoader,\n\n onTilesetLoad: {type: 'function', value: tileset3d => {}},\n onTileLoad: {type: 'function', value: tileHeader => {}},\n onTileUnload: {type: 'function', value: tileHeader => {}},\n onTileError: {type: 'function', value: (tile, message, url) => {}},\n _getMeshColor: {type: 'function', value: tileHeader => [255, 255, 255]}\n};\n\n/** All properties supported by Tile3DLayer */\nexport type Tile3DLayerProps<DataT = unknown> = _Tile3DLayerProps<DataT> & CompositeLayerProps;\n\n/** Props added by the Tile3DLayer */\ntype _Tile3DLayerProps<DataT> = {\n data: string;\n /** Color Accessor for point clouds. **/\n getPointColor?: Accessor<DataT, Color>;\n\n /** Global radius of all points in pixels. **/\n pointSize?: number;\n\n /** A loader which is used to decode the fetched tiles.\n * @deprecated Use `loaders` instead\n */\n loader?: typeof Tiles3DLoader;\n\n /** Called when Tileset JSON file is loaded. **/\n onTilesetLoad?: (tile: Tileset3D) => void;\n\n /** Called when a tile in the tileset hierarchy is loaded. **/\n onTileLoad?: (tile: Tile3D) => void;\n\n /** Called when a tile is unloaded. **/\n onTileUnload?: (tile: Tile3D) => void;\n\n /** Called when a tile fails to load. **/\n onTileError?: (tile: Tile3D, url: string, message: string) => void;\n\n /** (Experimental) Accessor to change color of mesh based on properties. **/\n _getMeshColor?: (tile: Tile3D) => Color;\n};\n\n/** Render 3d tiles data formatted according to the [3D Tiles Specification](https://www.opengeospatial.org/standards/3DTiles) and [`ESRI I3S`](https://github.com/Esri/i3s-spec) */\nexport default class Tile3DLayer<DataT = any, ExtraPropsT extends {} = {}> extends CompositeLayer<\n ExtraPropsT & Required<_Tile3DLayerProps<DataT>>\n> {\n static defaultProps = defaultProps;\n static layerName = 'Tile3DLayer';\n\n state!: {\n activeViewports: {};\n frameNumber?: number;\n lastUpdatedViewports: {[viewportId: string]: Viewport} | null;\n layerMap: {[layerId: string]: any};\n tileset3d: Tileset3D | null;\n };\n\n initializeState() {\n if ('onTileLoadFail' in this.props) {\n log.removed('onTileLoadFail', 'onTileError')();\n }\n // prop verification\n this.state = {\n layerMap: {},\n tileset3d: null,\n activeViewports: {},\n lastUpdatedViewports: null\n };\n }\n\n get isLoaded(): boolean {\n return Boolean(this.state?.tileset3d?.isLoaded() && super.isLoaded);\n }\n\n shouldUpdateState({changeFlags}: UpdateParameters<this>): boolean {\n return changeFlags.somethingChanged;\n }\n\n updateState({props, oldProps, changeFlags}: UpdateParameters<this>): void {\n if (props.data && props.data !== oldProps.data) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this._loadTileset(props.data);\n }\n\n if (changeFlags.viewportChanged) {\n const {activeViewports} = this.state;\n const viewportsNumber = Object.keys(activeViewports).length;\n if (viewportsNumber) {\n this._updateTileset(activeViewports);\n this.state.lastUpdatedViewports = activeViewports;\n this.state.activeViewports = {};\n }\n }\n if (changeFlags.propsChanged) {\n const {layerMap} = this.state;\n for (const key in layerMap) {\n layerMap[key].needsUpdate = true;\n }\n }\n }\n\n finalizeState(context: LayerContext): void {\n this.state.tileset3d?.destroy();\n this.state.tileset3d = null;\n this.state.layerMap = {};\n this.state.activeViewports = {};\n this.state.lastUpdatedViewports = null;\n super.finalizeState(context);\n }\n\n activateViewport(viewport: Viewport): void {\n const {activeViewports, lastUpdatedViewports} = this.state;\n this.internalState!.viewport = viewport;\n\n activeViewports[viewport.id] = viewport;\n const lastViewport = lastUpdatedViewports?.[viewport.id];\n if (!lastViewport || !viewport.equals(lastViewport)) {\n this.setChangeFlags({viewportChanged: true});\n this.setNeedsUpdate();\n }\n }\n\n getPickingInfo({info, sourceLayer}: GetPickingInfoParams) {\n const sourceTile = sourceLayer && (sourceLayer.props as any).tile;\n if (info.picked) {\n info.object = sourceTile;\n }\n (info as any).sourceTile = sourceTile;\n\n return info;\n }\n\n filterSubLayer({layer, viewport, cullRect, isPicking}: FilterContext): boolean {\n // All sublayers will have a tile prop\n const {tile} = layer.props as unknown as {tile: Tile3D};\n const {id: viewportId} = viewport;\n if (!tile.selected || !tile.viewportIds.includes(viewportId)) {\n return false;\n }\n\n // When picking, skip tiles whose content center is far from the\n // pick point on screen. Avoids unnecessary draw calls.\n if (isPicking && cullRect && tile.content?.cartographicOrigin) {\n const [sx, sy] = viewport.project(tile.content.cartographicOrigin);\n const cx = cullRect.x + cullRect.width / 2;\n const cy = cullRect.y + cullRect.height / 2;\n const threshold = Math.max(viewport.width, viewport.height) / 4;\n const dx = sx - cx;\n const dy = sy - cy;\n if (dx * dx + dy * dy > threshold * threshold) {\n return false;\n }\n }\n\n return true;\n }\n\n protected _updateAutoHighlight(info: PickingInfo): void {\n const sourceTile = (info as any).sourceTile;\n const layerCache = this.state.layerMap[sourceTile?.id];\n if (layerCache && layerCache.layer) {\n layerCache.layer.updateAutoHighlight(info);\n }\n }\n\n private async _loadTileset(tilesetUrl) {\n const loadOptions = this.props.loadOptions || {};\n\n // TODO: deprecate `loader` in v9.0\n // @ts-ignore\n const loaders = this.props.loaders?.length ? this.props.loaders : this.props.loader;\n const loader = Array.isArray(loaders) ? loaders[0] : loaders;\n\n // Extract tileset-specific options so they are passed to the Tileset3D constructor\n const {tileset: tilesetOptions, ...remainingLoadOptions} = loadOptions;\n\n const options = {loadOptions: {...remainingLoadOptions}, ...tilesetOptions};\n let actualTilesetUrl = tilesetUrl;\n if ('preload' in loader && typeof loader.preload === 'function') {\n const preloadOptions = await loader.preload(tilesetUrl, loadOptions);\n if (preloadOptions.url) {\n actualTilesetUrl = preloadOptions.url;\n }\n\n if (preloadOptions.headers) {\n options.loadOptions.core = {\n ...options.loadOptions.core,\n fetch: {\n ...options.loadOptions.core?.fetch,\n headers: preloadOptions.headers\n }\n };\n }\n Object.assign(options, preloadOptions);\n }\n const tilesetJson = await load(actualTilesetUrl, loader, options.loadOptions);\n\n const tileset3d = new Tileset3D(tilesetJson, {\n onTileLoad: this._onTileLoad.bind(this),\n onTileUnload: this._onTileUnload.bind(this),\n onTileError: this.props.onTileError,\n onUpdate: () => this.setNeedsUpdate(),\n ...options\n });\n\n this.setState({\n tileset3d,\n layerMap: {}\n });\n\n this._updateTileset(this.state.activeViewports);\n this.props.onTilesetLoad(tileset3d);\n }\n\n private _onTileLoad(tileHeader: Tile3D): void {\n const {lastUpdatedViewports} = this.state;\n // Mark as not yet drawn so transition hold keeps previous tiles\n // visible until this tile's sublayer renders for the first time\n tileHeader.tileDrawn = false;\n this.props.onTileLoad(tileHeader);\n this._updateTileset(lastUpdatedViewports);\n this.setNeedsUpdate();\n }\n\n private _onTileUnload(tileHeader: Tile3D): void {\n // Was cleaned up from tileset cache. We no longer need to track it.\n delete this.state.layerMap[tileHeader.id];\n this.props.onTileUnload(tileHeader);\n }\n\n private _updateTileset(viewports: {[viewportId: string]: Viewport} | null): void {\n if (!viewports) {\n return;\n }\n const {tileset3d} = this.state;\n const {timeline} = this.context;\n const viewportsNumber = Object.keys(viewports).length;\n if (!timeline || !viewportsNumber || !tileset3d) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n tileset3d.selectTiles(Object.values(viewports)).then(frameNumber => {\n const tilesetChanged = this.state.frameNumber !== frameNumber;\n if (tilesetChanged) {\n this.setState({frameNumber});\n }\n });\n }\n\n private _getSubLayer(\n tileHeader: Tile3D,\n oldLayer?: Layer\n ): MeshLayer<DataT> | PointCloudLayer<DataT> | ScenegraphLayer<DataT> | null {\n if (!tileHeader.content) {\n return null;\n }\n\n switch (tileHeader.type as TILE_TYPE) {\n case TILE_TYPE.POINTCLOUD:\n return this._makePointCloudLayer(tileHeader, oldLayer as PointCloudLayer<DataT>);\n case TILE_TYPE.SCENEGRAPH:\n return this._make3DModelLayer(tileHeader);\n case TILE_TYPE.MESH:\n return this._makeSimpleMeshLayer(tileHeader, oldLayer as MeshLayer<DataT>);\n default:\n throw new Error(`Tile3DLayer: Failed to render layer of type ${tileHeader.content.type}`);\n }\n }\n\n private _makePointCloudLayer(\n tileHeader: Tile3D,\n oldLayer?: PointCloudLayer<DataT>\n ): PointCloudLayer<DataT> | null {\n const {attributes, pointCount, constantRGBA, cartographicOrigin, modelMatrix} =\n tileHeader.content;\n const {positions, normals, colors} = attributes;\n\n if (!positions) {\n return null;\n }\n const data = (oldLayer && oldLayer.props.data) || {\n header: {\n vertexCount: pointCount\n },\n attributes: {\n POSITION: positions,\n NORMAL: normals,\n COLOR_0: colors\n }\n };\n\n const {pointSize, getPointColor} = this.props;\n const SubLayerClass = this.getSubLayerClass('pointcloud', PointCloudLayer);\n return new SubLayerClass(\n {\n pointSize\n },\n this.getSubLayerProps({\n id: 'pointcloud'\n }),\n {\n id: `${this.id}-pointcloud-${tileHeader.id}`,\n tile: tileHeader,\n data,\n coordinateSystem: COORDINATE_SYSTEM.METER_OFFSETS,\n coordinateOrigin: cartographicOrigin,\n modelMatrix,\n getColor: constantRGBA || getPointColor,\n _offset: 0\n }\n );\n }\n\n private _make3DModelLayer(tileHeader: Tile3D): ScenegraphLayer<DataT> {\n const {gltf, instances, cartographicOrigin, modelMatrix} = tileHeader.content;\n\n const SubLayerClass = this.getSubLayerClass('scenegraph', ScenegraphLayer);\n\n return new SubLayerClass(\n {\n _lighting: 'pbr'\n },\n this.getSubLayerProps({\n id: 'scenegraph'\n }),\n {\n id: `${this.id}-scenegraph-${tileHeader.id}`,\n tile: tileHeader,\n data: instances || SINGLE_DATA,\n scenegraph: gltf,\n\n coordinateSystem: COORDINATE_SYSTEM.METER_OFFSETS,\n coordinateOrigin: cartographicOrigin,\n modelMatrix,\n getTransformMatrix: instance => instance.modelMatrix,\n getPosition: [0, 0, 0],\n _offset: 0,\n onFirstDraw: () => {\n tileHeader.tileDrawn = true;\n }\n }\n );\n }\n\n private _makeSimpleMeshLayer(tileHeader: Tile3D, oldLayer?: MeshLayer<DataT>): MeshLayer<DataT> {\n const content = tileHeader.content;\n const {\n attributes,\n indices,\n modelMatrix,\n cartographicOrigin,\n coordinateSystem = COORDINATE_SYSTEM.METER_OFFSETS,\n material,\n featureIds\n } = content;\n const {_getMeshColor} = this.props;\n\n const geometry =\n (oldLayer && oldLayer.props.mesh) ||\n new Geometry({\n topology: 'triangle-list',\n attributes: getMeshGeometry(attributes),\n indices\n });\n\n const SubLayerClass = this.getSubLayerClass('mesh', MeshLayer);\n\n return new SubLayerClass(\n this.getSubLayerProps({\n id: 'mesh'\n }),\n {\n id: `${this.id}-mesh-${tileHeader.id}`,\n tile: tileHeader,\n mesh: geometry,\n data: SINGLE_DATA,\n getColor: _getMeshColor(tileHeader),\n pbrMaterial: material,\n modelMatrix,\n coordinateOrigin: cartographicOrigin,\n coordinateSystem,\n featureIds,\n _offset: 0\n }\n );\n }\n\n renderLayers(): Layer | null | LayersList {\n const {tileset3d, layerMap} = this.state;\n if (!tileset3d) {\n return null;\n }\n\n // loaders.gl doesn't provide a type for tileset3d.tiles\n return (tileset3d.tiles as Tile3D[])\n .map(tile => {\n const layerCache = (layerMap[tile.id] = layerMap[tile.id] || {tile});\n let {layer} = layerCache;\n if (tile.selected) {\n // render selected tiles\n if (!layer) {\n // create layer\n layer = this._getSubLayer(tile);\n } else if (layerCache.needsUpdate) {\n // props have changed, rerender layer\n layer = this._getSubLayer(tile, layer);\n layerCache.needsUpdate = false;\n }\n }\n layerCache.layer = layer;\n return layer;\n })\n .filter(Boolean);\n }\n}\n\nfunction getMeshGeometry(contentAttributes: MeshAttributes): MeshAttributes {\n const attributes: MeshAttributes = {};\n attributes.positions = {\n ...contentAttributes.positions,\n value: new Float32Array(contentAttributes.positions.value)\n };\n if (contentAttributes.normals) {\n attributes.normals = contentAttributes.normals;\n }\n if (contentAttributes.texCoords) {\n attributes.texCoords = contentAttributes.texCoords;\n }\n if (contentAttributes.colors) {\n attributes.colors = contentAttributes.colors;\n }\n if (contentAttributes.uvRegions) {\n attributes.uvRegions = contentAttributes.uvRegions;\n }\n return attributes;\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {NumericArray} from '@math.gl/core';\nimport {parsePBRMaterial, ParsedPBRMaterial} from '@luma.gl/gltf';\nimport {pbrMaterial} from '@luma.gl/shadertools';\nimport {Model} from '@luma.gl/engine';\nimport type {MeshAttribute, MeshAttributes} from '@loaders.gl/schema';\nimport type {UpdateParameters, DefaultProps, LayerContext} from '@deck.gl/core';\nimport {SimpleMeshLayer, SimpleMeshLayerProps} from '@deck.gl/mesh-layers';\n\nimport {MeshProps, meshUniforms} from './mesh-layer-uniforms';\nimport vs from './mesh-layer-vertex.glsl';\nimport fs from './mesh-layer-fragment.glsl';\n\nexport type Mesh = {\n attributes: MeshAttributes;\n indices?: MeshAttribute;\n};\n\nfunction validateGeometryAttributes(attributes: MeshAttributes) {\n const positionAttribute = attributes.positions || attributes.POSITION;\n const vertexCount = positionAttribute.value.length / positionAttribute.size;\n const hasColorAttribute = attributes.COLOR_0 || attributes.colors;\n if (!hasColorAttribute) {\n attributes.colors = {\n size: 4,\n value: new Uint8Array(vertexCount * 4).fill(255),\n normalized: true\n };\n }\n}\n\nconst defaultProps: DefaultProps<MeshLayerProps> = {\n pbrMaterial: {type: 'object', value: null},\n featureIds: {type: 'array', value: null, optional: true}\n};\n\n/** All properties supported by MeshLayer. */\nexport type MeshLayerProps<DataT = unknown> = _MeshLayerProps & SimpleMeshLayerProps<DataT>;\n\n/** Properties added by MeshLayer. */\ntype _MeshLayerProps = {\n /**\n * PBR material object. _lighting must be pbr for this to work\n */\n pbrMaterial?: any; // TODO add type when converting Tile3DLayer\n\n /**\n * List of feature ids.\n */\n featureIds?: NumericArray | null;\n};\n\nexport default class MeshLayer<DataT = any, ExtraProps extends {} = {}> extends SimpleMeshLayer<\n DataT,\n Required<_MeshLayerProps> & ExtraProps\n> {\n static layerName = 'MeshLayer';\n static defaultProps = defaultProps;\n\n getShaders() {\n const shaders = super.getShaders();\n const modules = shaders.modules;\n modules.push(pbrMaterial, meshUniforms);\n return {...shaders, vs, fs};\n }\n\n initializeState() {\n const {featureIds} = this.props;\n super.initializeState();\n\n const attributeManager = this.getAttributeManager();\n if (featureIds) {\n // attributeManager is always defined in a primitive layer\n attributeManager!.add({\n /** Feature id for each mesh vertex. */\n rowIndexes: {\n type: 'uint32',\n size: 1,\n noAlloc: true,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n update: this.calculateFeatureIdsPickingIndexes\n }\n });\n }\n }\n\n updateState(params: UpdateParameters<this>) {\n super.updateState(params);\n\n const {props, oldProps} = params;\n if (props.pbrMaterial !== oldProps.pbrMaterial) {\n this.updatePbrMaterialUniforms(props.pbrMaterial);\n }\n }\n\n draw(opts) {\n const {featureIds} = this.props;\n const {model} = this.state;\n if (!model) {\n return;\n }\n const meshProps: MeshProps = {\n pickFeatureIds: Boolean(featureIds)\n };\n const pbrProjectionProps = {\n camera: this.context.viewport.cameraPosition as [number, number, number]\n };\n model.shaderInputs.setProps({\n pbrProjection: pbrProjectionProps,\n mesh: meshProps\n });\n\n super.draw(opts);\n }\n\n protected getModel(mesh: Mesh): Model {\n const {id} = this.props;\n const parsedPBRMaterial = this.parseMaterial(this.props.pbrMaterial, mesh);\n // Keep material to explicitly remove textures\n this.setState({parsedPBRMaterial});\n const shaders = this.getShaders();\n validateGeometryAttributes(mesh.attributes);\n const model = new Model(this.context.device, {\n ...this.getShaders(),\n id,\n geometry: mesh,\n bufferLayout: this.getAttributeManager()!.getBufferLayouts(),\n defines: {\n ...shaders.defines,\n ...parsedPBRMaterial?.defines,\n HAS_UV_REGIONS: mesh.attributes.uvRegions ? 1 : 0\n },\n parameters: parsedPBRMaterial?.parameters,\n isInstanced: true\n });\n\n return model;\n }\n\n updatePbrMaterialUniforms(material) {\n const {model} = this.state;\n if (model) {\n const {mesh} = this.props;\n const parsedPBRMaterial = this.parseMaterial(material, mesh as Mesh);\n // Keep material to explicitly remove textures\n this.setState({parsedPBRMaterial});\n\n const {pbr_baseColorSampler} = parsedPBRMaterial.bindings;\n const {emptyTexture} = this.state;\n const simpleMeshProps = {\n sampler: pbr_baseColorSampler || emptyTexture,\n hasTexture: Boolean(pbr_baseColorSampler)\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {camera, ...pbrMaterialProps} = {\n ...parsedPBRMaterial.bindings,\n ...parsedPBRMaterial.uniforms\n };\n model.shaderInputs.setProps({simpleMesh: simpleMeshProps, pbrMaterial: pbrMaterialProps});\n }\n }\n\n parseMaterial(material, mesh: Mesh): ParsedPBRMaterial {\n const unlit = Boolean(\n material.pbrMetallicRoughness && material.pbrMetallicRoughness.baseColorTexture\n );\n\n return parsePBRMaterial(\n this.context.device,\n {unlit, ...material},\n {NORMAL: mesh.attributes.normals, TEXCOORD_0: mesh.attributes.texCoords},\n {\n pbrDebug: false,\n lights: true,\n useTangents: false\n }\n );\n }\n\n calculateFeatureIdsPickingIndexes(attribute) {\n // This updater is only called if featureIds is not null\n const featureIds = this.props.featureIds!;\n attribute.value = new Uint32Array(featureIds);\n }\n\n finalizeState(context: LayerContext) {\n super.finalizeState(context);\n this.state.parsedPBRMaterial?.generatedTextures.forEach(texture => texture.destroy());\n this.setState({parsedPBRMaterial: null});\n }\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {ShaderModule} from '@luma.gl/shadertools';\n\nconst uniformBlock = `\\\nlayout(std140) uniform meshUniforms {\n bool pickFeatureIds;\n} mesh;\n`;\n\nexport type MeshProps = {\n pickFeatureIds: boolean;\n};\n\nexport const meshUniforms = {\n name: 'mesh',\n vs: uniformBlock,\n fs: uniformBlock,\n uniformTypes: {\n pickFeatureIds: 'f32'\n }\n} as const satisfies ShaderModule<MeshProps>;\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nexport default `#version 300 es\n#define SHADER_NAME simple-mesh-layer-vs\n\n// Primitive attributes\nin vec3 positions;\nin vec3 normals;\nin vec3 colors;\nin vec2 texCoords;\nin vec4 uvRegions;\nin float rowIndexes;\n\n// Instance attributes\nin vec4 instanceColors;\nin vec3 instanceModelMatrixCol0;\nin vec3 instanceModelMatrixCol1;\nin vec3 instanceModelMatrixCol2;\n\n// Outputs to fragment shader\nout vec2 vTexCoord;\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\n\nvec2 applyUVRegion(vec2 uv) {\n #ifdef HAS_UV_REGIONS\n // https://github.com/Esri/i3s-spec/blob/master/docs/1.7/geometryUVRegion.cmn.md\n return fract(uv) * (uvRegions.zw - uvRegions.xy) + uvRegions.xy;\n #else\n return uv;\n #endif\n}\n\nvoid main(void) {\n vec2 uv = applyUVRegion(texCoords);\n geometry.uv = uv;\n\n if (mesh.pickFeatureIds) {\n geometry.pickingColor = picking_getPickingColorFromIndex(rowIndexes);\n } else {\n geometry.pickingColor = picking_getPickingColorFromInstanceID();\n }\n\n mat3 instanceModelMatrix = mat3(instanceModelMatrixCol0, instanceModelMatrixCol1, instanceModelMatrixCol2);\n\n vTexCoord = uv;\n cameraPosition = project.cameraPosition;\n vColor = vec4(colors * instanceColors.rgb, instanceColors.a);\n\n vec3 pos = (instanceModelMatrix * positions) * simpleMesh.sizeScale;\n vec3 projectedPosition = project_position(positions);\n position_commonspace = vec4(projectedPosition, 1.0);\n gl_Position = project_common_position_to_clipspace(position_commonspace);\n\n geometry.position = position_commonspace;\n normals_commonspace = project_normal(instanceModelMatrix * normals);\n geometry.normal = normals_commonspace;\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n #ifdef MODULE_PBRMATERIAL\n // set PBR data\n pbr_vPosition = geometry.position.xyz;\n #ifdef HAS_NORMALS\n pbr_vNormal = geometry.normal;\n #endif\n\n #ifdef HAS_UV\n pbr_vUV0 = uv;\n #else\n pbr_vUV0 = vec2(0., 0.);\n #endif\n pbr_vUV1 = vec2(0., 0.);\n geometry.uv = pbr_vUV0;\n #endif\n\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nexport default `#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nuniform sampler2D sampler;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n \n#ifdef MODULE_PBRMATERIAL\n\n fragColor = vColor * pbr_filterColor(vec4(0));\n geometry.uv = pbr_vUV0;\n fragColor.a *= layer.opacity;\n\n#else\n\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (simpleMesh.flatShading) {\n\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n } else {\n normal = normals_commonspace;\n }\n\n vec4 color = simpleMesh.hasTexture ? texture(sampler, vTexCoord) : vColor;\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * layer.opacity);\n\n#endif\n\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n`;\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {\n Color,\n CompositeLayer,\n CompositeLayerProps,\n COORDINATE_SYSTEM,\n DefaultProps,\n _GlobeViewport as GlobeViewport,\n Layer,\n LayersList,\n log,\n Material,\n TextureSource,\n UpdateParameters\n} from '@deck.gl/core';\nimport {SimpleMeshLayer} from '@deck.gl/mesh-layers';\nimport type {MeshAttributes} from '@loaders.gl/schema';\nimport {TerrainWorkerLoader} from '@loaders.gl/terrain';\nimport TileLayer, {TileLayerProps} from '../tile-layer/tile-layer';\nimport type {\n Bounds,\n GeoBoundingBox,\n TileBoundingBox,\n TileLoadProps,\n ZRange\n} from '../tileset-2d/index';\nimport {getURLFromTemplate, Tile2DHeader, URLTemplate, urlType} from '../tileset-2d/index';\n\nconst DUMMY_DATA = [1];\nconst TILE_OVERLAP_PIXELS = 1;\nconst MIN_TERRAIN_MESH_MAX_ERROR = 1;\nconst MAX_LATITUDE = 90;\nconst MAX_LONGITUDE = 180;\n\nconst defaultProps: DefaultProps<TerrainLayerProps> = {\n ...TileLayer.defaultProps,\n // Image url that encodes height data\n elevationData: urlType,\n // Image url to use as texture\n texture: {...urlType, optional: true},\n // Martini error tolerance in meters, smaller number -> more detailed mesh\n meshMaxError: {type: 'number', value: 4.0},\n // Bounding box of the terrain image, [minX, minY, maxX, maxY] in world coordinates\n bounds: {type: 'array', value: null, optional: true, compare: true},\n // Color to use if texture is unavailable\n color: {type: 'color', value: [255, 255, 255]},\n // Object to decode height data, from (r, g, b) to height in meters\n elevationDecoder: {\n type: 'object',\n value: {\n rScaler: 1,\n gScaler: 0,\n bScaler: 0,\n offset: 0\n }\n },\n // Supply url to local terrain worker bundle. Only required if running offline and cannot access CDN.\n workerUrl: '',\n // Same as SimpleMeshLayer wireframe\n wireframe: false,\n material: true,\n\n loaders: [TerrainWorkerLoader]\n};\n\n// Turns array of templates into a single string to work around shallow change\nfunction urlTemplateToUpdateTrigger(template: URLTemplate): string {\n if (Array.isArray(template)) {\n return template.join(';');\n }\n return template || '';\n}\n\nfunction getOverlappedBounds(bounds: Bounds, tileSize: number, clampLngLat: boolean): Bounds {\n const xPad = ((bounds[2] - bounds[0]) / tileSize) * TILE_OVERLAP_PIXELS;\n const yPad = ((bounds[3] - bounds[1]) / tileSize) * TILE_OVERLAP_PIXELS;\n const overlappedBounds: Bounds = [\n bounds[0] - xPad,\n bounds[1] - yPad,\n bounds[2] + xPad,\n bounds[3] + yPad\n ];\n\n if (!clampLngLat) {\n return overlappedBounds;\n }\n\n return [\n Math.max(overlappedBounds[0], -MAX_LONGITUDE),\n Math.max(overlappedBounds[1], -MAX_LATITUDE),\n Math.min(overlappedBounds[2], MAX_LONGITUDE),\n Math.min(overlappedBounds[3], MAX_LATITUDE)\n ];\n}\n\nfunction getEffectiveMeshMaxError(meshMaxError: number): number {\n if (!Number.isFinite(meshMaxError) || meshMaxError <= 0) {\n return MIN_TERRAIN_MESH_MAX_ERROR;\n }\n return Math.max(meshMaxError, MIN_TERRAIN_MESH_MAX_ERROR);\n}\n\ntype ElevationDecoder = {rScaler: number; gScaler: number; bScaler: number; offset: number};\ntype TerrainLoadProps = {\n bounds: Bounds;\n elevationData: string | null;\n elevationDecoder: ElevationDecoder;\n meshMaxError: number;\n signal?: AbortSignal;\n};\n\ntype MeshAndTexture = [MeshAttributes | null, TextureSource | null];\ntype MeshBoundingBox = [min: number[], max: number[]];\ntype MeshWithBoundingBox = MeshAttributes & {\n header?: {\n boundingBox?: MeshBoundingBox;\n };\n};\n\n/** All properties supported by TerrainLayer */\nexport type TerrainLayerProps = _TerrainLayerProps &\n TileLayerProps<MeshAndTexture> &\n CompositeLayerProps;\n\n/** Props added by the TerrainLayer */\ntype _TerrainLayerProps = {\n /** Image url that encodes height data. **/\n elevationData: URLTemplate;\n\n /** Image url to use as texture. **/\n texture?: URLTemplate;\n\n /** Martini error tolerance in meters, smaller number -> more detailed mesh. **/\n meshMaxError?: number;\n\n /** Bounding box of the terrain image, [minX, minY, maxX, maxY] in world coordinates. **/\n bounds?: Bounds | null;\n\n /** Color to use if texture is unavailable. **/\n color?: Color;\n\n /** Object to decode height data, from (r, g, b) to height in meters. **/\n elevationDecoder?: ElevationDecoder;\n\n /** Whether to render the mesh in wireframe mode. **/\n wireframe?: boolean;\n\n /** Material props for lighting effect. **/\n material?: Material;\n\n /**\n * @deprecated Use `loadOptions.terrain.workerUrl` instead\n */\n workerUrl?: string;\n};\n\n/** Render mesh surfaces from height map images. */\nexport default class TerrainLayer<ExtraPropsT extends {} = {}> extends CompositeLayer<\n ExtraPropsT & Required<_TerrainLayerProps & Required<TileLayerProps<MeshAndTexture>>>\n> {\n static defaultProps = defaultProps;\n static layerName = 'TerrainLayer';\n\n state!: {\n isTiled?: boolean;\n terrain?: MeshAttributes;\n zRange?: ZRange | null;\n };\n\n updateState({props, oldProps}: UpdateParameters<this>): void {\n const elevationDataChanged = props.elevationData !== oldProps.elevationData;\n if (elevationDataChanged) {\n const {elevationData} = props;\n const isTiled =\n elevationData && (Array.isArray(elevationData) || isTileSetURL(elevationData));\n this.setState({isTiled});\n }\n\n // Reloading for single terrain mesh\n const shouldReload =\n elevationDataChanged ||\n props.meshMaxError !== oldProps.meshMaxError ||\n props.elevationDecoder !== oldProps.elevationDecoder ||\n props.bounds !== oldProps.bounds;\n\n if (!this.state.isTiled && shouldReload) {\n // When state.isTiled, elevationData cannot be an array\n const terrain = this.loadTerrain(props as TerrainLoadProps);\n this.setState({terrain});\n }\n\n // TODO - remove in v9\n // @ts-ignore\n if (props.workerUrl) {\n log.removed('workerUrl', 'loadOptions.terrain.workerUrl')();\n }\n }\n\n loadTerrain({\n elevationData,\n bounds,\n elevationDecoder,\n meshMaxError,\n signal\n }: TerrainLoadProps): Promise<MeshAttributes> | null {\n if (!elevationData) {\n return null;\n }\n const effectiveMeshMaxError = getEffectiveMeshMaxError(meshMaxError);\n let loadOptions = this.getLoadOptions();\n loadOptions = {\n ...loadOptions,\n terrain: {\n skirtHeight: this.state.isTiled ? effectiveMeshMaxError * 2 : 0,\n ...loadOptions?.terrain,\n bounds,\n meshMaxError: effectiveMeshMaxError,\n elevationDecoder\n }\n };\n const {fetch} = this.props;\n return fetch(elevationData, {propName: 'elevationData', layer: this, loadOptions, signal});\n }\n\n getTiledTerrainData(tile: TileLoadProps): Promise<MeshAndTexture> {\n const {elevationData, fetch, texture, elevationDecoder, meshMaxError} = this.props;\n const {viewport} = this.context;\n const dataUrl = getURLFromTemplate(elevationData, tile);\n const textureUrl = texture && getURLFromTemplate(texture, tile);\n\n const {signal} = tile;\n let bottomLeft = [0, 0] as [number, number];\n let topRight = [0, 0] as [number, number];\n if (viewport.isGeospatial) {\n const bbox = tile.bbox as GeoBoundingBox;\n bottomLeft = viewport.projectFlat([bbox.west, bbox.south]);\n topRight = viewport.projectFlat([bbox.east, bbox.north]);\n } else {\n const bbox = tile.bbox as Exclude<TileBoundingBox, GeoBoundingBox>;\n bottomLeft = [bbox.left, bbox.bottom];\n topRight = [bbox.right, bbox.top];\n }\n const bounds: Bounds = [bottomLeft[0], bottomLeft[1], topRight[0], topRight[1]];\n const overlappedBounds = getOverlappedBounds(\n bounds,\n this.props.tileSize,\n viewport instanceof GlobeViewport\n );\n\n const terrain = this.loadTerrain({\n elevationData: dataUrl,\n bounds: overlappedBounds,\n elevationDecoder,\n meshMaxError,\n signal\n });\n const surface = textureUrl\n ? // If surface image fails to load, the tile should still be displayed\n fetch(textureUrl, {propName: 'texture', layer: this, loaders: [], signal}).catch(_ => null)\n : Promise.resolve(null);\n\n return Promise.all([terrain, surface]);\n }\n\n renderSubLayers(\n props: TileLayerProps<MeshAndTexture> & {\n id: string;\n data: MeshAndTexture;\n tile: Tile2DHeader<MeshAndTexture>;\n }\n ) {\n const SubLayerClass = this.getSubLayerClass('mesh', SimpleMeshLayer);\n\n const {color, wireframe, material} = this.props;\n const {data} = props;\n\n if (!data) {\n return null;\n }\n\n const [mesh, texture] = data;\n\n const {viewport} = this.context;\n // Bounds are baked with projectFlat. In GlobeView projectFlat is identity,\n // so tiled terrain meshes are in lng/lat degrees instead of common-space\n // web-mercator units.\n const isGlobe = viewport instanceof GlobeViewport;\n const boundingBox = (mesh as MeshWithBoundingBox | null)?.header?.boundingBox;\n const hasLngLatBounds =\n boundingBox &&\n boundingBox.every(\n ([x, y]) =>\n x >= -MAX_LONGITUDE && x <= MAX_LONGITUDE && y >= -MAX_LATITUDE && y <= MAX_LATITUDE\n );\n const coordinateSystem =\n isGlobe && hasLngLatBounds ? COORDINATE_SYSTEM.LNGLAT : COORDINATE_SYSTEM.CARTESIAN;\n\n return new SubLayerClass(props, {\n data: DUMMY_DATA,\n mesh,\n texture,\n _instanced: false,\n coordinateSystem,\n getPosition: d => [0, 0, 0],\n getColor: color,\n wireframe,\n material\n });\n }\n\n // Update zRange of viewport\n onViewportLoad(tiles?: Tile2DHeader<MeshAndTexture>[]): void {\n if (!tiles) {\n return;\n }\n\n const {zRange} = this.state;\n const ranges = tiles\n .map(tile => tile.content)\n .filter(Boolean)\n .map(arr => {\n // @ts-ignore\n const bounds = arr[0].header.boundingBox;\n return bounds.map(bound => bound[2]);\n });\n if (ranges.length === 0) {\n return;\n }\n const minZ = Math.min(...ranges.map(x => x[0]));\n const maxZ = Math.max(...ranges.map(x => x[1]));\n\n if (!zRange || minZ < zRange[0] || maxZ > zRange[1]) {\n this.setState({zRange: [minZ, maxZ]});\n }\n }\n\n renderLayers(): Layer | null | LayersList {\n const {\n color,\n material,\n elevationData,\n texture,\n wireframe,\n meshMaxError,\n elevationDecoder,\n tileSize,\n maxZoom,\n minZoom,\n extent,\n maxRequests,\n onTileLoad,\n onTileUnload,\n onTileError,\n maxCacheSize,\n maxCacheByteSize,\n refinementStrategy,\n zoomOffset\n } = this.props;\n\n if (this.state.isTiled) {\n return new TileLayer<MeshAndTexture>(\n this.getSubLayerProps({\n id: 'tiles'\n }),\n {\n getTileData: this.getTiledTerrainData.bind(this),\n renderSubLayers: this.renderSubLayers.bind(this),\n updateTriggers: {\n getTileData: {\n elevationData: urlTemplateToUpdateTrigger(elevationData),\n texture: urlTemplateToUpdateTrigger(texture),\n meshMaxError,\n elevationDecoder,\n projectionMode: this.context.viewport.projectionMode,\n zoomOffset\n }\n },\n onViewportLoad: this.onViewportLoad.bind(this),\n zRange: this.state.zRange || null,\n tileSize,\n maxZoom,\n minZoom,\n extent,\n maxRequests,\n onTileLoad,\n onTileUnload,\n onTileError,\n maxCacheSize,\n maxCacheByteSize,\n refinementStrategy,\n zoomOffset\n }\n );\n }\n\n if (!elevationData) {\n return null;\n }\n\n const SubLayerClass = this.getSubLayerClass('mesh', SimpleMeshLayer);\n return new SubLayerClass(\n this.getSubLayerProps({\n id: 'mesh'\n }),\n {\n data: DUMMY_DATA,\n mesh: this.state.terrain,\n texture,\n _instanced: false,\n getPosition: d => [0, 0, 0],\n getColor: color,\n material,\n wireframe\n }\n );\n }\n}\n\nconst isTileSetURL = (url: string): boolean =>\n url.includes('{x}') && (url.includes('{y}') || url.includes('{-y}'));\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {\n Layer,\n LayersList,\n log,\n PickingInfo,\n UpdateParameters,\n GetPickingInfoParams,\n Viewport,\n COORDINATE_SYSTEM,\n DefaultProps\n} from '@deck.gl/core';\nimport {GeoJsonLayer, GeoJsonLayerProps} from '@deck.gl/layers';\nimport {ClipExtension} from '@deck.gl/extensions';\n\nimport {Matrix4} from '@math.gl/core';\nimport {MVTWorkerLoader} from '@loaders.gl/mvt';\nimport {binaryToGeojson} from '@loaders.gl/gis';\n\nimport type {Loader} from '@loaders.gl/loader-utils';\nimport type {BinaryFeatureCollection} from '@loaders.gl/schema';\nimport type {Feature, Geometry} from 'geojson';\n\nimport {transform} from './coordinate-transform';\nimport findIndexBinary from './find-index-binary';\n\nimport TileLayer, {TileLayerPickingInfo, TileLayerProps} from '../tile-layer/tile-layer';\n\nimport type {Tileset2DProps, TileLoadProps, GeoBoundingBox} from '../tileset-2d/index';\nimport {\n urlType,\n Tileset2D,\n Tile2DHeader,\n getURLFromTemplate,\n URLTemplate,\n isGeoBoundingBox,\n isURLTemplate\n} from '../tileset-2d/index';\n\nconst WORLD_SIZE = 512;\n\nconst defaultProps: DefaultProps<MVTLayerProps> = {\n ...GeoJsonLayer.defaultProps,\n data: urlType,\n onDataLoad: {type: 'function', value: null, optional: true, compare: false},\n uniqueIdProperty: '',\n highlightedFeatureId: null,\n loaders: [MVTWorkerLoader],\n binary: true\n};\n\nexport type TileJson = {\n tilejson: string;\n tiles: string[];\n // eslint-disable-next-line camelcase\n vector_layers: any[];\n attribution?: string;\n scheme?: string;\n maxzoom?: number;\n minzoom?: number;\n version?: string;\n};\n\ntype ParsedMvtTile = Feature[] | BinaryFeatureCollection;\n\nexport type MVTLayerPickingInfo<FeaturePropertiesT = {}> = TileLayerPickingInfo<\n ParsedMvtTile,\n PickingInfo<Feature<Geometry, FeaturePropertiesT>>\n>;\n\n/** All props supported by the MVTLayer */\nexport type MVTLayerProps<FeaturePropertiesT = unknown> = _MVTLayerProps<FeaturePropertiesT> &\n Omit<TileLayerProps<ParsedMvtTile>, 'data'>;\n\n/** Props added by the MVTLayer */\nexport type _MVTLayerProps<FeaturePropertiesT> = Omit<\n GeoJsonLayerProps<FeaturePropertiesT>,\n 'data'\n> & {\n data: TileJson | URLTemplate;\n\n /** Called if `data` is a TileJSON URL when it is successfully fetched. */\n onDataLoad?: ((tilejson: TileJson | null) => void) | null;\n\n /** Needed for highlighting a feature split across two or more tiles. */\n uniqueIdProperty?: string;\n\n /** A feature with ID corresponding to the supplied value will be highlighted. */\n highlightedFeatureId?: string | number | null;\n\n /**\n * Use tile data in binary format.\n *\n * @default true\n */\n binary?: boolean;\n\n /**\n * Loaders used to transform tiles into `data` property passed to `renderSubLayers`.\n *\n * @default [MVTWorkerLoader] from `@loaders.gl/mvt`\n */\n loaders?: Loader[];\n};\n\ntype ContentWGS84Cache = {_contentWGS84?: Feature[]};\n\n/** Render data formatted as [Mapbox Vector Tiles](https://docs.mapbox.com/vector-tiles/specification/). */\nexport default class MVTLayer<\n FeaturePropertiesT = any,\n ExtraProps extends {} = {}\n> extends TileLayer<ParsedMvtTile, Required<_MVTLayerProps<FeaturePropertiesT>> & ExtraProps> {\n static layerName = 'MVTLayer';\n static defaultProps = defaultProps;\n\n state!: TileLayer<ParsedMvtTile>['state'] & {\n binary: boolean;\n data: URLTemplate;\n tileJSON: TileJson | null;\n highlightColor?: number[];\n hoveredFeatureId: number | string | null;\n hoveredFeatureLayerName: string | null;\n };\n\n initializeState(): void {\n super.initializeState();\n // GlobeView doesn't work well with binary data\n const binary = this.context.viewport.resolution !== undefined ? false : this.props.binary;\n this.setState({\n binary,\n data: null,\n tileJSON: null,\n hoveredFeatureId: null,\n hoveredFeatureLayerName: null\n });\n }\n\n get isLoaded(): boolean {\n return Boolean(this.state?.data && super.isLoaded);\n }\n\n updateState({props, oldProps, context, changeFlags}: UpdateParameters<this>) {\n if (changeFlags.dataChanged) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this._updateTileData();\n }\n\n if (this.state?.data) {\n super.updateState({props, oldProps, context, changeFlags});\n this._setWGS84PropertyForTiles();\n }\n const {highlightColor} = props;\n if (highlightColor !== oldProps.highlightColor && Array.isArray(highlightColor)) {\n this.setState({highlightColor});\n }\n }\n\n /* eslint-disable complexity */\n private async _updateTileData(): Promise<void> {\n let data = this.props.data;\n let tileJSON: TileJson | null = null;\n\n if (typeof data === 'string' && !isURLTemplate(data)) {\n const {onDataLoad, fetch} = this.props;\n this.setState({data: null, tileJSON: null});\n try {\n tileJSON = await fetch(data, {propName: 'data', layer: this, loaders: []});\n } catch (error: any) {\n this.raiseError(error, 'loading TileJSON');\n data = null;\n }\n\n if (onDataLoad) {\n onDataLoad(tileJSON, {propName: 'data', layer: this});\n }\n } else if (data && typeof data === 'object' && 'tilejson' in data) {\n tileJSON = data;\n }\n\n if (tileJSON) {\n data = tileJSON.tiles;\n }\n\n this.setState({data, tileJSON});\n }\n\n _getTilesetOptions(): Tileset2DProps {\n const opts = super._getTilesetOptions();\n const tileJSON: TileJson | null = this.state.tileJSON;\n const {minZoom, maxZoom} = this.props;\n\n if (tileJSON) {\n if (Number.isFinite(tileJSON.minzoom) && (tileJSON.minzoom as number) > (minZoom as number)) {\n opts.minZoom = tileJSON.minzoom;\n }\n\n if (\n Number.isFinite(tileJSON.maxzoom) &&\n (!Number.isFinite(maxZoom) || (tileJSON.maxzoom as number) < (maxZoom as number))\n ) {\n opts.maxZoom = tileJSON.maxzoom;\n }\n }\n return opts;\n }\n\n /* eslint-disable complexity */\n\n renderLayers(): Layer | null | LayersList {\n if (!this.state?.data) return null;\n return super.renderLayers();\n }\n\n getTileData(loadProps: TileLoadProps): Promise<ParsedMvtTile> {\n const {data, binary} = this.state;\n const {index, signal} = loadProps;\n\n const url = getURLFromTemplate(data, loadProps);\n if (!url) {\n return Promise.reject('Invalid URL');\n }\n let loadOptions = this.getLoadOptions();\n const {fetch} = this.props;\n loadOptions = {\n ...loadOptions,\n core: {\n ...loadOptions?.core,\n mimeType: 'application/x-protobuf'\n },\n mvt: {\n ...loadOptions?.mvt,\n shape: binary ? 'binary' : 'geojson',\n coordinates: this.context.viewport.resolution ? 'wgs84' : 'local',\n tileIndex: index\n // Local worker debug\n // workerUrl: `modules/mvt/dist/mvt-loader.worker.js`\n // Set worker to null to skip web workers\n // workerUrl: null\n }\n };\n return fetch(url, {propName: 'data', layer: this, loadOptions, signal});\n }\n\n renderSubLayers(\n props: TileLayer['props'] & {\n id: string;\n data: ParsedMvtTile;\n _offset: number;\n tile: Tile2DHeader<ParsedMvtTile>;\n }\n ): Layer | null | LayersList {\n const {x, y, z} = props.tile.index;\n const worldScale = Math.pow(2, z);\n\n const xScale = WORLD_SIZE / worldScale;\n const yScale = -xScale;\n\n const xOffset = (WORLD_SIZE * x) / worldScale;\n const yOffset = WORLD_SIZE * (1 - y / worldScale);\n\n const modelMatrix = new Matrix4().scale([xScale, yScale, 1]);\n\n props.autoHighlight = false;\n\n if (!this.context.viewport.resolution) {\n props.modelMatrix = modelMatrix;\n props.coordinateOrigin = [xOffset, yOffset, 0];\n props.coordinateSystem = COORDINATE_SYSTEM.CARTESIAN;\n props.extensions = [...(props.extensions || []), new ClipExtension()];\n }\n\n const subLayers = super.renderSubLayers(props);\n\n if (this.state.binary && !(subLayers instanceof GeoJsonLayer)) {\n log.warn('renderSubLayers() must return GeoJsonLayer when using binary:true')();\n }\n\n return subLayers;\n }\n\n protected _updateAutoHighlight(info: PickingInfo): void {\n const {uniqueIdProperty} = this.props;\n\n const {hoveredFeatureId, hoveredFeatureLayerName} = this.state;\n const hoveredFeature = info.object;\n let newHoveredFeatureId: string | number | null = null;\n let newHoveredFeatureLayerName: string | null = null;\n\n if (hoveredFeature) {\n newHoveredFeatureId = getFeatureUniqueId(hoveredFeature, uniqueIdProperty);\n newHoveredFeatureLayerName = getFeatureLayerName(hoveredFeature);\n }\n let {highlightColor} = this.props;\n if (typeof highlightColor === 'function') {\n highlightColor = highlightColor(info);\n }\n\n if (\n hoveredFeatureId !== newHoveredFeatureId ||\n hoveredFeatureLayerName !== newHoveredFeatureLayerName\n ) {\n this.setState({\n highlightColor,\n hoveredFeatureId: newHoveredFeatureId,\n hoveredFeatureLayerName: newHoveredFeatureLayerName\n });\n }\n }\n\n protected _isWGS84(): boolean {\n return Boolean(this.context.viewport.resolution);\n }\n\n getPickingInfo(params: GetPickingInfoParams): MVTLayerPickingInfo<FeaturePropertiesT> {\n const info = super.getPickingInfo(params);\n\n if (this.state.binary && info.index !== -1) {\n const {data} = params.sourceLayer!.props;\n info.object = binaryToGeojson(data as BinaryFeatureCollection, {\n globalFeatureId: info.index\n }) as Feature;\n }\n if (info.object && !this._isWGS84()) {\n info.object = transformTileCoordsToWGS84(\n info.object,\n info.tile!.bbox as GeoBoundingBox, // eslint-disable-line\n this.context.viewport\n );\n }\n\n return info;\n }\n\n getSubLayerPropsByTile(tile: Tile2DHeader<ParsedMvtTile>): Record<string, any> {\n return {\n highlightedObjectIndex: this.getHighlightedObjectIndex(tile),\n highlightColor: this.state.highlightColor\n };\n }\n\n private getHighlightedObjectIndex(tile: Tile2DHeader<ParsedMvtTile>): number {\n const {hoveredFeatureId, hoveredFeatureLayerName, binary} = this.state;\n const {uniqueIdProperty, highlightedFeatureId} = this.props;\n const data = tile.content;\n\n const isHighlighted = isFeatureIdDefined(highlightedFeatureId);\n const isFeatureIdPresent = isFeatureIdDefined(hoveredFeatureId) || isHighlighted;\n\n if (!isFeatureIdPresent) {\n return -1;\n }\n\n const featureIdToHighlight = isHighlighted ? highlightedFeatureId! : hoveredFeatureId!;\n\n // Iterable data\n if (Array.isArray(data)) {\n return data.findIndex(feature => {\n const isMatchingId = getFeatureUniqueId(feature, uniqueIdProperty) === featureIdToHighlight;\n const isMatchingLayer =\n isHighlighted || getFeatureLayerName(feature) === hoveredFeatureLayerName;\n return isMatchingId && isMatchingLayer;\n });\n\n // Non-iterable data\n } else if (data && binary) {\n // Get the feature index of the selected item to highlight\n return findIndexBinary(\n data,\n uniqueIdProperty,\n featureIdToHighlight,\n isHighlighted ? '' : hoveredFeatureLayerName!\n );\n }\n\n return -1;\n }\n\n private _pickObjects(maxObjects: number | null): PickingInfo[] {\n const {deck, viewport} = this.context;\n const width = viewport.width;\n const height = viewport.height;\n const x = viewport.x;\n const y = viewport.y;\n const layerIds = [this.id];\n return deck!.pickObjects({x, y, width, height, layerIds, maxObjects});\n }\n\n /** Get the rendered features in the current viewport. */\n getRenderedFeatures(maxFeatures: number | null = null): Feature[] {\n const features = this._pickObjects(maxFeatures);\n const featureCache = new Set();\n const renderedFeatures: Feature[] = [];\n\n for (const f of features) {\n const featureId = getFeatureUniqueId(f.object, this.props.uniqueIdProperty);\n\n if (featureId === undefined) {\n // we have no id for the feature, we just add to the list\n renderedFeatures.push(f.object as Feature);\n } else if (!featureCache.has(featureId)) {\n // Add removing duplicates\n featureCache.add(featureId);\n renderedFeatures.push(f.object as Feature);\n }\n }\n\n return renderedFeatures;\n }\n\n private _setWGS84PropertyForTiles(): void {\n const propName = 'dataInWGS84';\n const tileset: Tileset2D = this.state.tileset!;\n\n // @ts-expect-error selectedTiles are always initialized when tile is being processed\n tileset.selectedTiles.forEach((tile: Tile2DHeader & ContentWGS84Cache) => {\n if (!tile.hasOwnProperty(propName)) {\n // eslint-disable-next-line accessor-pairs\n Object.defineProperty(tile, propName, {\n get: () => {\n // Still loading or encountered an error\n if (!tile.content) {\n return null;\n }\n\n if (this.state.binary && Array.isArray(tile.content) && !tile.content.length) {\n // TODO: @loaders.gl/mvt returns [] when no content. It should return a valid empty binary.\n // https://github.com/visgl/loaders.gl/pull/1137\n return [];\n }\n\n const {bbox} = tile;\n if (tile._contentWGS84 === undefined && isGeoBoundingBox(bbox)) {\n // Create a cache to transform only once\n\n const content = this.state.binary ? binaryToGeojson(tile.content) : tile.content;\n tile._contentWGS84 = content.map(feature =>\n transformTileCoordsToWGS84(feature, bbox, this.context.viewport)\n );\n }\n return tile._contentWGS84;\n }\n });\n }\n });\n }\n}\n\nfunction getFeatureUniqueId(feature: Feature, uniqueIdProperty: string | undefined) {\n if (feature.properties && uniqueIdProperty) {\n return feature.properties[uniqueIdProperty];\n }\n\n if ('id' in feature) {\n return feature.id;\n }\n\n return undefined;\n}\n\nfunction getFeatureLayerName(feature: Feature): string | null {\n return feature.properties?.layerName || null;\n}\n\nfunction isFeatureIdDefined(value: unknown): boolean {\n return value !== undefined && value !== null && value !== '';\n}\n\nfunction transformTileCoordsToWGS84(\n object: Feature,\n bbox: GeoBoundingBox,\n viewport: Viewport\n): Feature {\n const feature = {\n ...object,\n geometry: {\n type: object.geometry.type\n }\n };\n\n // eslint-disable-next-line accessor-pairs\n Object.defineProperty(feature.geometry, 'coordinates', {\n get: () => {\n const wgs84Geom = transform(object.geometry, bbox, viewport);\n return wgs84Geom.coordinates;\n }\n });\n\n return feature as Feature;\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Viewport} from '@deck.gl/core';\nimport {lerp} from '@math.gl/core';\nimport {GeoBoundingBox} from '../tileset-2d/index';\n\nconst availableTransformations = {\n Point,\n MultiPoint,\n LineString,\n MultiLineString,\n Polygon,\n MultiPolygon\n};\n\nfunction Point([pointX, pointY]: [number, number], [nw, se]: number[][], viewport: Viewport) {\n const x = lerp(nw[0], se[0], pointX);\n const y = lerp(nw[1], se[1], pointY);\n\n return viewport.unprojectFlat([x, y]);\n}\n\nfunction getPoints(geometry, bbox: number[][], viewport: Viewport) {\n return geometry.map(g => Point(g, bbox, viewport));\n}\n\nfunction MultiPoint(multiPoint, bbox: number[][], viewport: Viewport) {\n return getPoints(multiPoint, bbox, viewport);\n}\n\nfunction LineString(line, bbox: number[][], viewport: Viewport) {\n return getPoints(line, bbox, viewport);\n}\n\nfunction MultiLineString(multiLineString, bbox: number[][], viewport: Viewport) {\n return multiLineString.map(lineString => LineString(lineString, bbox, viewport));\n}\n\nfunction Polygon(polygon, bbox: number[][], viewport: Viewport) {\n return polygon.map(polygonRing => getPoints(polygonRing, bbox, viewport));\n}\n\nfunction MultiPolygon(multiPolygon, bbox: number[][], viewport: Viewport) {\n return multiPolygon.map(polygon => Polygon(polygon, bbox, viewport));\n}\n\nexport function transform(geometry, bbox: GeoBoundingBox, viewport: Viewport) {\n const nw = viewport.projectFlat([bbox.west, bbox.north]);\n const se = viewport.projectFlat([bbox.east, bbox.south]);\n const projectedBbox = [nw, se];\n\n return {\n ...geometry,\n coordinates: availableTransformations[geometry.type](\n geometry.coordinates,\n projectedBbox,\n viewport\n )\n };\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {\n BinaryFeatureCollection,\n BinaryLineFeature,\n BinaryPointFeature,\n BinaryPolygonFeature\n} from '@loaders.gl/schema';\n\ntype FeatureTypes = BinaryPointFeature | BinaryLineFeature | BinaryPolygonFeature;\n\nconst GEOM_TYPES = ['points', 'lines', 'polygons'];\n/**\n * Return the index of feature (numericProps or featureIds) for given feature id\n * Example: findIndexBinary(data, 'id', 33) will return the index in the array of numericProps\n * of the feature 33.\n */\nexport default function findIndexBinary(\n data: BinaryFeatureCollection, // The data in binary format\n uniqueIdProperty: string, // Name of the unique id property\n featureId: string | number, // feature id to find\n layerName: string | null // the layer to search in\n): number {\n for (const gt of GEOM_TYPES) {\n const index = data[gt] && findIndexByType(data[gt], uniqueIdProperty, featureId, layerName);\n if (index >= 0) {\n return index;\n }\n }\n\n return -1;\n}\n\nfunction findIndexByType(\n geomData: FeatureTypes,\n uniqueIdProperty: string,\n featureId: string | number,\n layerName: string | null\n): number {\n const featureIds = geomData.featureIds.value;\n\n if (!featureIds.length) {\n return -1;\n }\n\n let startFeatureIndex = 0;\n let endFeatureIndex = featureIds[featureIds.length - 1] + 1;\n if (layerName) {\n const layerRange = getLayerRange(geomData, layerName);\n if (layerRange) {\n startFeatureIndex = layerRange[0];\n endFeatureIndex = layerRange[1] + 1;\n } else {\n return -1;\n }\n }\n\n // Look for the uniqueIdProperty\n let featureIndex = -1;\n if (uniqueIdProperty in geomData.numericProps) {\n const vertexIndex = geomData.numericProps[uniqueIdProperty].value.findIndex(\n (x, i) =>\n x === featureId && featureIds[i] >= startFeatureIndex && featureIds[i] < endFeatureIndex\n );\n return vertexIndex >= 0 ? geomData.globalFeatureIds.value[vertexIndex] : -1;\n } else if (uniqueIdProperty) {\n featureIndex = findIndex(\n geomData.properties,\n elem => elem[uniqueIdProperty] === featureId,\n startFeatureIndex,\n endFeatureIndex\n );\n } else if (geomData.fields) {\n featureIndex = findIndex(\n geomData.fields,\n (elem: any) => elem.id === featureId,\n startFeatureIndex,\n endFeatureIndex\n );\n }\n return featureIndex >= 0 ? getGlobalFeatureId(geomData, featureIndex) : -1;\n}\n\ntype LayerRange = [firstFeatureIndex: number, lastFeatureIndex: number];\n\n// Returns [firstFeatureIndex, lastFeatureIndex]\n// MVTLoader parses tiles layer-by-layer, so each layer is a continuous range\nfunction getLayerRange(\n geomData: FeatureTypes & {\n __layers?: Record<string, LayerRange>;\n },\n layerName: string\n): LayerRange | undefined {\n if (!geomData.__layers) {\n // Cache a map from properties.layerName to index ranges\n const layerNames: Record<string, LayerRange> = {};\n const {properties} = geomData;\n for (let i = 0; i < properties.length; i++) {\n const {layerName: key} = properties[i];\n if (!key) {\n // ignore\n } else if (layerNames[key]) {\n layerNames[key][1] = i;\n } else {\n layerNames[key] = [i, i];\n }\n }\n geomData.__layers = layerNames;\n }\n return geomData.__layers[layerName];\n}\n\n// Returns global feature id\nfunction getGlobalFeatureId(geomData, featureIndex: number) {\n if (!geomData.__ids) {\n // Cache a map from featureId to globalFeatureId\n const result: string[] = [];\n const featureIds = geomData.featureIds.value;\n const globalFeatureIds = geomData.globalFeatureIds.value;\n for (let i = 0; i < featureIds.length; i++) {\n result[featureIds[i]] = globalFeatureIds[i];\n }\n geomData.__ids = result;\n }\n return geomData.__ids[featureIndex];\n}\n\n// Like array.findIndex, but only search within a range\nfunction findIndex<T>(\n array: T[],\n predicate: (v: T, index: number) => boolean,\n startIndex: number,\n endIndex: number\n): number {\n for (let i = startIndex; i < endIndex; i++) {\n if (predicate(array[i], i)) {\n return i;\n }\n }\n return -1;\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nconst BASE32_CODES = '0123456789bcdefghjkmnpqrstuvwxyz';\nconst BASE32_CODES_DICT = {};\nfor (let i = 0; i < BASE32_CODES.length; i++) {\n BASE32_CODES_DICT[BASE32_CODES.charAt(i)] = i;\n}\n\nconst MIN_LAT = -90;\nconst MAX_LAT = 90;\nconst MIN_LON = -180;\nconst MAX_LON = 180;\n\n// Adapted from ngeohash decode_bbox\nexport function getGeohashBounds(geohash: string): number[] {\n let isLon = true;\n let maxLat = MAX_LAT;\n let minLat = MIN_LAT;\n let maxLon = MAX_LON;\n let minLon = MIN_LON;\n let mid: number;\n\n let hashValue = 0;\n for (let i = 0, l = geohash.length; i < l; i++) {\n const code = geohash[i].toLowerCase();\n hashValue = BASE32_CODES_DICT[code];\n\n for (let bits = 4; bits >= 0; bits--) {\n const bit = (hashValue >> bits) & 1;\n if (isLon) {\n mid = (maxLon + minLon) / 2;\n if (bit === 1) {\n minLon = mid;\n } else {\n maxLon = mid;\n }\n } else {\n mid = (maxLat + minLat) / 2;\n if (bit === 1) {\n minLat = mid;\n } else {\n maxLat = mid;\n }\n }\n isLon = !isLon;\n }\n }\n\n return [minLat, minLon, maxLat, maxLon];\n}\n\nexport function getGeohashPolygon(geohash: string): number[] {\n const [s, w, n, e] = getGeohashBounds(geohash);\n\n return [e, n, e, s, w, s, w, n, e, n];\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {AccessorFunction, DefaultProps} from '@deck.gl/core';\nimport GeoCellLayer, {GeoCellLayerProps} from '../geo-cell-layer/GeoCellLayer';\nimport {getGeohashPolygon} from './geohash-utils';\n\nconst defaultProps: DefaultProps<GeohashLayerProps> = {\n getGeohash: {type: 'accessor', value: (d: any) => d.geohash}\n};\n\n/** All properties supported by GeohashLayer. */\nexport type GeohashLayerProps<DataT = unknown> = _GeohashLayerProps<DataT> &\n GeoCellLayerProps<DataT>;\n\n/** Properties added by GeohashLayer. */\ntype _GeohashLayerProps<DataT> = {\n /**\n * Called for each data object to retrieve the geohash string identifier.\n *\n * By default, it reads `geohash` property of data object.\n */\n getGeohash?: AccessorFunction<DataT, string>;\n};\n\n/** Render filled and/or stroked polygons based on the [Geohash](https://en.wikipedia.org/wiki/Geohash) geospatial indexing system. */\nexport default class GeohashLayer<DataT = any, ExtraProps extends {} = {}> extends GeoCellLayer<\n DataT,\n Required<_GeohashLayerProps<DataT>> & ExtraProps\n> {\n static layerName = 'GeohashLayer';\n static defaultProps = defaultProps;\n\n indexToBounds(): Partial<GeoCellLayer['props']> | null {\n const {data, getGeohash} = this.props;\n\n return {\n data,\n _normalize: false,\n positionFormat: 'XY',\n getPolygon: (x: DataT, objectInfo) => getGeohashPolygon(getGeohash(x, objectInfo))\n };\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;ACIA,kBAA8D;AAC9D,oBAA8C;AAE9C,IAAM,eAAgD;EACpD,GAAG,2BAAa;;AAMlB,IAAqB,eAArB,cAAmF,2BAElF;;EAKC,gBAAa;AACX,WAAO;EACT;EAEA,eAAY;AAEV,UAAM,EACJ,gBACA,UACA,WACA,QACA,SACA,gBACA,gBACA,oBACA,oBACA,kBACA,gBACA,mBACA,cACA,cACA,cACA,aAAY,IACV,KAAK;AAGT,UAAM,EAAC,gBAAgB,UAAU,YAAW,IAAI,KAAK;AAGrD,UAAM,YAAY,KAAK,iBAAiB,QAAQ,0BAAY;AAC5D,UAAM,EAAC,gBAAgB,sBAAsB,GAAG,YAAW,IAAI,KAAK,cAAa,KAAM,CAAA;AACvF,WAAO,IAAI,UACT;MACE;MACA;MAEA;MACA;MAEA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MAEA;MACA;MAEA;MACA;MACA;MACA;OAEF,KAAK,iBAAiB;MACpB,IAAI;MACJ,gBAAgB,kBAAkB;QAChC,GAAG;QACH,cAAc,eAAe;QAC7B,cAAc,eAAe;QAC7B,cAAc,eAAe;QAC7B,cAAc,eAAe;;KAEhC,GACD,WAAW;EAEf;;AAxEO,aAAA,YAAY;AACZ,aAAA,eAA6B;2BAJjB;;;ACRrB,mBAAuC;;;ACFvC,mBAAoE;AACpE,IAAAA,eAAmB;AAGb,SAAU,oBAAoB,UAAuB,QAAe;AACxE,WAAS,WAAW,SAAY,SAAS,CAAC,EAAE,CAAC,IAAI;AACjD,aAAW,MAAM,UAAU;AACzB,UAAM,WAAW,GAAG,CAAC,IAAI;AACzB,QAAI,WAAW,KAAK;AAClB,SAAG,CAAC,KAAK;IACX,WAAW,WAAW,MAAM;AAC1B,SAAG,CAAC,KAAK;IACX;EACF;AACF;AAGM,SAAU,aAAa,OAAqB,UAAuB,QAAc;AACrF,QAAM,CAAC,KAAK,GAAG,QAAI,2BAAa,KAAK;AACrC,QAAM,cAAc,SAAS;AAG7B,sBAAoB,UAAU,GAAG;AAIjC,QAAM,cAAc,SAAS,CAAC,MAAM,SAAS,cAAc,CAAC,IAAI,cAAc,IAAI;AAClF,WAAS,IAAI,GAAG,IAAI,aAAa,KAAK;AACpC,aAAS,CAAC,EAAE,CAAC,QAAI,mBAAK,KAAK,SAAS,CAAC,EAAE,CAAC,GAAG,MAAM;AACjD,aAAS,CAAC,EAAE,CAAC,QAAI,mBAAK,KAAK,SAAS,CAAC,EAAE,CAAC,GAAG,MAAM;EACnD;AACF;AAGM,SAAU,mBAAmB,YAAY,QAAQ,YAAU;AAC/D,QAAM,YAAY,WAAW,QAAQ,UAAU;AAC/C,QAAM,CAAC,KAAK,GAAG,QAAI,2BAAa,SAAS;AACzC,SAAO,CAAC,KAAK,GAAG;AAClB;AAEM,SAAU,YAAY,OAAqB,WAAmB,GAAC;AACnE,QAAM,eAAW,6BAAe,OAAO,IAAI;AAE3C,MAAI,aAAa,GAAG;AAElB,iBAAa,OAAO,UAAU,QAAQ;EACxC,OAAO;AAEL,wBAAoB,QAAQ;EAC9B;AAEA,SAAO;AACT;AAEM,SAAU,eAAe,UAAoB;AACjD,QAAM,YAAY,IAAI,aAAa,SAAS,SAAS,CAAC;AACtD,MAAI,IAAI;AACR,aAAW,MAAM,UAAU;AACzB,cAAU,GAAG,IAAI,GAAG,CAAC;AACrB,cAAU,GAAG,IAAI,GAAG,CAAC;EACvB;AACA,SAAO;AACT;;;ADzDA,IAAMC,gBAA2C;EAC/C,aAAa,EAAC,MAAM,YAAY,OAAO,CAAC,MAAW,EAAE,SAAQ;;AAiB/D,IAAqB,UAArB,cAA8E,qBAG7E;EAIC,gBAAa;AACX,UAAM,EAAC,MAAM,YAAW,IAAI,KAAK;AAEjC,WAAO;MACL;MACA,YAAY;MACZ,eAAe;MACf,gBAAgB;MAChB,YAAY,CAAC,GAAU,eAAc;AACnC,cAAM,WAAW,YAAY,GAAG,UAAU;AAC1C,cAAM,eAAW,6BACf,OAAO,aAAa,eAAW,uBAAS,QAAQ,IAAI,UACpD,EAAC,YAAY,MAAM,UAAU,OAAM,CAAC;AAEtC,eAAO,eAAe,QAAQ;MAChC;;EAEJ;;AApBO,QAAA,YAAY;AACZ,QAAA,eAAeA;uBALH;;;AEhBrB,IAAAC,eASO;AACP,IAAAC,iBAA0B;AAE1B,IAAAD,eAA+B;AAC/B,iBAAqC;;;ACpBrC,0BAA4B;AAI5B,IAAM,2BAA2B,UAAU,KAAK;AAK1C,SAAU,sBAAsB,OAAuB;AAC3D,QAAM,eAAW,mCAAc,KAAK;AACpC,WAAS,CAAC,KAAK,SAAS,CAAC,IAAI,MAAM,KAAK;AACxC,WAAS,CAAC,KAAK,SAAS,CAAC,IAAI,MAAM,KAAK;AACxC,SAAO;AACT;;;ADyBA,IAAME,gBAA4C;EAChD,IAAI;EACJ,MAAM;EACN,aAAa;EACb,KAAK;EACL,QAAQ,EAAC,MAAM,SAAS,SAAS,MAAM,OAAO,CAAA,EAAE;EAChD,gBAAgB,EAAC,MAAM,YAAY,OAAO,MAAK;EAAE,EAAC;;EAElD,qBAAqB,EAAC,MAAM,YAAY,OAAO,QAAQ,MAAK;EAC5D,kBAAkB,EAAC,MAAM,YAAY,OAAO,MAAK;EAAE,EAAC;EACpD,aAAa,EAAC,MAAM,YAAY,OAAO,MAAK;EAAE,EAAC;EAC/C,kBAAkB;IAChB,MAAM;IACN,SAAS;;IAET,OAAO,CAAC,WAAoB,UAAiB,QAAQ,MAAM,OAAO,SAAS;;;AAOzE,IAAO,WAAP,cAAqD,4BAE1D;;EAuBC,IAAI,WAAQ;AA1Fd;AA4FI,aAAO,UAAK,UAAL,mBAAY,iBAAgB,KAAK,MAAM;EAChD;;EAGS,oBAAiB;AACxB,WAAO;EACT;EAES,kBAAe;AAEtB,SAAK,MAAM,iBAAiB;AAC5B,SAAK,MAAM,gBAAgB;AAC3B,SAAK,MAAM,cAAc;EAC3B;EAES,YAAY,EAAC,aAAa,OAAO,SAAQ,GAAyB;AACzE,UAAM,EAAC,SAAQ,IAAI,KAAK;AAGxB,QAAI,YAAY,eAAe,MAAM,gBAAgB,SAAS,aAAa;AACzE,WAAK,MAAM,cAAc,KAAK,mBAAmB,KAAK;AAEtD,WAAK,cAAa;AAClB,WAAK,SAAS,MAAM,KAAK,UAAU,UAAU,sBAAsB,GAAG,CAAC;IACzE,WAAW,KAAC,aAAAC,YAAU,MAAM,QAAQ,SAAS,QAAQ,CAAC,GAAG;AACvD,WAAK,SAAS,MAAM,KAAK,UAAU,UAAU,gBAAgB,GAAG,CAAC;IACnE,WAAW,YAAY,iBAAiB;AACtC,WAAK,SAAS,MAAM,KAAK,UAAU,UAAU,kBAAkB,CAAC;IAClE;EACF;EAES,gBAAa;EAEtB;EAES,eAAY;AAGnB,UAAM,EAAC,QAAQ,OAAO,sBAAqB,IAAI,KAAK;AAEpD,WACE,SACA,IAAI,2BAAY;MACd,GAAG,KAAK,iBAAiB,EAAC,IAAI,SAAQ,CAAC;MACvC,wBACE,sBAAsB,QAAQ,cAC1B,+BAAkB,SAClB,+BAAkB;MACxB;MACA;KACD;EAEL;EAEA,MAAM,mBAAmB,GAAW,GAAS;AAlJ/C;AAmJI,UAAM,EAAC,sBAAqB,IAAI,KAAK;AACrC,QAAI,uBAAuB;AAEzB,YAAM,cAAc,QAAM,gBAAK,MAAM,aAAY,uBAAvB,4BAA4C;QACpE,GAAG;QACH,cAAc,sBAAsB;QACpC;QACA;QACA,aAAa;;AAEf,aAAO;IACT;AACA,WAAO;EACT;EAEA,mBAAmB,OAAoB;AACrC,QAAI,MAAM,gBAAgB,wBAAa;AACrC,aAAO,MAAM;IACf;AAEA,QAAI,OAAO,MAAM,SAAS,UAAU;AAClC,iBAAO,+BAAiB,MAAM,MAAM,CAAC,oBAAS,GAAG;QAC/C,MAAM;UACJ,MAAM,MAAM;UACZ,aAAa,MAAM;;OAEtB;IACH;AAEA,UAAM,IAAI,MAAM,oCAAoC;EACtD;;EAGA,MAAM,gBAAa;AApLrB;AAqLI,UAAM,EAAC,YAAW,IAAI,KAAK;AAC3B,QAAI;AACF,WAAK,MAAM;AACX,YAAM,WAAW,MAAM,YAAY,YAAW;AAG9C,UAAI,KAAK,MAAM,gBAAgB,aAAa;AAC1C,mBAAK,gBAAe,MAApB,mBAAwB,MAAM,eAAe;MAC/C;IACF,SAAS,OAAP;AACA,iBAAK,gBAAe,MAApB,mBAAwB,MAAM,oBAAoB;IACpD;AACE,WAAK,MAAM;IACb;EACF;;EAGA,MAAM,UAAU,UAAoB,QAAc;AAtMpD;AAuMI,UAAM,EAAC,QAAQ,YAAW,IAAI,KAAK;AAGnC,QAAI,gBAAgB,SAAS,OAAO,WAAW,GAAG;AAChD;IACF;AAEA,UAAM,SAAS,SAAS,UAAS;AACjC,UAAM,EAAC,OAAO,OAAM,IAAI;AACxB,UAAM,YAAY,KAAK,aAAY;AACnC,QAAI,EAAC,IAAG,IAAI,KAAK;AACjB,QAAI,QAAQ,QAAQ;AAElB,YAAM,SAAS,aAAa,cAAc;IAC5C;AACA,UAAM,gBAAoC;MACxC;MACA;MACA,aAAa;QACX,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;QACrB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;;MAEvB;MACA,KAAK;;AAEP,QAAI,QAAQ,aAAa;AACvB,YAAM,MAAM,sBAAsB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;AACxD,YAAM,MAAM,sBAAsB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;AACxD,oBAAc,cAAc,CAAC,KAAK,GAAG;IACvC;AAEA,QAAI;AACF,WAAK,MAAM;AACX,WAAK,MAAM,iBAAiB,SAAS;AAErC,YAAM,QAAQ,MAAM,KAAK,MAAM,YAAY,SAAS,aAAa;AAGjE,UAAI,KAAK,MAAM,gBAAgB,WAAW;AACxC,mBAAK,gBAAe,MAApB,mBAAwB,MAAM,YAAY;AAE1C,aAAK,SAAS;UACZ;UACA;UACA,uBAAuB;UACvB,eAAe;SAChB;MACH;IACF,SAAS,OAAP;AACA,WAAK,WAAW,OAAgB,YAAY;AAC5C,iBAAK,gBAAe,MAApB,mBAAwB,MAAM,iBAAiB,WAAW;IAC5D;AACE,WAAK,MAAM;IACb;EACF;;;EAKQ,eAAY;AAClB,WAAO,KAAK,MAAM;EACpB;;EAGQ,SAAS,IAAc,KAAK,KAAG;AACrC,iBAAa,KAAK,MAAM,UAAU;AAClC,SAAK,MAAM,aAAa,WAAW,MAAM,GAAE,GAAI,EAAE;EACnD;;AAtMO,SAAA,YAAY;AACZ,SAAA,eAA6BD;;;AEhEtC,IAAAE,iBAAsC;AAEtC,IAAMC,gBAA4C;EAChD,WAAW,EAAC,MAAM,YAAY,OAAO,EAAC;EACtC,aAAa;;AASf,IAAqB,mBAArB,cAAuF,wBAGtF;;AACQ,iBAAA,YAAY;AACZ,iBAAA,eAAeA;iCALH;;;ACDrB,kBAAiB;AAKjB,IAAM,YAAY;AAClB,IAAM,YAAY;AAClB,IAAM,WAAW,IAAI,YAAY;AACjC,IAAM,mBAAmB,MAAM,KAAK;AAE9B,SAAU,OACd,IACA,OACA,SAAyB;AAEzB,QAAM,UAAU,KAAK;AAErB,SAAO,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,UAAU,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,OAAO;AACxE;AAEA,SAAS,aAAa,IAAU;AAC9B,MAAI,MAAM,KAAK;AACb,WAAQ,IAAI,KAAQ,IAAI,KAAK,KAAK;EACpC;AACA,SAAQ,IAAI,KAAQ,IAAI,KAAK,IAAI,OAAO,IAAI;AAC9C;AAEM,SAAU,OAAO,IAAoB;AACzC,SAAO,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC;AAClD;AAEM,SAAU,YAAY,MAAc,CAAC,GAAG,CAAC,GAAmB;AAChE,UAAQ,MAAM;IACZ,KAAK;AACH,aAAO,CAAC,GAAG,GAAG,CAAC;IACjB,KAAK;AACH,aAAO,CAAC,CAAC,GAAG,GAAG,CAAC;IAClB,KAAK;AACH,aAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACnB,KAAK;AACH,aAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,KAAK;AACH,aAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACnB,KAAK;AACH,aAAO,CAAC,GAAG,GAAG,EAAE;IAClB;AACE,YAAM,IAAI,MAAM,cAAc;EAClC;AACF;AAEM,SAAU,YAAY,CAAC,GAAG,GAAG,CAAC,GAA2B;AAC7D,QAAM,MAAM,KAAK,MAAM,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC;AAClD,QAAM,MAAM,KAAK,MAAM,GAAG,CAAC;AAE3B,SAAO,CAAC,MAAM,kBAAkB,MAAM,gBAAgB;AACxD;AAEM,SAAU,iBAAiB,KAAW;AAC1C,MAAI,MAAM,YAAAC,QAAK,WAAW,KAAK,MAAM,EAAE,EAAE,SAAS,CAAC;AAEnD,SAAO,IAAI,SAAS,YAAY,UAAU;AAExC,UAAM,MAAM;EACd;AAGA,QAAM,WAAW,IAAI,YAAY,GAAG;AAGpC,QAAM,QAAQ,IAAI,UAAU,GAAG,CAAC;AAEhC,QAAM,OAAO,IAAI,UAAU,GAAG,QAAQ;AACtC,QAAM,SAAS,KAAK,SAAS;AAE7B,QAAM,QAAQ,YAAAA,QAAK,WAAW,OAAO,MAAM,CAAC,EAAE,SAAS,EAAE;AACzD,MAAI,OAAO,YAAAA,QAAK,WAAW,MAAM,MAAM,CAAC,EAAE,SAAS,CAAC;AAEpD,SAAO,KAAK,SAAS,QAAQ;AAE3B,WAAO,MAAM;EACf;AAEA,SAAO,GAAG,SAAS;AACrB;AAEA,SAAS,sBAAsB,GAAW,OAAyB,IAAY,IAAU;AACvF,MAAI,OAAO,GAAG;AACZ,QAAI,OAAO,GAAG;AACZ,YAAM,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC;AAC1B,YAAM,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC;IAC5B;AAEA,UAAM,IAAI,MAAM,CAAC;AACjB,UAAM,CAAC,IAAI,MAAM,CAAC;AAClB,UAAM,CAAC,IAAI;EACb;AACF;AAEM,SAAU,mBAAmB,gBAAsB;AAKvD,QAAM,QAAQ,eAAe,MAAM,GAAG;AACtC,QAAM,OAAO,SAAS,MAAM,CAAC,GAAG,EAAE;AAClC,QAAM,WAAW,MAAM,CAAC;AACxB,QAAM,WAAW,SAAS;AAC1B,QAAM,QAAQ,CAAC,GAAG,CAAC;AACnB,MAAI;AAEJ,WAAS,IAAI,WAAW,GAAG,KAAK,GAAG,KAAK;AACtC,YAAQ,WAAW;AACnB,UAAM,MAAM,SAAS,CAAC;AACtB,QAAI,KAAK;AACT,QAAI,KAAK;AACT,QAAI,QAAQ,KAAK;AACf,WAAK;IACP,WAAW,QAAQ,KAAK;AACtB,WAAK;AACL,WAAK;IACP,WAAW,QAAQ,KAAK;AACtB,WAAK;IACP;AAEA,UAAM,MAAM,KAAK,IAAI,GAAG,QAAQ,CAAC;AACjC,0BAAsB,KAAK,OAAO,IAAI,EAAE;AAExC,UAAM,CAAC,KAAK,MAAM;AAClB,UAAM,CAAC,KAAK,MAAM;EACpB;AAEA,MAAI,OAAO,MAAM,GAAG;AAClB,UAAM,IAAI,MAAM,CAAC;AACjB,UAAM,CAAC,IAAI,MAAM,CAAC;AAClB,UAAM,CAAC,IAAI;EACb;AAEA,SAAO,EAAC,MAAM,IAAI,OAAO,MAAK;AAChC;;;AC7IA,IAAAC,eAAiB;AAMjB,SAAS,eAAe,OAAa;AAEnC,QAAM,cAAc,MAAM,OAAO,IAAI,GAAG;AACxC,SAAO,aAAAC,QAAK,WAAW,aAAa,EAAE;AACxC;AAEA,IAAM,iBAAiB;AAIvB,SAAS,aAAa,EACpB,MACA,IACA,MAAK,GAKN;AACC,QAAM,UAAU;IACd,CAAC,GAAG,CAAC;IACL,CAAC,GAAG,CAAC;IACL,CAAC,GAAG,CAAC;IACL,CAAC,GAAG,CAAC;IACL,CAAC,GAAG,CAAC;;AAQP,QAAM,aAAa,KAAK,IAAI,GAAG,KAAK,KAAK,iBAAiB,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;AAC9E,QAAM,SAAS,IAAI,aAAa,IAAI,aAAa,IAAI,CAAC;AACtD,MAAI,UAAU;AACd,MAAI,UAAU;AAEd,WAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AAC1B,UAAM,SAAS,QAAQ,CAAC,EAAE,MAAM,CAAC;AACjC,UAAM,aAAa,QAAQ,IAAI,CAAC;AAChC,UAAM,SAAS,WAAW,CAAC,IAAI,OAAO,CAAC,KAAK;AAC5C,UAAM,SAAS,WAAW,CAAC,IAAI,OAAO,CAAC,KAAK;AAE5C,aAAS,IAAI,GAAG,IAAI,YAAY,KAAK;AACnC,aAAO,CAAC,KAAK;AACb,aAAO,CAAC,KAAK;AAGb,YAAM,KAAK,OAAO,IAAI,OAAO,MAAM;AACnC,YAAM,KAAK,OAAO,EAAE;AACpB,YAAM,MAAM,YAAY,MAAM,EAAE;AAChC,YAAM,SAAS,YAAY,GAAG;AAG9B,UAAI,KAAK,IAAI,OAAO,CAAC,CAAC,IAAI,QAAQ;AAChC,eAAO,CAAC,IAAI;MACd;AACA,YAAM,WAAW,OAAO,CAAC,IAAI;AAC7B,aAAO,CAAC,KAAK,WAAW,MAAM,OAAO,WAAW,OAAO,MAAM;AAE7D,aAAO,SAAS,IAAI,OAAO,CAAC;AAC5B,aAAO,SAAS,IAAI,OAAO,CAAC;AAC5B,gBAAU,OAAO,CAAC;IACpB;EACF;AAEA,SAAO,SAAS,IAAI,OAAO,CAAC;AAC5B,SAAO,SAAS,IAAI,OAAO,CAAC;AAC5B,SAAO;AACT;AAGM,SAAU,aAAa,OAAsB;AACjD,MAAI,OAAO,UAAU,UAAU;AAC7B,QAAI,MAAM,QAAQ,GAAG,IAAI,GAAG;AAE1B,aAAO;IACT;AAEA,YAAQ,eAAe,KAAK;EAC9B;AAEA,SAAO,iBAAiB,MAAM,SAAQ,CAAE;AAC1C;AAQM,SAAU,aAAa,OAAsB;AACjD,QAAM,MAAM,aAAa,KAAK;AAC9B,QAAM,SAAS,mBAAmB,GAAG;AAErC,SAAO,aAAa,MAAM;AAC5B;;;AC5GA,IAAMC,gBAA2C;EAC/C,YAAY,EAAC,MAAM,YAAY,OAAO,CAAC,MAAW,EAAE,MAAK;;AAiB3D,IAAqB,UAArB,cAA8E,qBAG7E;EAIC,gBAAa;AACX,UAAM,EAAC,MAAM,WAAU,IAAI,KAAK;AAEhC,WAAO;MACL;MACA,YAAY;MACZ,gBAAgB;MAChB,YAAY,CAAC,GAAU,eAAe,aAAa,WAAW,GAAG,UAAU,CAAC;;EAEhF;;AAZO,QAAA,YAAY;AACZ,QAAA,eAAeA;uBALH;;;ACtBrB,IAAAC,uBAA4B;AAE5B,IAAM,YAAY;AAEZ,SAAU,qBAAqB,SAAiB,UAAgB;AACpE,MAAI,IAAI;AACR,MAAI,IAAI;AACR,MAAI,OAAO,KAAK,QAAQ;AACxB,QAAM,QAAQ,OAAO;AAErB,WAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACvC,aAAS;AACT,UAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;AAC7B,QAAI,IAAI;AAAG,WAAK;AAChB,QAAI,IAAI;AAAG,WAAK;EAClB;AACA,SAAO;IACL,CAAC,IAAI,OAAO,YAAY,IAAI,KAAK;IACjC,EAAE,IAAI,YAAY,OAAO,aAAa,IAAI,YAAY,KAAK;;AAE/D;AAEM,SAAU,kBAAkB,SAAiB,WAAW,GAAC;AAC7D,QAAM,CAAC,SAAS,WAAW,IAAI,qBAAqB,SAAS,QAAQ;AACrE,QAAM,CAAC,GAAG,CAAC,QAAI,oCAAc,OAAO;AACpC,QAAM,CAAC,GAAG,CAAC,QAAI,oCAAc,WAAW;AACxC,SAAO,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AACtC;;;ACvBA,IAAMC,gBAAgD;EACpD,YAAY,EAAC,MAAM,YAAY,OAAO,CAAC,MAAW,EAAE,QAAO;;AAkB7D,IAAqB,eAArB,cAAmF,qBAGlF;EAIC,gBAAa;AACX,UAAM,EAAC,MAAM,UAAU,WAAU,IAAI,KAAK;AAE1C,UAAM,WAAW,WAAW,OAAO;AAEnC,WAAO;MACL;MACA,YAAY;MACZ,gBAAgB;MAEhB,YAAY,CAAC,GAAU,eAAe,kBAAkB,WAAW,GAAG,UAAU,GAAG,QAAQ;MAC3F,gBAAgB,EAAC,YAAY,SAAQ;;EAEzC;;AAhBO,aAAA,YAAY;AACZ,aAAA,eAAeA;4BALH;;;ACvBrB,IAAAC,eAWO;AACP,IAAAC,iBAA2B;;;ACV3B,0BAA+B;AAC/B,IAAAC,eAA4C;;;ACUtC,IAAO,eAAP,MAAmB;EAuBvB,YAAY,OAAgB;AAC1B,SAAK,QAAQ;AACb,SAAK,YAAY;AACjB,SAAK,aAAa;AAClB,SAAK,SAAS;AACd,SAAK,WAAW,CAAA;AAEhB,SAAK,UAAU;AAEf,SAAK,UAAU;AACf,SAAK,mBAAmB;AACxB,SAAK,YAAY;AACjB,SAAK,YAAY;AACjB,SAAK,eAAe;AACpB,SAAK,eAAe;EACtB;;EAGA,IAAI,OAAI;AACN,WAAO,KAAK;EACd;;EAGA,IAAI,KAAK,OAAsB;AAE7B,QAAI,KAAK;AAAO;AAEhB,SAAK,QAAQ;AACb,QAAI,UAAU,OAAO;AACnB,WAAK,cAAc;QACjB,CAAC,MAAM,MAAM,MAAM,KAAK;QACxB,CAAC,MAAM,MAAM,MAAM,KAAK;;IAE5B,OAAO;AACL,WAAK,cAAc;QACjB,CAAC,MAAM,MAAM,MAAM,GAAG;QACtB,CAAC,MAAM,OAAO,MAAM,MAAM;;IAE9B;EACF;EAEA,IAAI,OAAI;AACN,WAAO,KAAK,aAAa,KAAK,UAAU,KAAK,QAAQ,KAAK,MAAM,KAAK,IAAI,IAAI,KAAK;EACpF;EAEA,IAAI,WAAQ;AACV,WAAO,KAAK,aAAa,CAAC,KAAK;EACjC;EAEA,IAAI,YAAS;AACX,WAAO,QAAQ,KAAK,OAAO,KAAK,CAAC,KAAK;EACxC;EAEA,IAAI,cAAW;AACb,WAAO,KAAK,gBAAgB,KAAK;EACnC;EAEA,IAAI,aAAU;AACZ,UAAM,SAAS,KAAK,UAAW,KAAK,QAAgB,aAAa;AACjE,QAAI,CAAC,OAAO,SAAS,MAAM,GAAG;AAE5B,cAAQ,MAAM,qCAAqC;IACrD;AACA,WAAO;EACT;;EAGQ,MAAM,UAAU,EACtB,SACA,oBACA,kBACA,QACA,QAAO,GACkB;AACzB,UAAM,EAAC,OAAO,IAAI,MAAM,UAAU,KAAI,IAAI;AAC1C,UAAM,WAAW,KAAK;AAEtB,SAAK,mBAAmB,IAAI,gBAAe;AAC3C,UAAM,EAAC,OAAM,IAAI,KAAK;AAGtB,UAAM,eAAe,MAAM,iBAAiB,gBAAgB,MAAM,kBAAkB;AAEpF,QAAI,CAAC,cAAc;AACjB,WAAK,eAAe;AACpB;IACF;AAEA,QAAI,KAAK,cAAc;AACrB,mBAAa,KAAI;AACjB;IACF;AAEA,QAAI,WAAyB;AAC7B,QAAI;AACJ,QAAI;AACF,iBAAW,MAAM,QAAQ,EAAC,OAAO,IAAI,MAAM,UAAU,MAAM,OAAM,CAAC;IACpE,SAAS,KAAP;AACA,cAAQ,OAAO;IACjB;AACE,mBAAa,KAAI;IACnB;AAGA,QAAI,aAAa,KAAK,WAAW;AAC/B;IACF;AAEA,SAAK,UAAU;AAIf,SAAK,UAAU;AAGf,QAAI,KAAK,gBAAgB,CAAC,UAAU;AAClC,WAAK,YAAY;AACjB;IACF;AAIA,SAAK,YAAY;AACjB,SAAK,eAAe;AAEpB,QAAI,OAAO;AACT,cAAQ,OAAO,IAAI;IACrB,OAAO;AACL,aAAO,IAAI;IACb;EACF;EAEA,SAAS,MAAuB;AAC9B,SAAK,YAAY;AACjB,SAAK,eAAe;AACpB,SAAK,eAAe;AACpB,SAAK;AACL,SAAK,UAAU,KAAK,UAAU,IAAI;AAClC,WAAO,KAAK;EACd;EAEA,iBAAc;AACZ,QAAI,KAAK,WAAW;AAClB,WAAK,MAAK;AACV,WAAK,UAAU;IACjB;AACA,SAAK,eAAe;EACtB;EAEA,QAAK;AA7LP;AA8LI,QAAI,KAAK,UAAU;AACjB;IACF;AAEA,SAAK,eAAe;AACpB,eAAK,qBAAL,mBAAuB;EACzB;;;;AChMF,IAAAC,eAA4D;AAE5D,qBAKO;AACP,IAAAC,uBAA4B;AAI5B,IAAMC,aAAY;AAElB,IAAM,WAAW;AAEjB,IAAM,eAAe;EACnB,CAAC,KAAK,GAAG;EACT,CAAC,GAAG,CAAC;EACL,CAAC,GAAG,CAAC;EACL,CAAC,GAAG,CAAC;EACL,CAAC,GAAG,CAAC;;AAEP,IAAM,eAAe,aAAa,OAAO;EACvC,CAAC,GAAG,GAAG;EACP,CAAC,KAAK,CAAC;EACP,CAAC,GAAG,GAAG;EACP,CAAC,KAAK,CAAC;CACR;AACD,IAAM,gBAAgB,aAAa,OAAO;EACxC,CAAC,MAAM,GAAG;EACV,CAAC,MAAM,GAAG;CACX;AAED,IAAM,UAAN,MAAa;EAUX,YAAY,GAAG,GAAG,GAAC;AACjB,SAAK,IAAI;AACT,SAAK,IAAI;AACT,SAAK,IAAI;EACX;EAEA,IAAI,WAAQ;AACV,QAAI,CAAC,KAAK,WAAW;AACnB,YAAM,IAAI,KAAK,IAAI;AACnB,YAAM,IAAI,KAAK,IAAI;AACnB,YAAM,IAAI,KAAK,IAAI;AACnB,WAAK,YAAY;QACf,IAAI,QAAQ,GAAG,GAAG,CAAC;QACnB,IAAI,QAAQ,GAAG,IAAI,GAAG,CAAC;QACvB,IAAI,QAAQ,IAAI,GAAG,GAAG,CAAC;QACvB,IAAI,QAAQ,IAAI,GAAG,IAAI,GAAG,CAAC;;IAE/B;AACA,WAAO,KAAK;EACd;;EAGA,OAAO,QASN;AACC,UAAM,EAAC,UAAU,eAAe,iBAAiB,MAAM,MAAM,QAAQ,QAAQ,QAAO,IAAI;AACxF,UAAM,iBAAiB,KAAK,kBAAkB,iBAAiB,QAAQ,OAAO;AAG9E,QAAI,UAAU,CAAC,KAAK,aAAa,MAAM,GAAG;AACxC,aAAO;IACT;AAEA,UAAM,WAAW,cAAc,kBAAkB,cAAc;AAC/D,QAAI,WAAW,GAAG;AAChB,aAAO;IACT;AAGA,QAAI,WAAW,KAAK,cAAc,SAAS,gBAAgB,SAAS,gBAAgB,CAAC,CAAC,GAAG;AACvF,aAAO;IACT;AAGA,QAAI,CAAC,KAAK,cAAc;AACtB,UAAI,EAAC,EAAC,IAAI;AACV,UAAI,IAAI,QAAQ,KAAK,MAAM;AAGzB,cAAM,WACH,eAAe,WAAW,SAAS,cAAc,IAAI,SAAS,QAAS,SAAS;AACnF,aAAK,KAAK,MAAM,KAAK,KAAK,QAAQ,CAAC;MACrC;AACA,UAAI,KAAK,MAAM;AAEb,aAAK,WAAW;AAChB,eAAO;MACT;IACF;AAGA,SAAK,WAAW;AAChB,SAAK,eAAe;AACpB,eAAW,SAAS,KAAK,UAAU;AACjC,YAAM,OAAO,MAAM;IACrB;AACA,WAAO;EACT;EAEA,YAAY,SAAoB,CAAA,GAAE;AAChC,QAAI,KAAK,UAAU;AACjB,aAAO,KAAK,IAAI;IAClB;AACA,QAAI,KAAK,WAAW;AAClB,iBAAW,QAAQ,KAAK,WAAW;AACjC,aAAK,YAAY,MAAM;MACzB;IACF;AACA,WAAO;EACT;EAEA,cACE,gBACA,SACA,WAAiB;AAEjB,UAAM,KAAK,eAAe,CAAC;AAC3B,UAAM,KAAK,eAAe,CAAC;AAC3B,UAAM,KAAK,eAAe,CAAC;AAC3B,UAAM,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE;AAElD,UAAM,SAAU,KAAK,MAAM,IAAI,CAAC,EAAE,IAAI,MAAO,KAAK;AAClD,UAAM,SAAU,KAAK,KAAK,KAAK,IAAI,IAAI,MAAO,KAAK;AAEnD,UAAM,CAAC,MAAM,KAAK,IAAI,eAAe,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAC3D,UAAM,CAAC,MAAM,KAAK,IAAI,eAAe,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,CAAC;AAEnE,UAAM,iBAAiB,OAAO,QAAQ;AACtC,UAAM,gBAAgB,kBAAmB,SAAS,gBAAgB,OAAO,MAAO;AAChF,UAAM,aAAa,KAAK,IAAI,MAAM,KAAK,IAAI,eAAe,IAAI,CAAC;AAC/D,UAAM,aAAa,KAAK,IAAI,OAAO,KAAK,IAAI,QAAQ,KAAK,CAAC;AAE1D,UAAM,UAAU,QAAQ,CAAC,YAAY,YAAY,SAAS,CAAC;AAC3D,UAAM,MAAM,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;AAC7D,UAAM,QAAQ,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,QAAQ,CAAC;AACxF,WAAO,OAAO;EAChB;EAEA,aAAa,CAAC,MAAM,MAAM,MAAM,IAAI,GAAS;AAC3C,UAAM,QAAQ,KAAK,IAAI,GAAG,KAAK,CAAC;AAChC,UAAM,SAASA,aAAY;AAE3B,WACE,KAAK,IAAI,SAAS,QAClB,KAAK,IAAI,SAAS,SACjB,KAAK,IAAI,KAAK,SAAS,SACvB,KAAK,IAAI,KAAK,SAAS;EAE5B;EAEA,kBACE,QACA,aACA,SAA6C;AAE7C,QAAI,SAAS;AAIX,YAAM,YAAY,KAAK,IAAI,IAAI,gBAAgB,KAAK,IAAI,IAAI,eAAe;AAG3E,YAAM,oBAAgC,CAAA;AACtC,iBAAW,KAAK,WAAW;AACzB,cAAM,SAAmB,eAAe,KAAK,IAAI,EAAE,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;AAC5E,eAAO,CAAC,IAAI,OAAO,CAAC;AACpB,0BAAkB,KAAK,QAAQ,MAAM,CAAC;AAEtC,YAAI,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG;AAE3B,iBAAO,CAAC,IAAI,OAAO,CAAC;AACpB,4BAAkB,KAAK,QAAQ,MAAM,CAAC;QACxC;MACF;AAEA,iBAAO,kDAAkC,iBAAiB;IAC5D;AAGA,UAAM,QAAQ,KAAK,IAAI,GAAG,KAAK,CAAC;AAChC,UAAM,SAASA,aAAY;AAC3B,UAAM,UAAU,KAAK,IAAI,SAAS,cAAcA;AAEhD,UAAM,UAAUA,cAAa,KAAK,IAAI,KAAK;AAE3C,WAAO,IAAI,sCACT,CAAC,SAAS,SAAS,OAAO,CAAC,CAAC,GAC5B,CAAC,UAAU,QAAQ,UAAU,QAAQ,OAAO,CAAC,CAAC,CAAC;EAEnD;;AAII,SAAU,kBACd,UACA,MACA,QACA,QAAe;AAEf,QAAM,UACJ,oBAAoB;;IAEhB,SAAS;MACT;AAGN,QAAM,SAAkB,OAAO,OAAO,SAAS,iBAAgB,CAAE,EAAE,IACjE,CAAC,EAAC,QAAQ,SAAQ,MAAM,IAAI,qBAAM,OAAO,MAAK,EAAG,OAAM,GAAI,QAAQ,CAAC;AAEtE,QAAM,gBAAgB,IAAI,6BAAc,MAAM;AAG9C,QAAM,gBAAgB,SAAS,eAAe,cAAc,CAAC;AAC7D,QAAM,eAAgB,UAAU,OAAO,CAAC,IAAI,iBAAkB;AAC9D,QAAM,eAAgB,UAAU,OAAO,CAAC,IAAI,iBAAkB;AAG9D,QAAM,OAAO,oBAAoB,oCAAuB,SAAS,SAAS,KAAK,OAAO;AAGtF,MAAI,QAAQ;AACV,UAAM,CAAC,QAAQ,QAAQ,QAAQ,MAAM,IAAI;AACzC,UAAM,cAAU,oCAAc,CAAC,QAAQ,MAAM,CAAC;AAC9C,UAAM,kBAAc,oCAAc,CAAC,QAAQ,MAAM,CAAC;AAClD,aAAS,CAAC,QAAQ,CAAC,GAAGA,aAAY,QAAQ,CAAC,GAAG,YAAY,CAAC,GAAGA,aAAY,YAAY,CAAC,CAAC;EAC1F;AAEA,QAAM,OAAO,IAAI,QAAQ,GAAG,GAAG,CAAC;AAChC,QAAM,kBAAkB;IACtB;IACA;IACA;IACA,iBAAiB,CAAC,cAAc,YAAY;IAC5C;IACA;IACA;;IAEA,QAAQ;;AAGV,OAAK,OAAO,eAAe;AAE3B,MACE,oBAAoB,oCACpB,SAAS,gBACT,SAAS,aAAa,SAAS,GAC/B;AAEA,oBAAgB,SAAS;AACzB,WAAO,KAAK,OAAO,eAAe,GAAG;AACnC,UAAI,EAAE,gBAAgB,SAAS,CAAC,UAAU;AACxC;MACF;IACF;AACA,oBAAgB,SAAS;AACzB,WAAO,KAAK,OAAO,eAAe,GAAG;AACnC,UAAI,EAAE,gBAAgB,SAAS,UAAU;AACvC;MACF;IACF;EACF;AAEA,SAAO,KAAK,YAAW;AACzB;;;ACvRA,IAAMC,aAAY;AAClB,IAAM,iBAAyB,CAAC,WAAW,WAAW,UAAU,QAAQ;AAIjE,IAAM,UAAU;EACrB,MAAM;EACN,OAAO;EACP,UAAU,CAAC,OAAO,aACf,SAAS,YAAY,UAAU,QAChC,OAAO,UAAU,YAChB,MAAM,QAAQ,KAAK,KAAK,MAAM,MAAM,SAAO,OAAO,QAAQ,QAAQ;EACrE,OAAO,CAAC,QAAQ,WAAU;AACxB,QAAI,WAAW,QAAQ;AACrB,aAAO;IACT;AACA,QAAI,CAAC,MAAM,QAAQ,MAAM,KAAK,CAAC,MAAM,QAAQ,MAAM,GAAG;AACpD,aAAO;IACT;AACA,UAAM,MAAM,OAAO;AACnB,QAAI,QAAQ,OAAO,QAAQ;AACzB,aAAO;IACT;AACA,aAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,UAAI,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG;AAC3B,eAAO;MACT;IACF;AACA,WAAO;EACT;;AAGI,SAAU,aAAa,MAAc,aAAoB;AAC7D,QAAM,oBAAoB;;IAExB,YAAY,iBAAiB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;;IAE/C,YAAY,iBAAiB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;;IAE/C,YAAY,iBAAiB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;;IAE/C,YAAY,iBAAiB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;;AAEjD,QAAM,iBAAyB;;IAE7B,KAAK,IAAI,GAAG,kBAAkB,IAAI,OAAK,EAAE,CAAC,CAAC,CAAC;;IAE5C,KAAK,IAAI,GAAG,kBAAkB,IAAI,OAAK,EAAE,CAAC,CAAC,CAAC;;IAE5C,KAAK,IAAI,GAAG,kBAAkB,IAAI,OAAK,EAAE,CAAC,CAAC,CAAC;;IAE5C,KAAK,IAAI,GAAG,kBAAkB,IAAI,OAAK,EAAE,CAAC,CAAC,CAAC;;AAE9C,SAAO;AACT;AAEA,SAAS,WAAW,GAAS;AAC3B,SAAO,KAAK,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,GAAG,OAAQ,KAAK,KAAK,IAAI,EAAE,WAAW,CAAC,IAAK,GAAG,CAAC,CAAC;AACvF;AAEM,SAAU,mBACd,UACA,MAGC;AAED,MAAI,CAAC,YAAY,CAAC,SAAS,QAAQ;AACjC,WAAO;EACT;AACA,QAAM,EAAC,OAAO,GAAE,IAAI;AAEpB,MAAI,MAAM,QAAQ,QAAQ,GAAG;AAC3B,UAAM,IAAI,WAAW,EAAE,IAAI,SAAS;AACpC,eAAW,SAAS,CAAC;EACvB;AAEA,MAAI,MAAM;AACV,aAAW,OAAO,OAAO,KAAK,KAAK,GAAG;AACpC,UAAM,QAAQ,IAAI,OAAO,IAAI,QAAQ,GAAG;AACxC,UAAM,IAAI,QAAQ,OAAO,OAAO,MAAM,GAAG,CAAC,CAAC;EAC7C;AAGA,MAAI,OAAO,UAAU,MAAM,CAAC,KAAK,OAAO,UAAU,MAAM,CAAC,GAAG;AAC1D,UAAM,IAAI,QAAQ,WAAW,OAAO,KAAK,IAAI,GAAG,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC;EACzE;AACA,SAAO;AACT;AAKA,SAAS,eAAe,UAAoB,QAAyB,QAAc;AACjF,MAAI;AACJ,MAAI,UAAU,OAAO,WAAW,GAAG;AACjC,UAAM,CAAC,MAAM,IAAI,IAAI;AACrB,UAAM,UAAU,SAAS,UAAU,EAAC,GAAG,KAAI,CAAC;AAC5C,UAAM,UAAU,SAAS,UAAU,EAAC,GAAG,KAAI,CAAC;AAC5C,aAAS;MACP,KAAK,IAAI,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC;MAC/B,KAAK,IAAI,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC;MAC/B,KAAK,IAAI,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC;MAC/B,KAAK,IAAI,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC;;EAEnC,OAAO;AACL,aAAS,SAAS,UAAS;EAC7B;AACA,MAAI,CAAC,SAAS,cAAc;AAC1B,WAAO;;MAEL,KAAK,IAAI,KAAK,IAAI,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;MAClD,KAAK,IAAI,KAAK,IAAI,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;;MAElD,KAAK,IAAI,KAAK,IAAI,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;MAClD,KAAK,IAAI,KAAK,IAAI,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;;EAEtD;AACA,SAAO;IACL,KAAK,IAAI,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;IAC7B,KAAK,IAAI,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;IAC7B,KAAK,IAAI,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;IAC7B,KAAK,IAAI,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;;AAEjC;AAGM,SAAU,cAAc,EAC5B,UACA,GACA,SAAQ,GAQT;AACC,QAAM,eAAe,SAAS,gBAAgB,CAAC,QAAQ;AACvD,SAAO,aAAa,IAAI,OAAK,wBAAwB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAC3E;AAEA,SAAS,wBAEP,UAEA,GAEA,UAA+D;AAE/D,MAAI,CAAC,MAAM,QAAQ,CAAC,GAAG;AACrB,UAAM,IAAI,SAAS,IAAI,SAAS;AAChC,UAAM,IAAI,SAAS,IAAI,SAAS;AAChC,UAAM,EAAC,OAAO,OAAM,IAAI;AAExB,UAAM,kBAAkB,EAAC,SAAS,EAAC;AAEnC,UAAM,UAAU,SAAS,UAAU,CAAC,GAAG,CAAC,GAAG,eAAe;AAC1D,UAAM,WAAW,SAAS,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,eAAe;AACnE,UAAM,aAAa,SAAS,UAAU,CAAC,GAAG,IAAI,MAAM,GAAG,eAAe;AACtE,UAAM,cAAc,SAAS,UAAU,CAAC,IAAI,OAAO,IAAI,MAAM,GAAG,eAAe;AAE/E,WAAO;MACL,KAAK,IAAI,QAAQ,CAAC,GAAG,SAAS,CAAC,GAAG,WAAW,CAAC,GAAG,YAAY,CAAC,CAAC;MAC/D,KAAK,IAAI,QAAQ,CAAC,GAAG,SAAS,CAAC,GAAG,WAAW,CAAC,GAAG,YAAY,CAAC,CAAC;MAC/D,KAAK,IAAI,QAAQ,CAAC,GAAG,SAAS,CAAC,GAAG,WAAW,CAAC,GAAG,YAAY,CAAC,CAAC;MAC/D,KAAK,IAAI,QAAQ,CAAC,GAAG,SAAS,CAAC,GAAG,WAAW,CAAC,GAAG,YAAY,CAAC,CAAC;;EAEnE;AAEA,QAAM,UAAU,wBAAwB,UAAU,EAAE,CAAC,GAAG,QAAQ;AAChE,QAAM,UAAU,wBAAwB,UAAU,EAAE,CAAC,GAAG,QAAQ;AAEhE,SAAO;IACL,KAAK,IAAI,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC/B,KAAK,IAAI,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC/B,KAAK,IAAI,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC/B,KAAK,IAAI,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC;;AAEnC;AAEA,SAAS,kBAAkB,MAAc,OAAe,oBAA4B;AAClF,MAAI,oBAAoB;AACtB,UAAM,uBAAuB,aAAa,MAAM,kBAAkB,EAAE,IAClE,OAAM,IAAI,QAASA,UAAS;AAE9B,WAAO;EACT;AACA,SAAO,KAAK,IAAI,OAAM,IAAI,QAASA,UAAS;AAC9C;AAEA,SAAS,SAAS,GAAW,UAAgB;AAC3C,SAAQ,KAAK,IAAI,GAAG,CAAC,IAAIA,aAAa;AACxC;AAGM,SAAU,eAAe,GAAW,GAAW,GAAS;AAC5D,QAAM,QAAQ,SAAS,GAAGA,UAAS;AACnC,QAAM,MAAO,IAAI,QAAS,MAAM;AAChC,QAAM,IAAI,KAAK,KAAM,IAAI,KAAK,KAAK,IAAK;AACxC,QAAM,MAAO,MAAM,KAAK,KAAM,KAAK,KAAK,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE;AAC1E,SAAO,CAAC,KAAK,GAAG;AAClB;AAEA,SAAS,QAAQ,GAAW,GAAW,GAAW,UAAgB;AAChE,QAAM,QAAQ,SAAS,GAAG,QAAQ;AAClC,SAAO,CAAE,IAAI,QAASA,YAAY,IAAI,QAASA,UAAS;AAC1D;AACM,SAAU,kBACd,UACA,GACA,GACA,GACA,WAAmBA,YAAS;AAE5B,MAAI,SAAS,cAAc;AACzB,UAAM,CAAC,MAAM,KAAK,IAAI,eAAe,GAAG,GAAG,CAAC;AAC5C,UAAM,CAAC,MAAM,KAAK,IAAI,eAAe,IAAI,GAAG,IAAI,GAAG,CAAC;AACpD,WAAO,EAAC,MAAM,OAAO,MAAM,MAAK;EAClC;AACA,QAAM,CAAC,MAAM,GAAG,IAAI,QAAQ,GAAG,GAAG,GAAG,QAAQ;AAC7C,QAAM,CAAC,OAAO,MAAM,IAAI,QAAQ,IAAI,GAAG,IAAI,GAAG,GAAG,QAAQ;AACzD,SAAO,EAAC,MAAM,KAAK,OAAO,OAAM;AAClC;AAEA,SAAS,uBACP,UACA,GACA,UACA,QACA,oBAA4B;AAE5B,QAAM,OAAO,eAAe,UAAU,MAAM,MAAM;AAClD,QAAM,QAAQ,SAAS,GAAG,QAAQ;AAClC,QAAM,CAAC,MAAM,MAAM,MAAM,IAAI,IAAI,kBAAkB,MAAM,OAAO,kBAAkB;AAClF,QAAM,UAAuB,CAAA;AAM7B,WAAS,IAAI,KAAK,MAAM,IAAI,GAAG,IAAI,MAAM,KAAK;AAC5C,aAAS,IAAI,KAAK,MAAM,IAAI,GAAG,IAAI,MAAM,KAAK;AAC5C,cAAQ,KAAK,EAAC,GAAG,GAAG,EAAC,CAAC;IACxB;EACF;AACA,SAAO;AACT;AAQM,SAAU,eAAe,EAC7B,UACA,SACA,SACA,QACA,QACA,WAAWA,YACX,aACA,oBACA,aAAa,GACb,gBACA,eAAc,GAaf;AAGC,MAAI,IAAI,SAAS,eACb,KAAK,MAAM,SAAS,OAAO,KAAK,KAAKA,aAAY,QAAQ,IAAI,UAAU,IACvE,KAAK,KAAK,SAAS,OAAO,UAAU;AAExC,MAAI,OAAO,YAAY,YAAY,OAAO,SAAS,OAAO,KAAK,IAAI,SAAS;AAC1E,QAAI,CAAC,QAAQ;AACX,aAAO,CAAA;IACT;AACA,QAAI;EACN;AACA,MAAI,OAAO,YAAY,YAAY,OAAO,SAAS,OAAO,KAAK,IAAI,SAAS;AAC1E,QAAI;EACN;AACA,MAAI,kBAAkB,QAAQ,SAAS,OAAO,gBAAgB;AAC5D,WAAO,CAAA;EACT;AACA,MAAI,kBAAkB,QAAQ,SAAS,OAAO,gBAAgB;AAC5D,WAAO,CAAA;EACT;AACA,MAAI,oBAAoB;AACxB,MAAI,eAAe,sBAAsB,UAAU,CAAC,SAAS,cAAc;AACzE,wBAAoB,aAAa,QAAQ,WAAW;EACtD;AACA,SAAO,SAAS,eACZ,kBAAkB,UAAU,GAAG,QAAQ,MAAM,IAC7C,uBACE,UACA,GACA,UACA,qBAAqB,gBACrB,kBAAkB;AAE1B;AAKM,SAAU,cAAc,GAAS;AACrC,SAAO,qCAAqC,KAAK,CAAC;AACpD;AAEM,SAAU,iBAAiB,GAAM;AACrC,SACE,OAAO,SAAS,EAAE,IAAI,KACtB,OAAO,SAAS,EAAE,KAAK,KACvB,OAAO,SAAS,EAAE,IAAI,KACtB,OAAO,SAAS,EAAE,KAAK;AAE3B;;;ACxUM,SAAU,QAAiB,SAA0B;AACzD,MAAI,aAAkB,CAAA;AACtB,MAAI;AAEJ,SAAO,CAAC,SAAY;AAClB,eAAW,OAAO,MAAM;AACtB,UAAI,CAAC,QAAQ,KAAK,GAAG,GAAG,WAAW,GAAG,CAAC,GAAG;AACxC,uBAAe,QAAQ,IAAI;AAC3B,qBAAa;AACb;MACF;IACF;AACA,WAAO;EACT;AACF;AAEA,SAAS,QAAQ,GAAG,GAAC;AACnB,MAAI,MAAM,GAAG;AACX,WAAO;EACT;AACA,MAAI,MAAM,QAAQ,CAAC,GAAG;AAGpB,UAAM,MAAM,EAAE;AACd,QAAI,CAAC,KAAK,EAAE,WAAW,KAAK;AAC1B,aAAO;IACT;AAEA,aAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,UAAI,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG;AACjB,eAAO;MACT;IACF;AACA,WAAO;EACT;AACA,SAAO;AACT;;;AJ/BA,IAAM,qBAAqB;AAC3B,IAAM,qBAAqB;AAoBpB,IAAM,iBAAiB;AACvB,IAAM,mBAAmB;AACzB,IAAM,mBAAmB;AAShC,IAAM,sBAAsB;AAC5B,IAAM,yBAAyB;AAC/B,IAAM,wBAAwB;AAC9B,IAAM,6BAA6B,wBAAwB,yBAAyB;AAEpF,IAAM,aAAa;EACjB,CAAC,gBAAgB,GAAG;EACpB,CAAC,gBAAgB,GAAG;EACpB,CAAC,cAAc,GAAG,MAAK;EAAE;;AA+CpB,IAAM,0BAAyE;EACpF,QAAQ;EACR,UAAU;EAEV,SAAS;EACT,SAAS;EACT,cAAc;EACd,kBAAkB;EAClB,oBAAoB;EACpB,QAAQ;EACR,aAAa;EACb,cAAc;EACd,YAAY;EACZ,gBAAgB;EAChB,gBAAgB;;;EAIhB,YAAY,MAAK;EAAE;EACnB,cAAc,MAAK;EAAE;EACrB,aAAa,MAAK;EAAE;;AAOhB,IAAO,YAAP,MAAgB;;;;;EAwBpB,YAAY,MAAoB;AA6RxB,SAAA,iBAAiB,QAAQ,aAAa;AA5R5C,SAAK,OAAO,EAAC,GAAG,yBAAyB,GAAG,KAAI;AAChD,SAAK,WAAW,KAAK,IAAI;AAEzB,SAAK,aAAa,UAAO;AA/J7B;AAgKM,uBAAK,MAAK,eAAV,4BAAuB;AACvB,UAAI,KAAK,KAAK,qBAAqB,MAAM;AACvC,aAAK,kBAAkB,KAAK;AAC5B,aAAK,aAAY;MACnB;IACF;AAEA,SAAK,oBAAoB,IAAI,qCAAiB;MAC5C,kBAAkB,KAAK,KAAK,cAAc,KAAK,KAAK,KAAK,eAAe;MACxE,aAAa,KAAK,KAAK;MACvB,cAAc,KAAK,KAAK;KACzB;AAGD,SAAK,SAAS,oBAAI,IAAG;AACrB,SAAK,SAAS,CAAA;AACd,SAAK,SAAS;AACd,SAAK,iBAAiB;AAGtB,SAAK,YAAY;AACjB,SAAK,UAAU;AACf,SAAK,iBAAiB;AACtB,SAAK,eAAe;AAEpB,SAAK,eAAe,IAAI,qBAAO;AAC/B,SAAK,sBAAsB,IAAI,qBAAO;EACxC;;EAGA,IAAI,QAAK;AACP,WAAO,KAAK;EACd;EAEA,IAAI,gBAAa;AACf,WAAO,KAAK;EACd;EAEA,IAAI,WAAQ;AACV,WAAO,KAAK,mBAAmB,QAAQ,KAAK,eAAe,MAAM,UAAQ,KAAK,QAAQ;EACxF;EAEA,IAAI,cAAW;AACb,WAAO,KAAK,mBAAmB,QAAQ,KAAK,eAAe,KAAK,UAAQ,KAAK,WAAW;EAC1F;EAEA,WAAW,MAAoB;AAC7B,WAAO,OAAO,KAAK,MAAM,IAAI;AAC7B,QAAI,OAAO,SAAS,KAAK,OAAO,GAAG;AACjC,WAAK,WAAW,KAAK,MAAM,KAAK,OAAiB;IACnD;AACA,QAAI,OAAO,SAAS,KAAK,OAAO,GAAG;AACjC,WAAK,WAAW,KAAK,KAAK,KAAK,OAAiB;IAClD;AAEA,SAAK,YAAY;EACnB;;EAGA,WAAQ;AACN,eAAW,QAAQ,KAAK,OAAO,OAAM,GAAI;AACvC,UAAI,KAAK,WAAW;AAClB,aAAK,MAAK;MACZ;IACF;AACA,SAAK,OAAO,MAAK;AACjB,SAAK,SAAS,CAAA;AACd,SAAK,iBAAiB;EACxB;EAEA,YAAS;AACP,eAAW,MAAM,KAAK,OAAO,KAAI,GAAI;AACnC,YAAM,OAAO,KAAK,OAAO,IAAI,EAAE;AAC/B,UAAI,CAAC,KAAK,kBAAkB,CAAC,KAAK,eAAe,SAAS,IAAI,GAAG;AAC/D,aAAK,OAAO,OAAO,EAAE;MACvB,OAAO;AACL,aAAK,eAAc;MACrB;IACF;EACF;;;;EAKA,OACE,UACA,EAAC,QAAQ,YAAW,IAA+D;IACjF,QAAQ;IACR,aAAa;KACd;AAED,UAAM,uBAAuB,cAAc,IAAI,qBAAQ,WAAW,IAAI,IAAI,qBAAO;AACjF,UAAM,mBAAmB,CAAC,qBAAqB,OAAO,KAAK,YAAY;AACvE,QACE,CAAC,KAAK,aACN,CAAC,SAAS,OAAO,KAAK,SAAS,KAC/B,KAAC,qBAAO,KAAK,SAAS,MAAM,KAC5B,kBACA;AACA,UAAI,kBAAkB;AACpB,aAAK,sBAAsB,qBAAqB,MAAK,EAAG,OAAM;AAC9D,aAAK,eAAe;MACtB;AACA,WAAK,YAAY;AACjB,WAAK,UAAU;AACf,YAAM,cAAc,KAAK,eAAe;QACtC;QACA,SAAS,KAAK;QACd,SAAS,KAAK;QACd;QACA,aAAa,KAAK;QAClB,oBAAoB,KAAK;OAC1B;AACD,WAAK,iBAAiB,YAAY,IAAI,WAAS,KAAK,SAAS,OAAO,IAAI,CAAC;AAEzE,UAAI,KAAK,QAAQ;AAEf,aAAK,aAAY;MACnB;IAEF,WAAW,KAAK,aAAa;AAC3B,WAAK,iBAAiB,KAAK,eAAgB,IAAI,UAAQ,KAAK,SAAS,KAAK,OAAO,IAAI,CAAC;IACxF;AAGA,UAAM,UAAU,KAAK,iBAAgB;AACrC,SAAK,eAAc;AAEnB,QAAI,KAAK,QAAQ;AAEf,WAAK,aAAY;IACnB;AAEA,QAAI,SAAS;AACX,WAAK;IACP;AAEA,WAAO,KAAK;EACd;;EAGA,cACE,MACA,UACA,aAA4B;AAE5B,QAAI,CAAC,KAAK,WAAW;AACnB,aAAO;IACT;AAEA,QAAI,YAAY,KAAK,WAAW;AAC9B,YAAM,YAAY,KAAK,eAAe;QACpC,UAAU,KAAK;QACf,GAAG,KAAK;QACR;OACD;AACD,UAAI,EAAC,KAAI,IAAI;AACb,iBAAW,CAAC,MAAM,MAAM,MAAM,IAAI,KAAK,WAAW;AAChD,YAAI;AACJ,YAAI,UAAU,MAAM;AAClB,qBAAW,KAAK,OAAO,QAAQ,KAAK,OAAO,QAAQ,KAAK,QAAQ,QAAQ,KAAK,QAAQ;QACvF,OAAO;AACL,cAAI,eAAe,CAAC,qBAAQ,SAAS,OAAO,WAAW,GAAG;AACxD,kBAAM,CAAC,MAAM,KAAK,OAAO,MAAM,IAAI,aACjC,CAAC,KAAK,MAAM,KAAK,KAAK,KAAK,OAAO,KAAK,MAAM,GAC7C,WAAW;AAEb,mBAAO,EAAC,MAAM,KAAK,OAAO,OAAM;UAClC;AAEA,gBAAM,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,MAAM;AACzC,gBAAM,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,MAAM;AACzC,qBAAW,KAAK,OAAO,QAAQ,KAAK,QAAQ,QAAQ,KAAK,QAAQ,KAAK;QACxE;AACA,YAAI,UAAU;AACZ,iBAAO;QACT;MACF;AACA,aAAO;IACT;AACA,WAAO;EACT;;;EAKA,eAAe,EACb,UACA,SACA,SACA,QACA,aACA,mBAAkB,GAUnB;AACC,UAAM,EAAC,UAAU,QAAQ,YAAY,gBAAgB,eAAc,IAAI,KAAK;AAC5E,WAAO,eAAe;MACpB;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;KACD;EACH;;EAGA,UAAU,OAAgB;AACxB,WAAO,GAAG,MAAM,KAAK,MAAM,KAAK,MAAM;EACxC;;EAGA,YAAY,OAAgB;AAC1B,WAAO,MAAM;EACf;;EAGA,gBAAgB,OAAgB;AAC9B,UAAM,EAAC,SAAQ,IAAI,KAAK;AACxB,WAAO,EAAC,MAAM,kBAAkB,KAAK,WAAY,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,EAAC;EACvF;;EAGA,eAAe,OAAgB;AAC7B,UAAM,IAAI,KAAK,MAAM,MAAM,IAAI,CAAC;AAChC,UAAM,IAAI,KAAK,MAAM,MAAM,IAAI,CAAC;AAChC,UAAM,IAAI,MAAM,IAAI;AACpB,WAAO,EAAC,GAAG,GAAG,EAAC;EACjB;;EAGQ,mBAAgB;AACtB,UAAM,qBAAqB,KAAK,KAAK,sBAAsB;AAE3D,UAAM,eAAe,IAAI,MAAM,KAAK,OAAO,IAAI;AAC/C,QAAI,IAAI;AAER,eAAW,QAAQ,KAAK,OAAO,OAAM,GAAI;AAEvC,mBAAa,GAAG,IAAI,KAAK;AACzB,WAAK,aAAa;AAClB,WAAK,YAAY;IACnB;AAEA,eAAW,QAAQ,KAAK,gBAAgB;AACtC,WAAK,aAAa;AAClB,WAAK,YAAY;IACnB;AAGA,KAAC,OAAO,uBAAuB,aAC3B,qBACA,WAAW,kBAAkB,GAAG,MAAM,KAAK,KAAK,OAAO,OAAM,CAAE,CAAC;AAEpE,QAAI;AAEJ,eAAW,QAAQ,KAAK,OAAO,OAAM,GAAI;AACvC,UAAI,aAAa,GAAG,MAAM,KAAK,WAAW;AACxC,eAAO;MACT;IACF;AAEA,WAAO;EACT;EAMQ,oBAAoB,MAAkB;AAC5C,QAAI,CAAC,KAAK,cAAc,CAAC,KAAK,WAAW;AACvC,aAAO;IACT;AAGA,UAAM,WAAW,KAAK,yBAAyB,IAAI;AACnD,QAAI,KAAK,YAAY;AACnB,aAAO,yBAAyB;IAClC;AACA,WAAO,wBAAwB;EACjC;EAEQ,yBAAyB,MAAkB;AACjD,UAAM,EAAC,OAAO,OAAM,IAAI,KAAK,aAAa,CAAA;AAC1C,QAAI,CAAC,KAAK,aAAa,CAAC,SAAS,CAAC,QAAQ;AACxC,aAAO;IACT;AAEA,QAAI;AACF,YAAM,SAAS,KAAK,sBAAsB,KAAK,IAAI;AACnD,YAAM,SAA2B,CAAC,QAAQ,GAAG,SAAS,CAAC;AACvD,UAAI,OAAO,WAAW,GAAG;AACvB,YAAI,KAAK,kBAAkB,QAAQ,MAAM,GAAG;AAC1C,iBAAO;QACT;AACA,cAAM,WAAW,OAAO,OAAO,CAAC,aAAa,OAAO,MAAK;AACvD,gBAAM,YAAY,QAAQ,IAAI,KAAK,OAAO,MAAM;AAChD,iBAAO,KAAK,IACV,aACA,KAAK,kCAAkC,QAAQ,OAAO,SAAS,CAAC;QAEpE,GAAG,OAAO,gBAAgB;AAC1B,eAAO,KAAK,IAAI,UAAU,0BAA0B;MACtD;IACF,QAAE;IAEF;AACA,WAAO;EACT;EAEQ,sBAAsB,MAAqB;AACjD,UAAM,cACJ,UAAU,OACN;MACE,CAAC,KAAK,MAAM,KAAK,KAAK;MACtB,CAAC,KAAK,MAAM,KAAK,KAAK;MACtB,CAAC,KAAK,MAAM,KAAK,KAAK;MACtB,CAAC,KAAK,MAAM,KAAK,KAAK;QAExB;MACE,CAAC,KAAK,MAAM,KAAK,GAAG;MACpB,CAAC,KAAK,OAAO,KAAK,GAAG;MACrB,CAAC,KAAK,OAAO,KAAK,MAAM;MACxB,CAAC,KAAK,MAAM,KAAK,MAAM;;AAG/B,WAAO,YACJ,IAAI,gBAAc,KAAK,UAAW,QAAQ,UAAU,CAAC,EACrD,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,SAAS,CAAC,KAAK,OAAO,SAAS,CAAC,CAAC;EAChE;EAEQ,kBAAkB,OAAyB,SAA2B;AAC5E,QAAI,SAAS;AACb,UAAM,CAAC,GAAG,CAAC,IAAI;AACf,aAAS,IAAI,GAAG,IAAI,QAAQ,SAAS,GAAG,IAAI,QAAQ,QAAQ,IAAI,KAAK;AACnE,YAAM,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC;AAC1B,YAAM,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC;AAC1B,UAAI,KAAK,MAAM,KAAK,KAAK,KAAM,KAAK,OAAO,IAAI,OAAQ,KAAK,MAAM,IAAI;AACpE,iBAAS,CAAC;MACZ;IACF;AACA,WAAO;EACT;EAEQ,kCACN,OACA,cACA,YAA4B;AAE5B,UAAM,CAAC,GAAG,CAAC,IAAI;AACf,UAAM,CAAC,IAAI,EAAE,IAAI;AACjB,UAAM,CAAC,IAAI,EAAE,IAAI;AACjB,UAAM,KAAK,KAAK;AAChB,UAAM,KAAK,KAAK;AAChB,UAAM,gBAAgB,KAAK,KAAK,KAAK;AACrC,UAAM,IAAI,gBACN,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,IAAI,MAAM,MAAM,IAAI,MAAM,MAAM,aAAa,CAAC,IACxE;AACJ,UAAM,WAAW,KAAK,IAAI;AAC1B,UAAM,WAAW,KAAK,IAAI;AAC1B,UAAM,YAAY,IAAI;AACtB,UAAM,YAAY,IAAI;AACtB,WAAO,YAAY,YAAY,YAAY;EAC7C;EAEQ,iBAAc;AACpB,UAAM,EAAC,cAAc,EAAC,IAAI,KAAK;AAE/B,UAAM,kBAAkC,CAAA;AACxC,QAAI,sBAAsB;AAC1B,eAAW,QAAQ,KAAK,OAAO,OAAM,GAAI;AAEvC,UAAI,KAAK,WAAW;AAClB;AACA,YAAI,CAAC,KAAK,cAAc,CAAC,KAAK,WAAW;AACvC,0BAAgB,KAAK,IAAI;QAC3B;MACF;IACF;AAEA,WAAO,cAAc,KAAK,sBAAsB,eAAe,gBAAgB,SAAS,GAAG;AAEzF,YAAM,OAAO,gBAAgB,MAAK;AAClC,WAAK,MAAK;AACV;IACF;EACF;;EAGQ,eAAY;AAClB,UAAM,EAAC,OAAM,IAAI;AAGjB,eAAW,QAAQ,OAAO,OAAM,GAAI;AAClC,WAAK,SAAS;AACd,UAAI,KAAK,UAAU;AACjB,aAAK,SAAS,SAAS;MACzB;IACF;AAGA,eAAW,QAAQ,OAAO,OAAM,GAAI;AAClC,YAAM,SAAS,KAAK,oBAAoB,IAAI;AAC5C,WAAK,SAAS;AACd,UAAI,iCAAQ,UAAU;AACpB,eAAO,SAAS,KAAK,IAAI;MAC3B;IACF;EACF;;;;;EAMQ,eAAY;AA3kBtB;AA4kBI,UAAM,EAAC,QAAQ,KAAI,IAAI;AAEvB,UAAM,eACJ,KAAK;KAEJ,KAAK,qBAAqB,OAAO,WAAW,sBAAsB,KAAK,cAAc;AACxF,UAAM,mBAAmB,KAAK,oBAAoB;AAElD,UAAM,YAAY,OAAO,OAAO,gBAAgB,KAAK,iBAAiB;AAEtE,QAAI,WAAW;AACb,iBAAW,CAAC,IAAI,IAAI,KAAK,QAAQ;AAC/B,YAAI,CAAC,KAAK,aAAa,CAAC,KAAK,YAAY;AAEvC,eAAK,kBAAkB,KAAK,qBAAqB,OAAO,KAAK,aAAa;AAC1E,iBAAO,OAAO,EAAE;AAChB,2BAAK,MAAK,iBAAV,4BAAyB;QAC3B;AACA,YAAI,OAAO,QAAQ,gBAAgB,KAAK,kBAAkB,kBAAkB;AAC1E;QACF;MACF;AACA,WAAK,aAAY;AACjB,WAAK,SAAS;IAChB;AACA,QAAI,KAAK,QAAQ;AAEf,WAAK,SAAS,MAAM,KAAK,KAAK,OAAO,OAAM,CAAE,EAAE,KAAK,CAAC,IAAI,OAAO,GAAG,OAAO,GAAG,IAAI;AAEjF,WAAK,SAAS;IAChB;EACF;EAKQ,SAAS,OAAkB,QAAgB;AACjD,UAAM,KAAK,KAAK,UAAU,KAAK;AAC/B,QAAI,OAAO,KAAK,OAAO,IAAI,EAAE;AAC7B,QAAI,cAAc;AAElB,QAAI,CAAC,QAAQ,QAAQ;AACnB,aAAO,IAAI,aAAa,KAAK;AAC7B,aAAO,OAAO,MAAM,KAAK,gBAAgB,KAAK,KAAK,CAAC;AACpD,aAAO,OAAO,MAAM,EAAC,IAAI,MAAM,KAAK,YAAY,KAAK,KAAK,EAAC,CAAC;AAC5D,oBAAc;AACd,WAAK,OAAO,IAAI,IAAI,IAAI;AACxB,WAAK,SAAS;IAChB,WAAW,QAAQ,KAAK,aAAa;AACnC,oBAAc;IAChB;AACA,QAAI,QAAQ,aAAa;AAEvB,WAAK,SAAS;QACZ,SAAS,KAAK,KAAK;QACnB,oBAAoB,KAAK,oBAAoB,KAAK,IAAI;QACtD,kBAAkB,KAAK;QACvB,QAAQ,KAAK;QACb,SAAS,KAAK,KAAK;OACpB;IACH;AAEA,WAAO;EACT;EAEA,oBAAoB,MAAkB;AACpC,UAAM,EAAC,WAAW,EAAC,IAAI;AAEvB,QAAI,QAAQ,KAAK;AACjB,WAAO,KAAK,YAAY,KAAK,IAAI,UAAU;AACzC,cAAQ,KAAK,eAAe,KAAK;AACjC,YAAM,SAAS,KAAK,SAAS,KAAK;AAClC,UAAI,QAAQ;AACV,eAAO;MACT;IACF;AACA,WAAO;EACT;;AASF,SAAS,uBAAuB,UAAwB;AACtD,aAAW,QAAQ,UAAU;AAC3B,SAAK,QAAQ;EACf;AACA,aAAW,QAAQ,UAAU;AAC3B,QAAI,KAAK,cAAc,CAAC,0BAA0B,IAAI,GAAG;AACvD,+BAAyB,IAAI;IAC/B;EACF;AACA,aAAW,QAAQ,UAAU;AAC3B,SAAK,YAAY,QAAQ,KAAK,QAAS,kBAAkB;EAC3D;AACF;AAGA,SAAS,uBAAuB,UAAwB;AACtD,aAAW,QAAQ,UAAU;AAC3B,SAAK,QAAQ;EACf;AACA,aAAW,QAAQ,UAAU;AAC3B,QAAI,KAAK,YAAY;AACnB,gCAA0B,IAAI;IAChC;EACF;AAEA,QAAM,cAAc,MAAM,KAAK,QAAQ,EAAE,KAAK,CAAC,IAAI,OAAO,GAAG,OAAO,GAAG,IAAI;AAC3E,aAAW,QAAQ,aAAa;AAC9B,SAAK,YAAY,QAAQ,KAAK,QAAS,kBAAkB;AAEzD,QAAI,KAAK,aAAa,KAAK,aAAa,KAAK,QAAS,qBAAqB;AAEzE,iBAAW,SAAS,KAAK,UAAU;AACjC,cAAM,QAAQ;MAChB;IACF,WAAW,KAAK,YAAY;AAC1B,+BAAyB,IAAI;IAC/B;EACF;AACF;AAGA,SAAS,0BAA0B,WAAuB;AACxD,MAAI,OAA4B;AAChC,SAAO,MAAM;AACX,QAAI,KAAK,YAAY,KAAK,SAAS;AACjC,WAAK,SAAU;AACf,aAAO;IACT;AACA,WAAO,KAAK;EACd;AACA,SAAO;AACT;AAGA,SAAS,yBAAyB,MAAI;AACpC,aAAW,SAAS,KAAK,UAAU;AACjC,QAAI,MAAM,YAAY,MAAM,SAAS;AACnC,YAAM,SAAS;IACjB,OAAO;AACL,+BAAyB,KAAK;IAChC;EACF;AACF;;;ADpsBA,IAAAC,eAAsB;AAEtB,IAAMC,gBAA6C;EACjD,cAAc;EACd,MAAM,EAAC,MAAM,QAAQ,OAAO,CAAA,EAAE;EAC9B,gBAAgB,QAAQ;EACxB,iBAAiB,EAAC,MAAM,YAAY,OAAO,CAAC,UAAe,IAAI,4BAAa,KAAK,EAAC;EAClF,aAAa,EAAC,MAAM,YAAY,UAAU,MAAM,OAAO,KAAI;;EAE3D,gBAAgB,EAAC,MAAM,YAAY,UAAU,MAAM,OAAO,KAAI;EAC9D,YAAY,EAAC,MAAM,YAAY,OAAO,UAAO;EAAE,EAAC;EAChD,cAAc,EAAC,MAAM,YAAY,OAAO,UAAO;EAAE,EAAC;;EAElD,aAAa,EAAC,MAAM,YAAY,OAAO,SAAO,QAAQ,MAAM,GAAG,EAAC;EAChE,QAAQ,EAAC,MAAM,SAAS,UAAU,MAAM,OAAO,MAAM,SAAS,KAAI;EAClE,UAAU;EACV,SAAS;EACT,SAAS;EACT,cAAc;EACd,kBAAkB;EAClB,oBAAoB;EACpB,QAAQ;EACR,aAAa;EACb,cAAc;EACd,YAAY;EACZ,gBAAgB;EAChB,gBAAgB;;AAsIlB,IAAqB,YAArB,cAAiF,4BAEhF;EAUC,kBAAe;AACb,SAAK,QAAQ;MACX,SAAS;MACT,UAAU;;EAEd;EAEA,gBAAa;AA/Mf;AAgNI,qBAAK,UAAL,mBAAY,YAAZ,mBAAqB;EACvB;EAEA,IAAI,WAAQ;AAnNd;AAoNI,WAAO,SACL,sBAAK,UAAL,mBAAY,YAAZ,mBAAqB,kBAArB,mBAAoC,MAClC;;;;MAIE,KAAK,aACJ,CAAC,KAAK,WAAW,CAAC,KAAK,UAAU,KAAK,OAAO,MAAM,WAAS,MAAM,QAAQ;MAC9E;EAEL;EAEA,kBAAkB,EAAC,YAAW,GAAC;AAC7B,WAAO,YAAY;EACrB;EAEA,YAAY,EAAC,YAAW,GAAyB;AAC/C,QAAI,EAAC,QAAO,IAAI,KAAK;AACrB,UAAM,eAAe,YAAY,sBAAsB,YAAY;AACnE,UAAM,cACJ,YAAY,eACX,YAAY,0BACV,YAAY,sBAAsB,OAAO,YAAY,sBAAsB;AAEhF,QAAI,CAAC,SAAS;AACZ,gBAAU,IAAI,KAAK,MAAM,aAAa,KAAK,mBAAkB,CAAE;AAC/D,WAAK,SAAS,EAAC,QAAO,CAAC;IACzB,WAAW,cAAc;AACvB,cAAQ,WAAW,KAAK,mBAAkB,CAAE;AAE5C,UAAI,aAAa;AAGf,gBAAQ,UAAS;MACnB,OAAO;AAEL,gBAAQ,MAAM,QAAQ,UAAO;AAC3B,eAAK,SAAS;QAChB,CAAC;MACH;IACF;AAEA,SAAK,eAAc;EACrB;EAEA,qBAAkB;AAChB,UAAM,EACJ,UACA,cACA,kBACA,oBACA,QACA,SACA,SACA,aACA,cACA,YACA,gBACA,eAAc,IACZ,KAAK;AAET,WAAO;MACL;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MAEA,aAAa,KAAK,YAAY,KAAK,IAAI;MACvC,YAAY,KAAK,YAAY,KAAK,IAAI;MACtC,aAAa,KAAK,aAAa,KAAK,IAAI;MACxC,cAAc,KAAK,cAAc,KAAK,IAAI;;EAE9C;EAEQ,iBAAc;AACpB,UAAM,UAAU,KAAK,MAAM;AAC3B,UAAM,EAAC,QAAQ,YAAW,IAAI,KAAK;AACnC,UAAM,cAAc,QAAQ,OAAO,KAAK,QAAQ,UAAU,EAAC,QAAQ,YAAW,CAAC;AAC/E,UAAM,EAAC,SAAQ,IAAI;AAEnB,UAAM,sBAAsB,KAAK,MAAM,aAAa;AACpD,UAAM,iBAAiB,KAAK,MAAM,gBAAgB;AAElD,QAAI,aAAa,uBAAuB,iBAAiB;AACvD,WAAK,gBAAe;IACtB;AAEA,QAAI,gBAAgB;AAElB,WAAK,SAAS,EAAC,YAAW,CAAC;IAC7B;AAEA,SAAK,MAAM,WAAW;EACxB;EAEA,kBAAe;AACb,UAAM,EAAC,QAAO,IAAI,KAAK;AACvB,UAAM,EAAC,eAAc,IAAI,KAAK;AAE9B,QAAI,gBAAgB;AAElB,qBAAe,QAAS,aAAc;IACxC;EACF;EAEA,YAAY,MAAyB;AACnC,SAAK,MAAM,WAAW,IAAI;AAC1B,SAAK,SAAS;AAEd,SAAK,eAAc;EACrB;EAEA,aAAa,OAAY,MAAyB;AAChD,SAAK,MAAM,YAAY,KAAK;AAC5B,SAAK,SAAS;AAEd,SAAK,eAAc;EACrB;EAEA,cAAc,MAAyB;AACrC,SAAK,MAAM,aAAa,IAAI;EAC9B;;EAIA,YAAY,MAAmB;AAC7B,UAAM,EAAC,MAAM,aAAa,MAAK,IAAI,KAAK;AACxC,UAAM,EAAC,OAAM,IAAI;AAEjB,SAAK,MACH,OAAO,SAAS,YAAY,MAAM,QAAQ,IAAI,IAAI,mBAAmB,MAAM,IAAI,IAAI;AAErF,QAAI,aAAa;AACf,aAAO,YAAY,IAAI;IACzB;AACA,QAAI,SAAS,KAAK,KAAK;AACrB,aAAO,MAAM,KAAK,KAAK,EAAC,UAAU,QAAQ,OAAO,MAAM,OAAM,CAAC;IAChE;AACA,WAAO;EACT;EAEA,gBACE,OAKC;AAED,WAAO,KAAK,MAAM,gBAAgB,KAAK;EACzC;EAEA,uBAAuB,MAAkB;AACvC,WAAO;EACT;EAEA,eAAe,QAA4B;AAEzC,UAAM,cAAc,OAAO;AAC3B,UAAM,aAAmC,YAAY,MAAc;AACnE,UAAM,OAAO,OAAO;AACpB,QAAI,KAAK,QAAQ;AACf,WAAK,OAAO;IACd;AACA,SAAK,aAAa;AAClB,SAAK,qBAAqB;AAC1B,WAAO;EACT;EAEU,qBAAqB,MAAiC;AAC9D,SAAK,mBAAmB,oBAAoB,IAAI;EAClD;EAEA,eAAY;AACV,UAAM,EAAC,gBAAgB,gBAAgB,SAAS,OAAM,IAAI,KAAK;AAC/D,UAAM,OAAO,KAAK,QAAQ,SAAS;AACnC,UAAM,SACH,kBAAkB,QAAQ,OAAO,kBACjC,kBAAkB,QAAQ,OAAO,kBACjC,WAAW,QAAQ,CAAC,UAAU,OAAO;AACxC,QAAI,QAAQ;AAEV,iBAAW,QAAQ,KAAK,MAAM,QAAS,OAAO;AAC5C,aAAK,SAAS;MAChB;AACA,aAAO,CAAA;IACT;AACA,WAAO,KAAK,MAAM,QAAS,MAAM,IAAI,CAAC,SAAsB;AAC1D,YAAM,gBAAgB,KAAK,uBAAuB,IAAI;AAEtD,UAAI,CAAC,KAAK,YAAY,CAAC,KAAK,SAAS;MAErC,WAAW,CAAC,KAAK,QAAQ;AACvB,cAAM,SAAS,KAAK,gBAAgB;UAClC,GAAG,KAAK;UACR,GAAG,KAAK,iBAAiB;YACvB,IAAI,KAAK;YACT,gBAAgB,KAAK,MAAM;WAC5B;UACD,MAAM,KAAK;UACX,SAAS;UACT;SACD;AACD,aAAK,aAAU,aAAAC,UAAQ,QAAQ,OAAO,EAAqC,IAAI,WAC7E,MAAM,MAAM;UACV;UACA,GAAG;SACJ,CAAC;MAEN,WACE,iBACA,KAAK,OAAO,CAAC,KACb,OAAO,KAAK,aAAa,EAAE,KACzB,cAAY,KAAK,OAAQ,CAAC,EAAE,MAAM,QAAQ,MAAM,cAAc,QAAQ,CAAC,GAEzE;AACA,aAAK,SAAS,KAAK,OAAO,IAAI,WAAS,MAAM,MAAM,aAAa,CAAC;MACnE;AACA,aAAO,KAAK;IACd,CAAC;EACH;EAEA,eAAe,EAAC,OAAO,SAAQ,GAAgB;AAC7C,UAAM,EAAC,KAAI,IAAK,MAAsC;AACtD,UAAM,EAAC,YAAW,IAAI,KAAK;AAC3B,WAAO,KAAK,MAAM,QAAS,cACzB,MACA,UACA,cAAc,IAAI,qBAAQ,WAAW,IAAI,IAAI;EAEjD;;AAnQO,UAAA,eAA6BD;AAC7B,UAAA,YAAY;yBAJA;;;AMtLrB,IAAAE,iBAAwC;;;ACAxC,IAAM,eAAe;;;;;;AAcd,IAAM,gBAAgB;EAC3B,MAAM;EACN,IAAI;EACJ,IAAI;EACJ,cAAc;IACZ,WAAW;IACX,aAAa;IACb,aAAa;;;;;ADjBjB,IAAMC,gBAA8C;EAClD,WAAW;EACX,aAAa,EAAC,MAAM,UAAU,OAAO,KAAK,KAAK,EAAC;EAChD,aAAa,EAAC,MAAM,UAAU,OAAO,GAAG,KAAK,EAAC;EAC9C,eAAe,EAAC,MAAM,YAAY,OAAO,CAAC,MAAW,EAAE,WAAU;;AA8BnE,IAAqB,aAArB,cAAiF,yBAGhF;EAIC,aAAU;AACR,UAAM,UAAU,MAAM,WAAU;AAChC,YAAQ,SAAS;MACf,YAAY;;;;;MAMZ,gBAAgB;;MAGhB,YAAY;;;MAIZ,kBAAkB;;;;;MAMlB,0BAA0B;;;;;AAM5B,YAAQ,UAAU,CAAC,GAAG,QAAQ,SAAS,aAAa;AACpD,WAAO;EACT;EAEA,kBAAe;AACb,UAAM,gBAAe;AAErB,UAAM,mBAAmB,KAAK,oBAAmB;AACjD,qBAAkB,aAAa;MAC7B,YAAY;QACV,MAAM;QACN,UAAU;QACV,kBAAkB;UAChB,oBAAoB;YAClB,cAAc;;UAEhB,wBAAwB;YACtB,cAAc;;;;KAIrB;EACH;EAEA,KAAK,QAAM;AACT,UAAM,EAAC,WAAW,aAAa,YAAW,IAAI,KAAK;AACnD,UAAM,aAAyB,EAAC,WAAW,aAAa,YAAW;AAEnE,UAAM,QAAQ,KAAK,MAAM;AACzB,UAAM,aAAa,SAAS,EAAC,OAAO,WAAU,CAAC;AAC/C,UAAM,KAAK,MAAM;EACnB;;AA9DO,WAAA,YAAY;AACZ,WAAA,eAAeA;0BALH;;;AExCrB,IAAAC,gBAAgD;AAEhD,IAAAC,gBAA+E;;;ACF/E,IAAAC,gBAQO;AACP,IAAAC,eASO;AACP,IAAAC,iBAA2D;AAM3D,IAAM,sBAAsB;AAE5B,SAAS,cAAc,YAAY,UAAQ;AACzC,MAAI;AACJ,MAAI,eAAe,UAAa,eAAe,MAAM;AACnD,cAAU;EACZ,WAAW,OAAO,eAAe,UAAU;AACzC,cAAU,EAAC,GAAG,YAAY,SAAQ;EACpC,OAAO;AACL,cAAU,EAAC,YAAY,SAAQ;EACjC;AACA,SAAO;AACT;AAEA,IAAMC,gBAAkD;EACtD,GAAG,4BAAa;EAChB,eAAe;EACf,UAAU,EAAC,MAAM,UAAU,KAAK,GAAG,KAAK,GAAG,OAAO,EAAC;EACnD,eAAe;EACf,YAAY,EAAC,MAAM,YAAY,OAAO,CAAC,MAAW,EAAE,QAAO;EAC3D,UAAU;;AAuCZ,IAAqB,iBAArB,cAGU,4BAAkE;EAO1E,kBAAe;AACb,mBAAe,YAAW;AAC1B,SAAK,QAAQ;MACX,cAAc;MACd,YAAY;;EAEhB;EAWA,kBAAkB,EAAC,YAAW,GAAyB;AACrD,WAAO,KAAK,wBAAuB,IAC/B,YAAY,qBACZ,YAAY;EAClB;EAEA,YAAY,EAAC,OAAO,YAAW,GAAyB;AACtD,QACE,MAAM,kBAAkB,SACvB,YAAY,eACV,YAAY,yBAAyB,YAAY,sBAAsB,aAC1E;AACA,YAAM,YAAY,KAAK,sBAAqB;AAC5C,WAAK,SAAS,SAAS;IACzB;AAEA,SAAK,gBAAgB,KAAK,QAAQ,QAA+B;EACnE;EAEQ,wBAAqB;AAC3B,QAAI,aAAa;AACjB,QAAI,cAAc;AAClB,QAAI,iBAAiB;AAErB,UAAM,EAAC,UAAU,WAAU,QAAI,6BAAe,KAAK,MAAM,IAAI;AAC7D,eAAW,UAAU,UAAU;AAC7B,iBAAW;AACX,YAAM,QAAQ,KAAK,MAAM,WAAW,QAAQ,UAAU;AAEtD,YAAM,oBAAgB,6BAAc,KAAK;AACzC,UAAI,aAAa,GAAG;AAClB,qBAAa;AACb,YAAI,CAAC,KAAK,MAAM;AAAe;MACjC,WAAW,eAAe,eAAe;AACvC,yBAAiB;AACjB;MACF;AACA,cAAI,0BAAW,KAAK,GAAG;AACrB,sBAAc;AACd;MACF;IACF;AAEA,WAAO;MACL;MACA,cAAc,cAAc,QAAI,uCAAwB,YAAY,IAAI,IAAI;MAC5E;MACA;;EAEJ;EAEQ,0BAAuB;AAC7B,QAAI,KAAK,MAAM,kBAAkB,QAAQ;AACvC,YAAM,EAAC,YAAY,aAAa,eAAc,IAAI,KAAK;AACvD,YAAM,EAAC,SAAQ,IAAI,KAAK;AACxB,aACE,QAAQ,qCAAU,UAAU,KAC5B,kBACA,eACC,cAAc,KAAK,cAAc;IAEtC;AAEA,WAAO,KAAK,MAAM;EACpB;EAEQ,gBAAgB,UAA6B;AACnD,QAAI,KAAK,wBAAuB,GAAI;AAClC;IACF;AACA,UAAM,EAAC,YAAY,cAAc,UAAS,IAAI,KAAK;AACnD,QAAI,aAAa,GAAG;AAClB;IACF;AACA,UAAM,MACJ,KAAK,MAAM,qBAAiB,4BAAa,SAAS,UAAU,SAAS,WAAW,UAAU;AAC5F,QAAI,cAAc,KAAK;AACrB;IACF;AACA,QAAI,WAAW;AACb,UAAI;AACF,cAAM,eAAW,4BAAa,WAAW,GAAG;AAC5C,YAAI,WAAW,eAAe,qBAAqB;AACjD;QACF;MACF,QAAE;MAGF;IACF;AAEA,UAAM,EAAC,cAAa,IAAI,SAAS;AAEjC,QAAI,WAAW,YAAY,GAAG;AAC9B,UAAM,CAAC,WAAW,SAAS,QAAI,4BAAa,GAAG;AAE/C,UAAM,CAAC,SAAS,OAAO,IAAI,SAAS,YAAY,CAAC,WAAW,SAAS,CAAC;AACtE,eAAW,SAAS,IAAI,OAAI;AAC1B,YAAM,gBAAgB,SAAS,YAAY,CAAC;AAC5C,aAAO;SACJ,cAAc,CAAC,IAAI,WAAW,cAAc,CAAC;SAC7C,cAAc,CAAC,IAAI,WAAW,cAAc,CAAC;;IAElD,CAAC;AAED,SAAK,SAAS,EAAC,WAAW,KAAK,SAAQ,CAAC;EAC1C;EAEA,eAAY;AACV,WAAO,KAAK,wBAAuB,IAAK,KAAK,oBAAmB,IAAK,KAAK,mBAAkB;EAC9F;EAEQ,mBAAgB;AACtB,UAAM,EACJ,gBACA,UACA,UACA,UACA,WACA,SACA,QACA,gBACA,gBACA,oBACA,oBACA,cACA,cACA,cACA,cACA,aACA,eAAc,IACZ,KAAK;AAET,WAAO;MACL;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,gBAAgB;QACd,cAAc,eAAe;QAC7B,cAAc,eAAe;QAC7B,cAAc,eAAe;QAC7B,cAAc,eAAe;;;EAUnC;EAEQ,sBAAmB;AACzB,UAAM,EAAC,MAAM,YAAY,gBAAgB,SAAQ,IAAI,KAAK;AAE1D,UAAM,gBAAgB,KAAK,iBAAiB,qBAAqB,2BAAY;AAC7E,UAAM,eAAe,KAAK,iBAAgB;AAC1C,iBAAa,eAAe,aAAa,cAAc,eAAe,YAAY,QAAQ;AAE1F,WAAO,IAAI,cACT,cACA,KAAK,iBAAiB;MACpB,IAAI;MACJ,gBAAgB,aAAa;KAC9B,GACD;MACE;MACA,YAAY;MACZ,eAAe;MACf,gBAAgB;MAChB,YAAY,CAAC,QAAQ,eAAc;AACjC,cAAM,YAAY,WAAW,QAAQ,UAAU;AAC/C,eAAO,eAAe,YAAY,WAAW,QAAQ,CAAC;MACxD;KACD;EAEL;EAEQ,qBAAkB;AACxB,UAAM,EAAC,MAAM,YAAY,eAAc,IAAI,KAAK;AAEhD,UAAM,gBAAgB,KAAK,iBAAiB,gBAAgB,0BAAW;AACvE,UAAM,eAAe,KAAK,iBAAgB;AAC1C,iBAAa,eAAe,cAAc,eAAe;AAEzD,WAAO,IAAI,cACT,cACA,KAAK,iBAAiB;MACpB,IAAI;MACJ,aAAa;MACb,gBAAgB,aAAa;KAC9B,GACD;MACE;MACA,gBAAgB;;MAChB,QAAQ;MACR,UAAU,KAAK,MAAM;MACrB,aAAa,mBAAmB,KAAK,MAAM,UAAU;KACtD;EAEL;;AA7OO,eAAA,eAAeA;AACf,eAAA,YAAY;AAGZ,eAAA,cAAc,MAAK;AAAE;+BART;;;AD7ErB,IAAMC,iBAAkD;EACtD,aAAa,EAAC,MAAM,YAAY,OAAO,CAAC,MAAW,EAAE,SAAQ;;AAiB/D,IAAqB,iBAArB,cAAqF,qBAGpF;EAQC,kBAAe;AACb,6BAAe,YAAW;EAC5B;EAEA,YAAY,EAAC,OAAO,YAAW,GAAyB;AACtD,QACE,YAAY,eACX,YAAY,yBAAyB,YAAY,sBAAsB,aACxE;AACA,YAAM,EAAC,MAAM,YAAW,IAAI;AAC5B,YAAM,WAAsC,CAAA;AAE5C,YAAM,EAAC,UAAU,WAAU,QAAI,8BAAe,IAAI;AAClD,iBAAW,UAAU,UAAU;AAC7B,mBAAW;AACX,cAAM,WAAW,YAAY,QAAQ,UAAU;AAC/C,cAAM,mBAAe,mCAAoB,UAAU,IAAI;AAEvD,mBAAW,WAAW,cAAc;AAElC,qBAAW,QAAQ,SAAS;AAC1B,gCAAoB,IAAI;UAC1B;AACA,mBAAS,KAAK,KAAK,eAAe,EAAC,QAAO,GAAG,QAAQ,WAAW,KAAK,CAAC;QACxE;MACF;AAEA,WAAK,SAAS,EAAC,SAAQ,CAAC;IAC1B;EACF;EAEA,gBAAa;AACX,UAAM,EAAC,cAAc,cAAc,cAAc,aAAY,IAAI,KAAK;AAEtE,WAAO;MACL,MAAM,KAAK,MAAM;MACjB,YAAY,OAAK,EAAE;MAEnB,cAAc,KAAK,oBAAoB,YAAY;MACnD,cAAc,KAAK,oBAAoB,YAAY;MACnD,cAAc,KAAK,oBAAoB,YAAY;MACnD,cAAc,KAAK,oBAAoB,YAAY;;EAEvD;;AAlDO,eAAA,YAAY;AACZ,eAAA,eAAeA;+BALH;;;AEzBrB,IAAAC,iBAAuB;AAEvB,IAAAC,gBAgBO;AACP,IAAAC,iBAA8B;AAC9B,IAAAC,sBAA8B;;;ACnB9B,kBAAkD;AAClD,yBAA0B;AAC1B,oBAAoB;AAGpB,yBAAoD;;;ACJpD,IAAMC,gBAAe;;;;AAUd,IAAM,eAAe;EAC1B,MAAM;EACN,IAAIA;EACJ,IAAIA;EACJ,cAAc;IACZ,gBAAgB;;;;;ACjBpB,IAAA,iCAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA,IAAA,mCAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AHiBA,SAAS,2BAA2B,YAA0B;AAC5D,QAAM,oBAAoB,WAAW,aAAa,WAAW;AAC7D,QAAM,cAAc,kBAAkB,MAAM,SAAS,kBAAkB;AACvE,QAAM,oBAAoB,WAAW,WAAW,WAAW;AAC3D,MAAI,CAAC,mBAAmB;AACtB,eAAW,SAAS;MAClB,MAAM;MACN,OAAO,IAAI,WAAW,cAAc,CAAC,EAAE,KAAK,GAAG;MAC/C,YAAY;;EAEhB;AACF;AAEA,IAAMC,iBAA6C;EACjD,aAAa,EAAC,MAAM,UAAU,OAAO,KAAI;EACzC,YAAY,EAAC,MAAM,SAAS,OAAO,MAAM,UAAU,KAAI;;AAmBzD,IAAqB,YAArB,cAAgF,mCAG/E;EAIC,aAAU;AACR,UAAM,UAAU,MAAM,WAAU;AAChC,UAAM,UAAU,QAAQ;AACxB,YAAQ,KAAK,gCAAa,YAAY;AACtC,WAAO,EAAC,GAAG,SAAS,oCAAI,qCAAE;EAC5B;EAEA,kBAAe;AACb,UAAM,EAAC,WAAU,IAAI,KAAK;AAC1B,UAAM,gBAAe;AAErB,UAAM,mBAAmB,KAAK,oBAAmB;AACjD,QAAI,YAAY;AAEd,uBAAkB,IAAI;;QAEpB,YAAY;UACV,MAAM;UACN,MAAM;UACN,SAAS;;UAET,QAAQ,KAAK;;OAEhB;IACH;EACF;EAEA,YAAY,QAA8B;AACxC,UAAM,YAAY,MAAM;AAExB,UAAM,EAAC,OAAO,SAAQ,IAAI;AAC1B,QAAI,MAAM,gBAAgB,SAAS,aAAa;AAC9C,WAAK,0BAA0B,MAAM,WAAW;IAClD;EACF;EAEA,KAAK,MAAI;AACP,UAAM,EAAC,WAAU,IAAI,KAAK;AAC1B,UAAM,EAAC,MAAK,IAAI,KAAK;AACrB,QAAI,CAAC,OAAO;AACV;IACF;AACA,UAAM,YAAuB;MAC3B,gBAAgB,QAAQ,UAAU;;AAEpC,UAAM,qBAAqB;MACzB,QAAQ,KAAK,QAAQ,SAAS;;AAEhC,UAAM,aAAa,SAAS;MAC1B,eAAe;MACf,MAAM;KACP;AAED,UAAM,KAAK,IAAI;EACjB;EAEU,SAAS,MAAU;AAC3B,UAAM,EAAC,GAAE,IAAI,KAAK;AAClB,UAAM,oBAAoB,KAAK,cAAc,KAAK,MAAM,aAAa,IAAI;AAEzE,SAAK,SAAS,EAAC,kBAAiB,CAAC;AACjC,UAAM,UAAU,KAAK,WAAU;AAC/B,+BAA2B,KAAK,UAAU;AAC1C,UAAM,QAAQ,IAAI,oBAAM,KAAK,QAAQ,QAAQ;MAC3C,GAAG,KAAK,WAAU;MAClB;MACA,UAAU;MACV,cAAc,KAAK,oBAAmB,EAAI,iBAAgB;MAC1D,SAAS;QACP,GAAG,QAAQ;QACX,GAAG,uDAAmB;QACtB,gBAAgB,KAAK,WAAW,YAAY,IAAI;;MAElD,YAAY,uDAAmB;MAC/B,aAAa;KACd;AAED,WAAO;EACT;EAEA,0BAA0B,UAAQ;AAChC,UAAM,EAAC,MAAK,IAAI,KAAK;AACrB,QAAI,OAAO;AACT,YAAM,EAAC,KAAI,IAAI,KAAK;AACpB,YAAM,oBAAoB,KAAK,cAAc,UAAU,IAAY;AAEnE,WAAK,SAAS,EAAC,kBAAiB,CAAC;AAEjC,YAAM,EAAC,qBAAoB,IAAI,kBAAkB;AACjD,YAAM,EAAC,aAAY,IAAI,KAAK;AAC5B,YAAM,kBAAkB;QACtB,SAAS,wBAAwB;QACjC,YAAY,QAAQ,oBAAoB;;AAG1C,YAAM,EAAC,QAAQ,GAAG,iBAAgB,IAAI;QACpC,GAAG,kBAAkB;QACrB,GAAG,kBAAkB;;AAEvB,YAAM,aAAa,SAAS,EAAC,YAAY,iBAAiB,aAAa,iBAAgB,CAAC;IAC1F;EACF;EAEA,cAAc,UAAU,MAAU;AAChC,UAAM,QAAQ,QACZ,SAAS,wBAAwB,SAAS,qBAAqB,gBAAgB;AAGjF,eAAO,8BACL,KAAK,QAAQ,QACb,EAAC,OAAO,GAAG,SAAQ,GACnB,EAAC,QAAQ,KAAK,WAAW,SAAS,YAAY,KAAK,WAAW,UAAS,GACvE;MACE,UAAU;MACV,QAAQ;MACR,aAAa;KACd;EAEL;EAEA,kCAAkC,WAAS;AAEzC,UAAM,aAAa,KAAK,MAAM;AAC9B,cAAU,QAAQ,IAAI,YAAY,UAAU;EAC9C;EAEA,cAAc,SAAqB;AA5LrC;AA6LI,UAAM,cAAc,OAAO;AAC3B,eAAK,MAAM,sBAAX,mBAA8B,kBAAkB,QAAQ,aAAW,QAAQ,QAAO;AAClF,SAAK,SAAS,EAAC,mBAAmB,KAAI,CAAC;EACzC;;AArIO,UAAA,YAAY;AACZ,UAAA,eAAeA;yBALH;;;AD5BrB,IAAAC,gBAAmB;AAEnB,mBAA2C;AAC3C,qBAA4B;AAE5B,IAAM,cAAc,CAAC,CAAC;AAEtB,IAAMC,iBAA+C;EACnD,eAAe,EAAC,MAAM,YAAY,OAAO,CAAC,GAAG,GAAG,GAAG,GAAG,EAAC;EACvD,WAAW;;EAGX,MAAM;EACN,QAAQ;EAER,eAAe,EAAC,MAAM,YAAY,OAAO,eAAY;EAAE,EAAC;EACxD,YAAY,EAAC,MAAM,YAAY,OAAO,gBAAa;EAAE,EAAC;EACtD,cAAc,EAAC,MAAM,YAAY,OAAO,gBAAa;EAAE,EAAC;EACxD,aAAa,EAAC,MAAM,YAAY,OAAO,CAAC,MAAM,SAAS,QAAO;EAAE,EAAC;EACjE,eAAe,EAAC,MAAM,YAAY,OAAO,gBAAc,CAAC,KAAK,KAAK,GAAG,EAAC;;AAqCxE,IAAqB,cAArB,cAAmF,6BAElF;EAYC,kBAAe;AACb,QAAI,oBAAoB,KAAK,OAAO;AAClC,wBAAI,QAAQ,kBAAkB,aAAa,EAAC;IAC9C;AAEA,SAAK,QAAQ;MACX,UAAU,CAAA;MACV,WAAW;MACX,iBAAiB,CAAA;MACjB,sBAAsB;;EAE1B;EAEA,IAAI,WAAQ;AA9Gd;AA+GI,WAAO,UAAQ,gBAAK,UAAL,mBAAY,cAAZ,mBAAuB,eAAc,MAAM,QAAQ;EACpE;EAEA,kBAAkB,EAAC,YAAW,GAAyB;AACrD,WAAO,YAAY;EACrB;EAEA,YAAY,EAAC,OAAO,UAAU,YAAW,GAAyB;AAChE,QAAI,MAAM,QAAQ,MAAM,SAAS,SAAS,MAAM;AAE9C,WAAK,aAAa,MAAM,IAAI;IAC9B;AAEA,QAAI,YAAY,iBAAiB;AAC/B,YAAM,EAAC,gBAAe,IAAI,KAAK;AAC/B,YAAM,kBAAkB,OAAO,KAAK,eAAe,EAAE;AACrD,UAAI,iBAAiB;AACnB,aAAK,eAAe,eAAe;AACnC,aAAK,MAAM,uBAAuB;AAClC,aAAK,MAAM,kBAAkB,CAAA;MAC/B;IACF;AACA,QAAI,YAAY,cAAc;AAC5B,YAAM,EAAC,SAAQ,IAAI,KAAK;AACxB,iBAAW,OAAO,UAAU;AAC1B,iBAAS,GAAG,EAAE,cAAc;MAC9B;IACF;EACF;EAEA,cAAc,SAAqB;AA7IrC;AA8II,eAAK,MAAM,cAAX,mBAAsB;AACtB,SAAK,MAAM,YAAY;AACvB,SAAK,MAAM,WAAW,CAAA;AACtB,SAAK,MAAM,kBAAkB,CAAA;AAC7B,SAAK,MAAM,uBAAuB;AAClC,UAAM,cAAc,OAAO;EAC7B;EAEA,iBAAiB,UAAkB;AACjC,UAAM,EAAC,iBAAiB,qBAAoB,IAAI,KAAK;AACrD,SAAK,cAAe,WAAW;AAE/B,oBAAgB,SAAS,EAAE,IAAI;AAC/B,UAAM,eAAe,6DAAuB,SAAS;AACrD,QAAI,CAAC,gBAAgB,CAAC,SAAS,OAAO,YAAY,GAAG;AACnD,WAAK,eAAe,EAAC,iBAAiB,KAAI,CAAC;AAC3C,WAAK,eAAc;IACrB;EACF;EAEA,eAAe,EAAC,MAAM,YAAW,GAAuB;AACtD,UAAM,aAAa,eAAgB,YAAY,MAAc;AAC7D,QAAI,KAAK,QAAQ;AACf,WAAK,SAAS;IAChB;AACC,SAAa,aAAa;AAE3B,WAAO;EACT;EAEA,eAAe,EAAC,OAAO,UAAU,UAAU,UAAS,GAAgB;AA5KtE;AA8KI,UAAM,EAAC,KAAI,IAAI,MAAM;AACrB,UAAM,EAAC,IAAI,WAAU,IAAI;AACzB,QAAI,CAAC,KAAK,YAAY,CAAC,KAAK,YAAY,SAAS,UAAU,GAAG;AAC5D,aAAO;IACT;AAIA,QAAI,aAAa,cAAY,UAAK,YAAL,mBAAc,qBAAoB;AAC7D,YAAM,CAAC,IAAI,EAAE,IAAI,SAAS,QAAQ,KAAK,QAAQ,kBAAkB;AACjE,YAAM,KAAK,SAAS,IAAI,SAAS,QAAQ;AACzC,YAAM,KAAK,SAAS,IAAI,SAAS,SAAS;AAC1C,YAAM,YAAY,KAAK,IAAI,SAAS,OAAO,SAAS,MAAM,IAAI;AAC9D,YAAM,KAAK,KAAK;AAChB,YAAM,KAAK,KAAK;AAChB,UAAI,KAAK,KAAK,KAAK,KAAK,YAAY,WAAW;AAC7C,eAAO;MACT;IACF;AAEA,WAAO;EACT;EAEU,qBAAqB,MAAiB;AAC9C,UAAM,aAAc,KAAa;AACjC,UAAM,aAAa,KAAK,MAAM,SAAS,yCAAY,EAAE;AACrD,QAAI,cAAc,WAAW,OAAO;AAClC,iBAAW,MAAM,oBAAoB,IAAI;IAC3C;EACF;EAEQ,MAAM,aAAa,YAAU;AA7MvC;AA8MI,UAAM,cAAc,KAAK,MAAM,eAAe,CAAA;AAI9C,UAAM,YAAU,UAAK,MAAM,YAAX,mBAAoB,UAAS,KAAK,MAAM,UAAU,KAAK,MAAM;AAC7E,UAAM,SAAS,MAAM,QAAQ,OAAO,IAAI,QAAQ,CAAC,IAAI;AAGrD,UAAM,EAAC,SAAS,gBAAgB,GAAG,qBAAoB,IAAI;AAE3D,UAAM,UAAU,EAAC,aAAa,EAAC,GAAG,qBAAoB,GAAG,GAAG,eAAc;AAC1E,QAAI,mBAAmB;AACvB,QAAI,aAAa,UAAU,OAAO,OAAO,YAAY,YAAY;AAC/D,YAAM,iBAAiB,MAAM,OAAO,QAAQ,YAAY,WAAW;AACnE,UAAI,eAAe,KAAK;AACtB,2BAAmB,eAAe;MACpC;AAEA,UAAI,eAAe,SAAS;AAC1B,gBAAQ,YAAY,OAAO;UACzB,GAAG,QAAQ,YAAY;UACvB,OAAO;YACL,IAAG,aAAQ,YAAY,SAApB,mBAA0B;YAC7B,SAAS,eAAe;;;MAG9B;AACA,aAAO,OAAO,SAAS,cAAc;IACvC;AACA,UAAM,cAAc,UAAM,oBAAK,kBAAkB,QAAQ,QAAQ,WAAW;AAE5E,UAAM,YAAY,IAAI,uBAAU,aAAa;MAC3C,YAAY,KAAK,YAAY,KAAK,IAAI;MACtC,cAAc,KAAK,cAAc,KAAK,IAAI;MAC1C,aAAa,KAAK,MAAM;MACxB,UAAU,MAAM,KAAK,eAAc;MACnC,GAAG;KACJ;AAED,SAAK,SAAS;MACZ;MACA,UAAU,CAAA;KACX;AAED,SAAK,eAAe,KAAK,MAAM,eAAe;AAC9C,SAAK,MAAM,cAAc,SAAS;EACpC;EAEQ,YAAY,YAAkB;AACpC,UAAM,EAAC,qBAAoB,IAAI,KAAK;AAGpC,eAAW,YAAY;AACvB,SAAK,MAAM,WAAW,UAAU;AAChC,SAAK,eAAe,oBAAoB;AACxC,SAAK,eAAc;EACrB;EAEQ,cAAc,YAAkB;AAEtC,WAAO,KAAK,MAAM,SAAS,WAAW,EAAE;AACxC,SAAK,MAAM,aAAa,UAAU;EACpC;EAEQ,eAAe,WAAkD;AACvE,QAAI,CAAC,WAAW;AACd;IACF;AACA,UAAM,EAAC,UAAS,IAAI,KAAK;AACzB,UAAM,EAAC,SAAQ,IAAI,KAAK;AACxB,UAAM,kBAAkB,OAAO,KAAK,SAAS,EAAE;AAC/C,QAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,WAAW;AAC/C;IACF;AAGA,cAAU,YAAY,OAAO,OAAO,SAAS,CAAC,EAAE,KAAK,iBAAc;AACjE,YAAM,iBAAiB,KAAK,MAAM,gBAAgB;AAClD,UAAI,gBAAgB;AAClB,aAAK,SAAS,EAAC,YAAW,CAAC;MAC7B;IACF,CAAC;EACH;EAEQ,aACN,YACA,UAAgB;AAEhB,QAAI,CAAC,WAAW,SAAS;AACvB,aAAO;IACT;AAEA,YAAQ,WAAW,MAAmB;MACpC,KAAK,uBAAU;AACb,eAAO,KAAK,qBAAqB,YAAY,QAAkC;MACjF,KAAK,uBAAU;AACb,eAAO,KAAK,kBAAkB,UAAU;MAC1C,KAAK,uBAAU;AACb,eAAO,KAAK,qBAAqB,YAAY,QAA4B;MAC3E;AACE,cAAM,IAAI,MAAM,+CAA+C,WAAW,QAAQ,MAAM;IAC5F;EACF;EAEQ,qBACN,YACA,UAAiC;AAEjC,UAAM,EAAC,YAAY,YAAY,cAAc,oBAAoB,YAAW,IAC1E,WAAW;AACb,UAAM,EAAC,WAAW,SAAS,OAAM,IAAI;AAErC,QAAI,CAAC,WAAW;AACd,aAAO;IACT;AACA,UAAM,OAAQ,YAAY,SAAS,MAAM,QAAS;MAChD,QAAQ;QACN,aAAa;;MAEf,YAAY;QACV,UAAU;QACV,QAAQ;QACR,SAAS;;;AAIb,UAAM,EAAC,WAAW,cAAa,IAAI,KAAK;AACxC,UAAM,gBAAgB,KAAK,iBAAiB,cAAc,8BAAe;AACzE,WAAO,IAAI,cACT;MACE;OAEF,KAAK,iBAAiB;MACpB,IAAI;KACL,GACD;MACE,IAAI,GAAG,KAAK,iBAAiB,WAAW;MACxC,MAAM;MACN;MACA,kBAAkB,gCAAkB;MACpC,kBAAkB;MAClB;MACA,UAAU,gBAAgB;MAC1B,SAAS;KACV;EAEL;EAEQ,kBAAkB,YAAkB;AAC1C,UAAM,EAAC,MAAM,WAAW,oBAAoB,YAAW,IAAI,WAAW;AAEtE,UAAM,gBAAgB,KAAK,iBAAiB,cAAc,mCAAe;AAEzE,WAAO,IAAI,cACT;MACE,WAAW;OAEb,KAAK,iBAAiB;MACpB,IAAI;KACL,GACD;MACE,IAAI,GAAG,KAAK,iBAAiB,WAAW;MACxC,MAAM;MACN,MAAM,aAAa;MACnB,YAAY;MAEZ,kBAAkB,gCAAkB;MACpC,kBAAkB;MAClB;MACA,oBAAoB,cAAY,SAAS;MACzC,aAAa,CAAC,GAAG,GAAG,CAAC;MACrB,SAAS;MACT,aAAa,MAAK;AAChB,mBAAW,YAAY;MACzB;KACD;EAEL;EAEQ,qBAAqB,YAAoB,UAA2B;AAC1E,UAAM,UAAU,WAAW;AAC3B,UAAM,EACJ,YACA,SACA,aACA,oBACA,mBAAmB,gCAAkB,eACrC,UACA,WAAU,IACR;AACJ,UAAM,EAAC,cAAa,IAAI,KAAK;AAE7B,UAAM,WACH,YAAY,SAAS,MAAM,QAC5B,IAAI,wBAAS;MACX,UAAU;MACV,YAAY,gBAAgB,UAAU;MACtC;KACD;AAEH,UAAM,gBAAgB,KAAK,iBAAiB,QAAQ,kBAAS;AAE7D,WAAO,IAAI,cACT,KAAK,iBAAiB;MACpB,IAAI;KACL,GACD;MACE,IAAI,GAAG,KAAK,WAAW,WAAW;MAClC,MAAM;MACN,MAAM;MACN,MAAM;MACN,UAAU,cAAc,UAAU;MAClC,aAAa;MACb;MACA,kBAAkB;MAClB;MACA;MACA,SAAS;KACV;EAEL;EAEA,eAAY;AACV,UAAM,EAAC,WAAW,SAAQ,IAAI,KAAK;AACnC,QAAI,CAAC,WAAW;AACd,aAAO;IACT;AAGA,WAAQ,UAAU,MACf,IAAI,UAAO;AACV,YAAM,aAAc,SAAS,KAAK,EAAE,IAAI,SAAS,KAAK,EAAE,KAAK,EAAC,KAAI;AAClE,UAAI,EAAC,MAAK,IAAI;AACd,UAAI,KAAK,UAAU;AAEjB,YAAI,CAAC,OAAO;AAEV,kBAAQ,KAAK,aAAa,IAAI;QAChC,WAAW,WAAW,aAAa;AAEjC,kBAAQ,KAAK,aAAa,MAAM,KAAK;AACrC,qBAAW,cAAc;QAC3B;MACF;AACA,iBAAW,QAAQ;AACnB,aAAO;IACT,CAAC,EACA,OAAO,OAAO;EACnB;;AAhXO,YAAA,eAAeA;AACf,YAAA,YAAY;4BAJA;AAsXrB,SAAS,gBAAgB,mBAAiC;AACxD,QAAM,aAA6B,CAAA;AACnC,aAAW,YAAY;IACrB,GAAG,kBAAkB;IACrB,OAAO,IAAI,aAAa,kBAAkB,UAAU,KAAK;;AAE3D,MAAI,kBAAkB,SAAS;AAC7B,eAAW,UAAU,kBAAkB;EACzC;AACA,MAAI,kBAAkB,WAAW;AAC/B,eAAW,YAAY,kBAAkB;EAC3C;AACA,MAAI,kBAAkB,QAAQ;AAC5B,eAAW,SAAS,kBAAkB;EACxC;AACA,MAAI,kBAAkB,WAAW;AAC/B,eAAW,YAAY,kBAAkB;EAC3C;AACA,SAAO;AACT;;;AKxdA,IAAAC,gBAaO;AACP,IAAAC,sBAA8B;AAE9B,qBAAkC;AAWlC,IAAM,aAAa,CAAC,CAAC;AACrB,IAAM,sBAAsB;AAC5B,IAAM,6BAA6B;AACnC,IAAM,eAAe;AACrB,IAAM,gBAAgB;AAEtB,IAAMC,iBAAgD;EACpD,GAAG,mBAAU;;EAEb,eAAe;;EAEf,SAAS,EAAC,GAAG,SAAS,UAAU,KAAI;;EAEpC,cAAc,EAAC,MAAM,UAAU,OAAO,EAAG;;EAEzC,QAAQ,EAAC,MAAM,SAAS,OAAO,MAAM,UAAU,MAAM,SAAS,KAAI;;EAElE,OAAO,EAAC,MAAM,SAAS,OAAO,CAAC,KAAK,KAAK,GAAG,EAAC;;EAE7C,kBAAkB;IAChB,MAAM;IACN,OAAO;MACL,SAAS;MACT,SAAS;MACT,SAAS;MACT,QAAQ;;;;EAIZ,WAAW;;EAEX,WAAW;EACX,UAAU;EAEV,SAAS,CAAC,kCAAmB;;AAI/B,SAAS,2BAA2B,UAAqB;AACvD,MAAI,MAAM,QAAQ,QAAQ,GAAG;AAC3B,WAAO,SAAS,KAAK,GAAG;EAC1B;AACA,SAAO,YAAY;AACrB;AAEA,SAAS,oBAAoB,QAAgB,UAAkB,aAAoB;AACjF,QAAM,QAAS,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,WAAY;AACpD,QAAM,QAAS,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,WAAY;AACpD,QAAM,mBAA2B;IAC/B,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,IAAI;;AAGd,MAAI,CAAC,aAAa;AAChB,WAAO;EACT;AAEA,SAAO;IACL,KAAK,IAAI,iBAAiB,CAAC,GAAG,CAAC,aAAa;IAC5C,KAAK,IAAI,iBAAiB,CAAC,GAAG,CAAC,YAAY;IAC3C,KAAK,IAAI,iBAAiB,CAAC,GAAG,aAAa;IAC3C,KAAK,IAAI,iBAAiB,CAAC,GAAG,YAAY;;AAE9C;AAEA,SAAS,yBAAyB,cAAoB;AACpD,MAAI,CAAC,OAAO,SAAS,YAAY,KAAK,gBAAgB,GAAG;AACvD,WAAO;EACT;AACA,SAAO,KAAK,IAAI,cAAc,0BAA0B;AAC1D;AAyDA,IAAqB,eAArB,cAAuE,6BAEtE;EAUC,YAAY,EAAC,OAAO,SAAQ,GAAyB;AACnD,UAAM,uBAAuB,MAAM,kBAAkB,SAAS;AAC9D,QAAI,sBAAsB;AACxB,YAAM,EAAC,cAAa,IAAI;AACxB,YAAM,UACJ,kBAAkB,MAAM,QAAQ,aAAa,KAAK,aAAa,aAAa;AAC9E,WAAK,SAAS,EAAC,QAAO,CAAC;IACzB;AAGA,UAAM,eACJ,wBACA,MAAM,iBAAiB,SAAS,gBAChC,MAAM,qBAAqB,SAAS,oBACpC,MAAM,WAAW,SAAS;AAE5B,QAAI,CAAC,KAAK,MAAM,WAAW,cAAc;AAEvC,YAAM,UAAU,KAAK,YAAY,KAAyB;AAC1D,WAAK,SAAS,EAAC,QAAO,CAAC;IACzB;AAIA,QAAI,MAAM,WAAW;AACnB,wBAAI,QAAQ,aAAa,+BAA+B,EAAC;IAC3D;EACF;EAEA,YAAY,EACV,eACA,QACA,kBACA,cACA,OAAM,GACW;AACjB,QAAI,CAAC,eAAe;AAClB,aAAO;IACT;AACA,UAAM,wBAAwB,yBAAyB,YAAY;AACnE,QAAI,cAAc,KAAK,eAAc;AACrC,kBAAc;MACZ,GAAG;MACH,SAAS;QACP,aAAa,KAAK,MAAM,UAAU,wBAAwB,IAAI;QAC9D,GAAG,2CAAa;QAChB;QACA,cAAc;QACd;;;AAGJ,UAAM,EAAC,MAAK,IAAI,KAAK;AACrB,WAAO,MAAM,eAAe,EAAC,UAAU,iBAAiB,OAAO,MAAM,aAAa,OAAM,CAAC;EAC3F;EAEA,oBAAoB,MAAmB;AACrC,UAAM,EAAC,eAAe,OAAO,SAAS,kBAAkB,aAAY,IAAI,KAAK;AAC7E,UAAM,EAAC,SAAQ,IAAI,KAAK;AACxB,UAAM,UAAU,mBAAmB,eAAe,IAAI;AACtD,UAAM,aAAa,WAAW,mBAAmB,SAAS,IAAI;AAE9D,UAAM,EAAC,OAAM,IAAI;AACjB,QAAI,aAAa,CAAC,GAAG,CAAC;AACtB,QAAI,WAAW,CAAC,GAAG,CAAC;AACpB,QAAI,SAAS,cAAc;AACzB,YAAM,OAAO,KAAK;AAClB,mBAAa,SAAS,YAAY,CAAC,KAAK,MAAM,KAAK,KAAK,CAAC;AACzD,iBAAW,SAAS,YAAY,CAAC,KAAK,MAAM,KAAK,KAAK,CAAC;IACzD,OAAO;AACL,YAAM,OAAO,KAAK;AAClB,mBAAa,CAAC,KAAK,MAAM,KAAK,MAAM;AACpC,iBAAW,CAAC,KAAK,OAAO,KAAK,GAAG;IAClC;AACA,UAAM,SAAiB,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC;AAC9E,UAAM,mBAAmB,oBACvB,QACA,KAAK,MAAM,UACX,oBAAoB,cAAAC,cAAa;AAGnC,UAAM,UAAU,KAAK,YAAY;MAC/B,eAAe;MACf,QAAQ;MACR;MACA;MACA;KACD;AACD,UAAM,UAAU;;MAEZ,MAAM,YAAY,EAAC,UAAU,WAAW,OAAO,MAAM,SAAS,CAAA,GAAI,OAAM,CAAC,EAAE,MAAM,OAAK,IAAI;QAC1F,QAAQ,QAAQ,IAAI;AAExB,WAAO,QAAQ,IAAI,CAAC,SAAS,OAAO,CAAC;EACvC;EAEA,gBACE,OAIC;AAhRL;AAkRI,UAAM,gBAAgB,KAAK,iBAAiB,QAAQ,mCAAe;AAEnE,UAAM,EAAC,OAAO,WAAW,SAAQ,IAAI,KAAK;AAC1C,UAAM,EAAC,KAAI,IAAI;AAEf,QAAI,CAAC,MAAM;AACT,aAAO;IACT;AAEA,UAAM,CAAC,MAAM,OAAO,IAAI;AAExB,UAAM,EAAC,SAAQ,IAAI,KAAK;AAIxB,UAAM,UAAU,oBAAoB,cAAAA;AACpC,UAAM,eAAe,kCAAqC,WAArC,mBAA6C;AAClE,UAAM,kBACJ,eACA,YAAY,MACV,CAAC,CAAC,GAAG,CAAC,MACJ,KAAK,CAAC,iBAAiB,KAAK,iBAAiB,KAAK,CAAC,gBAAgB,KAAK,YAAY;AAE1F,UAAM,mBACJ,WAAW,kBAAkB,gCAAkB,SAAS,gCAAkB;AAE5E,WAAO,IAAI,cAAc,OAAO;MAC9B,MAAM;MACN;MACA;MACA,YAAY;MACZ;MACA,aAAa,OAAK,CAAC,GAAG,GAAG,CAAC;MAC1B,UAAU;MACV;MACA;KACD;EACH;;EAGA,eAAe,OAAsC;AACnD,QAAI,CAAC,OAAO;AACV;IACF;AAEA,UAAM,EAAC,OAAM,IAAI,KAAK;AACtB,UAAM,SAAS,MACZ,IAAI,UAAQ,KAAK,OAAO,EACxB,OAAO,OAAO,EACd,IAAI,SAAM;AAET,YAAM,SAAS,IAAI,CAAC,EAAE,OAAO;AAC7B,aAAO,OAAO,IAAI,WAAS,MAAM,CAAC,CAAC;IACrC,CAAC;AACH,QAAI,OAAO,WAAW,GAAG;AACvB;IACF;AACA,UAAM,OAAO,KAAK,IAAI,GAAG,OAAO,IAAI,OAAK,EAAE,CAAC,CAAC,CAAC;AAC9C,UAAM,OAAO,KAAK,IAAI,GAAG,OAAO,IAAI,OAAK,EAAE,CAAC,CAAC,CAAC;AAE9C,QAAI,CAAC,UAAU,OAAO,OAAO,CAAC,KAAK,OAAO,OAAO,CAAC,GAAG;AACnD,WAAK,SAAS,EAAC,QAAQ,CAAC,MAAM,IAAI,EAAC,CAAC;IACtC;EACF;EAEA,eAAY;AACV,UAAM,EACJ,OACA,UACA,eACA,SACA,WACA,cACA,kBACA,UACA,SACA,SACA,QACA,aACA,YACA,cACA,aACA,cACA,kBACA,oBACA,WAAU,IACR,KAAK;AAET,QAAI,KAAK,MAAM,SAAS;AACtB,aAAO,IAAI,mBACT,KAAK,iBAAiB;QACpB,IAAI;OACL,GACD;QACE,aAAa,KAAK,oBAAoB,KAAK,IAAI;QAC/C,iBAAiB,KAAK,gBAAgB,KAAK,IAAI;QAC/C,gBAAgB;UACd,aAAa;YACX,eAAe,2BAA2B,aAAa;YACvD,SAAS,2BAA2B,OAAO;YAC3C;YACA;YACA,gBAAgB,KAAK,QAAQ,SAAS;YACtC;;;QAGJ,gBAAgB,KAAK,eAAe,KAAK,IAAI;QAC7C,QAAQ,KAAK,MAAM,UAAU;QAC7B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;OACD;IAEL;AAEA,QAAI,CAAC,eAAe;AAClB,aAAO;IACT;AAEA,UAAM,gBAAgB,KAAK,iBAAiB,QAAQ,mCAAe;AACnE,WAAO,IAAI,cACT,KAAK,iBAAiB;MACpB,IAAI;KACL,GACD;MACE,MAAM;MACN,MAAM,KAAK,MAAM;MACjB;MACA,YAAY;MACZ,aAAa,OAAK,CAAC,GAAG,GAAG,CAAC;MAC1B,UAAU;MACV;MACA;KACD;EAEL;;AA/PO,aAAA,eAAeD;AACf,aAAA,YAAY;4BAJA;AAqQrB,IAAM,eAAe,CAAC,QACpB,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,MAAM;;;AClapE,IAAAE,gBAUO;AACP,IAAAC,iBAA8C;AAC9C,wBAA4B;AAE5B,IAAAD,gBAAsB;AACtB,iBAA8B;AAC9B,iBAA8B;;;ACf9B,IAAAE,gBAAmB;AAGnB,IAAM,2BAA2B;EAC/B;EACA;EACA;EACA;EACA;EACA;;AAGF,SAAS,MAAM,CAAC,QAAQ,MAAM,GAAqB,CAAC,IAAI,EAAE,GAAe,UAAkB;AACzF,QAAM,QAAI,oBAAK,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM;AACnC,QAAM,QAAI,oBAAK,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM;AAEnC,SAAO,SAAS,cAAc,CAAC,GAAG,CAAC,CAAC;AACtC;AAEA,SAAS,UAAU,UAAU,MAAkB,UAAkB;AAC/D,SAAO,SAAS,IAAI,OAAK,MAAM,GAAG,MAAM,QAAQ,CAAC;AACnD;AAEA,SAAS,WAAW,YAAY,MAAkB,UAAkB;AAClE,SAAO,UAAU,YAAY,MAAM,QAAQ;AAC7C;AAEA,SAAS,WAAW,MAAM,MAAkB,UAAkB;AAC5D,SAAO,UAAU,MAAM,MAAM,QAAQ;AACvC;AAEA,SAAS,gBAAgB,iBAAiB,MAAkB,UAAkB;AAC5E,SAAO,gBAAgB,IAAI,gBAAc,WAAW,YAAY,MAAM,QAAQ,CAAC;AACjF;AAEA,SAAS,QAAQ,SAAS,MAAkB,UAAkB;AAC5D,SAAO,QAAQ,IAAI,iBAAe,UAAU,aAAa,MAAM,QAAQ,CAAC;AAC1E;AAEA,SAAS,aAAa,cAAc,MAAkB,UAAkB;AACtE,SAAO,aAAa,IAAI,aAAW,QAAQ,SAAS,MAAM,QAAQ,CAAC;AACrE;AAEM,SAAU,UAAU,UAAU,MAAsB,UAAkB;AAC1E,QAAM,KAAK,SAAS,YAAY,CAAC,KAAK,MAAM,KAAK,KAAK,CAAC;AACvD,QAAM,KAAK,SAAS,YAAY,CAAC,KAAK,MAAM,KAAK,KAAK,CAAC;AACvD,QAAM,gBAAgB,CAAC,IAAI,EAAE;AAE7B,SAAO;IACL,GAAG;IACH,aAAa,yBAAyB,SAAS,IAAI,EACjD,SAAS,aACT,eACA,QAAQ;;AAGd;;;AChDA,IAAM,aAAa,CAAC,UAAU,SAAS,UAAU;AAMnC,SAAP,gBACL,MACA,kBACA,WACA;AAEA,aAAW,MAAM,YAAY;AAC3B,UAAM,QAAQ,KAAK,EAAE,KAAK,gBAAgB,KAAK,EAAE,GAAG,kBAAkB,WAAW,SAAS;AAC1F,QAAI,SAAS,GAAG;AACd,aAAO;IACT;EACF;AAEA,SAAO;AACT;AAEA,SAAS,gBACP,UACA,kBACA,WACA,WAAwB;AAExB,QAAM,aAAa,SAAS,WAAW;AAEvC,MAAI,CAAC,WAAW,QAAQ;AACtB,WAAO;EACT;AAEA,MAAI,oBAAoB;AACxB,MAAI,kBAAkB,WAAW,WAAW,SAAS,CAAC,IAAI;AAC1D,MAAI,WAAW;AACb,UAAM,aAAa,cAAc,UAAU,SAAS;AACpD,QAAI,YAAY;AACd,0BAAoB,WAAW,CAAC;AAChC,wBAAkB,WAAW,CAAC,IAAI;IACpC,OAAO;AACL,aAAO;IACT;EACF;AAGA,MAAI,eAAe;AACnB,MAAI,oBAAoB,SAAS,cAAc;AAC7C,UAAM,cAAc,SAAS,aAAa,gBAAgB,EAAE,MAAM,UAChE,CAAC,GAAG,MACF,MAAM,aAAa,WAAW,CAAC,KAAK,qBAAqB,WAAW,CAAC,IAAI,eAAe;AAE5F,WAAO,eAAe,IAAI,SAAS,iBAAiB,MAAM,WAAW,IAAI;EAC3E,WAAW,kBAAkB;AAC3B,mBAAe,UACb,SAAS,YACT,UAAQ,KAAK,gBAAgB,MAAM,WACnC,mBACA,eAAe;EAEnB,WAAW,SAAS,QAAQ;AAC1B,mBAAe,UACb,SAAS,QACT,CAAC,SAAc,KAAK,OAAO,WAC3B,mBACA,eAAe;EAEnB;AACA,SAAO,gBAAgB,IAAI,mBAAmB,UAAU,YAAY,IAAI;AAC1E;AAMA,SAAS,cACP,UAGA,WAAiB;AAEjB,MAAI,CAAC,SAAS,UAAU;AAEtB,UAAM,aAAyC,CAAA;AAC/C,UAAM,EAAC,WAAU,IAAI;AACrB,aAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;AAC1C,YAAM,EAAC,WAAW,IAAG,IAAI,WAAW,CAAC;AACrC,UAAI,CAAC,KAAK;MAEV,WAAW,WAAW,GAAG,GAAG;AAC1B,mBAAW,GAAG,EAAE,CAAC,IAAI;MACvB,OAAO;AACL,mBAAW,GAAG,IAAI,CAAC,GAAG,CAAC;MACzB;IACF;AACA,aAAS,WAAW;EACtB;AACA,SAAO,SAAS,SAAS,SAAS;AACpC;AAGA,SAAS,mBAAmB,UAAU,cAAoB;AACxD,MAAI,CAAC,SAAS,OAAO;AAEnB,UAAM,SAAmB,CAAA;AACzB,UAAM,aAAa,SAAS,WAAW;AACvC,UAAM,mBAAmB,SAAS,iBAAiB;AACnD,aAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;AAC1C,aAAO,WAAW,CAAC,CAAC,IAAI,iBAAiB,CAAC;IAC5C;AACA,aAAS,QAAQ;EACnB;AACA,SAAO,SAAS,MAAM,YAAY;AACpC;AAGA,SAAS,UACP,OACA,WACA,YACA,UAAgB;AAEhB,WAAS,IAAI,YAAY,IAAI,UAAU,KAAK;AAC1C,QAAI,UAAU,MAAM,CAAC,GAAG,CAAC,GAAG;AAC1B,aAAO;IACT;EACF;AACA,SAAO;AACT;;;AFpGA,IAAM,aAAa;AAEnB,IAAMC,iBAA4C;EAChD,GAAG,4BAAa;EAChB,MAAM;EACN,YAAY,EAAC,MAAM,YAAY,OAAO,MAAM,UAAU,MAAM,SAAS,MAAK;EAC1E,kBAAkB;EAClB,sBAAsB;EACtB,SAAS,CAAC,0BAAe;EACzB,QAAQ;;AA4DV,IAAqB,WAArB,cAGU,mBAAmF;EAa3F,kBAAe;AACb,UAAM,gBAAe;AAErB,UAAM,SAAS,KAAK,QAAQ,SAAS,eAAe,SAAY,QAAQ,KAAK,MAAM;AACnF,SAAK,SAAS;MACZ;MACA,MAAM;MACN,UAAU;MACV,kBAAkB;MAClB,yBAAyB;KAC1B;EACH;EAEA,IAAI,WAAQ;AA5Id;AA6II,WAAO,UAAQ,UAAK,UAAL,mBAAY,SAAQ,MAAM,QAAQ;EACnD;EAEA,YAAY,EAAC,OAAO,UAAU,SAAS,YAAW,GAAyB;AAhJ7E;AAiJI,QAAI,YAAY,aAAa;AAE3B,WAAK,gBAAe;IACtB;AAEA,SAAI,UAAK,UAAL,mBAAY,MAAM;AACpB,YAAM,YAAY,EAAC,OAAO,UAAU,SAAS,YAAW,CAAC;AACzD,WAAK,0BAAyB;IAChC;AACA,UAAM,EAAC,eAAc,IAAI;AACzB,QAAI,mBAAmB,SAAS,kBAAkB,MAAM,QAAQ,cAAc,GAAG;AAC/E,WAAK,SAAS,EAAC,eAAc,CAAC;IAChC;EACF;;EAGQ,MAAM,kBAAe;AAC3B,QAAI,OAAO,KAAK,MAAM;AACtB,QAAI,WAA4B;AAEhC,QAAI,OAAO,SAAS,YAAY,CAAC,cAAc,IAAI,GAAG;AACpD,YAAM,EAAC,YAAY,MAAK,IAAI,KAAK;AACjC,WAAK,SAAS,EAAC,MAAM,MAAM,UAAU,KAAI,CAAC;AAC1C,UAAI;AACF,mBAAW,MAAM,MAAM,MAAM,EAAC,UAAU,QAAQ,OAAO,MAAM,SAAS,CAAA,EAAE,CAAC;MAC3E,SAAS,OAAP;AACA,aAAK,WAAW,OAAO,kBAAkB;AACzC,eAAO;MACT;AAEA,UAAI,YAAY;AACd,mBAAW,UAAU,EAAC,UAAU,QAAQ,OAAO,KAAI,CAAC;MACtD;IACF,WAAW,QAAQ,OAAO,SAAS,YAAY,cAAc,MAAM;AACjE,iBAAW;IACb;AAEA,QAAI,UAAU;AACZ,aAAO,SAAS;IAClB;AAEA,SAAK,SAAS,EAAC,MAAM,SAAQ,CAAC;EAChC;EAEA,qBAAkB;AAChB,UAAM,OAAO,MAAM,mBAAkB;AACrC,UAAM,WAA4B,KAAK,MAAM;AAC7C,UAAM,EAAC,SAAS,QAAO,IAAI,KAAK;AAEhC,QAAI,UAAU;AACZ,UAAI,OAAO,SAAS,SAAS,OAAO,KAAM,SAAS,UAAsB,SAAoB;AAC3F,aAAK,UAAU,SAAS;MAC1B;AAEA,UACE,OAAO,SAAS,SAAS,OAAO,MAC/B,CAAC,OAAO,SAAS,OAAO,KAAM,SAAS,UAAsB,UAC9D;AACA,aAAK,UAAU,SAAS;MAC1B;IACF;AACA,WAAO;EACT;;EAIA,eAAY;AAnNd;AAoNI,QAAI,GAAC,UAAK,UAAL,mBAAY;AAAM,aAAO;AAC9B,WAAO,MAAM,aAAY;EAC3B;EAEA,YAAY,WAAwB;AAClC,UAAM,EAAC,MAAM,OAAM,IAAI,KAAK;AAC5B,UAAM,EAAC,OAAO,OAAM,IAAI;AAExB,UAAM,MAAM,mBAAmB,MAAM,SAAS;AAC9C,QAAI,CAAC,KAAK;AACR,aAAO,QAAQ,OAAO,aAAa;IACrC;AACA,QAAI,cAAc,KAAK,eAAc;AACrC,UAAM,EAAC,MAAK,IAAI,KAAK;AACrB,kBAAc;MACZ,GAAG;MACH,MAAM;QACJ,GAAG,2CAAa;QAChB,UAAU;;MAEZ,KAAK;QACH,GAAG,2CAAa;QAChB,OAAO,SAAS,WAAW;QAC3B,aAAa,KAAK,QAAQ,SAAS,aAAa,UAAU;QAC1D,WAAW;;;;;;;AAOf,WAAO,MAAM,KAAK,EAAC,UAAU,QAAQ,OAAO,MAAM,aAAa,OAAM,CAAC;EACxE;EAEA,gBACE,OAKC;AAED,UAAM,EAAC,GAAG,GAAG,EAAC,IAAI,MAAM,KAAK;AAC7B,UAAM,aAAa,KAAK,IAAI,GAAG,CAAC;AAEhC,UAAM,SAAS,aAAa;AAC5B,UAAM,SAAS,CAAC;AAEhB,UAAM,UAAW,aAAa,IAAK;AACnC,UAAM,UAAU,cAAc,IAAI,IAAI;AAEtC,UAAM,cAAc,IAAI,sBAAO,EAAG,MAAM,CAAC,QAAQ,QAAQ,CAAC,CAAC;AAE3D,UAAM,gBAAgB;AAEtB,QAAI,CAAC,KAAK,QAAQ,SAAS,YAAY;AACrC,YAAM,cAAc;AACpB,YAAM,mBAAmB,CAAC,SAAS,SAAS,CAAC;AAC7C,YAAM,mBAAmB,gCAAkB;AAC3C,YAAM,aAAa,CAAC,GAAI,MAAM,cAAc,CAAA,GAAK,IAAI,gCAAa,CAAE;IACtE;AAEA,UAAM,YAAY,MAAM,gBAAgB,KAAK;AAE7C,QAAI,KAAK,MAAM,UAAU,EAAE,qBAAqB,8BAAe;AAC7D,wBAAI,KAAK,mEAAmE,EAAC;IAC/E;AAEA,WAAO;EACT;EAEU,qBAAqB,MAAiB;AAC9C,UAAM,EAAC,iBAAgB,IAAI,KAAK;AAEhC,UAAM,EAAC,kBAAkB,wBAAuB,IAAI,KAAK;AACzD,UAAM,iBAAiB,KAAK;AAC5B,QAAI,sBAA8C;AAClD,QAAI,6BAA4C;AAEhD,QAAI,gBAAgB;AAClB,4BAAsB,mBAAmB,gBAAgB,gBAAgB;AACzE,mCAA6B,oBAAoB,cAAc;IACjE;AACA,QAAI,EAAC,eAAc,IAAI,KAAK;AAC5B,QAAI,OAAO,mBAAmB,YAAY;AACxC,uBAAiB,eAAe,IAAI;IACtC;AAEA,QACE,qBAAqB,uBACrB,4BAA4B,4BAC5B;AACA,WAAK,SAAS;QACZ;QACA,kBAAkB;QAClB,yBAAyB;OAC1B;IACH;EACF;EAEU,WAAQ;AAChB,WAAO,QAAQ,KAAK,QAAQ,SAAS,UAAU;EACjD;EAEA,eAAe,QAA4B;AACzC,UAAM,OAAO,MAAM,eAAe,MAAM;AAExC,QAAI,KAAK,MAAM,UAAU,KAAK,UAAU,IAAI;AAC1C,YAAM,EAAC,KAAI,IAAI,OAAO,YAAa;AACnC,WAAK,aAAS,4BAAgB,MAAiC;QAC7D,iBAAiB,KAAK;OACvB;IACH;AACA,QAAI,KAAK,UAAU,CAAC,KAAK,SAAQ,GAAI;AACnC,WAAK,SAAS;QACZ,KAAK;QACL,KAAK,KAAM;;QACX,KAAK,QAAQ;MAAQ;IAEzB;AAEA,WAAO;EACT;EAEA,uBAAuB,MAAiC;AACtD,WAAO;MACL,wBAAwB,KAAK,0BAA0B,IAAI;MAC3D,gBAAgB,KAAK,MAAM;;EAE/B;EAEQ,0BAA0B,MAAiC;AACjE,UAAM,EAAC,kBAAkB,yBAAyB,OAAM,IAAI,KAAK;AACjE,UAAM,EAAC,kBAAkB,qBAAoB,IAAI,KAAK;AACtD,UAAM,OAAO,KAAK;AAElB,UAAM,gBAAgB,mBAAmB,oBAAoB;AAC7D,UAAM,qBAAqB,mBAAmB,gBAAgB,KAAK;AAEnE,QAAI,CAAC,oBAAoB;AACvB,aAAO;IACT;AAEA,UAAM,uBAAuB,gBAAgB,uBAAwB;AAGrE,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,aAAO,KAAK,UAAU,aAAU;AAC9B,cAAM,eAAe,mBAAmB,SAAS,gBAAgB,MAAM;AACvE,cAAM,kBACJ,iBAAiB,oBAAoB,OAAO,MAAM;AACpD,eAAO,gBAAgB;MACzB,CAAC;IAGH,WAAW,QAAQ,QAAQ;AAEzB,aAAO,gBACL,MACA,kBACA,sBACA,gBAAgB,KAAK,uBAAwB;IAEjD;AAEA,WAAO;EACT;EAEQ,aAAa,YAAyB;AAC5C,UAAM,EAAC,MAAM,SAAQ,IAAI,KAAK;AAC9B,UAAM,QAAQ,SAAS;AACvB,UAAM,SAAS,SAAS;AACxB,UAAM,IAAI,SAAS;AACnB,UAAM,IAAI,SAAS;AACnB,UAAM,WAAW,CAAC,KAAK,EAAE;AACzB,WAAO,KAAM,YAAY,EAAC,GAAG,GAAG,OAAO,QAAQ,UAAU,WAAU,CAAC;EACtE;;EAGA,oBAAoB,cAA6B,MAAI;AACnD,UAAM,WAAW,KAAK,aAAa,WAAW;AAC9C,UAAM,eAAe,oBAAI,IAAG;AAC5B,UAAM,mBAA8B,CAAA;AAEpC,eAAW,KAAK,UAAU;AACxB,YAAM,YAAY,mBAAmB,EAAE,QAAQ,KAAK,MAAM,gBAAgB;AAE1E,UAAI,cAAc,QAAW;AAE3B,yBAAiB,KAAK,EAAE,MAAiB;MAC3C,WAAW,CAAC,aAAa,IAAI,SAAS,GAAG;AAEvC,qBAAa,IAAI,SAAS;AAC1B,yBAAiB,KAAK,EAAE,MAAiB;MAC3C;IACF;AAEA,WAAO;EACT;EAEQ,4BAAyB;AAC/B,UAAM,WAAW;AACjB,UAAM,UAAqB,KAAK,MAAM;AAGtC,YAAQ,cAAc,QAAQ,CAAC,SAA0C;AACvE,UAAI,CAAC,KAAK,eAAe,QAAQ,GAAG;AAElC,eAAO,eAAe,MAAM,UAAU;UACpC,KAAK,MAAK;AAER,gBAAI,CAAC,KAAK,SAAS;AACjB,qBAAO;YACT;AAEA,gBAAI,KAAK,MAAM,UAAU,MAAM,QAAQ,KAAK,OAAO,KAAK,CAAC,KAAK,QAAQ,QAAQ;AAG5E,qBAAO,CAAA;YACT;AAEA,kBAAM,EAAC,KAAI,IAAI;AACf,gBAAI,KAAK,kBAAkB,UAAa,iBAAiB,IAAI,GAAG;AAG9D,oBAAM,UAAU,KAAK,MAAM,aAAS,4BAAgB,KAAK,OAAO,IAAI,KAAK;AACzE,mBAAK,gBAAgB,QAAQ,IAAI,aAC/B,2BAA2B,SAAS,MAAM,KAAK,QAAQ,QAAQ,CAAC;YAEpE;AACA,mBAAO,KAAK;UACd;SACD;MACH;IACF,CAAC;EACH;;AA5UO,SAAA,YAAY;AACZ,SAAA,eAAeA;wBALH;AAmVrB,SAAS,mBAAmB,SAAkB,kBAAoC;AAChF,MAAI,QAAQ,cAAc,kBAAkB;AAC1C,WAAO,QAAQ,WAAW,gBAAgB;EAC5C;AAEA,MAAI,QAAQ,SAAS;AACnB,WAAO,QAAQ;EACjB;AAEA,SAAO;AACT;AAEA,SAAS,oBAAoB,SAAgB;AA9c7C;AA+cE,WAAO,aAAQ,eAAR,mBAAoB,cAAa;AAC1C;AAEA,SAAS,mBAAmB,OAAc;AACxC,SAAO,UAAU,UAAa,UAAU,QAAQ,UAAU;AAC5D;AAEA,SAAS,2BACP,QACA,MACA,UAAkB;AAElB,QAAM,UAAU;IACd,GAAG;IACH,UAAU;MACR,MAAM,OAAO,SAAS;;;AAK1B,SAAO,eAAe,QAAQ,UAAU,eAAe;IACrD,KAAK,MAAK;AACR,YAAM,YAAY,UAAU,OAAO,UAAU,MAAM,QAAQ;AAC3D,aAAO,UAAU;IACnB;GACD;AAED,SAAO;AACT;;;AGveA,IAAM,eAAe;AACrB,IAAM,oBAAoB,CAAA;AAC1B,SAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;AAC5C,oBAAkB,aAAa,OAAO,CAAC,CAAC,IAAI;AAC9C;AAEA,IAAM,UAAU;AAChB,IAAM,UAAU;AAChB,IAAM,UAAU;AAChB,IAAM,UAAU;AAGV,SAAU,iBAAiB,SAAe;AAC9C,MAAI,QAAQ;AACZ,MAAI,SAAS;AACb,MAAI,SAAS;AACb,MAAI,SAAS;AACb,MAAI,SAAS;AACb,MAAI;AAEJ,MAAI,YAAY;AAChB,WAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,IAAI,GAAG,KAAK;AAC9C,UAAM,OAAO,QAAQ,CAAC,EAAE,YAAW;AACnC,gBAAY,kBAAkB,IAAI;AAElC,aAAS,OAAO,GAAG,QAAQ,GAAG,QAAQ;AACpC,YAAM,MAAO,aAAa,OAAQ;AAClC,UAAI,OAAO;AACT,eAAO,SAAS,UAAU;AAC1B,YAAI,QAAQ,GAAG;AACb,mBAAS;QACX,OAAO;AACL,mBAAS;QACX;MACF,OAAO;AACL,eAAO,SAAS,UAAU;AAC1B,YAAI,QAAQ,GAAG;AACb,mBAAS;QACX,OAAO;AACL,mBAAS;QACX;MACF;AACA,cAAQ,CAAC;IACX;EACF;AAEA,SAAO,CAAC,QAAQ,QAAQ,QAAQ,MAAM;AACxC;AAEM,SAAU,kBAAkB,SAAe;AAC/C,QAAM,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,iBAAiB,OAAO;AAE7C,SAAO,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AACtC;;;ACjDA,IAAMC,iBAAgD;EACpD,YAAY,EAAC,MAAM,YAAY,OAAO,CAAC,MAAW,EAAE,QAAO;;AAkB7D,IAAqB,eAArB,cAAmF,qBAGlF;EAIC,gBAAa;AACX,UAAM,EAAC,MAAM,WAAU,IAAI,KAAK;AAEhC,WAAO;MACL;MACA,YAAY;MACZ,gBAAgB;MAChB,YAAY,CAAC,GAAU,eAAe,kBAAkB,WAAW,GAAG,UAAU,CAAC;;EAErF;;AAZO,aAAA,YAAY;AACZ,aAAA,eAAeA;4BALH;",
6
- "names": ["import_core", "defaultProps", "import_core", "import_layers", "defaultProps", "deepEqual", "import_layers", "defaultProps", "Long", "import_long", "Long", "defaultProps", "import_web_mercator", "defaultProps", "import_core", "import_layers", "import_core", "import_core", "import_web_mercator", "TILE_SIZE", "TILE_SIZE", "import_core", "defaultProps", "flatten", "import_layers", "defaultProps", "import_h3_js", "import_core", "import_h3_js", "import_core", "import_layers", "defaultProps", "defaultProps", "import_engine", "import_core", "import_layers", "import_mesh_layers", "uniformBlock", "defaultProps", "import_core", "defaultProps", "import_core", "import_mesh_layers", "defaultProps", "GlobeViewport", "import_core", "import_layers", "import_core", "defaultProps", "defaultProps"]
3
+ "sources": ["../src/index.ts", "../../core/src/utils/log.ts", "../../core/src/debug/loggers.ts", "../../core/src/debug/index.ts", "../../core/src/shaderlib/index.ts", "../../core/src/shaderlib/color/color.ts", "../../core/src/shaderlib/misc/geometry.ts", "../../core/src/shaderlib/project/project.ts", "../../core/src/shaderlib/project/viewport-uniforms.ts", "../../core/src/lib/constants.ts", "../../core/src/utils/memoize.ts", "../../core/src/shaderlib/project/project.wgsl.ts", "../../core/src/shaderlib/project/project.glsl.ts", "../../core/src/shaderlib/project32/project32.ts", "../../core/src/shaderlib/picking/picking.ts", "../../core/src/utils/typed-array-manager.ts", "../../core/src/utils/math-utils.ts", "../../core/src/viewports/viewport.ts", "../../core/src/viewports/web-mercator-viewport.ts", "../../core/src/shaderlib/project/project-functions.ts", "../../core/src/lifecycle/constants.ts", "../../core/src/utils/flatten.ts", "../../core/src/utils/deep-equal.ts", "../../core/src/transitions/transition.ts", "../../core/src/utils/assert.ts", "../../core/src/viewports/globe-viewport.ts", "../../../node_modules/@luma.gl/webgl/src/constants/webgl-constants.ts", "../../core/src/lib/attribute/data-column.ts", "../../core/src/lib/attribute/gl-utils.ts", "../../core/src/utils/iterable-utils.ts", "../../core/src/utils/range.ts", "../../core/src/lib/attribute/transition-settings.ts", "../../core/src/lib/attribute/attribute.ts", "../../core/src/lib/attribute/attribute-buffer-groups.ts", "../../../node_modules/@luma.gl/gpgpu/src/operations/webgpu/common/row-transform.ts", "../../../node_modules/@luma.gl/gpgpu/src/operations/webgpu/common/dispatch.ts", "../../../node_modules/@luma.gl/gpgpu/src/operations/webgpu/common/helper.ts", "../../../node_modules/@luma.gl/gpgpu/src/operations/webgpu/interleave.ts", "../../core/src/transitions/gpu-interpolation-transition.ts", "../../core/src/utils/array-utils.ts", "../../core/src/transitions/gpu-transition-utils.ts", "../../core/src/transitions/gpu-transition.ts", "../../core/src/transitions/gpu-spring-transition.ts", "../../core/src/lib/attribute/attribute-transition-manager.ts", "../../core/src/lib/attribute/attribute-manager.ts", "../../core/src/lib/layer.ts", "../../core/src/transitions/cpu-interpolation-transition.ts", "../../core/src/transitions/cpu-spring-transition.ts", "../../core/src/lib/uniform-transition-manager.ts", "../../core/src/lifecycle/props.ts", "../../core/src/utils/count.ts", "../../core/src/utils/shader.ts", "../../core/src/utils/texture.ts", "../../core/src/lifecycle/prop-types.ts", "../../core/src/lifecycle/create-props.ts", "../../core/src/lifecycle/component.ts", "../../core/src/lifecycle/component-state.ts", "../../core/src/lib/layer-state.ts", "../../core/src/lib/composite-layer.ts", "../../core/src/lib/layer-extension.ts", "../../core/src/utils/tesselator.ts", "../../layers/src/arc-layer/arc-layer.ts", "../../layers/src/arc-layer/arc-layer-uniforms.ts", "../../layers/src/arc-layer/arc-layer.wgsl.ts", "../../layers/src/arc-layer/arc-layer-vertex.glsl.ts", "../../layers/src/arc-layer/arc-layer-fragment.glsl.ts", "../../layers/src/bitmap-layer/bitmap-layer.ts", "../../layers/src/bitmap-layer/create-mesh.ts", "../../layers/src/bitmap-layer/bitmap-layer-uniforms.ts", "../../layers/src/bitmap-layer/bitmap-layer.wgsl.ts", "../../layers/src/bitmap-layer/bitmap-layer-vertex.ts", "../../layers/src/bitmap-layer/bitmap-layer-fragment.ts", "../../layers/src/icon-layer/icon-layer.ts", "../../layers/src/icon-layer/icon-layer-uniforms.ts", "../../layers/src/icon-layer/icon-layer-vertex.glsl.ts", "../../layers/src/icon-layer/icon-layer-fragment.glsl.ts", "../../layers/src/icon-layer/icon-layer.wgsl.ts", "../../layers/src/icon-layer/icon-manager.ts", "../../layers/src/point-cloud-layer/point-cloud-layer.ts", "../../layers/src/point-cloud-layer/point-cloud-layer-uniforms.ts", "../../layers/src/point-cloud-layer/point-cloud-layer-vertex.glsl.ts", "../../layers/src/point-cloud-layer/point-cloud-layer-fragment.glsl.ts", "../../layers/src/point-cloud-layer/point-cloud-layer.wgsl.ts", "../../layers/src/scatterplot-layer/scatterplot-layer.ts", "../../layers/src/scatterplot-layer/scatterplot-layer-uniforms.ts", "../../layers/src/scatterplot-layer/scatterplot-layer-vertex.glsl.ts", "../../layers/src/scatterplot-layer/scatterplot-layer-fragment.glsl.ts", "../../layers/src/scatterplot-layer/scatterplot-layer.wgsl.ts", "../../layers/src/utils/clip-extension.ts", "../../layers/src/column-layer/column-layer.ts", "../../layers/src/column-layer/column-geometry.ts", "../../layers/src/column-layer/column-layer-uniforms.ts", "../../layers/src/column-layer/column-layer.wgsl.ts", "../../layers/src/column-layer/column-layer-vertex.glsl.ts", "../../layers/src/column-layer/column-layer-fragment.glsl.ts", "../../layers/src/path-layer/path-layer.ts", "../../layers/src/path-layer/path.ts", "../../layers/src/path-layer/path-tesselator.ts", "../../layers/src/path-layer/path-layer-uniforms.ts", "../../layers/src/path-layer/path-layer.wgsl.ts", "../../layers/src/path-layer/path-layer-vertex.glsl.ts", "../../layers/src/path-layer/path-layer-fragment.glsl.ts", "../../layers/src/solid-polygon-layer/solid-polygon-layer.ts", "../../layers/src/solid-polygon-layer/polygon.ts", "../../layers/src/solid-polygon-layer/polygon-tesselator.ts", "../../layers/src/solid-polygon-layer/solid-polygon-layer-uniforms.ts", "../../layers/src/solid-polygon-layer/solid-polygon-layer-vertex-main.glsl.ts", "../../layers/src/solid-polygon-layer/solid-polygon-layer-vertex-top.glsl.ts", "../../layers/src/solid-polygon-layer/solid-polygon-layer-vertex-side.glsl.ts", "../../layers/src/solid-polygon-layer/solid-polygon-layer-fragment.glsl.ts", "../../layers/src/solid-polygon-layer/solid-polygon-layer.wgsl.ts", "../../layers/src/utils.ts", "../../layers/src/polygon-layer/polygon-layer.ts", "../../layers/src/geojson-layer/geojson-binary.ts", "../../layers/src/text-layer/multi-icon-layer/sdf-uniforms.ts", "../../layers/src/text-layer/text-uniforms.ts", "../../layers/src/text-layer/multi-icon-layer/multi-icon-layer-vertex.glsl.ts", "../../layers/src/text-layer/multi-icon-layer/multi-icon-layer-fragment.glsl.ts", "../../layers/src/text-layer/multi-icon-layer/multi-icon-layer.wgsl.ts", "../../layers/src/text-layer/multi-icon-layer/multi-icon-layer.ts", "../../layers/src/text-layer/font-atlas-manager.ts", "../../layers/src/text-layer/utils.ts", "../../layers/src/text-layer/lru-cache.ts", "../../layers/src/text-layer/text-background-layer/text-background-layer.ts", "../../layers/src/text-layer/text-background-layer/text-background-layer-uniforms.ts", "../../layers/src/text-layer/text-background-layer/text-background-layer-vertex.glsl.ts", "../../layers/src/text-layer/text-background-layer/text-background-layer-fragment.glsl.ts", "../../layers/src/text-layer/text-background-layer/text-background-layer.wgsl.ts", "../../layers/src/text-layer/text-layer.ts", "../../layers/src/geojson-layer/sub-layer-map.ts", "../../layers/src/geojson-layer/geojson.ts", "../../layers/src/geojson-layer/geojson-layer-props.ts", "../../layers/src/geojson-layer/geojson-layer.ts", "../src/geo-cell-layer/GeoCellLayer.ts", "../src/a5-layer/a5-layer.ts", "../src/h3-layers/h3-utils.ts", "../src/wms-layer/wms-layer.ts", "../src/wms-layer/utils.ts", "../src/great-circle-layer/great-circle-layer.ts", "../src/s2-layer/s2-geometry.ts", "../src/s2-layer/s2-utils.ts", "../src/s2-layer/s2-layer.ts", "../src/quadkey-layer/quadkey-utils.ts", "../src/quadkey-layer/quadkey-layer.ts", "../src/tileset-2d/tileset-2d.ts", "../src/tileset-2d/tile-2d-header.ts", "../src/tileset-2d/tile-2d-traversal.ts", "../src/tileset-2d/utils.ts", "../src/tileset-2d/memoize.ts", "../src/tile-layer/tile-layer.ts", "../src/trips-layer/trips-layer-uniforms.ts", "../src/trips-layer/trips-layer.wgsl.ts", "../src/trips-layer/trips-layer.ts", "../src/h3-layers/h3-cluster-layer.ts", "../src/h3-layers/h3-hexagon-layer.ts", "../src/tile-3d-layer/tile-3d-layer.ts", "../../mesh-layers/src/simple-mesh-layer/simple-mesh-layer.ts", "../../mesh-layers/src/utils/matrix.ts", "../../mesh-layers/src/simple-mesh-layer/simple-mesh-layer-uniforms.ts", "../../mesh-layers/src/simple-mesh-layer/simple-mesh-layer-vertex.glsl.ts", "../../mesh-layers/src/simple-mesh-layer/simple-mesh-layer-fragment.glsl.ts", "../../mesh-layers/src/simple-mesh-layer/simple-mesh-layer.wgsl.ts", "../../mesh-layers/src/scenegraph-layer/scenegraph-layer.ts", "../../mesh-layers/src/scenegraph-layer/gltf-utils.ts", "../../mesh-layers/src/scenegraph-layer/scenegraph-layer-uniforms.ts", "../../mesh-layers/src/scenegraph-layer/scenegraph-layer-vertex.glsl.ts", "../../mesh-layers/src/scenegraph-layer/scenegraph-layer-fragment.glsl.ts", "../../mesh-layers/src/scenegraph-layer/scenegraph-layer.wgsl.ts", "../../mesh-layers/src/scenegraph-layer/scenegraph-pbr-material.ts", "../src/mesh-layer/mesh-layer.ts", "../src/mesh-layer/mesh-layer-uniforms.ts", "../src/mesh-layer/mesh-pbr-material.ts", "../src/mesh-layer/mesh-layer-vertex.glsl.ts", "../src/mesh-layer/mesh-layer-fragment.glsl.ts", "../src/mesh-layer/mesh-layer.wgsl.ts", "../src/terrain-layer/terrain-layer.ts", "../../extensions/src/clip/clip-extension.ts", "../src/mvt-layer/mvt-layer.ts", "../src/mvt-layer/coordinate-transform.ts", "../src/mvt-layer/find-index-binary.ts", "../src/geohash-layer/geohash-utils.ts", "../src/geohash-layer/geohash-layer.ts"],
4
+ "mappings": "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EAC9B,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsDd,IAAM;AAAA;AAAA,EAAyB,GACpC,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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AAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACArC,IAAO,gCAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAf,IAAO,kCAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACArC,IAAO,iCAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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AAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACA1B,IAAO,8CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAf,IAAO;AAAA;AAAA,EAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA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",
5
+ "names": ["import_shadertools", "modelMatrix", "EARTH_RADIUS", "GLOBE_RADIUS", "SHADER_COORDINATE_SYSTEMS", "source", "vs", "import_shadertools", "source", "count", "import_core", "count", "import_core", "ZERO_VECTOR", "modelMatrix", "import_web_mercator", "import_core", "import_core", "import_web_mercator", "DEFAULT_COORDINATE_ORIGIN", "modelMatrix", "source", "count", "import_core", "import_web_mercator", "import_core", "DEGREES_TO_RADIANS", "getDistanceScales", "unitsPerMeter", "GLEnum", "import_core", "import_core", "transform", "import_shadertools", "module", "defines", "source", "source", "interleaveTables", "import_engine", "import_shadertools", "source", "source", "transform", "vs", "import_engine", "getTransform", "transform", "uniformBlock", "vs", "fs", "import_core", "import_core", "TRANSITION_TYPES", "transition", "validate", "source", "module", "import_core", "defaultProps", "defaultProps", "count", "import_web_mercator", "import_core", "EMPTY_ARRAY", "_a", "start", "end", "picking", "modelMatrix", "defaultProps", "import_core", "getGeometry", "normalize", "import_engine", "uniformBlock", "defaultProps", "import_engine", "import_web_mercator", "import_core", "uniformBlockWGSL", "defaultProps", "import_engine", "uniformBlock", "shaderWGSL", "import_core", "DEFAULT_COLOR", "defaultProps", "import_engine", "shaderWGSL", "DEFAULT_COLOR", "defaultProps", "shaderWGSL", "import_engine", "glslUniformBlock", "shaderWGSL", "getShaderWGSL", "source", "DEFAULT_COLOR", "defaultProps", "getShaderWGSL", "import_engine", "import_engine", "uniformBlockWGSL", "uniformBlock", "DEFAULT_COLOR", "defaultProps", "defines", "import_engine", "import_polygon", "uniformBlockWGSL", "uniformBlockGLSL", "shaderWGSL", "DEFAULT_COLOR", "defaultProps", "shaderWGSL", "import_engine", "import_polygon", "earcut", "import_polygon", "isCut", "uniformBlockWGSL", "uniformBlock", "DEFAULT_COLOR", "defaultProps", "ATTRIBUTE_TRANSITION", "count", "defaultProps", "uniformBlock", "glslUniformBlock", "getShaderWGSL", "shaderWGSL", "DEFAULT_BUFFER", "defaultProps", "shaderWGSL", "DEFAULT_BUFFER", "nextPowOfTwo", "buildMapping", "measureText", "buildMapping", "TinySDF", "import_engine", "uniformBlockWGSL", "uniformBlock", "defaultProps", "DEFAULT_COLOR", "defaultProps", "defaultProps", "defaultProps", "import_core", "defaultProps", "import_core", "import_web_mercator", "defaultProps", "defaultProps", "Long", "import_long", "Long", "defaultProps", "import_web_mercator", "defaultProps", "import_core", "import_web_mercator", "TILE_SIZE", "distance", "unitsPerMeter", "TILE_SIZE", "modelMatrix", "memoize", "isEqual", "memoize", "modelMatrix", "distance", "import_core", "defaultProps", "modelMatrix", "uniformBlockWGSL", "uniformBlockGLSL", "defaultProps", "import_h3_js", "import_h3_js", "defaultProps", "distance", "unitsPerMeter", "forwardProps", "defaultProps", "import_engine", "import_core", "import_engine", "mat4", "getScale", "uniformBlockWGSL", "uniformBlockGLSL", "DEFAULT_COLOR", "defaultProps", "import_shadertools", "import_engine", "import_gltf", "uniformBlockWGSL", "uniformBlockGLSL", "import_shadertools", "source", "DEFAULT_COLOR", "defaultProps", "defines", "import_gltf", "import_engine", "uniformBlock", "source", "import_shadertools", "source", "defaultProps", "import_core", "defaultProps", "modelMatrix", "MAX_LATITUDE", "defaultProps", "defaultProps", "import_core", "import_core", "defaultProps", "modelMatrix", "defaultProps"]
7
6
  }