{"version":3,"file":"defaultProps.mjs","sources":["../../../../../../packages/components/measurements/src/defaultProps.ts"],"sourcesContent":["/*\n * @Author: zouyaoji@https://github.com/zouyaoji\n * @Date: 2021-10-13 09:21:13\n * @LastEditTime: 2023-02-09 17:59:27\n * @LastEditors: XIAOLIJUN\n * @Description:\n * @FilePath: \\vue-cesium@next\\packages\\components\\measurements\\src\\defaultProps.ts\n */\nimport { getDefaultOptionByProps } from '@vue-cesium/utils/util'\nimport type { PropType } from 'vue'\nimport { MeasureUnits } from '@vue-cesium/shared'\nimport {\n  actionOptions,\n  circleDrawingActionDefault,\n  editorOptsDefault,\n  labelOptsDefault,\n  pointDrawingDefault,\n  pointOptsDefault,\n  polygonDrawingDefault,\n  polylineDrawingDefault,\n  polylineOptsDefault,\n  polylinePrimitiveOptsDefault,\n  regularDrawingActionDefault,\n  segmentDrawingDefault\n} from '@vue-cesium/composables/use-drawing/defaultOpts'\nimport { useDrawingFabProps } from '@vue-cesium/composables/use-drawing/props'\nimport type { VcFabProps } from '../../ui'\nimport type { VcActionTooltipProps, VcComponentInternalInstance, VcReadyObject } from '@vue-cesium/utils/types'\nimport type { VcLabelProps } from '../../primitive-collections'\nimport type {\n  VcComponentDistanceMeasurementOpts,\n  VcDrawingActiveEvt,\n  VcDrawingDrawEvt,\n  VcDrawingEditorEvt,\n  VcDrawingMouseEvt,\n  VcHorizontalMeasurementOpts,\n  VcMeasurementOpts,\n  VcPointDrawing,\n  VcPolylineDrawing,\n  VcPolylineMeasurementOpts,\n  VcRegularMeasurementOpts,\n  VcSegmentDrawing\n} from '@vue-cesium/utils/drawing-types'\n\nconst distanceMeasurementActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n  icon: 'vc-icons-measure-distance'\n})\n\nconst distanceMeasurementDefault: VcMeasurementOpts = Object.assign({}, segmentDrawingDefault, {\n  labelOpts: Object.assign({}, labelOptsDefault, {\n    horizontalOrigin: 1, // left\n    verticalOrigin: -1, // top\n    pixelOffset: [10, 10]\n  }) as VcLabelProps,\n  measureUnits: new MeasureUnits(),\n  decimals: {\n    distance: 2,\n    angle: 2\n  },\n  locale: undefined,\n  autoUpdateLabelPosition: true\n})\n\nconst componentDistanceMeasurementActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n  icon: 'vc-icons-measure-component-distance'\n})\n\nconst componentDistanceMeasurementDefault: VcComponentDistanceMeasurementOpts = Object.assign({}, distanceMeasurementDefault, {\n  showComponentLines: true,\n  xLabelOpts: labelOptsDefault,\n  xAngleLabelOpts: Object.assign({}, labelOptsDefault, {\n    horizontalOrigin: 1, // left\n    verticalOrigin: 0, // center\n    pixelOffset: [9, 0]\n  }),\n  yLabelOpts: Object.assign({}, labelOptsDefault, {\n    horizontalOrigin: -1, // right\n    pixelOffset: [-9, 0]\n  }),\n  yAngleLabelOpts: Object.assign({}, labelOptsDefault, {\n    verticalOrigin: -1, // top\n    pixelOffset: [0, 9]\n  })\n})\n\nconst polylineMeasurementActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n  icon: 'vc-icons-measure-polyline-distance'\n})\n\nconst polylineMeasurementDefault: VcPolylineMeasurementOpts = Object.assign({}, polylineDrawingDefault, {\n  measureUnits: new MeasureUnits(),\n  labelOpts: labelOptsDefault,\n  labelsOpts: Object.assign({}, labelOptsDefault, {\n    scale: 0.8,\n    horizontalOrigin: 1, // left\n    verticalOrigin: -1, // tOP,\n    pixelOffset: [5, 5]\n  }),\n  decimals: {\n    distance: 2,\n    angle: 2\n  },\n  showLabel: true,\n  showAngleLabel: true,\n  showDistanceLabel: true,\n  locale: undefined,\n  loop: false,\n  autoUpdateLabelPosition: true\n})\n\nconst horizontalMeasurementActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n  icon: 'vc-icons-measure-horizontal-distance'\n})\n\nconst horizontalMeasurementDefault: VcHorizontalMeasurementOpts = Object.assign({}, polylineMeasurementDefault, {\n  dashLineOpts: {\n    width: 2\n  },\n  dashLinePrimitiveOpts: Object.assign({}, polylinePrimitiveOptsDefault, {\n    appearance: {\n      type: 'PolylineMaterialAppearance',\n      options: {\n        material: {\n          fabric: {\n            type: 'PolylineDash',\n            uniforms: {\n              color: [255, 255, 0, 255]\n            }\n          }\n        }\n      }\n    },\n    depthFailAppearance: {\n      type: 'PolylineMaterialAppearance',\n      options: {\n        material: {\n          fabric: {\n            type: 'PolylineDash',\n            uniforms: {\n              color: [255, 255, 0, 255]\n            }\n          }\n        }\n      }\n    }\n  }),\n  labelOpts: Object.assign({}, labelOptsDefault, {\n    horizontalOrigin: 1,\n    verticalOrigin: 1,\n    pixelOffset: [10, -10]\n  }),\n  labelsOpts: Object.assign({}, labelOptsDefault, {\n    scale: 0.8,\n    horizontalOrigin: 1, // left\n    verticalOrigin: -1, // tOP,\n    pixelOffset: [5, 5]\n  }),\n  showDashedLine: true\n})\n\nconst verticalMeasurementActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n  icon: 'vc-icons-measure-vertical-distance'\n})\n\nconst verticalMeasurementDefault: VcMeasurementOpts = Object.assign({}, segmentDrawingDefault, {\n  labelOpts: Object.assign({}, labelOptsDefault, {\n    horizontalOrigin: 1, // left\n    verticalOrigin: -1, // top\n    pixelOffset: [10, 10]\n  }),\n  measureUnits: new MeasureUnits(),\n  decimals: {\n    distance: 2,\n    angle: 2\n  },\n  locale: undefined,\n  autoUpdateLabelPosition: true\n})\n\nconst heightMeasurementActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n  icon: 'vc-icons-measure-height-from-terrain'\n})\n\nconst heightMeasurementDefault: VcMeasurementOpts = Object.assign({}, pointDrawingDefault, {\n  polylineOpts: polylineOptsDefault,\n  labelOpts: Object.assign({}, labelOptsDefault, {\n    horizontalOrigin: 1, // left\n    verticalOrigin: -1, // top\n    pixelOffset: [10, 10]\n  }),\n  editorOpts: {\n    pixelOffset: [16, -8],\n    delay: 1000,\n    hideDelay: 1000,\n    move: Object.assign({}, editorOptsDefault),\n    removeAll: Object.assign({}, editorOptsDefault, {\n      icon: 'vc-icons-delete'\n    })\n  },\n  measureUnits: new MeasureUnits(),\n  decimals: {\n    distance: 2\n  },\n  locale: undefined,\n  primitiveOpts: polylinePrimitiveOptsDefault\n})\n\nconst areaMeasurementActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n  icon: 'vc-icons-measure-area'\n})\n\nconst areaMeasurementDefault: VcPolylineMeasurementOpts = Object.assign({}, polygonDrawingDefault, {\n  labelOpts: labelOptsDefault,\n  labelsOpts: Object.assign({}, labelOptsDefault, {\n    scale: 0.8,\n    horizontalOrigin: 1, // left\n    verticalOrigin: -1, // tOP,\n    pixelOffset: [5, 5]\n  }),\n  showDistanceLabel: true,\n  showAngleLabel: true,\n  showLabel: true,\n  measureUnits: new MeasureUnits(),\n  decimals: {\n    area: 2,\n    distance: 2,\n    angle: 2\n  },\n  loop: true,\n  locale: undefined,\n  autoUpdateLabelPosition: true\n})\n\nconst pointMeasurementActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n  icon: 'vc-icons-measure-point-coordinates'\n})\n\nconst pointMeasurementDefault: VcMeasurementOpts = Object.assign({}, pointDrawingDefault, {\n  heightReference: 1, // 0: NONE, 1: CLAMP_TO_GROUND\n  measureUnits: new MeasureUnits(),\n  drawtip: {\n    show: true,\n    pixelOffset: [32, 48]\n  },\n  labelOpts: Object.assign({}, labelOptsDefault, {\n    horizontalOrigin: 1, // left\n    verticalOrigin: 0, // center\n    pixelOffset: [10, 0]\n  }),\n  decimals: {\n    lng: 6,\n    lat: 6,\n    height: 2,\n    slope: 3\n  },\n  locale: undefined,\n  showLabel: true\n})\n\nconst rectangleMeasurementActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n  icon: 'vc-icons-drawing-rectangle'\n})\n\nconst rectangleMeasurementDefault: VcRegularMeasurementOpts = Object.assign({}, areaMeasurementDefault, {\n  pointOpts: Object.assign({}, pointOptsDefault, {\n    show: false\n  }),\n  drawtip: {\n    show: true,\n    pixelOffset: [32, 32]\n  },\n  editorOpts: {\n    pixelOffset: [16, -8],\n    delay: 1000,\n    hideDelay: 1000,\n    move: Object.assign({}, editorOptsDefault),\n    removeAll: Object.assign({}, editorOptsDefault, {\n      icon: 'vc-icons-delete'\n    })\n  },\n  edge: 4,\n  loop: false,\n  showAngleLabel: false\n})\n\nconst regularMeasurementDefault: VcRegularMeasurementOpts = Object.assign({}, rectangleMeasurementDefault, {\n  edge: 6,\n  loop: true\n})\n\nconst circleMeasurementDefault: VcRegularMeasurementOpts = Object.assign({}, rectangleMeasurementDefault, {\n  edge: 360,\n  loop: true,\n  showDistanceLabel: false,\n  showAngleLabel: false\n})\n\nconst fabActionOptsDefault: VcActionTooltipProps = Object.assign({}, {})\n\nconst mainFabDefault = Object.assign({}, actionOptions, {\n  direction: 'right',\n  icon: 'vc-icons-measurement-button',\n  activeIcon: 'vc-icons-measurement-button',\n  verticalActionsAlign: 'center',\n  hideIcon: false,\n  persistent: false,\n  modelValue: true,\n  hideActionOnClick: false,\n  color: 'info'\n} as VcFabProps)\n\nexport const measurementType = [\n  'distance',\n  'component-distance',\n  'polyline',\n  'horizontal',\n  'vertical',\n  'height',\n  'area',\n  'point',\n  'rectangle',\n  'regular',\n  'circle'\n]\nconst isValidMeasurementType = (measurements: string[]) => {\n  let flag = true\n  measurements.forEach(measurement => {\n    if (!measurementType.includes(measurement)) {\n      console.error(`VueCesium: unknown measurement type: ${measurement}`)\n      flag = false\n    }\n  })\n  return flag\n}\n\nconst measurementsProps = {\n  ...useDrawingFabProps,\n  measurements: {\n    type: Array as PropType<\n      Array<\n        'distance' | 'component-distance' | 'polyline' | 'horizontal' | 'vertical' | 'height' | 'area' | 'point' | 'rectangle' | 'regular' | 'circle'\n      >\n    >,\n    default: () => measurementType,\n    validator: isValidMeasurementType\n  },\n  mainFabOpts: {\n    type: Object as PropType<VcActionTooltipProps & VcFabProps>,\n    default: () => mainFabDefault\n  },\n  fabActionOpts: {\n    type: Object as PropType<VcActionTooltipProps>,\n    default: () => fabActionOptsDefault\n  },\n  distanceActionOpts: {\n    type: Object as PropType<VcActionTooltipProps>,\n    default: () => distanceMeasurementActionDefault\n  },\n  distanceMeasurementOpts: {\n    type: Object as PropType<VcMeasurementOpts>,\n    default: () => distanceMeasurementDefault\n  },\n  componentDistanceActionOpts: {\n    type: Object as PropType<VcActionTooltipProps>,\n    default: () => componentDistanceMeasurementActionDefault\n  },\n  componentDistanceMeasurementOpts: {\n    type: Object as PropType<VcComponentDistanceMeasurementOpts>,\n    default: () => componentDistanceMeasurementDefault\n  },\n  polylineActionOpts: {\n    type: Object as PropType<VcActionTooltipProps>,\n    default: () => polylineMeasurementActionDefault\n  },\n  polylineMeasurementOpts: {\n    type: Object as PropType<VcPolylineMeasurementOpts>,\n    default: () => polylineMeasurementDefault\n  },\n  horizontalActionOpts: {\n    type: Object as PropType<VcActionTooltipProps>,\n    default: () => horizontalMeasurementActionDefault\n  },\n  horizontalMeasurementOpts: {\n    type: Object as PropType<VcHorizontalMeasurementOpts>,\n    default: () => horizontalMeasurementDefault\n  },\n  verticalActionOpts: {\n    type: Object as PropType<VcActionTooltipProps>,\n    default: () => verticalMeasurementActionDefault\n  },\n  verticalMeasurementOpts: {\n    type: Object as PropType<VcMeasurementOpts>,\n    default: () => verticalMeasurementDefault\n  },\n  heightActionOpts: {\n    type: Object as PropType<VcActionTooltipProps>,\n    default: () => heightMeasurementActionDefault\n  },\n  heightMeasurementOpts: {\n    type: Object as PropType<VcMeasurementOpts>,\n    default: () => heightMeasurementDefault\n  },\n  areaActionOpts: {\n    type: Object as PropType<VcActionTooltipProps>,\n    default: () => areaMeasurementActionDefault\n  },\n  areaMeasurementOpts: {\n    type: Object as PropType<VcPolylineMeasurementOpts>,\n    default: () => areaMeasurementDefault\n  },\n  pointActionOpts: {\n    type: Object as PropType<VcActionTooltipProps>,\n    default: () => pointMeasurementActionDefault\n  },\n  pointMeasurementOpts: {\n    type: Object as PropType<VcMeasurementOpts>,\n    default: () => pointMeasurementDefault\n  },\n  rectangleActionOpts: {\n    type: Object as PropType<VcActionTooltipProps>,\n    default: () => rectangleMeasurementActionDefault\n  },\n  rectangleMeasurementOpts: {\n    type: Object as PropType<VcRegularMeasurementOpts>,\n    default: () => rectangleMeasurementDefault\n  },\n  regularActionOpts: {\n    type: Object as PropType<VcActionTooltipProps>,\n    default: () => regularDrawingActionDefault\n  },\n  regularMeasurementOpts: {\n    type: Object as PropType<VcRegularMeasurementOpts>,\n    default: () => regularMeasurementDefault\n  },\n  circleActionOpts: {\n    type: Object as PropType<VcActionTooltipProps>,\n    default: () => circleDrawingActionDefault\n  },\n  circleMeasurementOpts: {\n    type: Object as PropType<VcRegularMeasurementOpts>,\n    default: () => circleMeasurementDefault\n  }\n}\n\nconst defaultOptions = getDefaultOptionByProps<VcMeasurementsProps>(measurementsProps)\n\nexport {\n  measurementsProps,\n  defaultOptions,\n  distanceMeasurementActionDefault,\n  distanceMeasurementDefault,\n  componentDistanceMeasurementActionDefault,\n  componentDistanceMeasurementDefault,\n  polylineMeasurementActionDefault,\n  polylineMeasurementDefault,\n  horizontalMeasurementActionDefault,\n  horizontalMeasurementDefault,\n  verticalMeasurementActionDefault,\n  verticalMeasurementDefault,\n  heightMeasurementActionDefault,\n  heightMeasurementDefault,\n  areaMeasurementActionDefault,\n  areaMeasurementDefault,\n  pointMeasurementActionDefault,\n  pointMeasurementDefault,\n  rectangleMeasurementActionDefault,\n  rectangleMeasurementDefault,\n  regularMeasurementDefault,\n  circleMeasurementDefault,\n  mainFabDefault\n}\n\nexport type VcMeasurementsProps = {\n  /**\n   * Specify the position of the VcMeasurements.\n   * Default value: bottom-left\n   */\n  position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top' | 'right' | 'bottom' | 'left'\n  /**\n   * An array of two numbers to offset the VcMeasurements horizontally and vertically in pixels.\n   * Default value: [0, 0]\n   */\n  offset?: [number, number]\n  /**\n   * Specify whether the measurement result is visible.\n   * Default value: true\n   */\n  show?: boolean\n  /**\n   * Specify the interactive drawing mode, 0 means continuous drawing, and 1 means drawing ends once.\n   * Default value: 1\n   */\n  mode?: number\n  /**\n   * Specify which measurement instances to load.\n   * Default value: ['distance', 'component-distance', 'polyline', 'horizontal', 'vertical', 'height', 'area', 'point', 'rectangle', 'regular', 'circle']\n   */\n  measurements?: Array<\n    'distance' | 'component-distance' | 'polyline' | 'horizontal' | 'vertical' | 'height' | 'area' | 'point' | 'rectangle' | 'regular' | 'circle'\n  >\n  /**\n   * Specify the color when the measurement instance is activated.\n   * Default value: positive\n   */\n  activeColor?: string\n  /**\n   * Specify whether the measurement result can be edited.\n   * Default value: false\n   */\n  editable?: boolean\n  /**\n   * Specify whether the drawing result object is attached to the ground or 3dtiles. Only polyline and polygon objects work.\n   * Default value: false\n   */\n  clampToGround?: boolean\n  /**\n   * Specify the style options of the floating action button of the VcMeasurements component.\n   */\n  mainFabOpts?: VcActionTooltipProps & VcFabProps\n  /**\n   * Style options for other action buttons.\n   */\n  fabActionOpts?: VcActionTooltipProps\n  /**\n   * Specify the style options of the distance measurement action button.\n   */\n  distanceActionOpts?: VcActionTooltipProps\n  /**\n   * Specify distance measurement options.\n   */\n  distanceMeasurementOpts?: VcMeasurementOpts\n  /**\n   * Specify the style options of the component distance measurement action button.\n   */\n  componentDistanceActionOpts?: VcActionTooltipProps\n  /**\n   * Specify the component distance measurement options.\n   */\n  componentDistanceMeasurementOpts?: VcMeasurementOpts\n  /**\n   * Specify the style options of the polyline distance measurement action button.\n   */\n  polylineActionOpts?: VcActionTooltipProps\n  /**\n   * Specify the polyline distance measurement options.\n   */\n  polylineMeasurementOpts?: VcMeasurementOpts\n  /**\n   * Specify the style options of the horizontal distance measurement action button.\n   */\n  horizontalActionOpts?: VcActionTooltipProps\n  /**\n   * Specify the horizontal distance measurement options.\n   */\n  horizontalMeasurementOpts?: VcMeasurementOpts\n  /**\n   * Specify the style options of the vertical distance measurement action button.\n   */\n  verticalActionOpts?: VcActionTooltipProps\n  /**\n   * Specify the vertical distance measurement options.\n   */\n  verticalMeasurementOpts?: VcMeasurementOpts\n  /**\n   * Specify the style options of the height measurement action button.\n   */\n  heightActionOpts?: VcActionTooltipProps\n  /**\n   * Specify the height measurement options.\n   */\n  heightMeasurementOpts?: VcMeasurementOpts\n  /**\n   * Specify the style options of the area measurement action button.\n   */\n  areaActionOpts?: VcActionTooltipProps\n  /**\n   * Specify the area measurement options.\n   */\n  areaMeasurementOpts?: VcMeasurementOpts\n  /**\n   * Specify the style options of the point measurement action button.\n   */\n  pointActionOpts?: VcActionTooltipProps\n  /**\n   * Specify the point measurement options.\n   */\n  pointMeasurementOpts?: VcMeasurementOpts\n  /**\n   * Specify the style options of the rectangle measurement action button.\n   */\n  rectangleActionOpts?: VcActionTooltipProps\n  /**\n   * Specify the rectangle measurement options.\n   */\n  rectangleMeasurementOpts?: VcMeasurementOpts\n  /**\n   * Specify the style options of the circle measurement action button.\n   */\n  circleActionOpts?: VcActionTooltipProps\n  /**\n   * Specify the circle measurement options.\n   */\n  circleMeasurementOpts?: VcMeasurementOpts\n  /**\n   * Specify the style options of the regular measurement action button.\n   */\n  regularActionOpts?: VcActionTooltipProps\n  /**\n   * Specify the regular measurement options.\n   */\n  regularMeasurementOpts?: VcMeasurementOpts\n  /**\n   * Specify the style options of the clear action button.\n   */\n  clearActionOpts?: VcActionTooltipProps\n  /**\n   * Triggers before the VcMeasurements is loaded.\n   */\n  onBeforeLoad?: (instance: VcComponentInternalInstance) => void\n  /**\n   * Triggers when the VcMeasurements is successfully loaded.\n   */\n  onReady?: (readyObject: VcReadyObject) => void\n  /**\n   * Triggers when the component load failed.\n   */\n  onUnready?: (e: any) => void\n  /**\n   * Triggers when the VcMeasurements is destroyed.\n   */\n  onDestroyed?: (instance: VcComponentInternalInstance) => void\n  /**\n   * Triggers when the measurement action is actived.\n   */\n  onActiveEvt?: (evt: VcDrawingActiveEvt, viewer: Cesium.Viewer) => void\n  /**\n   * \tTriggers when drawing.\n   */\n  onDrawEvt?: (evt: VcDrawingDrawEvt<VcPolylineDrawing | VcSegmentDrawing | VcPointDrawing>, viewer: Cesium.Viewer) => void\n  /**\n   * Triggers when the editor button is clicked.\n   */\n  onEditorEvt?: (evt: VcDrawingEditorEvt, viewer: Cesium.Viewer) => void\n  /**\n   * Triggers when the mouse is over or out on the drawing point.\n   */\n  onMouseEvt?: (evt: VcDrawingMouseEvt, viewer: Cesium.Viewer) => void\n  /**\n   * Triggers when the floating button is expanded or collapsed.\n   */\n  onFabUpdated?: (value: boolean) => void\n  /**\n   * Triggers when the clear button is clicked.\n   */\n  onClearEvt?: (\n    evt: {\n      type: 'clear'\n      option: VcActionTooltipProps\n    },\n    viewer: Cesium.Viewer\n  ) => void\n}\n"],"names":[],"mappings":";;;;;;;AA4CA,MAAM,gCAAyD,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,aAAe,EAAA;AAAA,EAC9F,IAAM,EAAA,2BAAA;AACR,CAAC,EAAA;AAED,MAAM,0BAAgD,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,qBAAuB,EAAA;AAAA,EAC7F,SAAW,EAAA,MAAA,CAAO,MAAO,CAAA,IAAI,gBAAkB,EAAA;AAAA,IAC7C,gBAAkB,EAAA,CAAA;AAAA;AAAA,IAClB,cAAgB,EAAA,CAAA,CAAA;AAAA;AAAA,IAChB,WAAA,EAAa,CAAC,EAAA,EAAI,EAAE,CAAA;AAAA,GACrB,CAAA;AAAA,EACD,YAAA,EAAc,IAAI,YAAa,EAAA;AAAA,EAC/B,QAAU,EAAA;AAAA,IACR,QAAU,EAAA,CAAA;AAAA,IACV,KAAO,EAAA,CAAA;AAAA,GACT;AAAA,EACA,MAAQ,EAAA,KAAA,CAAA;AAAA,EACR,uBAAyB,EAAA,IAAA;AAC3B,CAAC,EAAA;AAED,MAAM,yCAAkE,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,aAAe,EAAA;AAAA,EACvG,IAAM,EAAA,qCAAA;AACR,CAAC,EAAA;AAED,MAAM,mCAA0E,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,0BAA4B,EAAA;AAAA,EAC5H,kBAAoB,EAAA,IAAA;AAAA,EACpB,UAAY,EAAA,gBAAA;AAAA,EACZ,eAAiB,EAAA,MAAA,CAAO,MAAO,CAAA,IAAI,gBAAkB,EAAA;AAAA,IACnD,gBAAkB,EAAA,CAAA;AAAA;AAAA,IAClB,cAAgB,EAAA,CAAA;AAAA;AAAA,IAChB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,GACnB,CAAA;AAAA,EACD,UAAY,EAAA,MAAA,CAAO,MAAO,CAAA,IAAI,gBAAkB,EAAA;AAAA,IAC9C,gBAAkB,EAAA,CAAA,CAAA;AAAA;AAAA,IAClB,WAAA,EAAa,CAAC,CAAA,CAAA,EAAI,CAAC,CAAA;AAAA,GACpB,CAAA;AAAA,EACD,eAAiB,EAAA,MAAA,CAAO,MAAO,CAAA,IAAI,gBAAkB,EAAA;AAAA,IACnD,cAAgB,EAAA,CAAA,CAAA;AAAA;AAAA,IAChB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,GACnB,CAAA;AACH,CAAC,EAAA;AAED,MAAM,gCAAyD,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,aAAe,EAAA;AAAA,EAC9F,IAAM,EAAA,oCAAA;AACR,CAAC,EAAA;AAED,MAAM,0BAAwD,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,sBAAwB,EAAA;AAAA,EACtG,YAAA,EAAc,IAAI,YAAa,EAAA;AAAA,EAC/B,SAAW,EAAA,gBAAA;AAAA,EACX,UAAY,EAAA,MAAA,CAAO,MAAO,CAAA,IAAI,gBAAkB,EAAA;AAAA,IAC9C,KAAO,EAAA,GAAA;AAAA,IACP,gBAAkB,EAAA,CAAA;AAAA;AAAA,IAClB,cAAgB,EAAA,CAAA,CAAA;AAAA;AAAA,IAChB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,GACnB,CAAA;AAAA,EACD,QAAU,EAAA;AAAA,IACR,QAAU,EAAA,CAAA;AAAA,IACV,KAAO,EAAA,CAAA;AAAA,GACT;AAAA,EACA,SAAW,EAAA,IAAA;AAAA,EACX,cAAgB,EAAA,IAAA;AAAA,EAChB,iBAAmB,EAAA,IAAA;AAAA,EACnB,MAAQ,EAAA,KAAA,CAAA;AAAA,EACR,IAAM,EAAA,KAAA;AAAA,EACN,uBAAyB,EAAA,IAAA;AAC3B,CAAC,EAAA;AAED,MAAM,kCAA2D,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,aAAe,EAAA;AAAA,EAChG,IAAM,EAAA,sCAAA;AACR,CAAC,EAAA;AAED,MAAM,4BAA4D,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,0BAA4B,EAAA;AAAA,EAC9G,YAAc,EAAA;AAAA,IACZ,KAAO,EAAA,CAAA;AAAA,GACT;AAAA,EACA,qBAAuB,EAAA,MAAA,CAAO,MAAO,CAAA,IAAI,4BAA8B,EAAA;AAAA,IACrE,UAAY,EAAA;AAAA,MACV,IAAM,EAAA,4BAAA;AAAA,MACN,OAAS,EAAA;AAAA,QACP,QAAU,EAAA;AAAA,UACR,MAAQ,EAAA;AAAA,YACN,IAAM,EAAA,cAAA;AAAA,YACN,QAAU,EAAA;AAAA,cACR,KAAO,EAAA,CAAC,GAAK,EAAA,GAAA,EAAK,GAAG,GAAG,CAAA;AAAA,aAC1B;AAAA,WACF;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAAA,IACA,mBAAqB,EAAA;AAAA,MACnB,IAAM,EAAA,4BAAA;AAAA,MACN,OAAS,EAAA;AAAA,QACP,QAAU,EAAA;AAAA,UACR,MAAQ,EAAA;AAAA,YACN,IAAM,EAAA,cAAA;AAAA,YACN,QAAU,EAAA;AAAA,cACR,KAAO,EAAA,CAAC,GAAK,EAAA,GAAA,EAAK,GAAG,GAAG,CAAA;AAAA,aAC1B;AAAA,WACF;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAAA,GACD,CAAA;AAAA,EACD,SAAW,EAAA,MAAA,CAAO,MAAO,CAAA,IAAI,gBAAkB,EAAA;AAAA,IAC7C,gBAAkB,EAAA,CAAA;AAAA,IAClB,cAAgB,EAAA,CAAA;AAAA,IAChB,WAAA,EAAa,CAAC,EAAA,EAAI,CAAG,EAAA,CAAA;AAAA,GACtB,CAAA;AAAA,EACD,UAAY,EAAA,MAAA,CAAO,MAAO,CAAA,IAAI,gBAAkB,EAAA;AAAA,IAC9C,KAAO,EAAA,GAAA;AAAA,IACP,gBAAkB,EAAA,CAAA;AAAA;AAAA,IAClB,cAAgB,EAAA,CAAA,CAAA;AAAA;AAAA,IAChB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,GACnB,CAAA;AAAA,EACD,cAAgB,EAAA,IAAA;AAClB,CAAC,EAAA;AAED,MAAM,gCAAyD,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,aAAe,EAAA;AAAA,EAC9F,IAAM,EAAA,oCAAA;AACR,CAAC,EAAA;AAED,MAAM,0BAAgD,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,qBAAuB,EAAA;AAAA,EAC7F,SAAW,EAAA,MAAA,CAAO,MAAO,CAAA,IAAI,gBAAkB,EAAA;AAAA,IAC7C,gBAAkB,EAAA,CAAA;AAAA;AAAA,IAClB,cAAgB,EAAA,CAAA,CAAA;AAAA;AAAA,IAChB,WAAA,EAAa,CAAC,EAAA,EAAI,EAAE,CAAA;AAAA,GACrB,CAAA;AAAA,EACD,YAAA,EAAc,IAAI,YAAa,EAAA;AAAA,EAC/B,QAAU,EAAA;AAAA,IACR,QAAU,EAAA,CAAA;AAAA,IACV,KAAO,EAAA,CAAA;AAAA,GACT;AAAA,EACA,MAAQ,EAAA,KAAA,CAAA;AAAA,EACR,uBAAyB,EAAA,IAAA;AAC3B,CAAC,EAAA;AAED,MAAM,8BAAuD,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,aAAe,EAAA;AAAA,EAC5F,IAAM,EAAA,sCAAA;AACR,CAAC,EAAA;AAED,MAAM,wBAA8C,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,mBAAqB,EAAA;AAAA,EACzF,YAAc,EAAA,mBAAA;AAAA,EACd,SAAW,EAAA,MAAA,CAAO,MAAO,CAAA,IAAI,gBAAkB,EAAA;AAAA,IAC7C,gBAAkB,EAAA,CAAA;AAAA;AAAA,IAClB,cAAgB,EAAA,CAAA,CAAA;AAAA;AAAA,IAChB,WAAA,EAAa,CAAC,EAAA,EAAI,EAAE,CAAA;AAAA,GACrB,CAAA;AAAA,EACD,UAAY,EAAA;AAAA,IACV,WAAA,EAAa,CAAC,EAAA,EAAI,CAAE,CAAA,CAAA;AAAA,IACpB,KAAO,EAAA,GAAA;AAAA,IACP,SAAW,EAAA,GAAA;AAAA,IACX,IAAM,EAAA,MAAA,CAAO,MAAO,CAAA,IAAI,iBAAiB,CAAA;AAAA,IACzC,SAAW,EAAA,MAAA,CAAO,MAAO,CAAA,IAAI,iBAAmB,EAAA;AAAA,MAC9C,IAAM,EAAA,iBAAA;AAAA,KACP,CAAA;AAAA,GACH;AAAA,EACA,YAAA,EAAc,IAAI,YAAa,EAAA;AAAA,EAC/B,QAAU,EAAA;AAAA,IACR,QAAU,EAAA,CAAA;AAAA,GACZ;AAAA,EACA,MAAQ,EAAA,KAAA,CAAA;AAAA,EACR,aAAe,EAAA,4BAAA;AACjB,CAAC,EAAA;AAED,MAAM,4BAAqD,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,aAAe,EAAA;AAAA,EAC1F,IAAM,EAAA,uBAAA;AACR,CAAC,EAAA;AAED,MAAM,sBAAoD,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,qBAAuB,EAAA;AAAA,EACjG,SAAW,EAAA,gBAAA;AAAA,EACX,UAAY,EAAA,MAAA,CAAO,MAAO,CAAA,IAAI,gBAAkB,EAAA;AAAA,IAC9C,KAAO,EAAA,GAAA;AAAA,IACP,gBAAkB,EAAA,CAAA;AAAA;AAAA,IAClB,cAAgB,EAAA,CAAA,CAAA;AAAA;AAAA,IAChB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,GACnB,CAAA;AAAA,EACD,iBAAmB,EAAA,IAAA;AAAA,EACnB,cAAgB,EAAA,IAAA;AAAA,EAChB,SAAW,EAAA,IAAA;AAAA,EACX,YAAA,EAAc,IAAI,YAAa,EAAA;AAAA,EAC/B,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,CAAA;AAAA,IACN,QAAU,EAAA,CAAA;AAAA,IACV,KAAO,EAAA,CAAA;AAAA,GACT;AAAA,EACA,IAAM,EAAA,IAAA;AAAA,EACN,MAAQ,EAAA,KAAA,CAAA;AAAA,EACR,uBAAyB,EAAA,IAAA;AAC3B,CAAC,EAAA;AAED,MAAM,6BAAsD,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,aAAe,EAAA;AAAA,EAC3F,IAAM,EAAA,oCAAA;AACR,CAAC,EAAA;AAED,MAAM,uBAA6C,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,mBAAqB,EAAA;AAAA,EACxF,eAAiB,EAAA,CAAA;AAAA;AAAA,EACjB,YAAA,EAAc,IAAI,YAAa,EAAA;AAAA,EAC/B,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,IAAA;AAAA,IACN,WAAA,EAAa,CAAC,EAAA,EAAI,EAAE,CAAA;AAAA,GACtB;AAAA,EACA,SAAW,EAAA,MAAA,CAAO,MAAO,CAAA,IAAI,gBAAkB,EAAA;AAAA,IAC7C,gBAAkB,EAAA,CAAA;AAAA;AAAA,IAClB,cAAgB,EAAA,CAAA;AAAA;AAAA,IAChB,WAAA,EAAa,CAAC,EAAA,EAAI,CAAC,CAAA;AAAA,GACpB,CAAA;AAAA,EACD,QAAU,EAAA;AAAA,IACR,GAAK,EAAA,CAAA;AAAA,IACL,GAAK,EAAA,CAAA;AAAA,IACL,MAAQ,EAAA,CAAA;AAAA,IACR,KAAO,EAAA,CAAA;AAAA,GACT;AAAA,EACA,MAAQ,EAAA,KAAA,CAAA;AAAA,EACR,SAAW,EAAA,IAAA;AACb,CAAC,EAAA;AAED,MAAM,iCAA0D,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,aAAe,EAAA;AAAA,EAC/F,IAAM,EAAA,4BAAA;AACR,CAAC,EAAA;AAED,MAAM,2BAAwD,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,sBAAwB,EAAA;AAAA,EACtG,SAAW,EAAA,MAAA,CAAO,MAAO,CAAA,IAAI,gBAAkB,EAAA;AAAA,IAC7C,IAAM,EAAA,KAAA;AAAA,GACP,CAAA;AAAA,EACD,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,IAAA;AAAA,IACN,WAAA,EAAa,CAAC,EAAA,EAAI,EAAE,CAAA;AAAA,GACtB;AAAA,EACA,UAAY,EAAA;AAAA,IACV,WAAA,EAAa,CAAC,EAAA,EAAI,CAAE,CAAA,CAAA;AAAA,IACpB,KAAO,EAAA,GAAA;AAAA,IACP,SAAW,EAAA,GAAA;AAAA,IACX,IAAM,EAAA,MAAA,CAAO,MAAO,CAAA,IAAI,iBAAiB,CAAA;AAAA,IACzC,SAAW,EAAA,MAAA,CAAO,MAAO,CAAA,IAAI,iBAAmB,EAAA;AAAA,MAC9C,IAAM,EAAA,iBAAA;AAAA,KACP,CAAA;AAAA,GACH;AAAA,EACA,IAAM,EAAA,CAAA;AAAA,EACN,IAAM,EAAA,KAAA;AAAA,EACN,cAAgB,EAAA,KAAA;AAClB,CAAC,EAAA;AAED,MAAM,yBAAsD,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,2BAA6B,EAAA;AAAA,EACzG,IAAM,EAAA,CAAA;AAAA,EACN,IAAM,EAAA,IAAA;AACR,CAAC,EAAA;AAED,MAAM,wBAAqD,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,2BAA6B,EAAA;AAAA,EACxG,IAAM,EAAA,GAAA;AAAA,EACN,IAAM,EAAA,IAAA;AAAA,EACN,iBAAmB,EAAA,KAAA;AAAA,EACnB,cAAgB,EAAA,KAAA;AAClB,CAAC,EAAA;AAED,MAAM,uBAA6C,MAAO,CAAA,MAAA,CAAO,EAAC,EAAG,EAAE,CAAA,CAAA;AAEvE,MAAM,cAAiB,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,aAAe,EAAA;AAAA,EACtD,SAAW,EAAA,OAAA;AAAA,EACX,IAAM,EAAA,6BAAA;AAAA,EACN,UAAY,EAAA,6BAAA;AAAA,EACZ,oBAAsB,EAAA,QAAA;AAAA,EACtB,QAAU,EAAA,KAAA;AAAA,EACV,UAAY,EAAA,KAAA;AAAA,EACZ,UAAY,EAAA,IAAA;AAAA,EACZ,iBAAmB,EAAA,KAAA;AAAA,EACnB,KAAO,EAAA,MAAA;AACT,CAAe,EAAA;AAER,MAAM,eAAkB,GAAA;AAAA,EAC7B,UAAA;AAAA,EACA,oBAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AACF,EAAA;AACA,MAAM,sBAAA,GAAyB,CAAC,YAA2B,KAAA;AACzD,EAAA,IAAI,IAAO,GAAA,IAAA,CAAA;AACX,EAAA,YAAA,CAAa,QAAQ,CAAe,WAAA,KAAA;AAClC,IAAA,IAAI,CAAC,eAAA,CAAgB,QAAS,CAAA,WAAW,CAAG,EAAA;AAC1C,MAAQ,OAAA,CAAA,KAAA,CAAM,CAAwC,qCAAA,EAAA,WAAW,CAAE,CAAA,CAAA,CAAA;AACnE,MAAO,IAAA,GAAA,KAAA,CAAA;AAAA,KACT;AAAA,GACD,CAAA,CAAA;AACD,EAAO,OAAA,IAAA,CAAA;AACT,CAAA,CAAA;AAEA,MAAM,iBAAoB,GAAA;AAAA,EACxB,GAAG,kBAAA;AAAA,EACH,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,KAAA;AAAA,IAKN,SAAS,MAAM,eAAA;AAAA,IACf,SAAW,EAAA,sBAAA;AAAA,GACb;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,cAAA;AAAA,GACjB;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,oBAAA;AAAA,GACjB;AAAA,EACA,kBAAoB,EAAA;AAAA,IAClB,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,gCAAA;AAAA,GACjB;AAAA,EACA,uBAAyB,EAAA;AAAA,IACvB,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,0BAAA;AAAA,GACjB;AAAA,EACA,2BAA6B,EAAA;AAAA,IAC3B,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,yCAAA;AAAA,GACjB;AAAA,EACA,gCAAkC,EAAA;AAAA,IAChC,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,mCAAA;AAAA,GACjB;AAAA,EACA,kBAAoB,EAAA;AAAA,IAClB,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,gCAAA;AAAA,GACjB;AAAA,EACA,uBAAyB,EAAA;AAAA,IACvB,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,0BAAA;AAAA,GACjB;AAAA,EACA,oBAAsB,EAAA;AAAA,IACpB,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,kCAAA;AAAA,GACjB;AAAA,EACA,yBAA2B,EAAA;AAAA,IACzB,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,4BAAA;AAAA,GACjB;AAAA,EACA,kBAAoB,EAAA;AAAA,IAClB,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,gCAAA;AAAA,GACjB;AAAA,EACA,uBAAyB,EAAA;AAAA,IACvB,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,0BAAA;AAAA,GACjB;AAAA,EACA,gBAAkB,EAAA;AAAA,IAChB,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,8BAAA;AAAA,GACjB;AAAA,EACA,qBAAuB,EAAA;AAAA,IACrB,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,wBAAA;AAAA,GACjB;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,4BAAA;AAAA,GACjB;AAAA,EACA,mBAAqB,EAAA;AAAA,IACnB,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,sBAAA;AAAA,GACjB;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,6BAAA;AAAA,GACjB;AAAA,EACA,oBAAsB,EAAA;AAAA,IACpB,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,uBAAA;AAAA,GACjB;AAAA,EACA,mBAAqB,EAAA;AAAA,IACnB,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,iCAAA;AAAA,GACjB;AAAA,EACA,wBAA0B,EAAA;AAAA,IACxB,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,2BAAA;AAAA,GACjB;AAAA,EACA,iBAAmB,EAAA;AAAA,IACjB,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,2BAAA;AAAA,GACjB;AAAA,EACA,sBAAwB,EAAA;AAAA,IACtB,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,yBAAA;AAAA,GACjB;AAAA,EACA,gBAAkB,EAAA;AAAA,IAChB,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,0BAAA;AAAA,GACjB;AAAA,EACA,qBAAuB,EAAA;AAAA,IACrB,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,wBAAA;AAAA,GACjB;AACF,EAAA;AAEM,MAAA,cAAA,GAAiB,wBAA6C,iBAAiB;;;;"}