@commercetools-demo/puck-editor 0.2.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +8195 -974
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +8127 -873
- package/dist/index.mjs.map +1 -1
- package/package.json +20 -4
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/PuckEditor.tsx","../src/config/defaultPuckConfig.ts","../src/components/Hero.tsx","../src/components/RichText.tsx","../src/components/Columns.tsx","../src/fields/ImagePickerField.tsx","../src/components/Image.tsx","../src/components/Button.tsx","../src/components/Card.tsx","../src/components/Spacer.tsx","../src/components/ProductTeaser.tsx","../src/fields/DatasourceField.tsx","../src/components/cms/HeroBanner.tsx","../src/components/cms/TextBlock.tsx","../src/components/cms/CategoryGrid.tsx","../src/components/cms/CategoryHero.tsx","../src/components/cms/CheckoutPromoBanner.tsx","../src/components/cms/CountdownBanner.tsx","../src/components/cms/CrossSellBlock.tsx","../src/components/cms/shared.ts","../src/components/cms/DeliveryMessage.tsx","../src/components/cms/Divider.tsx","../src/components/cms/EmptyState.tsx","../src/components/cms/FAQAccordion.tsx","../src/components/cms/FooterBlock.tsx","../src/components/cms/ImageBlock.tsx","../src/components/cms/NewsletterSignup.tsx","../src/components/cms/ProductBanner.tsx","../src/components/cms/ProductGridHeader.tsx","../src/components/cms/ProductSlider.tsx","../src/components/cms/PromotionalBanner.tsx","../src/components/cms/RelatedProductsSlider.tsx","../src/components/cms/SocialLinks.tsx","../src/components/cms/TabContent.tsx","../src/components/cms/TestimonialsSlider.tsx","../src/components/cms/ThankYouContent.tsx","../src/components/cms/TrustBadges.tsx","../src/components/cms/VideoBlock.tsx","../src/components/cms/WebsiteLogo.tsx","../src/toolbar/EditorToolbar.tsx","../src/overrides/ComponentListSearch.tsx"],"sourcesContent":["import React, { useCallback, useRef, useState } from 'react';\nimport { Puck, type Config, type Data } from '@measured/puck';\nimport '@measured/puck/puck.css';\nimport { PuckApiProvider } from '@commercetools-demo/puck-api';\nimport { usePuckPage } from '@commercetools-demo/puck-api';\nimport type { PuckData } from '@commercetools-demo/puck-types';\nimport { defaultPuckConfig } from './config/defaultPuckConfig';\nimport { EditorToolbar } from './toolbar/EditorToolbar';\nimport {\n ComponentSearchProvider,\n ComponentsPanel,\n ComponentItemFilter,\n} from './overrides/ComponentListSearch';\n\n// ---------------------------------------------------------------------------\n// Inner component (uses context from PuckApiProvider)\n// ---------------------------------------------------------------------------\n\ninterface PuckEditorInnerProps {\n pageKey: string;\n config: Config;\n onPublish?: (puckData: PuckData) => void;\n onSave?: (puckData: PuckData) => void;\n onError?: (error: Error) => void;\n showPublishButton: boolean;\n autoSaveDebounceMs: number;\n}\n\nconst PuckEditorInner: React.FC<PuckEditorInnerProps> = ({\n pageKey,\n config,\n onPublish,\n onSave,\n onError,\n showPublishButton,\n autoSaveDebounceMs: _autoSaveDebounceMs,\n}) => {\n const {\n page,\n states,\n saving,\n loading,\n error,\n saveDraft,\n publish,\n revertToPublished,\n } = usePuckPage(pageKey);\n\n const latestDataRef = useRef<Data | null>(null);\n const [hasUnsavedChanges, setHasUnsavedChanges] = useState(false);\n\n const handleChange = useCallback((data: Data) => {\n latestDataRef.current = data;\n setHasUnsavedChanges(true);\n }, []);\n\n const handleSave = useCallback(async () => {\n const data = latestDataRef.current;\n if (!data) return;\n try {\n await saveDraft(data as PuckData);\n setHasUnsavedChanges(false);\n onSave?.(data as PuckData);\n } catch (err) {\n onError?.(err as Error);\n }\n }, [saveDraft, onSave, onError]);\n\n const handlePublish = useCallback(\n async (data: Data) => {\n try {\n await saveDraft(data as PuckData);\n setHasUnsavedChanges(false);\n await publish(false);\n onPublish?.(data as PuckData);\n } catch (err) {\n onError?.(err as Error);\n }\n },\n [saveDraft, publish, onPublish, onError]\n );\n\n const handleRevert = useCallback(async () => {\n try {\n await revertToPublished();\n setHasUnsavedChanges(false);\n } catch (err) {\n onError?.(err as Error);\n }\n }, [revertToPublished, onError]);\n\n if (loading) {\n return (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: '100vh',\n fontSize: '16px',\n color: 'var(--text-muted)',\n background: 'var(--bg-void)',\n }}\n >\n Loading editor…\n </div>\n );\n }\n\n if (error) {\n return (\n <div\n style={{\n padding: '32px',\n color: 'var(--status-error)',\n background: 'rgba(248, 113, 113, 0.08)',\n border: '1px solid rgba(248, 113, 113, 0.25)',\n borderRadius: '8px',\n margin: '16px',\n }}\n >\n <strong>Error loading page:</strong> {error}\n </div>\n );\n }\n\n // Use draft state data if available, otherwise fall back to the main page value\n const activeData: PuckData =\n states.draft?.puckData ??\n page?.puckData ?? {\n content: [],\n root: { props: {} },\n };\n\n return (\n <ComponentSearchProvider>\n <Puck\n config={config}\n data={activeData as Data}\n onChange={handleChange}\n onPublish={handlePublish}\n overrides={{\n headerActions: () => (\n <EditorToolbar\n saving={saving}\n isDirty={hasUnsavedChanges}\n states={states}\n onSave={() => void handleSave()}\n onPublish={() => void handlePublish(activeData as Data)}\n onRevert={() => void handleRevert()}\n showPublishButton={showPublishButton}\n />\n ),\n components: ({ children }) => <ComponentsPanel>{children}</ComponentsPanel>,\n componentItem: ({ children, name }) => (\n <ComponentItemFilter name={name}>{children}</ComponentItemFilter>\n ),\n }}\n />\n </ComponentSearchProvider>\n );\n};\n\n// ---------------------------------------------------------------------------\n// Public component (self-contained, wraps PuckApiProvider)\n// ---------------------------------------------------------------------------\n\nexport interface PuckEditorProps {\n /** Service base URL, e.g. \"http://localhost:8080\" */\n baseURL: string;\n /** CommerceTools project key */\n projectKey: string;\n /** Business unit key */\n businessUnitKey: string;\n /** JWT bearer token — required for save/publish mutations */\n jwtToken: string;\n /** The key of the puck page to edit */\n pageKey: string;\n /**\n * Puck component config.\n * Defaults to `defaultPuckConfig` (all built-in components).\n * Consumers can extend or replace.\n */\n config?: Config;\n /** Called after a successful publish */\n onPublish?: (puckData: PuckData) => void;\n /** Called after each auto-save */\n onSave?: (puckData: PuckData) => void;\n /** Called when an error occurs */\n onError?: (error: Error) => void;\n /** Show the Publish button in the toolbar. Default: true */\n showPublishButton?: boolean;\n /** Debounce delay for auto-save in ms. Default: 1500 */\n autoSaveDebounceMs?: number;\n}\n\nexport const PuckEditor: React.FC<PuckEditorProps> = ({\n baseURL,\n projectKey,\n businessUnitKey,\n jwtToken,\n pageKey,\n config = defaultPuckConfig,\n onPublish,\n onSave,\n onError,\n showPublishButton = true,\n autoSaveDebounceMs = 1500,\n}) => {\n return (\n <PuckApiProvider\n baseURL={baseURL}\n projectKey={projectKey}\n businessUnitKey={businessUnitKey}\n jwtToken={jwtToken}\n >\n <PuckEditorInner\n pageKey={pageKey}\n config={config}\n onPublish={onPublish}\n onSave={onSave}\n onError={onError}\n showPublishButton={showPublishButton}\n autoSaveDebounceMs={autoSaveDebounceMs}\n />\n </PuckApiProvider>\n );\n};\n","import React from 'react';\nimport { type Config } from '@measured/puck';\nimport { Hero } from '../components/Hero';\nimport { RichText } from '../components/RichText';\nimport { Columns } from '../components/Columns';\nimport { Image } from '../components/Image';\nimport { Button } from '../components/Button';\nimport { Card } from '../components/Card';\nimport { Spacer } from '../components/Spacer';\nimport { ProductTeaser } from '../components/ProductTeaser';\nimport {\n HeroBanner, TextBlock, CategoryGrid, CategoryHero,\n CheckoutPromoBanner, CountdownBanner, CrossSellBlock, DeliveryMessage,\n Divider, EmptyState, FAQAccordion, FooterBlock, ImageBlock,\n NewsletterSignup, ProductBanner, ProductGridHeader, ProductSlider,\n PromotionalBanner, RelatedProductsSlider, SocialLinks, TabContent,\n TestimonialsSlider, ThankYouContent, TrustBadges, VideoBlock, WebsiteLogo,\n} from '../components/cms';\n\n/**\n * Default Puck configuration with built-in components.\n *\n * Consumers can extend this:\n * ```ts\n * import { defaultPuckConfig } from '@commercetools-demo/puck-editor';\n * const myConfig = {\n * ...defaultPuckConfig,\n * components: { ...defaultPuckConfig.components, MyComponent },\n * };\n * ```\n */\nexport const defaultPuckConfig: Config = {\n components: {\n Hero,\n RichText,\n Columns,\n Image,\n Button,\n Card,\n Spacer,\n ProductTeaser,\n // CMS components\n HeroBanner, TextBlock, CategoryGrid, CategoryHero,\n CheckoutPromoBanner, CountdownBanner, CrossSellBlock, DeliveryMessage,\n Divider, EmptyState, FAQAccordion, FooterBlock, ImageBlock,\n NewsletterSignup, ProductBanner, ProductGridHeader, ProductSlider,\n PromotionalBanner, RelatedProductsSlider, SocialLinks, TabContent,\n TestimonialsSlider, ThankYouContent, TrustBadges, VideoBlock, WebsiteLogo,\n },\n root: {\n fields: {\n title: { type: 'text', label: 'Page Title' },\n backgroundColor: { type: 'text', label: 'Background Color (CSS)' },\n },\n defaultProps: {\n title: 'New Page',\n backgroundColor: '#ffffff',\n },\n render: ({ children, backgroundColor }) =>\n React.createElement(\n 'div',\n {\n style: {\n background: backgroundColor ?? '#ffffff',\n minHeight: '100vh',\n fontFamily:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif',\n },\n },\n children\n ),\n },\n};\n","import React from 'react';\nimport type { ComponentConfig } from '@measured/puck';\n\nexport interface HeroProps {\n heading: string;\n subheading?: string;\n backgroundImage?: string;\n ctaText?: string;\n ctaUrl?: string;\n layout?: 'centered' | 'left-aligned';\n minHeight?: string;\n}\n\nexport const Hero: ComponentConfig<HeroProps> = {\n label: 'Hero',\n fields: {\n heading: { type: 'text', label: 'Heading' },\n subheading: { type: 'textarea', label: 'Subheading' },\n backgroundImage: { type: 'text', label: 'Background Image URL' },\n ctaText: { type: 'text', label: 'CTA Button Text' },\n ctaUrl: { type: 'text', label: 'CTA Button URL' },\n layout: {\n type: 'select',\n label: 'Layout',\n options: [\n { value: 'centered', label: 'Centered' },\n { value: 'left-aligned', label: 'Left Aligned' },\n ],\n },\n minHeight: { type: 'text', label: 'Min Height (CSS, e.g. 400px)' },\n },\n defaultProps: {\n heading: 'Welcome',\n layout: 'centered',\n minHeight: '400px',\n },\n render: ({\n heading,\n subheading,\n backgroundImage,\n ctaText,\n ctaUrl,\n layout,\n minHeight,\n }) => {\n const isCenter = layout !== 'left-aligned';\n return (\n <section\n style={{\n position: 'relative',\n minHeight: minHeight ?? '400px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: isCenter ? 'center' : 'flex-start',\n padding: '48px 32px',\n backgroundImage: backgroundImage\n ? `url(${backgroundImage})`\n : undefined,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n backgroundColor: backgroundImage ? undefined : '#1a1a2e',\n color: '#fff',\n boxSizing: 'border-box',\n }}\n >\n {backgroundImage && (\n <div\n style={{\n position: 'absolute',\n inset: 0,\n background: 'rgba(0,0,0,0.45)',\n }}\n />\n )}\n <div\n style={{\n position: 'relative',\n maxWidth: '720px',\n textAlign: isCenter ? 'center' : 'left',\n }}\n >\n <h1 style={{ margin: '0 0 16px', fontSize: '2.5rem', fontWeight: 700 }}>\n {heading}\n </h1>\n {subheading && (\n <p style={{ margin: '0 0 24px', fontSize: '1.2rem', opacity: 0.85 }}>\n {subheading}\n </p>\n )}\n {ctaText && ctaUrl && (\n <a\n href={ctaUrl}\n style={{\n display: 'inline-block',\n padding: '12px 28px',\n background: '#e94560',\n color: '#fff',\n borderRadius: '4px',\n textDecoration: 'none',\n fontWeight: 600,\n }}\n >\n {ctaText}\n </a>\n )}\n </div>\n </section>\n );\n },\n};\n","import React from 'react';\nimport type { ComponentConfig } from '@measured/puck';\n\nexport interface RichTextProps {\n content: string;\n align?: 'left' | 'center' | 'right';\n maxWidth?: string;\n padding?: string;\n}\n\nexport const RichText: ComponentConfig<RichTextProps> = {\n label: 'Rich Text',\n fields: {\n content: {\n type: 'textarea',\n label: 'Content (HTML supported)',\n },\n align: {\n type: 'select',\n label: 'Text Alignment',\n options: [\n { value: 'left', label: 'Left' },\n { value: 'center', label: 'Center' },\n { value: 'right', label: 'Right' },\n ],\n },\n maxWidth: { type: 'text', label: 'Max Width (CSS)' },\n padding: { type: 'text', label: 'Padding (CSS)' },\n },\n defaultProps: {\n content: '<p>Add your content here…</p>',\n align: 'left',\n padding: '32px',\n },\n render: ({ content, align, maxWidth, padding }) => (\n <div\n style={{\n padding: padding ?? '32px',\n textAlign: align ?? 'left',\n maxWidth: maxWidth,\n margin: maxWidth ? '0 auto' : undefined,\n boxSizing: 'border-box',\n }}\n // Puck stores raw HTML for rich text fields; this is controlled editor input\n dangerouslySetInnerHTML={{ __html: content }}\n />\n ),\n};\n","import React from 'react';\nimport { DropZone, type ComponentConfig } from '@measured/puck';\n\nexport interface ColumnsProps {\n columnCount?: 2 | 3 | 4;\n gap?: string;\n padding?: string;\n}\n\nexport const Columns: ComponentConfig<ColumnsProps> = {\n label: 'Columns',\n fields: {\n columnCount: {\n type: 'select',\n label: 'Number of Columns',\n options: [\n { value: 2, label: '2 Columns' },\n { value: 3, label: '3 Columns' },\n { value: 4, label: '4 Columns' },\n ],\n },\n gap: { type: 'text', label: 'Column Gap (CSS)' },\n padding: { type: 'text', label: 'Padding (CSS)' },\n },\n defaultProps: {\n columnCount: 2,\n gap: '16px',\n padding: '16px',\n },\n render: ({ columnCount = 2, gap = '16px', padding = '16px' }) => {\n const cols = Array.from({ length: columnCount }, (_, i) => i);\n return (\n <div\n style={{\n display: 'grid',\n gridTemplateColumns: `repeat(${columnCount}, 1fr)`,\n gap,\n padding,\n boxSizing: 'border-box',\n }}\n >\n {cols.map((i) => (\n <div key={i}>\n <DropZone zone={`column-${i}`} />\n </div>\n ))}\n </div>\n );\n },\n};\n","import React, {\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { useMediaLibrary } from '@commercetools-demo/puck-api';\nimport type { MediaFile } from '@commercetools-demo/puck-types';\n\n// ---------------------------------------------------------------------------\n// Inline styles (no external styling deps — this runs inside the Puck editor)\n// ---------------------------------------------------------------------------\n\nconst s = {\n root: {\n display: 'flex',\n flexDirection: 'column' as const,\n gap: '8px',\n fontFamily: 'inherit',\n fontSize: '13px',\n },\n preview: {\n display: 'flex',\n alignItems: 'center',\n gap: '10px',\n padding: '8px',\n border: '1px solid #d1d5db',\n borderRadius: '6px',\n background: '#f9fafb',\n },\n previewImg: {\n width: '48px',\n height: '48px',\n objectFit: 'cover' as const,\n borderRadius: '4px',\n flexShrink: 0,\n },\n previewInfo: { flex: 1, minWidth: 0 },\n previewUrl: {\n fontSize: '12px',\n color: '#374151',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap' as const,\n },\n btnRow: { display: 'flex', gap: '6px', flexWrap: 'wrap' as const },\n btn: (primary?: boolean): React.CSSProperties => ({\n padding: '5px 12px',\n borderRadius: '4px',\n border: primary ? 'none' : '1px solid #d1d5db',\n background: primary ? '#1a1a2e' : '#fff',\n color: primary ? '#fff' : '#374151',\n fontWeight: 500,\n fontSize: '12px',\n cursor: 'pointer',\n whiteSpace: 'nowrap',\n }),\n dangerBtn: {\n padding: '5px 12px',\n borderRadius: '4px',\n border: '1px solid #fca5a5',\n background: '#fff',\n color: '#dc2626',\n fontWeight: 500,\n fontSize: '12px',\n cursor: 'pointer',\n } as React.CSSProperties,\n // Modal\n overlay: {\n position: 'fixed' as const,\n inset: 0,\n background: 'rgba(0,0,0,0.5)',\n zIndex: 9999,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n modal: {\n background: '#fff',\n borderRadius: '8px',\n width: '640px',\n maxWidth: '95vw',\n maxHeight: '85vh',\n display: 'flex',\n flexDirection: 'column' as const,\n boxShadow: '0 20px 60px rgba(0,0,0,0.3)',\n },\n modalHeader: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '16px 20px',\n borderBottom: '1px solid #e5e7eb',\n },\n modalTitle: { margin: 0, fontSize: '16px', fontWeight: 600 },\n modalClose: {\n background: 'none',\n border: 'none',\n fontSize: '20px',\n cursor: 'pointer',\n color: '#6b7280',\n lineHeight: 1,\n },\n modalBody: {\n flex: 1,\n overflow: 'auto',\n padding: '20px',\n },\n modalFooter: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: '12px 20px',\n borderTop: '1px solid #e5e7eb',\n gap: '12px',\n },\n // Upload form\n formGroup: {\n display: 'flex',\n flexDirection: 'column' as const,\n gap: '4px',\n marginBottom: '12px',\n },\n label: { fontSize: '12px', fontWeight: 600, color: '#374151' },\n input: {\n padding: '7px 10px',\n border: '1px solid #d1d5db',\n borderRadius: '4px',\n fontSize: '13px',\n width: '100%',\n boxSizing: 'border-box' as const,\n },\n dropZone: {\n border: '2px dashed #d1d5db',\n borderRadius: '6px',\n padding: '24px',\n textAlign: 'center' as const,\n cursor: 'pointer',\n color: '#6b7280',\n fontSize: '13px',\n transition: 'border-color .2s',\n },\n dropZoneActive: {\n border: '2px dashed #3b82f6',\n borderRadius: '6px',\n padding: '24px',\n textAlign: 'center' as const,\n cursor: 'pointer',\n color: '#3b82f6',\n fontSize: '13px',\n },\n // Media grid\n grid: {\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fill, minmax(110px, 1fr))',\n gap: '12px',\n marginTop: '4px',\n },\n gridItem: (selected: boolean): React.CSSProperties => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n cursor: 'pointer',\n border: `2px solid ${selected ? '#3b82f6' : 'transparent'}`,\n borderRadius: '6px',\n padding: '6px',\n background: selected ? 'rgba(59,130,246,0.07)' : '#f9fafb',\n }),\n thumb: {\n width: '80px',\n height: '80px',\n objectFit: 'cover' as const,\n borderRadius: '4px',\n background: '#e5e7eb',\n },\n thumbPlaceholder: {\n width: '80px',\n height: '80px',\n borderRadius: '4px',\n background: '#e5e7eb',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '28px',\n },\n itemName: {\n marginTop: '6px',\n fontSize: '11px',\n textAlign: 'center' as const,\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap' as const,\n color: '#374151',\n },\n pagination: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n gap: '12px',\n marginTop: '16px',\n fontSize: '12px',\n color: '#6b7280',\n },\n errorMsg: {\n fontSize: '12px',\n color: '#dc2626',\n marginTop: '4px',\n },\n selectedInfo: {\n flex: 1,\n fontSize: '12px',\n color: '#374151',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap' as const,\n },\n} as const;\n\n// ---------------------------------------------------------------------------\n// Upload modal\n// ---------------------------------------------------------------------------\n\ninterface UploadModalProps {\n uploading: boolean;\n error: string | null;\n onUpload: (file: File, title: string, description: string) => void;\n onClose: () => void;\n}\n\nconst UploadModal: React.FC<UploadModalProps> = ({\n uploading,\n error,\n onUpload,\n onClose,\n}) => {\n const [file, setFile] = useState<File | null>(null);\n const [title, setTitle] = useState('');\n const [description, setDescription] = useState('');\n const [dragging, setDragging] = useState(false);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleFile = (f: File) => {\n setFile(f);\n if (!title) setTitle(f.name);\n };\n\n const handleDrop = (e: React.DragEvent) => {\n e.preventDefault();\n setDragging(false);\n const f = e.dataTransfer.files[0];\n if (f) handleFile(f);\n };\n\n return (\n <div style={s.overlay} onClick={(e) => e.target === e.currentTarget && onClose()}>\n <div style={s.modal}>\n <div style={s.modalHeader}>\n <h3 style={s.modalTitle}>Upload a file</h3>\n <button style={s.modalClose} onClick={onClose}>×</button>\n </div>\n <div style={s.modalBody}>\n <div style={s.formGroup}>\n <label style={s.label}>Title</label>\n <input\n style={s.input}\n value={title}\n onChange={(e) => setTitle(e.target.value)}\n placeholder=\"File title\"\n />\n </div>\n <div style={s.formGroup}>\n <label style={s.label}>Description</label>\n <input\n style={s.input}\n value={description}\n onChange={(e) => setDescription(e.target.value)}\n placeholder=\"Optional description\"\n />\n </div>\n <div\n style={dragging ? s.dropZoneActive : s.dropZone}\n onClick={() => inputRef.current?.click()}\n onDragOver={(e) => { e.preventDefault(); setDragging(true); }}\n onDragLeave={() => setDragging(false)}\n onDrop={handleDrop}\n >\n {file ? (\n <>\n <div>📎 {file.name}</div>\n <div style={{ fontSize: '11px', marginTop: '4px', color: '#9ca3af' }}>\n {(file.size / 1024).toFixed(0)} KB\n </div>\n </>\n ) : (\n <>\n <div>📁 Click or drag & drop to select a file</div>\n </>\n )}\n <input\n ref={inputRef}\n type=\"file\"\n accept=\"image/*\"\n style={{ display: 'none' }}\n onChange={(e) => {\n const f = e.target.files?.[0];\n if (f) handleFile(f);\n }}\n />\n </div>\n {error && <div style={s.errorMsg}>{error}</div>}\n </div>\n <div style={s.modalFooter}>\n <span style={s.selectedInfo}>{file?.name ?? 'No file selected'}</span>\n <div style={s.btnRow}>\n <button style={s.btn()} onClick={onClose}>Cancel</button>\n <button\n style={s.btn(true)}\n disabled={!file || uploading}\n onClick={() => file && onUpload(file, title, description)}\n >\n {uploading ? 'Uploading…' : 'Upload'}\n </button>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\n// ---------------------------------------------------------------------------\n// Library modal\n// ---------------------------------------------------------------------------\n\ninterface LibraryModalProps {\n files: MediaFile[];\n pagination: { currentPage: number; totalPages: number };\n loading: boolean;\n error: string | null;\n onNextPage: () => void;\n onPrevPage: () => void;\n onSelect: (file: MediaFile) => void;\n onClose: () => void;\n}\n\nconst LibraryModal: React.FC<LibraryModalProps> = ({\n files,\n pagination,\n loading,\n error,\n onNextPage,\n onPrevPage,\n onSelect,\n onClose,\n}) => {\n const [selected, setSelected] = useState<MediaFile | null>(null);\n\n const handleConfirm = () => {\n if (selected) onSelect(selected);\n };\n\n return (\n <div style={s.overlay} onClick={(e) => e.target === e.currentTarget && onClose()}>\n <div style={s.modal}>\n <div style={s.modalHeader}>\n <h3 style={s.modalTitle}>Select from Media Library</h3>\n <button style={s.modalClose} onClick={onClose}>×</button>\n </div>\n <div style={s.modalBody}>\n {loading ? (\n <div style={{ color: '#6b7280', fontSize: '13px' }}>Loading…</div>\n ) : files.length === 0 ? (\n <div style={{ color: '#6b7280', fontSize: '13px' }}>No files found.</div>\n ) : (\n <>\n <div style={s.grid}>\n {files.map((file) => (\n <div\n key={file.url}\n style={s.gridItem(selected?.url === file.url)}\n onClick={() => setSelected(file)}\n title={file.title ?? file.name}\n >\n {file.isImage ? (\n <img src={file.url} alt={file.name} style={s.thumb} />\n ) : (\n <div style={s.thumbPlaceholder}>📄</div>\n )}\n <div style={s.itemName}>{file.title ?? file.name}</div>\n </div>\n ))}\n </div>\n {pagination.totalPages > 1 && (\n <div style={s.pagination}>\n <button\n style={s.btn()}\n disabled={pagination.currentPage <= 1}\n onClick={onPrevPage}\n >\n ← Prev\n </button>\n <span>{pagination.currentPage} / {pagination.totalPages}</span>\n <button\n style={s.btn()}\n disabled={pagination.currentPage >= pagination.totalPages}\n onClick={onNextPage}\n >\n Next →\n </button>\n </div>\n )}\n </>\n )}\n {error && <div style={s.errorMsg}>{error}</div>}\n </div>\n <div style={s.modalFooter}>\n <span style={s.selectedInfo}>\n {selected ? (selected.title ?? selected.name) : 'Nothing selected'}\n </span>\n <div style={s.btnRow}>\n <button style={s.btn()} onClick={onClose}>Cancel</button>\n <button\n style={s.btn(true)}\n disabled={!selected}\n onClick={handleConfirm}\n >\n Select\n </button>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\n// ---------------------------------------------------------------------------\n// ImagePickerField — the Puck custom field component\n// ---------------------------------------------------------------------------\n\nexport interface ImagePickerFieldProps {\n value: string;\n onChange: (value: string) => void;\n /** Only show images (default: true) */\n imagesOnly?: boolean;\n}\n\nexport const ImagePickerField: React.FC<ImagePickerFieldProps> = ({\n value,\n onChange,\n imagesOnly = true,\n}) => {\n const {\n files,\n pagination,\n loading,\n uploading,\n error,\n fetchMedia,\n uploadFile,\n loadNextPage,\n loadPreviousPage,\n } = useMediaLibrary();\n\n const [showUpload, setShowUpload] = useState(false);\n const [showLibrary, setShowLibrary] = useState(false);\n\n const extensions = imagesOnly ? ['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg'] : [];\n\n const openLibrary = useCallback(() => {\n void fetchMedia(extensions, 1, 20);\n setShowLibrary(true);\n }, [fetchMedia, extensions]);\n\n const handleUpload = useCallback(\n async (file: File, title: string, description: string) => {\n const mediaFile = await uploadFile(file, title, description);\n onChange(mediaFile.url);\n setShowUpload(false);\n },\n [uploadFile, onChange]\n );\n\n const handleSelect = useCallback(\n (file: MediaFile) => {\n onChange(file.url);\n setShowLibrary(false);\n },\n [onChange]\n );\n\n // Close modals on Escape\n useEffect(() => {\n const onKey = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n setShowUpload(false);\n setShowLibrary(false);\n }\n };\n window.addEventListener('keydown', onKey);\n return () => window.removeEventListener('keydown', onKey);\n }, []);\n\n return (\n <div style={s.root}>\n {value ? (\n <div style={s.preview}>\n <img src={value} alt=\"\" style={s.previewImg} />\n <div style={s.previewInfo}>\n <div style={s.previewUrl}>{value}</div>\n </div>\n <button style={s.dangerBtn} onClick={() => onChange('')}>\n Remove\n </button>\n </div>\n ) : (\n <div style={{ color: '#9ca3af', fontSize: '12px', padding: '4px 0' }}>\n No image selected\n </div>\n )}\n\n <div style={s.btnRow}>\n <button style={s.btn()} onClick={() => setShowUpload(true)}>\n Upload\n </button>\n <button style={s.btn(true)} onClick={openLibrary}>\n Media Library\n </button>\n </div>\n\n {showUpload && (\n <UploadModal\n uploading={uploading}\n error={error}\n onUpload={(file, title, desc) => void handleUpload(file, title, desc)}\n onClose={() => setShowUpload(false)}\n />\n )}\n\n {showLibrary && (\n <LibraryModal\n files={files}\n pagination={pagination}\n loading={loading}\n error={error}\n onNextPage={() => void loadNextPage(extensions)}\n onPrevPage={() => void loadPreviousPage(extensions)}\n onSelect={handleSelect}\n onClose={() => setShowLibrary(false)}\n />\n )}\n </div>\n );\n};\n","import React from 'react';\nimport type { ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../fields/ImagePickerField';\n\nexport interface ImageProps {\n src: string;\n alt?: string;\n caption?: string;\n width?: string;\n height?: string;\n objectFit?: 'cover' | 'contain' | 'fill';\n borderRadius?: string;\n align?: 'left' | 'center' | 'right';\n}\n\nexport const Image: ComponentConfig<ImageProps> = {\n label: 'Image',\n fields: {\n src: {\n type: 'custom',\n label: 'Image',\n render: ({ value, onChange }) => (\n <ImagePickerField\n value={value as string}\n onChange={onChange}\n imagesOnly={true}\n />\n ),\n },\n alt: { type: 'text', label: 'Alt Text' },\n caption: { type: 'text', label: 'Caption' },\n width: { type: 'text', label: 'Width (CSS, e.g. 100%)' },\n height: { type: 'text', label: 'Height (CSS, e.g. 300px)' },\n objectFit: {\n type: 'select',\n label: 'Object Fit',\n options: [\n { value: 'cover', label: 'Cover' },\n { value: 'contain', label: 'Contain' },\n { value: 'fill', label: 'Fill' },\n ],\n },\n borderRadius: { type: 'text', label: 'Border Radius (CSS)' },\n align: {\n type: 'select',\n label: 'Alignment',\n options: [\n { value: 'left', label: 'Left' },\n { value: 'center', label: 'Center' },\n { value: 'right', label: 'Right' },\n ],\n },\n },\n defaultProps: {\n src: '',\n alt: '',\n width: '100%',\n objectFit: 'cover',\n align: 'center',\n },\n render: ({ src, alt, caption, width, height, objectFit, borderRadius, align }) => (\n <figure\n style={{\n margin: 0,\n padding: '16px',\n textAlign: align ?? 'center',\n boxSizing: 'border-box',\n }}\n >\n {src ? (\n <img\n src={src}\n alt={alt ?? ''}\n style={{\n width: width ?? '100%',\n height: height,\n objectFit: objectFit ?? 'cover',\n borderRadius,\n display: 'inline-block',\n maxWidth: '100%',\n }}\n />\n ) : (\n <div\n style={{\n width: width ?? '100%',\n height: height ?? '200px',\n background: '#e0e0e0',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: '#888',\n fontSize: '14px',\n borderRadius,\n }}\n >\n No image selected\n </div>\n )}\n {caption && (\n <figcaption\n style={{ marginTop: '8px', fontSize: '14px', color: '#666' }}\n >\n {caption}\n </figcaption>\n )}\n </figure>\n ),\n};\n","import React from 'react';\nimport type { ComponentConfig } from '@measured/puck';\n\nexport interface ButtonProps {\n label: string;\n href?: string;\n variant?: 'primary' | 'secondary' | 'outline';\n size?: 'sm' | 'md' | 'lg';\n align?: 'left' | 'center' | 'right';\n openInNewTab?: boolean;\n}\n\nconst VARIANT_STYLES: Record<string, React.CSSProperties> = {\n primary: { background: '#1a1a2e', color: '#fff', border: '2px solid #1a1a2e' },\n secondary: { background: '#e94560', color: '#fff', border: '2px solid #e94560' },\n outline: { background: 'transparent', color: '#1a1a2e', border: '2px solid #1a1a2e' },\n};\n\nconst SIZE_STYLES: Record<string, React.CSSProperties> = {\n sm: { padding: '6px 16px', fontSize: '14px' },\n md: { padding: '10px 24px', fontSize: '16px' },\n lg: { padding: '14px 32px', fontSize: '18px' },\n};\n\nexport const Button: ComponentConfig<ButtonProps> = {\n label: 'Button',\n fields: {\n label: { type: 'text', label: 'Button Label' },\n href: { type: 'text', label: 'Link URL' },\n variant: {\n type: 'select',\n label: 'Variant',\n options: [\n { value: 'primary', label: 'Primary' },\n { value: 'secondary', label: 'Secondary' },\n { value: 'outline', label: 'Outline' },\n ],\n },\n size: {\n type: 'select',\n label: 'Size',\n options: [\n { value: 'sm', label: 'Small' },\n { value: 'md', label: 'Medium' },\n { value: 'lg', label: 'Large' },\n ],\n },\n align: {\n type: 'select',\n label: 'Alignment',\n options: [\n { value: 'left', label: 'Left' },\n { value: 'center', label: 'Center' },\n { value: 'right', label: 'Right' },\n ],\n },\n openInNewTab: { type: 'radio', label: 'Open in New Tab', options: [\n { value: true, label: 'Yes' },\n { value: false, label: 'No' },\n ]},\n },\n defaultProps: {\n label: 'Click me',\n variant: 'primary',\n size: 'md',\n align: 'left',\n openInNewTab: false,\n },\n render: ({ label, href, variant = 'primary', size = 'md', align = 'left', openInNewTab }) => (\n <div style={{ padding: '12px 16px', textAlign: align, boxSizing: 'border-box' }}>\n <a\n href={href ?? '#'}\n target={openInNewTab ? '_blank' : undefined}\n rel={openInNewTab ? 'noopener noreferrer' : undefined}\n style={{\n display: 'inline-block',\n borderRadius: '4px',\n textDecoration: 'none',\n fontWeight: 600,\n cursor: 'pointer',\n ...VARIANT_STYLES[variant],\n ...SIZE_STYLES[size],\n }}\n >\n {label}\n </a>\n </div>\n ),\n};\n","import React from 'react';\nimport type { ComponentConfig } from '@measured/puck';\n\nexport interface CardProps {\n title: string;\n body?: string;\n imageUrl?: string;\n ctaText?: string;\n ctaUrl?: string;\n shadow?: boolean;\n borderRadius?: string;\n}\n\nexport const Card: ComponentConfig<CardProps> = {\n label: 'Card',\n fields: {\n title: { type: 'text', label: 'Title' },\n body: { type: 'textarea', label: 'Body Text' },\n imageUrl: { type: 'text', label: 'Image URL' },\n ctaText: { type: 'text', label: 'CTA Text' },\n ctaUrl: { type: 'text', label: 'CTA URL' },\n shadow: {\n type: 'radio',\n label: 'Drop Shadow',\n options: [\n { value: true, label: 'Yes' },\n { value: false, label: 'No' },\n ],\n },\n borderRadius: { type: 'text', label: 'Border Radius (CSS)' },\n },\n defaultProps: {\n title: 'Card Title',\n body: 'Card description goes here.',\n shadow: true,\n borderRadius: '8px',\n },\n render: ({ title, body, imageUrl, ctaText, ctaUrl, shadow, borderRadius }) => (\n <div\n style={{\n border: '1px solid #e0e0e0',\n borderRadius: borderRadius ?? '8px',\n overflow: 'hidden',\n boxShadow: shadow ? '0 2px 8px rgba(0,0,0,0.12)' : undefined,\n background: '#fff',\n margin: '8px',\n boxSizing: 'border-box',\n }}\n >\n {imageUrl && (\n <img\n src={imageUrl}\n alt={title}\n style={{ width: '100%', height: '200px', objectFit: 'cover', display: 'block' }}\n />\n )}\n <div style={{ padding: '16px' }}>\n <h3 style={{ margin: '0 0 8px', fontSize: '1.1rem' }}>{title}</h3>\n {body && <p style={{ margin: '0 0 16px', color: '#555', fontSize: '14px' }}>{body}</p>}\n {ctaText && ctaUrl && (\n <a\n href={ctaUrl}\n style={{\n color: '#e94560',\n fontWeight: 600,\n textDecoration: 'none',\n fontSize: '14px',\n }}\n >\n {ctaText} →\n </a>\n )}\n </div>\n </div>\n ),\n};\n","import React from 'react';\nimport type { ComponentConfig } from '@measured/puck';\n\nexport interface SpacerProps {\n height?: string;\n showLine?: boolean;\n lineColor?: string;\n}\n\nexport const Spacer: ComponentConfig<SpacerProps> = {\n label: 'Spacer',\n fields: {\n height: { type: 'text', label: 'Height (CSS, e.g. 48px)' },\n showLine: {\n type: 'radio',\n label: 'Show Divider Line',\n options: [\n { value: true, label: 'Yes' },\n { value: false, label: 'No' },\n ],\n },\n lineColor: { type: 'text', label: 'Line Color (CSS color)' },\n },\n defaultProps: {\n height: '48px',\n showLine: false,\n lineColor: '#e0e0e0',\n },\n render: ({ height = '48px', showLine = false, lineColor = '#e0e0e0' }) => (\n <div\n style={{\n height,\n display: 'flex',\n alignItems: 'center',\n padding: '0 16px',\n boxSizing: 'border-box',\n }}\n >\n {showLine && (\n <hr style={{ width: '100%', border: 'none', borderTop: `1px solid ${lineColor}` }} />\n )}\n </div>\n ),\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { useDatasource } from '@commercetools-demo/puck-api';\nimport { DatasourceField, type DatasourceValue } from '../fields/DatasourceField';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface ProductTeaserProps {\n datasource: DatasourceValue;\n richText: string;\n}\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\ninterface ProductProjection {\n name?: Record<string, string>;\n masterVariant?: {\n images?: Array<{ url: string }>;\n prices?: Array<{\n value: { centAmount: number; currencyCode: string; fractionDigits: number };\n }>;\n };\n}\n\nconst getLocalizedName = (name?: Record<string, string>): string => {\n if (!name) return '';\n return name['en'] ?? name['en-US'] ?? Object.values(name)[0] ?? '';\n};\n\nconst formatPrice = (\n centAmount: number,\n currencyCode: string,\n fractionDigits: number\n): string => {\n const amount = centAmount / Math.pow(10, fractionDigits);\n return `${currencyCode} ${amount.toFixed(fractionDigits)}`;\n};\n\n// ---------------------------------------------------------------------------\n// Render — a proper React component so hooks work\n// ---------------------------------------------------------------------------\n\nconst ProductTeaserRender: React.FC<ProductTeaserProps> = ({\n datasource,\n richText,\n}) => {\n // Skip the hook fetch when the server has already pre-resolved the data.\n const hasPreResolved = datasource?.resolvedData != null;\n const { data: fetchedData, loading, error } = useDatasource(\n hasPreResolved ? undefined : datasource?.type,\n hasPreResolved ? [] : (datasource?.skus ?? [])\n );\n\n const data = hasPreResolved ? datasource.resolvedData : fetchedData;\n\n // For products-by-sku the service returns an array; for product-by-sku a single object.\n const product: ProductProjection | null = data\n ? Array.isArray(data)\n ? (data[0] as ProductProjection) ?? null\n : (data as ProductProjection)\n : null;\n\n const imageUrl = product?.masterVariant?.images?.[0]?.url;\n const priceValue = product?.masterVariant?.prices?.[0]?.value;\n const productName = getLocalizedName(product?.name);\n\n return (\n <div\n style={{\n display: 'flex',\n gap: '24px',\n padding: '16px',\n alignItems: 'flex-start',\n fontFamily: 'inherit',\n }}\n >\n {/* Left: product image */}\n <div style={{ flexShrink: 0, width: '200px' }}>\n {loading ? (\n <div\n style={{\n width: '200px',\n height: '200px',\n background: '#f3f4f6',\n borderRadius: '8px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: '#9ca3af',\n fontSize: '13px',\n }}\n >\n Loading…\n </div>\n ) : imageUrl ? (\n <img\n src={imageUrl}\n alt={productName}\n style={{\n width: '200px',\n height: '200px',\n objectFit: 'cover',\n borderRadius: '8px',\n display: 'block',\n }}\n />\n ) : (\n <div\n style={{\n width: '200px',\n height: '200px',\n background: '#f3f4f6',\n borderRadius: '8px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: '#9ca3af',\n fontSize: '13px',\n }}\n >\n {error ? 'Error loading product' : 'No product selected'}\n </div>\n )}\n </div>\n\n {/* Right: rich text + price stacked */}\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n gap: '12px',\n flex: 1,\n minWidth: 0,\n }}\n >\n {richText ? (\n <div dangerouslySetInnerHTML={{ __html: richText }} />\n ) : (\n <div style={{ color: '#9ca3af', fontSize: '13px' }}>\n No description\n </div>\n )}\n\n {priceValue && (\n <div\n style={{\n fontSize: '20px',\n fontWeight: 700,\n color: '#111827',\n }}\n >\n {formatPrice(\n priceValue.centAmount,\n priceValue.currencyCode,\n priceValue.fractionDigits\n )}\n </div>\n )}\n </div>\n </div>\n );\n};\n\n// ---------------------------------------------------------------------------\n// Puck component config\n// ---------------------------------------------------------------------------\n\nexport const ProductTeaser: ComponentConfig<ProductTeaserProps> = {\n label: 'Product Teaser',\n fields: {\n datasource: {\n type: 'custom',\n label: 'Product Datasource',\n render: ({ value, onChange }) => (\n <DatasourceField value={value} onChange={onChange} />\n ),\n },\n richText: {\n type: 'textarea',\n label: 'Rich Text (HTML)',\n },\n },\n defaultProps: {\n datasource: { type: 'product-by-sku', skus: [''] },\n richText: '',\n },\n render: (props) => <ProductTeaserRender {...props} />,\n};\n","import React, { useState } from 'react';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport type DatasourceType = 'product-by-sku' | 'products-by-sku';\n\nexport interface DatasourceValue {\n type: DatasourceType;\n skus: string[];\n /** Pre-resolved by the server on published/preview endpoints — use directly in render. */\n resolvedData?: unknown;\n}\n\nexport interface DatasourceFieldProps {\n value: DatasourceValue | undefined;\n onChange: (value: DatasourceValue) => void;\n}\n\n// ---------------------------------------------------------------------------\n// Inline styles\n// ---------------------------------------------------------------------------\n\nconst s = {\n root: {\n display: 'flex',\n flexDirection: 'column' as const,\n gap: '10px',\n fontFamily: 'inherit',\n fontSize: '13px',\n },\n label: { fontSize: '12px', fontWeight: 600, color: '#374151' } as React.CSSProperties,\n select: {\n width: '100%',\n padding: '7px 10px',\n border: '1px solid #d1d5db',\n borderRadius: '4px',\n fontSize: '13px',\n background: '#fff',\n boxSizing: 'border-box' as const,\n },\n skuRow: {\n display: 'flex',\n alignItems: 'center',\n gap: '6px',\n },\n input: {\n flex: 1,\n padding: '7px 10px',\n border: '1px solid #d1d5db',\n borderRadius: '4px',\n fontSize: '13px',\n boxSizing: 'border-box' as const,\n } as React.CSSProperties,\n removeBtn: {\n padding: '5px 8px',\n border: '1px solid #fca5a5',\n borderRadius: '4px',\n background: '#fff',\n color: '#dc2626',\n fontWeight: 600,\n fontSize: '13px',\n cursor: 'pointer',\n lineHeight: 1,\n flexShrink: 0,\n } as React.CSSProperties,\n addBtn: {\n padding: '5px 12px',\n border: '1px solid #d1d5db',\n borderRadius: '4px',\n background: '#fff',\n color: '#374151',\n fontWeight: 500,\n fontSize: '12px',\n cursor: 'pointer',\n alignSelf: 'flex-start' as const,\n } as React.CSSProperties,\n skuList: {\n display: 'flex',\n flexDirection: 'column' as const,\n gap: '6px',\n },\n};\n\n// ---------------------------------------------------------------------------\n// DatasourceField — custom Puck field component\n// ---------------------------------------------------------------------------\n\nconst EMPTY_VALUE: DatasourceValue = { type: 'product-by-sku', skus: [''] };\n\nexport const DatasourceField: React.FC<DatasourceFieldProps> = ({\n value,\n onChange,\n}) => {\n const current: DatasourceValue = value ?? EMPTY_VALUE;\n\n const handleTypeChange = (e: React.ChangeEvent<HTMLSelectElement>) => {\n const newType = e.target.value as DatasourceType;\n onChange({ type: newType, skus: newType === 'product-by-sku' ? [current.skus[0] ?? ''] : current.skus });\n };\n\n const handleSingleSkuChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange({ ...current, skus: [e.target.value] });\n };\n\n const handleMultiSkuChange = (index: number, val: string) => {\n const updated = [...current.skus];\n updated[index] = val;\n onChange({ ...current, skus: updated });\n };\n\n const addSku = () => {\n onChange({ ...current, skus: [...current.skus, ''] });\n };\n\n const removeSku = (index: number) => {\n const updated = current.skus.filter((_, i) => i !== index);\n onChange({ ...current, skus: updated.length > 0 ? updated : [''] });\n };\n\n return (\n <div style={s.root}>\n <div>\n <div style={s.label}>Datasource type</div>\n <select style={s.select} value={current.type} onChange={handleTypeChange}>\n <option value=\"product-by-sku\">Product by SKU</option>\n <option value=\"products-by-sku\">Products by SKU</option>\n </select>\n </div>\n\n {current.type === 'product-by-sku' ? (\n <div>\n <div style={s.label}>SKU</div>\n <input\n style={s.input}\n type=\"text\"\n placeholder=\"Enter product SKU\"\n value={current.skus[0] ?? ''}\n onChange={handleSingleSkuChange}\n />\n </div>\n ) : (\n <div>\n <div style={s.label}>SKUs</div>\n <div style={s.skuList}>\n {current.skus.map((sku, i) => (\n <div key={i} style={s.skuRow}>\n <input\n style={s.input}\n type=\"text\"\n placeholder={`SKU ${i + 1}`}\n value={sku}\n onChange={(e) => handleMultiSkuChange(i, e.target.value)}\n />\n <button\n style={s.removeBtn}\n onClick={() => removeSku(i)}\n title=\"Remove SKU\"\n >\n ×\n </button>\n </div>\n ))}\n <button style={s.addBtn} onClick={addSku}>\n + Add SKU\n </button>\n </div>\n </div>\n )}\n </div>\n );\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../../fields/ImagePickerField';\n\nexport interface HeroBannerProps {\n title: string;\n subtitle: string;\n image: string;\n}\n\nexport const HeroBanner: ComponentConfig<HeroBannerProps> = {\n label: 'Hero Banner',\n fields: {\n title: { type: 'text', label: 'Title' },\n subtitle: { type: 'text', label: 'Subtitle' },\n image: {\n type: 'custom',\n label: 'Image',\n render: ({ value, onChange }) => (\n <ImagePickerField value={value ?? ''} onChange={onChange} />\n ),\n },\n },\n defaultProps: { title: '', subtitle: '', image: '' },\n render: ({ title, subtitle, image }) => (\n <div\n style={{\n position: 'relative',\n width: '100%',\n paddingBottom: '56.25%',\n overflow: 'hidden',\n backgroundColor: '#f0f0f0',\n }}\n >\n {image && (\n <img\n src={image}\n alt={title || 'Hero banner'}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n objectPosition: 'center',\n }}\n />\n )}\n {/* dark overlay */}\n <div\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n background: 'rgba(0,0,0,0.3)',\n zIndex: 1,\n }}\n />\n <div\n style={{\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%,-50%)',\n textAlign: 'center',\n color: 'white',\n zIndex: 2,\n padding: '2rem',\n maxWidth: '90%',\n }}\n >\n {title && (\n <h1\n style={{\n fontSize: '3rem',\n fontWeight: 'bold',\n margin: '0 0 1rem 0',\n textShadow: '2px 2px 4px rgba(0,0,0,0.7)',\n }}\n >\n {title}\n </h1>\n )}\n {subtitle && (\n <p\n style={{\n fontSize: '1.25rem',\n margin: 0,\n textShadow: '1px 1px 2px rgba(0,0,0,0.7)',\n opacity: 0.95,\n }}\n >\n {subtitle}\n </p>\n )}\n </div>\n </div>\n ),\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface TextBlockProps {\n content: string;\n}\n\nexport const TextBlock: ComponentConfig<TextBlockProps> = {\n label: 'Text Block',\n fields: {\n content: { type: 'textarea', label: 'Content (HTML)' },\n },\n defaultProps: { content: '' },\n render: ({ content }) => {\n if (!content) return <></>;\n return (\n <div\n dangerouslySetInnerHTML={{ __html: content }}\n style={{\n maxWidth: '720px',\n margin: '0 auto',\n padding: '1.5rem 1rem',\n lineHeight: 1.6,\n color: '#333',\n }}\n />\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../../fields/ImagePickerField';\n\nexport interface CategoryGridProps {\n category1Image: string; category1Label: string; category1Link: string;\n category2Image: string; category2Label: string; category2Link: string;\n category3Image: string; category3Label: string; category3Link: string;\n category4Image: string; category4Label: string; category4Link: string;\n}\n\nconst imgField = (label: string) => ({\n type: 'custom' as const,\n label,\n render: ({ value, onChange }: { value: string; onChange: (v: string) => void }) => (\n <ImagePickerField value={value ?? ''} onChange={onChange} />\n ),\n});\n\nexport const CategoryGrid: ComponentConfig<CategoryGridProps> = {\n label: 'Category Grid',\n fields: {\n category1Image: imgField('Category 1 Image'),\n category1Label: { type: 'text', label: 'Category 1 Label' },\n category1Link: { type: 'text', label: 'Category 1 Link' },\n category2Image: imgField('Category 2 Image'),\n category2Label: { type: 'text', label: 'Category 2 Label' },\n category2Link: { type: 'text', label: 'Category 2 Link' },\n category3Image: imgField('Category 3 Image'),\n category3Label: { type: 'text', label: 'Category 3 Label' },\n category3Link: { type: 'text', label: 'Category 3 Link' },\n category4Image: imgField('Category 4 Image'),\n category4Label: { type: 'text', label: 'Category 4 Label' },\n category4Link: { type: 'text', label: 'Category 4 Link' },\n },\n defaultProps: {\n category1Image: '', category1Label: '', category1Link: '',\n category2Image: '', category2Label: '', category2Link: '',\n category3Image: '', category3Label: '', category3Link: '',\n category4Image: '', category4Label: '', category4Link: '',\n },\n render: (props) => {\n const categories = [\n [props.category1Image, props.category1Label, props.category1Link],\n [props.category2Image, props.category2Label, props.category2Link],\n [props.category3Image, props.category3Label, props.category3Link],\n [props.category4Image, props.category4Label, props.category4Link],\n ].filter(([, label, link]) => label && link) as [string, string, string][];\n\n if (categories.length === 0) return (\n <div style={{ padding: '2rem', textAlign: 'center', color: '#999', fontSize: '13px' }}>\n No categories configured\n </div>\n );\n\n return (\n <div\n style={{\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fill, minmax(200px, 1fr))',\n gap: '1.5rem',\n padding: '2rem 1rem',\n }}\n >\n {categories.map(([image, label, link], i) => (\n <a\n key={i}\n href={link}\n style={{\n display: 'block',\n textAlign: 'center',\n textDecoration: 'none',\n color: 'inherit',\n borderRadius: '8px',\n overflow: 'hidden',\n boxShadow: '0 2px 8px rgba(0,0,0,0.1)',\n }}\n >\n <div style={{ aspectRatio: '1', background: '#f0f0f0', overflow: 'hidden' }}>\n {image && (\n <img\n src={image}\n alt={label}\n style={{ width: '100%', height: '100%', objectFit: 'cover' }}\n />\n )}\n </div>\n <span\n style={{\n display: 'block',\n padding: '1rem',\n fontWeight: 600,\n color: '#333',\n }}\n >\n {label}\n </span>\n </a>\n ))}\n </div>\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../../fields/ImagePickerField';\n\nexport interface CategoryHeroProps {\n title: string;\n subtitle: string;\n image: string;\n ctaText: string;\n ctaLink: string;\n}\n\nexport const CategoryHero: ComponentConfig<CategoryHeroProps> = {\n label: 'Category Hero',\n fields: {\n title: { type: 'text', label: 'Title' },\n subtitle: { type: 'text', label: 'Subtitle' },\n image: {\n type: 'custom', label: 'Background Image',\n render: ({ value, onChange }) => <ImagePickerField value={value ?? ''} onChange={onChange} />,\n },\n ctaText: { type: 'text', label: 'CTA Text' },\n ctaLink: { type: 'text', label: 'CTA Link' },\n },\n defaultProps: { title: '', subtitle: '', image: '', ctaText: '', ctaLink: '' },\n render: ({ title, subtitle, image, ctaText, ctaLink }) => (\n <div\n style={{\n position: 'relative',\n minHeight: '220px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n background: '#f0f0f0',\n borderRadius: '8px',\n overflow: 'hidden',\n margin: '1rem 0',\n }}\n >\n {image && (\n <img\n src={image}\n alt={title || 'Category'}\n style={{\n position: 'absolute',\n top: 0, left: 0,\n width: '100%', height: '100%',\n objectFit: 'cover',\n opacity: 0.85,\n }}\n />\n )}\n <div style={{ position: 'absolute', inset: 0, background: 'rgba(0,0,0,0.25)' }} />\n <div\n style={{\n position: 'relative',\n zIndex: 1,\n textAlign: 'center',\n padding: '2rem',\n color: 'white',\n textShadow: '0 1px 3px rgba(0,0,0,0.5)',\n }}\n >\n {title && <h1 style={{ fontSize: '2.5rem', marginBottom: '0.5rem' }}>{title}</h1>}\n {subtitle && <p style={{ fontSize: '1.1rem', marginBottom: '1rem' }}>{subtitle}</p>}\n {ctaText && ctaLink && (\n <a\n href={ctaLink}\n style={{\n display: 'inline-block',\n background: 'white',\n color: '#2c5530',\n padding: '0.75rem 2rem',\n borderRadius: '4px',\n textDecoration: 'none',\n fontWeight: 600,\n }}\n >\n {ctaText}\n </a>\n )}\n </div>\n </div>\n ),\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface CheckoutPromoBannerProps {\n title: string;\n message: string;\n ctaText: string;\n ctaLink: string;\n}\n\nexport const CheckoutPromoBanner: ComponentConfig<CheckoutPromoBannerProps> = {\n label: 'Checkout Promo Banner',\n fields: {\n title: { type: 'text', label: 'Title' },\n message: { type: 'text', label: 'Message' },\n ctaText: { type: 'text', label: 'CTA Text' },\n ctaLink: { type: 'text', label: 'CTA Link' },\n },\n defaultProps: { title: '', message: '', ctaText: '', ctaLink: '' },\n render: ({ title, message, ctaText, ctaLink }) => {\n if (!title && !message && !ctaText) return <></>;\n return (\n <div\n style={{\n padding: '1rem 1.25rem',\n background: '#f0f7f0',\n border: '1px solid #c8e6c8',\n borderRadius: '4px',\n marginBottom: '1rem',\n fontSize: '0.95rem',\n }}\n >\n {title && (\n <div style={{ fontWeight: 600, color: '#2c5530', marginBottom: '0.25rem' }}>\n {title}\n </div>\n )}\n {message && <p style={{ margin: '0 0 0.5rem 0', color: '#333' }}>{message}</p>}\n {ctaText && ctaLink && (\n <a href={ctaLink} style={{ color: '#2c5530', fontWeight: 600, textDecoration: 'none' }}>\n {ctaText}\n </a>\n )}\n </div>\n );\n },\n};\n","import React, { useEffect, useState } from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface CountdownBannerProps {\n headline: string;\n subline: string;\n endDate: string;\n ctaText: string;\n ctaLink: string;\n background: string;\n}\n\nconst calcTimeLeft = (endDate: string): string => {\n if (!endDate) return '';\n const end = new Date(endDate);\n const now = new Date();\n if (end <= now) return 'Offer ended';\n const diff = end.getTime() - now.getTime();\n const d = Math.floor(diff / 86_400_000);\n const h = Math.floor((diff % 86_400_000) / 3_600_000);\n const m = Math.floor((diff % 3_600_000) / 60_000);\n const s = Math.floor((diff % 60_000) / 1_000);\n if (d > 0) return `${d}d ${h}h ${m}m left`;\n if (h > 0) return `${h}h ${m}m ${s}s left`;\n return `${m}m ${s}s left`;\n};\n\nconst CountdownRender: React.FC<CountdownBannerProps> = ({\n headline, subline, endDate, ctaText, ctaLink, background,\n}) => {\n const [timeLeft, setTimeLeft] = useState(() => calcTimeLeft(endDate));\n useEffect(() => {\n if (!endDate) return;\n const id = setInterval(() => setTimeLeft(calcTimeLeft(endDate)), 1000);\n return () => clearInterval(id);\n }, [endDate]);\n\n return (\n <div\n style={{\n background: background || '#2c5530',\n color: 'white',\n padding: '2rem 1rem',\n textAlign: 'center',\n borderRadius: '4px',\n margin: '1rem 0',\n }}\n >\n {headline && <h2 style={{ fontSize: '1.75rem', marginBottom: '0.5rem' }}>{headline}</h2>}\n {subline && <p style={{ fontSize: '1rem', opacity: 0.9, marginBottom: '1rem' }}>{subline}</p>}\n {timeLeft && (\n <p style={{ fontSize: '1.25rem', fontWeight: 600, margin: '0 0 1rem 0', letterSpacing: '0.05em' }}>\n {timeLeft}\n </p>\n )}\n {ctaText && ctaLink && (\n <a\n href={ctaLink}\n style={{\n display: 'inline-block',\n background: 'white',\n color: '#2c5530',\n padding: '0.75rem 2rem',\n borderRadius: '4px',\n textDecoration: 'none',\n fontWeight: 600,\n }}\n >\n {ctaText}\n </a>\n )}\n </div>\n );\n};\n\nexport const CountdownBanner: ComponentConfig<CountdownBannerProps> = {\n label: 'Countdown Banner',\n fields: {\n headline: { type: 'text', label: 'Headline' },\n subline: { type: 'text', label: 'Subline' },\n endDate: { type: 'text', label: 'End Date (ISO, e.g. 2025-12-31T23:59:59)' },\n ctaText: { type: 'text', label: 'CTA Text' },\n ctaLink: { type: 'text', label: 'CTA Link' },\n background: { type: 'text', label: 'Background Color' },\n },\n defaultProps: {\n headline: '', subline: '', endDate: '', ctaText: '', ctaLink: '', background: '#2c5530',\n },\n render: (props) => <CountdownRender {...props} />,\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { useDatasource } from '@commercetools-demo/puck-api';\nimport { DatasourceField, type DatasourceValue } from '../../fields/DatasourceField';\nimport { formatPrice, getFirstPrice, getLocalizedText, getProductImage, getProductSlug } from './shared';\n\nexport interface CrossSellBlockProps {\n title: string;\n products: DatasourceValue;\n ctaText: string;\n}\n\nconst CrossSellRender: React.FC<CrossSellBlockProps> = ({ title, products, ctaText }) => {\n const hasPreResolved = products?.resolvedData != null;\n const { data: fetchedData, loading } = useDatasource(\n hasPreResolved ? undefined : products?.type,\n hasPreResolved ? [] : (products?.skus ?? [])\n );\n const items: unknown[] = hasPreResolved\n ? (Array.isArray(products.resolvedData) ? products.resolvedData : [])\n : (Array.isArray(fetchedData) ? fetchedData : []);\n\n if (!loading && items.length === 0) return null;\n\n return (\n <div style={{ padding: '2rem 0', borderTop: '1px solid #eee' }}>\n {title && <h3 style={{ fontSize: '1.5rem', marginBottom: '1.5rem', color: '#333' }}>{title || 'Frequently bought together'}</h3>}\n {loading && <div style={{ color: '#999', padding: '1rem' }}>Loading…</div>}\n {items.length > 0 && (\n <div\n style={{\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fill, minmax(180px, 1fr))',\n gap: '1rem',\n }}\n >\n {items.map((product, i) => {\n const name = getLocalizedText((product as any)?.name);\n const imageUrl = getProductImage(product);\n const priceVal = getFirstPrice(product);\n const slug = getProductSlug(product);\n return (\n <a\n key={(product as any)?.id ?? i}\n href={slug}\n style={{\n textAlign: 'center',\n textDecoration: 'none',\n color: 'inherit',\n padding: '1rem',\n borderRadius: '8px',\n border: '1px solid #eee',\n }}\n >\n <div style={{ height: '120px', marginBottom: '0.75rem', display: 'flex', alignItems: 'center', justifyContent: 'center', background: '#f9f9f9', borderRadius: '4px' }}>\n {imageUrl\n ? <img src={imageUrl} alt={name} style={{ maxWidth: '100%', maxHeight: '100%', objectFit: 'contain' }} />\n : null\n }\n </div>\n <div style={{ fontWeight: 600, fontSize: '0.95rem', marginBottom: '0.25rem' }}>{name}</div>\n {priceVal && (\n <div style={{ fontSize: '1.1rem', color: '#2c5530', fontWeight: 'bold' }}>\n {formatPrice(priceVal.centAmount, priceVal.currencyCode, priceVal.fractionDigits)}\n </div>\n )}\n </a>\n );\n })}\n </div>\n )}\n {ctaText && (\n <a href=\"#\" style={{ display: 'inline-block', marginTop: '1rem', color: '#2c5530', fontWeight: 600, textDecoration: 'none' }}>\n {ctaText}\n </a>\n )}\n </div>\n );\n};\n\nexport const CrossSellBlock: ComponentConfig<CrossSellBlockProps> = {\n label: 'Cross-Sell Block',\n fields: {\n title: { type: 'text', label: 'Title' },\n products: {\n type: 'custom', label: 'Products',\n render: ({ value, onChange }) => <DatasourceField value={value} onChange={onChange} />,\n },\n ctaText: { type: 'text', label: 'CTA Text' },\n },\n defaultProps: {\n title: 'Frequently bought together',\n products: { type: 'products-by-sku', skus: [''] },\n ctaText: '',\n },\n render: (props) => <CrossSellRender {...props} />,\n};\n","// Shared helpers used across CMS Puck components\n\nexport const getLocalizedText = (obj?: Record<string, string> | null): string => {\n if (!obj) return '';\n return obj['en-US'] ?? obj['en'] ?? Object.values(obj)[0] ?? '';\n};\n\nexport const formatPrice = (\n centAmount: number,\n currencyCode = 'USD',\n fractionDigits = 2\n): string => {\n const amount = centAmount / Math.pow(10, fractionDigits);\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: currencyCode,\n }).format(amount);\n};\n\nexport const getFirstPrice = (\n product: unknown\n): { centAmount: number; currencyCode: string; fractionDigits: number } | null => {\n const p = product as any;\n return p?.masterVariant?.prices?.[0]?.value ?? null;\n};\n\nexport const getProductImage = (product: unknown): string | null => {\n const p = product as any;\n return p?.masterVariant?.images?.[0]?.url ?? null;\n};\n\nexport const getProductName = (product: unknown): string => {\n const p = product as any;\n return getLocalizedText(p?.name) || 'Product';\n};\n\nexport const getProductSlug = (product: unknown): string => {\n const p = product as any;\n return getLocalizedText(p?.slug) || p?.id || '#';\n};\n\n// Colour palette shared across components\nexport const colors = {\n primary: '#2c5530',\n primaryHover: '#1e3a21',\n lightBg: '#f0f7f0',\n lightBorder: '#c8e6c8',\n text: '#333',\n textMuted: '#666',\n border: '#eee',\n bg: '#f5f5f5',\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface DeliveryMessageProps {\n message: string;\n threshold: string;\n}\n\nexport const DeliveryMessage: ComponentConfig<DeliveryMessageProps> = {\n label: 'Delivery Message',\n fields: {\n message: { type: 'text', label: 'Message (use $XX for threshold)' },\n threshold: { type: 'text', label: 'Threshold Amount (e.g. 50)' },\n },\n defaultProps: { message: 'Free delivery on orders over $50', threshold: '' },\n render: ({ message, threshold }) => {\n if (!message) return <></>;\n const text = threshold\n ? message.replace(/\\$\\d+/g, `$${threshold}`)\n : message;\n return (\n <div\n style={{\n padding: '0.75rem 1rem',\n background: '#f0f7f0',\n borderRadius: '4px',\n fontSize: '0.95rem',\n color: '#2c5530',\n }}\n >\n {text}\n </div>\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface DividerProps {\n lineStyle: 'solid' | 'dashed' | 'dotted';\n spacing: string;\n}\n\nexport const Divider: ComponentConfig<DividerProps> = {\n label: 'Divider',\n fields: {\n lineStyle: {\n type: 'select',\n label: 'Line Style',\n options: [\n { value: 'solid', label: 'Solid' },\n { value: 'dashed', label: 'Dashed' },\n { value: 'dotted', label: 'Dotted' },\n ],\n },\n spacing: { type: 'text', label: 'Spacing (px)' },\n },\n defaultProps: { lineStyle: 'solid', spacing: '24' },\n render: ({ lineStyle, spacing }) => {\n const s = parseInt(spacing, 10) || 24;\n return (\n <hr\n style={{\n border: 'none',\n borderTop: `1px ${lineStyle} #ddd`,\n margin: `${s / 2}px 0`,\n }}\n />\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../../fields/ImagePickerField';\n\nexport interface EmptyStateProps {\n image: string;\n title: string;\n description: string;\n ctaText: string;\n ctaLink: string;\n}\n\nexport const EmptyState: ComponentConfig<EmptyStateProps> = {\n label: 'Empty State',\n fields: {\n image: {\n type: 'custom', label: 'Image',\n render: ({ value, onChange }) => <ImagePickerField value={value ?? ''} onChange={onChange} />,\n },\n title: { type: 'text', label: 'Title' },\n description: { type: 'text', label: 'Description' },\n ctaText: { type: 'text', label: 'CTA Text' },\n ctaLink: { type: 'text', label: 'CTA Link' },\n },\n defaultProps: { image: '', title: '', description: '', ctaText: '', ctaLink: '' },\n render: ({ image, title, description, ctaText, ctaLink }) => (\n <div style={{ textAlign: 'center', padding: '3rem 1rem' }}>\n {image && (\n <img\n src={image}\n alt={title || 'Empty state'}\n style={{ maxWidth: '200px', height: 'auto', marginBottom: '1.5rem', opacity: 0.8 }}\n />\n )}\n {title && <h2 style={{ fontSize: '1.5rem', color: '#333', marginBottom: '0.5rem' }}>{title}</h2>}\n {description && (\n <p style={{ color: '#666', marginBottom: '1.5rem', maxWidth: '400px', margin: '0 auto 1.5rem' }}>\n {description}\n </p>\n )}\n {ctaText && ctaLink && (\n <a\n href={ctaLink}\n style={{\n display: 'inline-block',\n background: '#2c5530',\n color: 'white',\n padding: '0.75rem 2rem',\n borderRadius: '4px',\n textDecoration: 'none',\n fontWeight: 600,\n }}\n >\n {ctaText}\n </a>\n )}\n </div>\n ),\n};\n","import React, { useState } from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface FAQAccordionProps {\n question1: string; answer1: string;\n question2: string; answer2: string;\n question3: string; answer3: string;\n question4: string; answer4: string;\n}\n\nconst FAQRender: React.FC<FAQAccordionProps> = (props) => {\n const items = [\n [props.question1, props.answer1],\n [props.question2, props.answer2],\n [props.question3, props.answer3],\n [props.question4, props.answer4],\n ].filter(([q]) => q) as [string, string][];\n\n const [open, setOpen] = useState<number | null>(null);\n\n if (items.length === 0) return (\n <div style={{ padding: '1rem', color: '#999', fontSize: '13px' }}>No FAQ items configured</div>\n );\n\n return (\n <div style={{ border: '1px solid #eee', borderRadius: '8px', overflow: 'hidden' }}>\n {items.map(([question, answer], i) => (\n <div key={i} style={{ borderBottom: i < items.length - 1 ? '1px solid #eee' : 'none' }}>\n <button\n onClick={() => setOpen(open === i ? null : i)}\n style={{\n width: '100%',\n padding: '1rem 1.25rem',\n textAlign: 'left',\n fontWeight: 600,\n fontSize: '1rem',\n background: '#fafafa',\n border: 'none',\n cursor: 'pointer',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n {question}\n <span style={{ fontSize: '1.2rem', lineHeight: 1 }}>{open === i ? '−' : '+'}</span>\n </button>\n {open === i && answer && (\n <div\n dangerouslySetInnerHTML={{ __html: answer }}\n style={{\n padding: '1rem 1.25rem',\n background: 'white',\n fontSize: '0.95rem',\n lineHeight: 1.5,\n color: '#555',\n }}\n />\n )}\n </div>\n ))}\n </div>\n );\n};\n\nexport const FAQAccordion: ComponentConfig<FAQAccordionProps> = {\n label: 'FAQ Accordion',\n fields: {\n question1: { type: 'text', label: 'Question 1' },\n answer1: { type: 'textarea', label: 'Answer 1 (HTML)' },\n question2: { type: 'text', label: 'Question 2' },\n answer2: { type: 'textarea', label: 'Answer 2 (HTML)' },\n question3: { type: 'text', label: 'Question 3' },\n answer3: { type: 'textarea', label: 'Answer 3 (HTML)' },\n question4: { type: 'text', label: 'Question 4' },\n answer4: { type: 'textarea', label: 'Answer 4 (HTML)' },\n },\n defaultProps: {\n question1: '', answer1: '',\n question2: '', answer2: '',\n question3: '', answer3: '',\n question4: '', answer4: '',\n },\n render: (props) => <FAQRender {...props} />,\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface FooterBlockProps {\n column1: string;\n column2: string;\n column3: string;\n copyright: string;\n}\n\nexport const FooterBlock: ComponentConfig<FooterBlockProps> = {\n label: 'Footer Block',\n fields: {\n column1: { type: 'textarea', label: 'Column 1 (HTML)' },\n column2: { type: 'textarea', label: 'Column 2 (HTML)' },\n column3: { type: 'textarea', label: 'Column 3 (HTML)' },\n copyright: { type: 'text', label: 'Copyright Text' },\n },\n defaultProps: { column1: '', column2: '', column3: '', copyright: '' },\n render: ({ column1, column2, column3, copyright }) => {\n const columns = [column1, column2, column3].filter(Boolean);\n return (\n <footer style={{ background: '#333', color: '#eee', padding: '2rem 1rem', marginTop: '3rem' }}>\n {columns.length > 0 && (\n <div\n style={{\n display: 'grid',\n gridTemplateColumns: `repeat(${columns.length}, 1fr)`,\n gap: '2rem',\n maxWidth: '1200px',\n margin: '0 auto 2rem',\n }}\n >\n {columns.map((html, i) => (\n <div\n key={i}\n dangerouslySetInnerHTML={{ __html: html }}\n style={{ fontSize: '0.9rem', lineHeight: 1.6 }}\n />\n ))}\n </div>\n )}\n {copyright && (\n <p style={{ textAlign: 'center', fontSize: '0.85rem', color: '#999', margin: 0 }}>\n {copyright}\n </p>\n )}\n </footer>\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../../fields/ImagePickerField';\n\nexport interface ImageBlockProps {\n image: string;\n caption: string;\n link: string;\n}\n\nexport const ImageBlock: ComponentConfig<ImageBlockProps> = {\n label: 'Image Block',\n fields: {\n image: {\n type: 'custom', label: 'Image',\n render: ({ value, onChange }) => <ImagePickerField value={value ?? ''} onChange={onChange} />,\n },\n caption: { type: 'text', label: 'Caption' },\n link: { type: 'text', label: 'Link URL' },\n },\n defaultProps: { image: '', caption: '', link: '' },\n render: ({ image, caption, link }) => {\n if (!image) return (\n <div style={{ padding: '2rem', textAlign: 'center', color: '#999', background: '#f5f5f5', borderRadius: '4px' }}>\n No image selected\n </div>\n );\n const img = (\n <img\n src={image}\n alt={caption || 'Image'}\n style={{ maxWidth: '100%', height: 'auto', borderRadius: '4px' }}\n />\n );\n return (\n <figure style={{ margin: '1rem 0', textAlign: 'center' }}>\n {link ? <a href={link} style={{ display: 'inline-block' }}>{img}</a> : img}\n {caption && (\n <figcaption style={{ marginTop: '0.5rem', fontSize: '0.9rem', color: '#666' }}>\n {caption}\n </figcaption>\n )}\n </figure>\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface NewsletterSignupProps {\n title: string;\n subtitle: string;\n ctaText: string;\n placeholder: string;\n}\n\nexport const NewsletterSignup: ComponentConfig<NewsletterSignupProps> = {\n label: 'Newsletter Signup',\n fields: {\n title: { type: 'text', label: 'Title' },\n subtitle: { type: 'text', label: 'Subtitle' },\n ctaText: { type: 'text', label: 'Button Text' },\n placeholder: { type: 'text', label: 'Input Placeholder' },\n },\n defaultProps: { title: '', subtitle: '', ctaText: 'Subscribe', placeholder: 'Enter your email' },\n render: ({ title, subtitle, ctaText, placeholder }) => (\n <div\n style={{\n textAlign: 'center',\n padding: '2rem 1rem',\n background: '#f5f5f5',\n borderRadius: '8px',\n maxWidth: '480px',\n margin: '0 auto',\n }}\n >\n {title && <h3 style={{ fontSize: '1.5rem', marginBottom: '0.5rem', color: '#333' }}>{title}</h3>}\n {subtitle && <p style={{ fontSize: '0.95rem', color: '#666', marginBottom: '1.5rem' }}>{subtitle}</p>}\n <form\n onSubmit={(e) => e.preventDefault()}\n style={{ display: 'flex', gap: '0.5rem', flexWrap: 'wrap', justifyContent: 'center' }}\n >\n <input\n type=\"email\"\n placeholder={placeholder}\n aria-label=\"Email\"\n style={{\n padding: '0.75rem 1rem',\n border: '1px solid #ddd',\n borderRadius: '4px',\n fontSize: '1rem',\n minWidth: '200px',\n }}\n />\n <button\n type=\"submit\"\n style={{\n padding: '0.75rem 1.5rem',\n background: '#2c5530',\n color: 'white',\n border: 'none',\n borderRadius: '4px',\n fontWeight: 600,\n cursor: 'pointer',\n }}\n >\n {ctaText || 'Subscribe'}\n </button>\n </form>\n </div>\n ),\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { useDatasource } from '@commercetools-demo/puck-api';\nimport { DatasourceField, type DatasourceValue } from '../../fields/DatasourceField';\nimport { formatPrice, getFirstPrice, getLocalizedText } from './shared';\n\nexport interface ProductBannerProps {\n title: string;\n description: string;\n ctaText: string;\n ctaLink: string;\n product: DatasourceValue;\n productOnLeft: boolean;\n background: string;\n}\n\nconst ProductBannerRender: React.FC<ProductBannerProps> = ({\n title, description, ctaText, ctaLink, product, productOnLeft, background,\n}) => {\n const hasPreResolved = product?.resolvedData != null;\n const { data: fetchedData, loading } = useDatasource(\n hasPreResolved ? undefined : product?.type,\n hasPreResolved ? [] : (product?.skus ?? [])\n );\n const raw = hasPreResolved ? product.resolvedData : fetchedData;\n const p = raw as any;\n\n const name = getLocalizedText(p?.name);\n const description2 = getLocalizedText(p?.description);\n const imageUrl = p?.masterVariant?.images?.[0]?.url;\n const sku = p?.masterVariant?.sku;\n const priceVal = getFirstPrice(p);\n\n return (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n minHeight: '400px',\n backgroundColor: background || '#f5f5f5',\n padding: '2rem',\n borderRadius: '2px',\n margin: '1rem 0',\n gap: '2rem',\n flexDirection: productOnLeft ? 'row-reverse' : 'row',\n flexWrap: 'wrap',\n }}\n >\n {/* Content side */}\n <div style={{ flex: 1, minWidth: '200px' }}>\n {title && <h2 style={{ fontSize: '2rem', fontWeight: 'bold', marginBottom: '1rem', color: '#333' }}>{title}</h2>}\n {description && (\n <div\n dangerouslySetInnerHTML={{ __html: description }}\n style={{ marginBottom: '2rem', color: '#555', lineHeight: 1.6 }}\n />\n )}\n {ctaText && ctaLink && (\n <a\n href={ctaLink}\n style={{\n display: 'inline-block',\n backgroundColor: '#2c5530',\n color: 'white',\n padding: '0.75rem 2rem',\n borderRadius: '2px',\n textDecoration: 'none',\n fontWeight: 600,\n }}\n >\n {ctaText}\n </a>\n )}\n </div>\n\n {/* Product side */}\n <div style={{ flex: 1, minWidth: '200px', display: 'flex', flexDirection: 'column', alignItems: 'center' }}>\n {loading && <div style={{ color: '#999', padding: '2rem' }}>Loading product…</div>}\n {name && <h3 style={{ fontSize: '1.5rem', fontWeight: 600, marginBottom: '0.5rem', textAlign: 'center' }}>{name}</h3>}\n {description2 && <p style={{ fontSize: '0.9rem', color: '#666', textAlign: 'center', marginBottom: '1rem', fontStyle: 'italic' }}>{description2}</p>}\n {imageUrl && (\n <img\n src={imageUrl}\n alt={name || 'Product'}\n style={{ maxWidth: '100%', maxHeight: '300px', objectFit: 'cover', borderRadius: '2px', marginBottom: '1rem', boxShadow: '0 4px 12px rgba(0,0,0,0.1)' }}\n />\n )}\n {priceVal && (\n <span\n style={{\n fontSize: '1.25rem',\n fontWeight: 'bold',\n color: '#2c5530',\n background: 'rgba(255,255,255,0.8)',\n padding: '0.5rem 1rem',\n borderRadius: '2px',\n marginBottom: '0.5rem',\n }}\n >\n {formatPrice(priceVal.centAmount, priceVal.currencyCode, priceVal.fractionDigits)}\n </span>\n )}\n {sku && (\n <span style={{ fontSize: '0.85rem', color: '#666', background: 'rgba(255,255,255,0.6)', padding: '0.25rem 0.75rem', borderRadius: '2px' }}>\n SKU: {sku}\n </span>\n )}\n {!loading && !p && (\n <div style={{ color: '#999', fontSize: '13px', padding: '2rem', textAlign: 'center' }}>No product selected</div>\n )}\n </div>\n </div>\n );\n};\n\nexport const ProductBanner: ComponentConfig<ProductBannerProps> = {\n label: 'Product Banner',\n fields: {\n title: { type: 'text', label: 'Title' },\n description: { type: 'textarea', label: 'Description (HTML)' },\n ctaText: { type: 'text', label: 'CTA Text' },\n ctaLink: { type: 'text', label: 'CTA Link' },\n product: {\n type: 'custom', label: 'Product',\n render: ({ value, onChange }) => <DatasourceField value={value} onChange={onChange} />,\n },\n productOnLeft: {\n type: 'radio', label: 'Product Position',\n options: [\n { value: false, label: 'Product on Right' },\n { value: true, label: 'Product on Left' },\n ],\n },\n background: { type: 'text', label: 'Background Color' },\n },\n defaultProps: {\n title: '',\n description: '',\n ctaText: '',\n ctaLink: '',\n product: { type: 'product-by-sku', skus: [''] },\n productOnLeft: false,\n background: '#f5f5f5',\n },\n render: (props) => <ProductBannerRender {...props} />,\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface ProductGridHeaderProps {\n title: string;\n description: string;\n}\n\nexport const ProductGridHeader: ComponentConfig<ProductGridHeaderProps> = {\n label: 'Product Grid Header',\n fields: {\n title: { type: 'text', label: 'Title' },\n description: { type: 'textarea', label: 'Description (HTML)' },\n },\n defaultProps: { title: '', description: '' },\n render: ({ title, description }) => (\n <div style={{ marginBottom: '2rem', padding: '0 1rem' }}>\n {title && (\n <h1 style={{ fontSize: '2rem', fontWeight: 'bold', color: '#333', marginBottom: '0.75rem' }}>\n {title}\n </h1>\n )}\n {description && (\n <div\n dangerouslySetInnerHTML={{ __html: description }}\n style={{ fontSize: '1rem', color: '#666', lineHeight: 1.5, maxWidth: '720px' }}\n />\n )}\n </div>\n ),\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { useDatasource } from '@commercetools-demo/puck-api';\nimport { DatasourceField, type DatasourceValue } from '../../fields/DatasourceField';\nimport { formatPrice, getFirstPrice, getLocalizedText, getProductImage, getProductSlug } from './shared';\n\nexport interface ProductSliderProps {\n title: string;\n subtitle: string;\n products: DatasourceValue;\n}\n\nconst ProductSliderRender: React.FC<ProductSliderProps> = ({ title, subtitle, products }) => {\n const hasPreResolved = products?.resolvedData != null;\n const { data: fetchedData, loading } = useDatasource(\n hasPreResolved ? undefined : products?.type,\n hasPreResolved ? [] : (products?.skus ?? [])\n );\n const items: unknown[] = hasPreResolved\n ? (Array.isArray(products.resolvedData) ? products.resolvedData : [])\n : (Array.isArray(fetchedData) ? fetchedData : []);\n\n return (\n <div style={{ padding: '2rem 0' }}>\n {(title || subtitle) && (\n <div style={{ textAlign: 'center', marginBottom: '1.5rem' }}>\n {title && <h2 style={{ fontSize: '2rem', fontWeight: 'bold', color: '#333', marginBottom: '0.5rem' }}>{title}</h2>}\n {subtitle && <p style={{ fontSize: '1.1rem', color: '#666', margin: 0 }}>{subtitle}</p>}\n </div>\n )}\n {loading && <div style={{ textAlign: 'center', color: '#999', padding: '2rem' }}>Loading products…</div>}\n {!loading && items.length === 0 && (\n <div style={{ textAlign: 'center', color: '#999', padding: '2rem', fontSize: '13px' }}>No products configured</div>\n )}\n {items.length > 0 && (\n <div\n style={{\n display: 'flex',\n gap: '1rem',\n overflowX: 'auto',\n scrollSnapType: 'x mandatory',\n paddingBottom: '1rem',\n }}\n >\n {items.map((product, i) => {\n const name = getLocalizedText((product as any)?.name);\n const desc = getLocalizedText((product as any)?.description);\n const imageUrl = getProductImage(product);\n const priceVal = getFirstPrice(product);\n const slug = getProductSlug(product);\n return (\n <a\n key={(product as any)?.id ?? i}\n href={slug}\n style={{\n flex: '0 0 280px',\n background: 'white',\n borderRadius: '12px',\n boxShadow: '0 4px 12px rgba(0,0,0,0.1)',\n overflow: 'hidden',\n textDecoration: 'none',\n color: 'inherit',\n scrollSnapAlign: 'start',\n }}\n >\n <div style={{ width: '100%', height: '200px', background: '#f5f5f5', display: 'flex', alignItems: 'center', justifyContent: 'center', overflow: 'hidden' }}>\n {imageUrl\n ? <img src={imageUrl} alt={name} style={{ width: '100%', height: '100%', objectFit: 'contain' }} />\n : <span style={{ color: '#999', fontSize: '0.85rem' }}>No image</span>\n }\n </div>\n <div style={{ padding: '1.5rem' }}>\n <h3 style={{ fontSize: '1.1rem', fontWeight: 600, color: '#333', marginBottom: '0.5rem', lineHeight: 1.3 }}>{name}</h3>\n {desc && (\n <p style={{ fontSize: '0.9rem', color: '#666', marginBottom: '1rem', display: '-webkit-box', WebkitLineClamp: 2, WebkitBoxOrient: 'vertical', overflow: 'hidden' }}>\n {desc}\n </p>\n )}\n {priceVal && (\n <div style={{ fontSize: '1.2rem', fontWeight: 'bold', color: '#2c5530' }}>\n {formatPrice(priceVal.centAmount, priceVal.currencyCode, priceVal.fractionDigits)}\n </div>\n )}\n </div>\n </a>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport const ProductSlider: ComponentConfig<ProductSliderProps> = {\n label: 'Product Slider',\n fields: {\n title: { type: 'text', label: 'Title' },\n subtitle: { type: 'text', label: 'Subtitle' },\n products: {\n type: 'custom', label: 'Products',\n render: ({ value, onChange }) => <DatasourceField value={value} onChange={onChange} />,\n },\n },\n defaultProps: {\n title: '',\n subtitle: '',\n products: { type: 'products-by-sku', skus: [''] },\n },\n render: (props) => <ProductSliderRender {...props} />,\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../../fields/ImagePickerField';\n\nexport interface PromotionalBannerProps {\n image: string;\n title: string;\n subtitle: string;\n ctaText: string;\n ctaLink: string;\n background: string;\n}\n\nexport const PromotionalBanner: ComponentConfig<PromotionalBannerProps> = {\n label: 'Promotional Banner',\n fields: {\n image: {\n type: 'custom', label: 'Image',\n render: ({ value, onChange }) => <ImagePickerField value={value ?? ''} onChange={onChange} />,\n },\n title: { type: 'text', label: 'Title' },\n subtitle: { type: 'text', label: 'Subtitle' },\n ctaText: { type: 'text', label: 'CTA Text' },\n ctaLink: { type: 'text', label: 'CTA Link' },\n background: { type: 'text', label: 'Background Color' },\n },\n defaultProps: { image: '', title: '', subtitle: '', ctaText: '', ctaLink: '', background: '#f5f5f5' },\n render: ({ image, title, subtitle, ctaText, ctaLink, background }) => (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n minHeight: '280px',\n backgroundColor: background || '#f5f5f5',\n padding: '2rem',\n borderRadius: '2px',\n margin: '1rem 0',\n gap: '2rem',\n flexWrap: 'wrap',\n }}\n >\n {image && (\n <div style={{ flex: '0 0 auto', maxWidth: '40%' }}>\n <img src={image} alt={title || 'Promo'} style={{ maxWidth: '100%', height: 'auto', borderRadius: '2px' }} />\n </div>\n )}\n <div style={{ flex: 1, minWidth: '200px' }}>\n {title && <h2 style={{ fontSize: '1.75rem', fontWeight: 'bold', marginBottom: '0.5rem', color: '#333' }}>{title}</h2>}\n {subtitle && <p style={{ fontSize: '1rem', color: '#666', marginBottom: '1rem' }}>{subtitle}</p>}\n {ctaText && ctaLink && (\n <a\n href={ctaLink}\n style={{\n display: 'inline-block',\n backgroundColor: '#2c5530',\n color: 'white',\n padding: '0.75rem 2rem',\n borderRadius: '2px',\n textDecoration: 'none',\n fontWeight: 600,\n }}\n >\n {ctaText}\n </a>\n )}\n </div>\n </div>\n ),\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { useDatasource } from '@commercetools-demo/puck-api';\nimport { DatasourceField, type DatasourceValue } from '../../fields/DatasourceField';\nimport { formatPrice, getFirstPrice, getLocalizedText, getProductImage, getProductSlug } from './shared';\n\nexport interface RelatedProductsSliderProps {\n title: string;\n subtitle: string;\n products: DatasourceValue;\n}\n\nconst RelatedProductsRender: React.FC<RelatedProductsSliderProps> = ({ title, subtitle, products }) => {\n const hasPreResolved = products?.resolvedData != null;\n const { data: fetchedData, loading } = useDatasource(\n hasPreResolved ? undefined : products?.type,\n hasPreResolved ? [] : (products?.skus ?? [])\n );\n const items: unknown[] = hasPreResolved\n ? (Array.isArray(products.resolvedData) ? products.resolvedData : [])\n : (Array.isArray(fetchedData) ? fetchedData : []);\n\n if (!loading && items.length === 0) return null;\n\n return (\n <div style={{ padding: '2rem 0' }}>\n {(title || subtitle) && (\n <div style={{ textAlign: 'center', marginBottom: '1.5rem' }}>\n {title && <h2 style={{ fontSize: '2rem', fontWeight: 'bold', color: '#333', marginBottom: '0.5rem' }}>{title}</h2>}\n {subtitle && <p style={{ fontSize: '1.1rem', color: '#666', margin: 0 }}>{subtitle}</p>}\n </div>\n )}\n {loading && <div style={{ textAlign: 'center', color: '#999', padding: '2rem' }}>Loading…</div>}\n {items.length > 0 && (\n <div\n style={{\n display: 'flex',\n gap: '1rem',\n overflowX: 'auto',\n scrollSnapType: 'x mandatory',\n paddingBottom: '1rem',\n }}\n >\n {items.map((product, i) => {\n const name = getLocalizedText((product as any)?.name);\n const imageUrl = getProductImage(product);\n const priceVal = getFirstPrice(product);\n const slug = getProductSlug(product);\n return (\n <a\n key={(product as any)?.id ?? i}\n href={slug}\n style={{\n flex: '0 0 280px',\n background: 'white',\n borderRadius: '12px',\n boxShadow: '0 4px 12px rgba(0,0,0,0.1)',\n overflow: 'hidden',\n textDecoration: 'none',\n color: 'inherit',\n scrollSnapAlign: 'start',\n }}\n >\n <div style={{ width: '100%', height: '200px', background: '#f5f5f5', display: 'flex', alignItems: 'center', justifyContent: 'center', overflow: 'hidden' }}>\n {imageUrl\n ? <img src={imageUrl} alt={name} style={{ width: '100%', height: '100%', objectFit: 'contain' }} />\n : <span style={{ color: '#999', fontSize: '0.85rem' }}>No image</span>\n }\n </div>\n <div style={{ padding: '1.5rem' }}>\n <h3 style={{ fontSize: '1.1rem', fontWeight: 600, color: '#333', marginBottom: '0.5rem' }}>{name}</h3>\n {priceVal && (\n <div style={{ fontSize: '1.2rem', fontWeight: 'bold', color: '#2c5530' }}>\n {formatPrice(priceVal.centAmount, priceVal.currencyCode, priceVal.fractionDigits)}\n </div>\n )}\n </div>\n </a>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport const RelatedProductsSlider: ComponentConfig<RelatedProductsSliderProps> = {\n label: 'Related Products',\n fields: {\n title: { type: 'text', label: 'Title' },\n subtitle: { type: 'text', label: 'Subtitle' },\n products: {\n type: 'custom', label: 'Products',\n render: ({ value, onChange }) => <DatasourceField value={value} onChange={onChange} />,\n },\n },\n defaultProps: {\n title: 'Related Products',\n subtitle: '',\n products: { type: 'products-by-sku', skus: [''] },\n },\n render: (props) => <RelatedProductsRender {...props} />,\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface SocialLinksProps {\n link1Label: string; link1Url: string;\n link2Label: string; link2Url: string;\n link3Label: string; link3Url: string;\n link4Label: string; link4Url: string;\n}\n\nexport const SocialLinks: ComponentConfig<SocialLinksProps> = {\n label: 'Social Links',\n fields: {\n link1Label: { type: 'text', label: 'Link 1 Label' },\n link1Url: { type: 'text', label: 'Link 1 URL' },\n link2Label: { type: 'text', label: 'Link 2 Label' },\n link2Url: { type: 'text', label: 'Link 2 URL' },\n link3Label: { type: 'text', label: 'Link 3 Label' },\n link3Url: { type: 'text', label: 'Link 3 URL' },\n link4Label: { type: 'text', label: 'Link 4 Label' },\n link4Url: { type: 'text', label: 'Link 4 URL' },\n },\n defaultProps: {\n link1Label: '', link1Url: '',\n link2Label: '', link2Url: '',\n link3Label: '', link3Url: '',\n link4Label: '', link4Url: '',\n },\n render: (props) => {\n const links = [\n [props.link1Label, props.link1Url],\n [props.link2Label, props.link2Url],\n [props.link3Label, props.link3Url],\n [props.link4Label, props.link4Url],\n ].filter(([label, url]) => label && url) as [string, string][];\n if (links.length === 0) return <></>;\n return (\n <div style={{ display: 'flex', flexWrap: 'wrap', gap: '1rem', padding: '0.5rem 0' }}>\n {links.map(([label, url], i) => (\n <a\n key={i}\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{ color: '#2c5530', textDecoration: 'none', fontWeight: 500, fontSize: '0.95rem' }}\n >\n {label}\n </a>\n ))}\n </div>\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface TabContentProps {\n tabLabel: string;\n content: string;\n}\n\nexport const TabContent: ComponentConfig<TabContentProps> = {\n label: 'Tab Content',\n fields: {\n tabLabel: { type: 'text', label: 'Tab Label' },\n content: { type: 'textarea', label: 'Content (HTML)' },\n },\n defaultProps: { tabLabel: '', content: '' },\n render: ({ tabLabel, content }) => {\n if (!content) return <></>;\n return (\n <div style={{ padding: '1.5rem 0', lineHeight: 1.6, color: '#333' }}>\n {tabLabel && <h3 style={{ marginBottom: '1rem' }}>{tabLabel}</h3>}\n <div dangerouslySetInnerHTML={{ __html: content }} />\n </div>\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface TestimonialsSliderProps {\n quote1: string; author1: string; role1: string;\n quote2: string; author2: string; role2: string;\n quote3: string; author3: string; role3: string;\n}\n\nexport const TestimonialsSlider: ComponentConfig<TestimonialsSliderProps> = {\n label: 'Testimonials',\n fields: {\n quote1: { type: 'textarea', label: 'Quote 1' },\n author1: { type: 'text', label: 'Author 1' },\n role1: { type: 'text', label: 'Role 1' },\n quote2: { type: 'textarea', label: 'Quote 2' },\n author2: { type: 'text', label: 'Author 2' },\n role2: { type: 'text', label: 'Role 2' },\n quote3: { type: 'textarea', label: 'Quote 3' },\n author3: { type: 'text', label: 'Author 3' },\n role3: { type: 'text', label: 'Role 3' },\n },\n defaultProps: {\n quote1: '', author1: '', role1: '',\n quote2: '', author2: '', role2: '',\n quote3: '', author3: '', role3: '',\n },\n render: (props) => {\n const items = [\n [props.quote1, props.author1, props.role1],\n [props.quote2, props.author2, props.role2],\n [props.quote3, props.author3, props.role3],\n ].filter(([q]) => q) as [string, string, string][];\n if (items.length === 0) return <></>;\n return (\n <div style={{ padding: '2rem 1rem', background: '#f9f9f9', borderRadius: '8px', margin: '1rem 0' }}>\n {items.map(([quote, author, role], i) => (\n <div key={i} style={{ marginBottom: i < items.length - 1 ? '2rem' : 0 }}>\n <blockquote\n style={{\n fontSize: '1.15rem',\n fontStyle: 'italic',\n color: '#444',\n margin: '0 0 0.75rem 0',\n paddingLeft: '1rem',\n borderLeft: '4px solid #2c5530',\n }}\n >\n {quote}\n </blockquote>\n {author && (\n <cite style={{ fontStyle: 'normal', fontSize: '0.95rem', fontWeight: 600, color: '#333' }}>\n — {author}\n {role && <span style={{ fontWeight: 'normal', color: '#666' }}> ({role})</span>}\n </cite>\n )}\n </div>\n ))}\n </div>\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface ThankYouContentProps {\n headline: string;\n message: string;\n ctaText: string;\n ctaLink: string;\n}\n\nexport const ThankYouContent: ComponentConfig<ThankYouContentProps> = {\n label: 'Thank You Content',\n fields: {\n headline: { type: 'text', label: 'Headline' },\n message: { type: 'textarea', label: 'Message (HTML)' },\n ctaText: { type: 'text', label: 'CTA Text' },\n ctaLink: { type: 'text', label: 'CTA Link' },\n },\n defaultProps: { headline: 'Thank you for your order!', message: '', ctaText: '', ctaLink: '' },\n render: ({ headline, message, ctaText, ctaLink }) => (\n <div style={{ textAlign: 'center', padding: '3rem 1rem', maxWidth: '560px', margin: '0 auto' }}>\n {headline && (\n <h1 style={{ fontSize: '2rem', color: '#2c5530', marginBottom: '1rem' }}>{headline}</h1>\n )}\n {message && (\n <div\n dangerouslySetInnerHTML={{ __html: message }}\n style={{ fontSize: '1rem', lineHeight: 1.6, color: '#555', marginBottom: '2rem' }}\n />\n )}\n {ctaText && ctaLink && (\n <a\n href={ctaLink}\n style={{\n display: 'inline-block',\n background: '#2c5530',\n color: 'white',\n padding: '0.75rem 2rem',\n borderRadius: '4px',\n textDecoration: 'none',\n fontWeight: 600,\n }}\n >\n {ctaText}\n </a>\n )}\n </div>\n ),\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../../fields/ImagePickerField';\n\nexport interface TrustBadgesProps {\n badge1Icon: string; badge1Label: string;\n badge2Icon: string; badge2Label: string;\n badge3Icon: string; badge3Label: string;\n badge4Icon: string; badge4Label: string;\n}\n\nconst iconField = (label: string) => ({\n type: 'custom' as const,\n label,\n render: ({ value, onChange }: { value: string; onChange: (v: string) => void }) => (\n <ImagePickerField value={value ?? ''} onChange={onChange} />\n ),\n});\n\nexport const TrustBadges: ComponentConfig<TrustBadgesProps> = {\n label: 'Trust Badges',\n fields: {\n badge1Icon: iconField('Badge 1 Icon'),\n badge1Label: { type: 'text', label: 'Badge 1 Label' },\n badge2Icon: iconField('Badge 2 Icon'),\n badge2Label: { type: 'text', label: 'Badge 2 Label' },\n badge3Icon: iconField('Badge 3 Icon'),\n badge3Label: { type: 'text', label: 'Badge 3 Label' },\n badge4Icon: iconField('Badge 4 Icon'),\n badge4Label: { type: 'text', label: 'Badge 4 Label' },\n },\n defaultProps: {\n badge1Icon: '', badge1Label: '',\n badge2Icon: '', badge2Label: '',\n badge3Icon: '', badge3Label: '',\n badge4Icon: '', badge4Label: '',\n },\n render: (props) => {\n const badges = [\n [props.badge1Icon, props.badge1Label],\n [props.badge2Icon, props.badge2Label],\n [props.badge3Icon, props.badge3Label],\n [props.badge4Icon, props.badge4Label],\n ].filter(([, label]) => label) as [string, string][];\n if (badges.length === 0) return <></>;\n return (\n <div\n style={{\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'center',\n gap: '2rem',\n padding: '2rem 1rem',\n background: '#f9f9f9',\n borderRadius: '4px',\n }}\n >\n {badges.map(([icon, label], i) => (\n <div key={i} style={{ display: 'flex', alignItems: 'center', gap: '0.75rem' }}>\n {icon && (\n <img\n src={icon}\n alt={label}\n style={{ width: '40px', height: '40px', objectFit: 'contain' }}\n />\n )}\n <span style={{ fontSize: '0.95rem', fontWeight: 500, color: '#333' }}>{label}</span>\n </div>\n ))}\n </div>\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../../fields/ImagePickerField';\n\nexport interface VideoBlockProps {\n videoUrl: string;\n posterImage: string;\n title: string;\n caption: string;\n}\n\nexport const VideoBlock: ComponentConfig<VideoBlockProps> = {\n label: 'Video Block',\n fields: {\n videoUrl: { type: 'text', label: 'Video URL' },\n posterImage: {\n type: 'custom', label: 'Poster Image',\n render: ({ value, onChange }) => <ImagePickerField value={value ?? ''} onChange={onChange} />,\n },\n title: { type: 'text', label: 'Title' },\n caption: { type: 'text', label: 'Caption' },\n },\n defaultProps: { videoUrl: '', posterImage: '', title: '', caption: '' },\n render: ({ videoUrl, posterImage, title, caption }) => {\n if (!videoUrl) return (\n <div style={{ padding: '2rem', textAlign: 'center', color: '#999', background: '#f5f5f5', borderRadius: '8px' }}>\n No video URL configured\n </div>\n );\n return (\n <div style={{ margin: '1.5rem 0' }}>\n <div\n style={{\n position: 'relative',\n paddingBottom: '56.25%',\n height: 0,\n overflow: 'hidden',\n background: '#000',\n borderRadius: '8px',\n }}\n >\n <video\n src={videoUrl}\n poster={posterImage || undefined}\n controls\n preload=\"metadata\"\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n objectFit: 'contain',\n }}\n />\n </div>\n {title && <h4 style={{ marginTop: '0.75rem', fontSize: '1.1rem', color: '#333' }}>{title}</h4>}\n {caption && <p style={{ fontSize: '0.9rem', color: '#666', marginTop: '0.25rem' }}>{caption}</p>}\n </div>\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../../fields/ImagePickerField';\n\nexport interface WebsiteLogoProps {\n logo: string;\n maxWidth: string;\n maxHeight: string;\n}\n\nexport const WebsiteLogo: ComponentConfig<WebsiteLogoProps> = {\n label: 'Website Logo',\n fields: {\n logo: {\n type: 'custom', label: 'Logo',\n render: ({ value, onChange }) => <ImagePickerField value={value ?? ''} onChange={onChange} />,\n },\n maxWidth: { type: 'text', label: 'Max Width (px)' },\n maxHeight: { type: 'text', label: 'Max Height (px)' },\n },\n defaultProps: { logo: '', maxWidth: '180', maxHeight: '50' },\n render: ({ logo, maxWidth, maxHeight }) => {\n if (!logo) return (\n <div style={{ width: `${parseInt(maxWidth, 10) || 180}px`, height: `${parseInt(maxHeight, 10) || 50}px`, background: '#f0f0f0', borderRadius: '4px' }} />\n );\n return (\n <div\n style={{\n maxWidth: `${parseInt(maxWidth, 10) || 180}px`,\n maxHeight: `${parseInt(maxHeight, 10) || 50}px`,\n }}\n >\n <img\n src={logo}\n alt=\"Logo\"\n style={{ width: '100%', height: '100%', objectFit: 'contain' }}\n />\n </div>\n );\n },\n};\n","import React from 'react';\nimport type { PuckStateInfo } from '@commercetools-demo/puck-types';\n\ntype BadgeVariant = 'saving' | 'unsaved' | 'draft' | 'published';\n\ninterface StatusBadgeProps {\n label: string;\n variant: BadgeVariant;\n}\n\nconst BADGE_STYLES: Record<BadgeVariant, { bg: string; color: string; border: string }> = {\n saving: { bg: 'rgba(251, 191, 36, 0.12)', color: 'var(--status-saving)', border: 'rgba(251, 191, 36, 0.3)' },\n unsaved: { bg: 'rgba(100, 116, 139, 0.12)', color: 'var(--text-muted)', border: 'rgba(100, 116, 139, 0.3)' },\n draft: { bg: 'rgba(129, 140, 248, 0.12)', color: 'var(--status-draft)', border: 'rgba(129, 140, 248, 0.3)' },\n published: { bg: 'rgba(6, 214, 160, 0.12)', color: 'var(--status-published)', border: 'rgba(6, 214, 160, 0.3)' },\n};\n\nconst StatusBadge: React.FC<StatusBadgeProps> = ({ label, variant }) => {\n const s = BADGE_STYLES[variant];\n return (\n <span\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: '4px',\n padding: '2px 10px',\n borderRadius: '12px',\n fontSize: '12px',\n fontWeight: 600,\n background: s.bg,\n color: s.color,\n border: `1px solid ${s.border}`,\n }}\n >\n {label}\n </span>\n );\n};\n\nexport interface EditorToolbarProps {\n saving: boolean;\n isDirty: boolean;\n states: PuckStateInfo;\n onSave: () => void;\n onPublish: () => void;\n onRevert: () => void;\n showPublishButton: boolean;\n}\n\nexport const EditorToolbar: React.FC<EditorToolbarProps> = ({\n saving,\n isDirty,\n states,\n onSave,\n onPublish,\n onRevert,\n showPublishButton,\n}) => {\n const hasDraft = Boolean(states.draft);\n const hasPublished = Boolean(states.published);\n\n return (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: '12px',\n flexWrap: 'wrap',\n }}\n >\n {/* Status indicators */}\n <div style={{ display: 'flex', alignItems: 'center', gap: '6px' }}>\n {saving && <StatusBadge label=\"Saving…\" variant=\"saving\" />}\n {!saving && isDirty && <StatusBadge label=\"Unsaved\" variant=\"unsaved\" />}\n {!saving && !isDirty && hasDraft && (\n <StatusBadge label=\"Draft\" variant=\"draft\" />\n )}\n {hasPublished && <StatusBadge label=\"Published\" variant=\"published\" />}\n </div>\n\n {/* Revert button — only when there's a draft and an existing published version */}\n {hasDraft && hasPublished && (\n <button\n onClick={onRevert}\n disabled={saving}\n style={{\n padding: '6px 14px',\n borderRadius: '4px',\n border: '1px solid var(--border-glow)',\n background: 'transparent',\n color: 'var(--text-muted)',\n fontWeight: 500,\n fontSize: '13px',\n cursor: saving ? 'not-allowed' : 'pointer',\n opacity: saving ? 0.5 : 1,\n }}\n >\n Revert to Published\n </button>\n )}\n\n {/* Save draft button */}\n <button\n onClick={onSave}\n disabled={!isDirty || saving}\n style={{\n padding: '6px 14px',\n borderRadius: '4px',\n border: '1px solid var(--border-glow)',\n background: 'transparent',\n color: 'var(--text-muted)',\n fontWeight: 500,\n fontSize: '13px',\n cursor: (!isDirty || saving) ? 'not-allowed' : 'pointer',\n opacity: (!isDirty || saving) ? 0.4 : 1,\n }}\n >\n Save\n </button>\n\n {/* Publish button */}\n {showPublishButton && (\n <button\n onClick={onPublish}\n disabled={saving}\n style={{\n padding: '6px 16px',\n borderRadius: '4px',\n border: '1px solid var(--accent-cyan)',\n background: 'rgba(0, 212, 255, 0.1)',\n color: 'var(--accent-cyan)',\n fontWeight: 600,\n fontSize: '13px',\n cursor: saving ? 'not-allowed' : 'pointer',\n opacity: saving ? 0.5 : 1,\n boxShadow: '0 0 12px rgba(0, 212, 255, 0.15)',\n }}\n >\n {hasPublished ? 'Re-publish' : 'Publish'}\n </button>\n )}\n </div>\n );\n};\n","import React, { createContext, useContext, useState, type ReactNode } from 'react';\n\n// ---------------------------------------------------------------------------\n// Context\n// ---------------------------------------------------------------------------\n\ninterface ComponentSearchContextValue {\n search: string;\n setSearch: (value: string) => void;\n}\n\nexport const ComponentSearchContext = createContext<ComponentSearchContextValue>({\n search: '',\n setSearch: () => {},\n});\n\nexport const ComponentSearchProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const [search, setSearch] = useState('');\n return (\n <ComponentSearchContext.Provider value={{ search, setSearch }}>\n {children}\n </ComponentSearchContext.Provider>\n );\n};\n\n// ---------------------------------------------------------------------------\n// components override — sticky search input + scrollable list\n//\n// CSS trick: Puck's Drawer renders each item as a direct `div` child of the\n// `[data-puck-dnd]` container (flex, gap:12px). When an item is hidden we\n// inject a `data-hidden-component` span; the `:has()` rule sets that wrapper\n// to `display:none` so it's removed from the flex flow entirely (no gap\n// accumulation from invisible items).\n// ---------------------------------------------------------------------------\n\nexport const ComponentsPanel: React.FC<{ children: ReactNode }> = ({ children }) => {\n const { search, setSearch } = useContext(ComponentSearchContext);\n\n return (\n <div style={{ display: 'flex', flexDirection: 'column', height: '100%' }}>\n {/* Remove hidden DrawerItem wrappers from the flex layout */}\n <style>{`[data-puck-dnd] > div:has([data-hidden-component]) { display: none !important; }`}</style>\n\n {/* Sticky search bar */}\n <div\n style={{\n flexShrink: 0,\n padding: '0',\n margin: '12px 0',\n background: 'var(--puck-color-white, #fff)',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n <input\n type=\"search\"\n placeholder=\"Search components…\"\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n style={{\n width: '100%',\n boxSizing: 'border-box',\n padding: '6px 10px',\n borderRadius: '4px',\n border: '1px solid var(--puck-color-grey-08, #d1d5db)',\n background: 'var(--puck-color-white, #fff)',\n fontSize: '13px',\n outline: 'none',\n color: 'inherit',\n }}\n />\n </div>\n\n {/* Scrollable component list */}\n <div style={{ flex: 1, overflowY: 'auto' }}>{children}</div>\n </div>\n );\n};\n\n// ---------------------------------------------------------------------------\n// componentItem override — hides non-matching items via a data marker so\n// the CSS rule above can remove the wrapper from the flex flow.\n// ---------------------------------------------------------------------------\n\nexport const ComponentItemFilter: React.FC<{ children: ReactNode; name: string }> = ({\n children,\n name,\n}) => {\n const { search } = useContext(ComponentSearchContext);\n const isHidden = search.trim() !== '' && !name.toLowerCase().includes(search.toLowerCase());\n\n if (isHidden) {\n // Render a zero-size marker; the `:has([data-hidden-component])` CSS rule\n // hides the ancestor DrawerItem wrapper completely (no gap residue).\n return <span data-hidden-component />;\n }\n return <>{children}</>;\n};\n"],"mappings":"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","names":["useCallback","useRef","useState","React","jsx","jsx","jsx","jsxs","jsx","jsxs","jsx","jsx","jsxs","jsx","jsx","jsxs","s","jsx","jsxs","jsx","jsxs","Fragment","jsx","jsx","jsxs","jsx","jsxs","Fragment","jsx","jsxs","useEffect","useState","jsx","jsxs","s","useDatasource","formatPrice","jsx","jsxs","useDatasource","formatPrice","Fragment","jsx","jsx","s","jsx","jsxs","useState","jsx","jsxs","jsx","jsxs","jsx","jsxs","jsx","jsxs","useDatasource","jsx","jsxs","useDatasource","formatPrice","jsx","jsxs","useDatasource","jsx","jsxs","useDatasource","formatPrice","jsx","jsxs","useDatasource","jsx","jsxs","useDatasource","formatPrice","Fragment","jsx","Fragment","jsx","jsxs","Fragment","jsx","jsxs","jsx","jsxs","Fragment","jsx","jsxs","jsx","jsxs","jsx","React","jsx","jsxs","s","useState","Fragment","jsx","jsxs","jsx","jsxs","useRef","useState","useCallback"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/core-js-pure/internals/global-this.js","../../../node_modules/core-js-pure/internals/fails.js","../../../node_modules/core-js-pure/internals/function-bind-native.js","../../../node_modules/core-js-pure/internals/function-apply.js","../../../node_modules/core-js-pure/internals/function-uncurry-this.js","../../../node_modules/core-js-pure/internals/classof-raw.js","../../../node_modules/core-js-pure/internals/function-uncurry-this-clause.js","../../../node_modules/core-js-pure/internals/is-callable.js","../../../node_modules/core-js-pure/internals/descriptors.js","../../../node_modules/core-js-pure/internals/function-call.js","../../../node_modules/core-js-pure/internals/object-property-is-enumerable.js","../../../node_modules/core-js-pure/internals/create-property-descriptor.js","../../../node_modules/core-js-pure/internals/indexed-object.js","../../../node_modules/core-js-pure/internals/is-null-or-undefined.js","../../../node_modules/core-js-pure/internals/require-object-coercible.js","../../../node_modules/core-js-pure/internals/to-indexed-object.js","../../../node_modules/core-js-pure/internals/is-object.js","../../../node_modules/core-js-pure/internals/path.js","../../../node_modules/core-js-pure/internals/get-built-in.js","../../../node_modules/core-js-pure/internals/object-is-prototype-of.js","../../../node_modules/core-js-pure/internals/environment-user-agent.js","../../../node_modules/core-js-pure/internals/environment-v8-version.js","../../../node_modules/core-js-pure/internals/symbol-constructor-detection.js","../../../node_modules/core-js-pure/internals/use-symbol-as-uid.js","../../../node_modules/core-js-pure/internals/is-symbol.js","../../../node_modules/core-js-pure/internals/try-to-string.js","../../../node_modules/core-js-pure/internals/a-callable.js","../../../node_modules/core-js-pure/internals/get-method.js","../../../node_modules/core-js-pure/internals/ordinary-to-primitive.js","../../../node_modules/core-js-pure/internals/is-pure.js","../../../node_modules/core-js-pure/internals/define-global-property.js","../../../node_modules/core-js-pure/internals/shared-store.js","../../../node_modules/core-js-pure/internals/shared.js","../../../node_modules/core-js-pure/internals/to-object.js","../../../node_modules/core-js-pure/internals/has-own-property.js","../../../node_modules/core-js-pure/internals/uid.js","../../../node_modules/core-js-pure/internals/well-known-symbol.js","../../../node_modules/core-js-pure/internals/to-primitive.js","../../../node_modules/core-js-pure/internals/to-property-key.js","../../../node_modules/core-js-pure/internals/document-create-element.js","../../../node_modules/core-js-pure/internals/ie8-dom-define.js","../../../node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","../../../node_modules/core-js-pure/internals/is-forced.js","../../../node_modules/core-js-pure/internals/function-bind-context.js","../../../node_modules/core-js-pure/internals/v8-prototype-define-bug.js","../../../node_modules/core-js-pure/internals/an-object.js","../../../node_modules/core-js-pure/internals/object-define-property.js","../../../node_modules/core-js-pure/internals/create-non-enumerable-property.js","../../../node_modules/core-js-pure/internals/export.js","../../../node_modules/core-js-pure/internals/is-array.js","../../../node_modules/core-js-pure/modules/es.array.is-array.js","../../../node_modules/core-js-pure/es/array/is-array.js","../../../node_modules/core-js-pure/stable/array/is-array.js","../../../node_modules/core-js-pure/actual/array/is-array.js","../../../node_modules/core-js-pure/full/array/is-array.js","../../../node_modules/core-js-pure/features/array/is-array.js","../../../node_modules/core-js-pure/internals/math-trunc.js","../../../node_modules/core-js-pure/internals/to-integer-or-infinity.js","../../../node_modules/core-js-pure/internals/to-length.js","../../../node_modules/core-js-pure/internals/length-of-array-like.js","../../../node_modules/core-js-pure/internals/does-not-exceed-safe-integer.js","../../../node_modules/core-js-pure/internals/create-property.js","../../../node_modules/core-js-pure/internals/array-set-length.js","../../../node_modules/core-js-pure/internals/to-string-tag-support.js","../../../node_modules/core-js-pure/internals/classof.js","../../../node_modules/core-js-pure/internals/inspect-source.js","../../../node_modules/core-js-pure/internals/is-constructor.js","../../../node_modules/core-js-pure/internals/array-species-constructor.js","../../../node_modules/core-js-pure/internals/array-species-create.js","../../../node_modules/core-js-pure/internals/array-method-has-species-support.js","../../../node_modules/core-js-pure/modules/es.array.concat.js","../../../node_modules/core-js-pure/modules/es.object.to-string.js","../../../node_modules/core-js-pure/internals/to-string.js","../../../node_modules/core-js-pure/internals/to-absolute-index.js","../../../node_modules/core-js-pure/internals/array-includes.js","../../../node_modules/core-js-pure/internals/hidden-keys.js","../../../node_modules/core-js-pure/internals/object-keys-internal.js","../../../node_modules/core-js-pure/internals/enum-bug-keys.js","../../../node_modules/core-js-pure/internals/object-keys.js","../../../node_modules/core-js-pure/internals/object-define-properties.js","../../../node_modules/core-js-pure/internals/html.js","../../../node_modules/core-js-pure/internals/shared-key.js","../../../node_modules/core-js-pure/internals/object-create.js","../../../node_modules/core-js-pure/internals/object-get-own-property-names.js","../../../node_modules/core-js-pure/internals/array-slice.js","../../../node_modules/core-js-pure/internals/object-get-own-property-names-external.js","../../../node_modules/core-js-pure/internals/object-get-own-property-symbols.js","../../../node_modules/core-js-pure/internals/define-built-in.js","../../../node_modules/core-js-pure/internals/define-built-in-accessor.js","../../../node_modules/core-js-pure/internals/well-known-symbol-wrapped.js","../../../node_modules/core-js-pure/internals/well-known-symbol-define.js","../../../node_modules/core-js-pure/internals/symbol-define-to-primitive.js","../../../node_modules/core-js-pure/internals/object-to-string.js","../../../node_modules/core-js-pure/internals/set-to-string-tag.js","../../../node_modules/core-js-pure/internals/weak-map-basic-detection.js","../../../node_modules/core-js-pure/internals/internal-state.js","../../../node_modules/core-js-pure/internals/array-iteration.js","../../../node_modules/core-js-pure/modules/es.symbol.constructor.js","../../../node_modules/core-js-pure/internals/symbol-registry-detection.js","../../../node_modules/core-js-pure/modules/es.symbol.for.js","../../../node_modules/core-js-pure/modules/es.symbol.key-for.js","../../../node_modules/core-js-pure/internals/is-raw-json.js","../../../node_modules/core-js-pure/internals/parse-json-string.js","../../../node_modules/core-js-pure/internals/native-raw-json.js","../../../node_modules/core-js-pure/modules/es.json.stringify.js","../../../node_modules/core-js-pure/modules/es.object.get-own-property-symbols.js","../../../node_modules/core-js-pure/modules/es.symbol.js","../../../node_modules/core-js-pure/modules/es.symbol.async-dispose.js","../../../node_modules/core-js-pure/modules/es.symbol.async-iterator.js","../../../node_modules/core-js-pure/modules/es.symbol.description.js","../../../node_modules/core-js-pure/modules/es.symbol.dispose.js","../../../node_modules/core-js-pure/modules/es.symbol.has-instance.js","../../../node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js","../../../node_modules/core-js-pure/modules/es.symbol.iterator.js","../../../node_modules/core-js-pure/modules/es.symbol.match.js","../../../node_modules/core-js-pure/modules/es.symbol.match-all.js","../../../node_modules/core-js-pure/modules/es.symbol.replace.js","../../../node_modules/core-js-pure/modules/es.symbol.search.js","../../../node_modules/core-js-pure/modules/es.symbol.species.js","../../../node_modules/core-js-pure/modules/es.symbol.split.js","../../../node_modules/core-js-pure/modules/es.symbol.to-primitive.js","../../../node_modules/core-js-pure/modules/es.symbol.to-string-tag.js","../../../node_modules/core-js-pure/modules/es.symbol.unscopables.js","../../../node_modules/core-js-pure/modules/es.json.to-string-tag.js","../../../node_modules/core-js-pure/modules/es.math.to-string-tag.js","../../../node_modules/core-js-pure/modules/es.reflect.to-string-tag.js","../../../node_modules/core-js-pure/es/symbol/index.js","../../../node_modules/core-js-pure/internals/add-to-unscopables.js","../../../node_modules/core-js-pure/internals/iterators.js","../../../node_modules/core-js-pure/internals/function-name.js","../../../node_modules/core-js-pure/internals/correct-prototype-getter.js","../../../node_modules/core-js-pure/internals/object-get-prototype-of.js","../../../node_modules/core-js-pure/internals/iterators-core.js","../../../node_modules/core-js-pure/internals/iterator-create-constructor.js","../../../node_modules/core-js-pure/internals/function-uncurry-this-accessor.js","../../../node_modules/core-js-pure/internals/is-possible-prototype.js","../../../node_modules/core-js-pure/internals/a-possible-prototype.js","../../../node_modules/core-js-pure/internals/object-set-prototype-of.js","../../../node_modules/core-js-pure/internals/iterator-define.js","../../../node_modules/core-js-pure/internals/create-iter-result-object.js","../../../node_modules/core-js-pure/modules/es.array.iterator.js","../../../node_modules/core-js-pure/internals/dom-iterables.js","../../../node_modules/core-js-pure/modules/web.dom-collections.iterator.js","../../../node_modules/core-js-pure/stable/symbol/index.js","../../../node_modules/core-js-pure/modules/esnext.function.metadata.js","../../../node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js","../../../node_modules/core-js-pure/modules/esnext.symbol.dispose.js","../../../node_modules/core-js-pure/modules/esnext.symbol.metadata.js","../../../node_modules/core-js-pure/actual/symbol/index.js","../../../node_modules/core-js-pure/internals/symbol-is-registered.js","../../../node_modules/core-js-pure/modules/esnext.symbol.is-registered-symbol.js","../../../node_modules/core-js-pure/internals/symbol-is-well-known.js","../../../node_modules/core-js-pure/modules/esnext.symbol.is-well-known-symbol.js","../../../node_modules/core-js-pure/modules/esnext.symbol.custom-matcher.js","../../../node_modules/core-js-pure/modules/esnext.symbol.observable.js","../../../node_modules/core-js-pure/modules/esnext.symbol.is-registered.js","../../../node_modules/core-js-pure/modules/esnext.symbol.is-well-known.js","../../../node_modules/core-js-pure/modules/esnext.symbol.matcher.js","../../../node_modules/core-js-pure/modules/esnext.symbol.metadata-key.js","../../../node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js","../../../node_modules/core-js-pure/modules/esnext.symbol.replace-all.js","../../../node_modules/core-js-pure/full/symbol/index.js","../../../node_modules/core-js-pure/features/symbol/index.js","../../../node_modules/core-js-pure/internals/string-multibyte.js","../../../node_modules/core-js-pure/modules/es.string.iterator.js","../../../node_modules/core-js-pure/internals/get-iterator-method.js","../../../node_modules/core-js-pure/es/get-iterator-method.js","../../../node_modules/core-js-pure/stable/get-iterator-method.js","../../../node_modules/core-js-pure/actual/get-iterator-method.js","../../../node_modules/core-js-pure/full/get-iterator-method.js","../../../node_modules/core-js-pure/features/get-iterator-method.js","../../../node_modules/core-js-pure/modules/es.array.push.js","../../../node_modules/core-js-pure/internals/get-built-in-prototype-method.js","../../../node_modules/core-js-pure/es/array/virtual/push.js","../../../node_modules/core-js-pure/es/instance/push.js","../../../node_modules/core-js-pure/stable/instance/push.js","../../../node_modules/core-js-pure/actual/instance/push.js","../../../node_modules/core-js-pure/full/instance/push.js","../../../node_modules/core-js-pure/features/instance/push.js","../../../node_modules/core-js-pure/modules/es.array.slice.js","../../../node_modules/core-js-pure/es/array/virtual/slice.js","../../../node_modules/core-js-pure/es/instance/slice.js","../../../node_modules/core-js-pure/stable/instance/slice.js","../../../node_modules/core-js-pure/actual/instance/slice.js","../../../node_modules/core-js-pure/full/instance/slice.js","../../../node_modules/core-js-pure/features/instance/slice.js","../../../node_modules/core-js-pure/internals/iterator-close.js","../../../node_modules/core-js-pure/internals/call-with-safe-iteration-closing.js","../../../node_modules/core-js-pure/internals/is-array-iterator-method.js","../../../node_modules/core-js-pure/internals/get-iterator.js","../../../node_modules/core-js-pure/internals/array-from.js","../../../node_modules/core-js-pure/internals/check-correctness-of-iteration.js","../../../node_modules/core-js-pure/modules/es.array.from.js","../../../node_modules/core-js-pure/es/array/from.js","../../../node_modules/core-js-pure/stable/array/from.js","../../../node_modules/core-js-pure/actual/array/from.js","../../../node_modules/core-js-pure/full/array/from.js","../../../node_modules/core-js-pure/features/array/from.js","../../../node_modules/core-js-pure/es/object/get-own-property-symbols.js","../../../node_modules/core-js-pure/stable/object/get-own-property-symbols.js","../../../node_modules/core-js-pure/actual/object/get-own-property-symbols.js","../../../node_modules/core-js-pure/full/object/get-own-property-symbols.js","../../../node_modules/core-js-pure/features/object/get-own-property-symbols.js","../../../node_modules/core-js-pure/internals/array-method-is-strict.js","../../../node_modules/core-js-pure/modules/es.array.index-of.js","../../../node_modules/core-js-pure/es/array/virtual/index-of.js","../../../node_modules/core-js-pure/es/instance/index-of.js","../../../node_modules/core-js-pure/stable/instance/index-of.js","../../../node_modules/core-js-pure/actual/instance/index-of.js","../../../node_modules/core-js-pure/full/instance/index-of.js","../../../node_modules/core-js-pure/features/instance/index-of.js","../../../node_modules/core-js-pure/internals/freezing.js","../../../node_modules/core-js-pure/internals/array-buffer-non-extensible.js","../../../node_modules/core-js-pure/internals/object-is-extensible.js","../../../node_modules/core-js-pure/internals/internal-metadata.js","../../../node_modules/core-js-pure/modules/es.object.freeze.js","../../../node_modules/core-js-pure/es/object/freeze.js","../../../node_modules/core-js-pure/stable/object/freeze.js","../../../node_modules/core-js-pure/actual/object/freeze.js","../../../node_modules/core-js-pure/full/object/freeze.js","../../../node_modules/core-js-pure/features/object/freeze.js","../../../node_modules/core-js-pure/modules/es.object.define-properties.js","../../../node_modules/core-js-pure/es/object/define-properties.js","../../../node_modules/core-js-pure/stable/object/define-properties.js","../../../node_modules/core-js-pure/actual/object/define-properties.js","../../../node_modules/core-js-pure/full/object/define-properties.js","../../../node_modules/core-js-pure/features/object/define-properties.js","../../../node_modules/core-js-pure/internals/environment.js","../../../node_modules/core-js-pure/internals/validate-arguments-length.js","../../../node_modules/core-js-pure/internals/schedulers-fix.js","../../../node_modules/core-js-pure/modules/web.set-interval.js","../../../node_modules/core-js-pure/modules/web.set-timeout.js","../../../node_modules/core-js-pure/modules/web.timers.js","../../../node_modules/core-js-pure/stable/set-timeout.js","../../../node_modules/@babel/runtime-corejs3/core-js-stable/set-timeout.js","../../../node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-is/cjs/react-is.development.js","../../../node_modules/react-is/index.js","../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../../node_modules/@babel/runtime/helpers/extends.js","../../../node_modules/core-js-pure/modules/es.object.keys.js","../../../node_modules/core-js-pure/es/object/keys.js","../../../node_modules/core-js-pure/stable/object/keys.js","../../../node_modules/@babel/runtime-corejs3/core-js-stable/object/keys.js","../../../node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols.js","../../../node_modules/core-js-pure/modules/es.array.filter.js","../../../node_modules/core-js-pure/es/array/virtual/filter.js","../../../node_modules/core-js-pure/es/instance/filter.js","../../../node_modules/core-js-pure/stable/instance/filter.js","../../../node_modules/@babel/runtime-corejs3/core-js-stable/instance/filter.js","../../../node_modules/core-js-pure/modules/es.object.get-own-property-descriptor.js","../../../node_modules/core-js-pure/es/object/get-own-property-descriptor.js","../../../node_modules/core-js-pure/stable/object/get-own-property-descriptor.js","../../../node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor.js","../../../node_modules/core-js-pure/internals/array-for-each.js","../../../node_modules/core-js-pure/modules/es.array.for-each.js","../../../node_modules/core-js-pure/es/array/virtual/for-each.js","../../../node_modules/core-js-pure/stable/array/virtual/for-each.js","../../../node_modules/core-js-pure/modules/web.dom-collections.for-each.js","../../../node_modules/core-js-pure/stable/instance/for-each.js","../../../node_modules/@babel/runtime-corejs3/core-js-stable/instance/for-each.js","../../../node_modules/core-js-pure/internals/own-keys.js","../../../node_modules/core-js-pure/modules/es.object.get-own-property-descriptors.js","../../../node_modules/core-js-pure/es/object/get-own-property-descriptors.js","../../../node_modules/core-js-pure/stable/object/get-own-property-descriptors.js","../../../node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors.js","../../../node_modules/@babel/runtime-corejs3/core-js-stable/object/define-properties.js","../../../node_modules/core-js-pure/modules/es.object.define-property.js","../../../node_modules/core-js-pure/es/object/define-property.js","../../../node_modules/core-js-pure/stable/object/define-property.js","../../../node_modules/@babel/runtime-corejs3/core-js-stable/object/define-property.js","../../../node_modules/core-js-pure/actual/object/define-property.js","../../../node_modules/core-js-pure/full/object/define-property.js","../../../node_modules/core-js-pure/features/object/define-property.js","../../../node_modules/core-js-pure/es/symbol/iterator.js","../../../node_modules/core-js-pure/stable/symbol/iterator.js","../../../node_modules/core-js-pure/actual/symbol/iterator.js","../../../node_modules/core-js-pure/full/symbol/iterator.js","../../../node_modules/core-js-pure/features/symbol/iterator.js","../../../node_modules/core-js-pure/modules/es.date.to-primitive.js","../../../node_modules/core-js-pure/es/symbol/to-primitive.js","../../../node_modules/core-js-pure/stable/symbol/to-primitive.js","../../../node_modules/core-js-pure/actual/symbol/to-primitive.js","../../../node_modules/core-js-pure/full/symbol/to-primitive.js","../../../node_modules/core-js-pure/features/symbol/to-primitive.js","../../../node_modules/core-js-pure/internals/iterate.js","../../../node_modules/core-js-pure/modules/es.object.from-entries.js","../../../node_modules/core-js-pure/es/object/from-entries.js","../../../node_modules/core-js-pure/stable/object/from-entries.js","../../../node_modules/@babel/runtime-corejs3/core-js-stable/object/from-entries.js","../../../node_modules/core-js-pure/internals/object-to-array.js","../../../node_modules/core-js-pure/modules/es.object.entries.js","../../../node_modules/core-js-pure/es/object/entries.js","../../../node_modules/core-js-pure/stable/object/entries.js","../../../node_modules/@babel/runtime-corejs3/core-js-stable/object/entries.js","../../../node_modules/core-js-pure/es/array/virtual/concat.js","../../../node_modules/core-js-pure/es/instance/concat.js","../../../node_modules/core-js-pure/stable/instance/concat.js","../../../node_modules/@babel/runtime-corejs3/core-js-stable/instance/concat.js","../../../node_modules/core-js-pure/internals/whitespaces.js","../../../node_modules/core-js-pure/internals/string-trim.js","../../../node_modules/core-js-pure/internals/string-trim-forced.js","../../../node_modules/core-js-pure/modules/es.string.trim.js","../../../node_modules/core-js-pure/es/string/virtual/trim.js","../../../node_modules/core-js-pure/es/instance/trim.js","../../../node_modules/core-js-pure/stable/instance/trim.js","../../../node_modules/@babel/runtime-corejs3/core-js-stable/instance/trim.js","../src/PuckEditor.tsx","../src/config/defaultPuckConfig.ts","../src/components/Hero.tsx","../src/components/RichText.tsx","../src/components/Columns.tsx","../src/fields/ImagePickerField.tsx","../../../node_modules/@babel/runtime-corejs3/helpers/esm/arrayWithHoles.js","../../../node_modules/@babel/runtime-corejs3/helpers/esm/iterableToArrayLimit.js","../../../node_modules/@babel/runtime-corejs3/helpers/esm/unsupportedIterableToArray.js","../../../node_modules/@babel/runtime-corejs3/helpers/esm/arrayLikeToArray.js","../../../node_modules/@babel/runtime-corejs3/helpers/esm/nonIterableRest.js","../../../node_modules/@babel/runtime-corejs3/helpers/esm/slicedToArray.js","../../../node_modules/@babel/runtime-corejs3/helpers/esm/objectWithoutProperties.js","../../../node_modules/@babel/runtime-corejs3/helpers/esm/objectWithoutPropertiesLoose.js","../../../node_modules/@babel/runtime-corejs3/helpers/esm/taggedTemplateLiteral.js","../../../node_modules/@commercetools-uikit/loading-spinner/dist/commercetools-uikit-loading-spinner.esm.js","../../../node_modules/@emotion/react/dist/emotion-element-d59e098f.esm.js","../../../node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","../../../node_modules/stylis/src/Enum.js","../../../node_modules/stylis/src/Utility.js","../../../node_modules/stylis/src/Tokenizer.js","../../../node_modules/stylis/src/Parser.js","../../../node_modules/stylis/src/Serializer.js","../../../node_modules/stylis/src/Middleware.js","../../../node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js","../../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../../../node_modules/@emotion/cache/dist/emotion-cache.esm.js","../../../node_modules/@emotion/utils/dist/emotion-utils.esm.js","../../../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../../../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../../../node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","../../../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.esm.js","../../../node_modules/@emotion/react/dist/emotion-react.esm.js","../../../node_modules/@commercetools-uikit/spacings-inline/dist/commercetools-uikit-spacings-inline.esm.js","../../../node_modules/@babel/runtime-corejs3/helpers/esm/defineProperty.js","../../../node_modules/@babel/runtime-corejs3/helpers/esm/typeof.js","../../../node_modules/@babel/runtime-corejs3/helpers/esm/toPrimitive.js","../../../node_modules/@babel/runtime-corejs3/helpers/esm/toPropertyKey.js","../../../node_modules/@commercetools-uikit/utils/dist/commercetools-uikit-utils.esm.js","../../../node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.esm.js","../src/components/Image.tsx","../src/components/Button.tsx","../src/components/Card.tsx","../src/components/Spacer.tsx","../src/components/ProductTeaser.tsx","../src/fields/DatasourceField.tsx","../src/components/cms/HeroBanner.tsx","../src/components/cms/TextBlock.tsx","../src/components/cms/CategoryGrid.tsx","../src/components/cms/CategoryHero.tsx","../src/components/cms/CheckoutPromoBanner.tsx","../src/components/cms/CountdownBanner.tsx","../src/components/cms/CrossSellBlock.tsx","../src/components/cms/shared.ts","../src/components/cms/DeliveryMessage.tsx","../src/components/cms/Divider.tsx","../src/components/cms/EmptyState.tsx","../src/components/cms/FAQAccordion.tsx","../src/components/cms/FooterBlock.tsx","../src/components/cms/ImageBlock.tsx","../src/components/cms/NewsletterSignup.tsx","../src/components/cms/ProductBanner.tsx","../src/components/cms/ProductGridHeader.tsx","../src/components/cms/ProductSlider.tsx","../src/components/cms/PromotionalBanner.tsx","../src/components/cms/RelatedProductsSlider.tsx","../src/components/cms/SocialLinks.tsx","../src/components/cms/TabContent.tsx","../src/components/cms/TestimonialsSlider.tsx","../src/components/cms/ThankYouContent.tsx","../src/components/cms/TrustBadges.tsx","../src/components/cms/VideoBlock.tsx","../src/components/cms/WebsiteLogo.tsx","../src/toolbar/EditorToolbar.tsx","../src/overrides/ComponentListSearch.tsx"],"sourcesContent":["'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = function () { /* empty */ }.bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar path = require('../internals/path');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])\n : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n !Symbol.sham &&\n typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = true;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n globalThis[key] = value;\n } return value;\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.49.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',\n license: 'https://github.com/zloirock/core-js/blob/v3.49.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.1.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n// add debugging info\nrequire('../internals/shared-store');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind methods to global for calling from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n // wrap global constructors for prevent changes in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n createNonEnumerableProperty(target, key, resultProperty);\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.es/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n","'use strict';\nrequire('../../modules/es.array.is-array');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.isArray;\n","'use strict';\nvar parent = require('../../es/array/is-array');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/array/is-array');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/array/is-array');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/array/is-array');\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw new $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n else object[key] = value;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw new $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n// eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, [], argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar createProperty = require('../internals/create-property');\nvar setArrayLength = require('../internals/array-set-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat');\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n doesNotExceedSafeInteger(n + len);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n doesNotExceedSafeInteger(n + 1);\n createProperty(A, n++, E);\n }\n }\n setArrayLength(A, n);\n return A;\n }\n});\n","// empty\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n // eslint-disable-next-line no-useless-assignment -- avoid memory leak\n activeXDocument = null;\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (target, key, value, options) {\n if (options && options.enumerable) target[key] = value;\n else createNonEnumerableProperty(target, key, value);\n return target;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/object-to-string');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n var target = STATIC ? it : it && it.prototype;\n if (target) {\n if (!hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n createNonEnumerableProperty(target, 'toString', toString);\n }\n }\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var index = 0;\n var resIndex = 0;\n var target = IS_MAP ? arraySpeciesCreate($this, length) : IS_FILTER || IS_FILTER_REJECT ? arraySpeciesCreate($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) createProperty(target, index, result); // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: createProperty(target, resIndex++, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: createProperty(target, resIndex++, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = globalThis.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar RangeError = globalThis.RangeError;\nvar TypeError = globalThis.TypeError;\nvar QObject = globalThis.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar fallbackDefineProperty = function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n } return O;\n};\n\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a !== 7;\n}) ? fallbackDefineProperty : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n // first definition - default non-enumerable; redefinition - preserve existing state\n if (!('enumerable' in Attributes) ? !hasOwn(O, key) || (hasOwn(O, HIDDEN) && O[HIDDEN][key]) : !Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null)));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n var $this = this === undefined ? globalThis : this;\n if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false;\n var descriptor = createPropertyDescriptor(1, value);\n try {\n setSymbolDescriptor($this, tag, descriptor);\n } catch (error) {\n if (!(error instanceof RangeError)) throw error;\n fallbackDefineProperty($this, tag, descriptor);\n }\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://tc39.es/ecma262/#sec-symbol.prototype.description\n defineBuiltInAccessor(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\n/* eslint-disable es/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n 'for': function (key) {\n var string = toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = getBuiltIn('Symbol')(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n }\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar getInternalState = require('../internals/internal-state').get;\n\nmodule.exports = function isRawJSON(O) {\n if (!isObject(O)) return false;\n var state = getInternalState(O);\n return !!state && state.type === 'RawJSON';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\n\nvar $SyntaxError = SyntaxError;\nvar $parseInt = parseInt;\nvar fromCharCode = String.fromCharCode;\nvar at = uncurryThis(''.charAt);\nvar slice = uncurryThis(''.slice);\nvar exec = uncurryThis(/./.exec);\n\nvar codePoints = {\n '\\\\\"': '\"',\n '\\\\\\\\': '\\\\',\n '\\\\/': '/',\n '\\\\b': '\\b',\n '\\\\f': '\\f',\n '\\\\n': '\\n',\n '\\\\r': '\\r',\n '\\\\t': '\\t'\n};\n\nvar IS_4_HEX_DIGITS = /^[\\da-f]{4}$/i;\n// eslint-disable-next-line regexp/no-control-character -- safe\nvar IS_C0_CONTROL_CODE = /^[\\u0000-\\u001F]$/;\n\nmodule.exports = function (source, i) {\n var unterminated = true;\n var value = '';\n while (i < source.length) {\n var chr = at(source, i);\n if (chr === '\\\\') {\n var twoChars = slice(source, i, i + 2);\n if (hasOwn(codePoints, twoChars)) {\n value += codePoints[twoChars];\n i += 2;\n } else if (twoChars === '\\\\u') {\n i += 2;\n var fourHexDigits = slice(source, i, i + 4);\n if (!exec(IS_4_HEX_DIGITS, fourHexDigits)) throw new $SyntaxError('Bad Unicode escape at: ' + i);\n value += fromCharCode($parseInt(fourHexDigits, 16));\n i += 4;\n } else throw new $SyntaxError('Unknown escape sequence: \"' + twoChars + '\"');\n } else if (chr === '\"') {\n unterminated = false;\n i++;\n break;\n } else {\n if (exec(IS_C0_CONTROL_CODE, chr)) throw new $SyntaxError('Bad control character in string literal at: ' + i);\n value += chr;\n i++;\n }\n }\n if (unterminated) throw new $SyntaxError('Unterminated string at: ' + i);\n return { value: value, end: i };\n};\n","'use strict';\n/* eslint-disable es/no-json -- safe */\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n var unsafeInt = '9007199254740993';\n // eslint-disable-next-line es/no-json-rawjson -- feature detection\n var raw = JSON.rawJSON(unsafeInt);\n // eslint-disable-next-line es/no-json-israwjson -- feature detection\n return !JSON.isRawJSON(raw) || JSON.stringify(raw) !== unsafeInt;\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar isRawJSON = require('../internals/is-raw-json');\nvar isSymbol = require('../internals/is-symbol');\nvar classof = require('../internals/classof-raw');\nvar toString = require('../internals/to-string');\nvar arraySlice = require('../internals/array-slice');\nvar parseJSONString = require('../internals/parse-json-string');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar NATIVE_RAW_JSON = require('../internals/native-raw-json');\n\nvar $String = String;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar slice = uncurryThis(''.slice);\nvar push = uncurryThis([].push);\nvar numberToString = uncurryThis(1.1.toString);\n\nvar surrogates = /[\\uD800-\\uDFFF]/g;\nvar leadingSurrogates = /^[\\uD800-\\uDBFF]$/;\nvar trailingSurrogates = /^[\\uDC00-\\uDFFF]$/;\n\nvar MARK = uid();\nvar MARK_LENGTH = MARK.length;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('Symbol')('stringify detection');\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) !== '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) !== '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) !== '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithProperSymbolsConversion = WRONG_SYMBOLS_CONVERSION ? function (it, replacer) {\n var args = arraySlice(arguments);\n var $replacer = getReplacerFunction(replacer);\n if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined\n args[1] = function (key, value) {\n // some old implementations (like WebKit) could pass numbers as keys\n if (isCallable($replacer)) value = call($replacer, this, $String(key), value);\n if (!isSymbol(value)) return value;\n };\n return apply($stringify, null, args);\n} : $stringify;\n\nvar fixIllFormedJSON = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if (\n (exec(leadingSurrogates, match) && !exec(trailingSurrogates, next)) ||\n (exec(trailingSurrogates, match) && !exec(leadingSurrogates, prev))\n ) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nvar getReplacerFunction = function (replacer) {\n if (isCallable(replacer)) return replacer;\n if (!isArray(replacer)) return;\n var rawLength = replacer.length;\n var keys = [];\n for (var i = 0; i < rawLength; i++) {\n var element = replacer[i];\n if (typeof element == 'string') push(keys, element);\n else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));\n }\n var keysLength = keys.length;\n var root = true;\n return function (key, value) {\n if (root) {\n root = false;\n return value;\n }\n if (isArray(this)) return value;\n for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;\n };\n};\n\n// `JSON.stringify` method\n// https://tc39.es/ecma262/#sec-json.stringify\n// https://github.com/tc39/proposal-json-parse-with-source\nif ($stringify) $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE || !NATIVE_RAW_JSON }, {\n stringify: function stringify(text, replacer, space) {\n var replacerFunction = getReplacerFunction(replacer);\n var rawStrings = [];\n\n var json = stringifyWithProperSymbolsConversion(text, function (key, value) {\n // some old implementations (like WebKit) could pass numbers as keys\n var v = isCallable(replacerFunction) ? call(replacerFunction, this, $String(key), value) : value;\n return !NATIVE_RAW_JSON && isRawJSON(v) ? MARK + (push(rawStrings, v.rawJSON) - 1) : v;\n }, space);\n\n if (typeof json != 'string') return json;\n\n if (ILL_FORMED_UNICODE) json = replace(json, surrogates, fixIllFormedJSON);\n\n if (NATIVE_RAW_JSON) return json;\n\n var result = '';\n var length = json.length;\n\n for (var i = 0; i < length; i++) {\n var chr = charAt(json, i);\n if (chr === '\"') {\n var end = parseJSONString(json, ++i).end - 1;\n var string = slice(json, i, end);\n result += slice(string, 0, MARK_LENGTH) === MARK\n ? rawStrings[slice(string, MARK_LENGTH)]\n : '\"' + string + '\"';\n i = end;\n } else result += chr;\n }\n\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.asyncDispose` well-known symbol\n// https://github.com/tc39/proposal-async-explicit-resource-management\ndefineWellKnownSymbol('asyncDispose');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","// empty\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.dispose` well-known symbol\n// https://github.com/tc39/proposal-explicit-resource-management\ndefineWellKnownSymbol('dispose');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.match` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.matchAll` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.matchall\ndefineWellKnownSymbol('matchAll');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.search` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.species` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.split` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag(getBuiltIn('Symbol'), 'Symbol');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(globalThis.JSON, 'JSON', true);\n","// empty\n","// empty\n","'use strict';\nrequire('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-dispose');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.dispose');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","'use strict';\nmodule.exports = function () { /* empty */ };\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && function something() { /* empty */ }.name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = null;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\nrequire('../modules/es.array.iterator');\nvar DOMIterables = require('../internals/dom-iterables');\nvar globalThis = require('../internals/global-this');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n setToStringTag(globalThis[COLLECTION_NAME], COLLECTION_NAME);\n Iterators[COLLECTION_NAME] = Iterators.Array;\n}\n","'use strict';\nvar parent = require('../../es/symbol');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar METADATA = wellKnownSymbol('metadata');\nvar FunctionPrototype = Function.prototype;\n\n// Function.prototype[@@metadata]\n// https://github.com/tc39/proposal-decorator-metadata\nif (FunctionPrototype[METADATA] === undefined) {\n defineProperty(FunctionPrototype, METADATA, {\n value: null\n });\n}\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.symbol.async-dispose');\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.symbol.dispose');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.metadata` well-known symbol\n// https://github.com/tc39/proposal-decorators\ndefineWellKnownSymbol('metadata');\n","'use strict';\nvar parent = require('../../stable/symbol');\n\nrequire('../../modules/esnext.function.metadata');\nrequire('../../modules/esnext.symbol.async-dispose');\nrequire('../../modules/esnext.symbol.dispose');\nrequire('../../modules/esnext.symbol.metadata');\n\nmodule.exports = parent;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Symbol = getBuiltIn('Symbol');\nvar keyFor = Symbol.keyFor;\nvar thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);\n\n// `Symbol.isRegisteredSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol\nmodule.exports = Symbol.isRegisteredSymbol || function isRegisteredSymbol(value) {\n try {\n return keyFor(thisSymbolValue(value)) !== undefined;\n } catch (error) {\n return false;\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isRegisteredSymbol = require('../internals/symbol-is-registered');\n\n// `Symbol.isRegisteredSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol\n$({ target: 'Symbol', stat: true }, {\n isRegisteredSymbol: isRegisteredSymbol\n});\n","'use strict';\nvar shared = require('../internals/shared');\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isSymbol = require('../internals/is-symbol');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar Symbol = getBuiltIn('Symbol');\nvar $isWellKnownSymbol = Symbol.isWellKnownSymbol;\nvar getOwnPropertyNames = getBuiltIn('Object', 'getOwnPropertyNames');\nvar thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);\nvar WellKnownSymbolsStore = shared('wks');\n\nfor (var i = 0, symbolKeys = getOwnPropertyNames(Symbol), symbolKeysLength = symbolKeys.length; i < symbolKeysLength; i++) {\n // some old engines throws on access to some keys like `arguments` or `caller`\n try {\n var symbolKey = symbolKeys[i];\n if (isSymbol(Symbol[symbolKey])) wellKnownSymbol(symbolKey);\n } catch (error) { /* empty */ }\n}\n\n// `Symbol.isWellKnownSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol\n// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected\nmodule.exports = function isWellKnownSymbol(value) {\n if ($isWellKnownSymbol && $isWellKnownSymbol(value)) return true;\n try {\n var symbol = thisSymbolValue(value);\n for (var j = 0, keys = getOwnPropertyNames(WellKnownSymbolsStore), keysLength = keys.length; j < keysLength; j++) {\n // eslint-disable-next-line eqeqeq -- polyfilled symbols case\n if (WellKnownSymbolsStore[keys[j]] == symbol) return true;\n }\n } catch (error) { /* empty */ }\n return false;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isWellKnownSymbol = require('../internals/symbol-is-well-known');\n\n// `Symbol.isWellKnownSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol\n// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected\n$({ target: 'Symbol', stat: true, forced: true }, {\n isWellKnownSymbol: isWellKnownSymbol\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.customMatcher` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('customMatcher');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.observable` well-known symbol\n// https://github.com/tc39/proposal-observable\ndefineWellKnownSymbol('observable');\n","'use strict';\nvar $ = require('../internals/export');\nvar isRegisteredSymbol = require('../internals/symbol-is-registered');\n\n// `Symbol.isRegistered` method\n// obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol\n$({ target: 'Symbol', stat: true, name: 'isRegisteredSymbol' }, {\n isRegistered: isRegisteredSymbol\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isWellKnownSymbol = require('../internals/symbol-is-well-known');\n\n// `Symbol.isWellKnown` method\n// obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol\n// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected\n$({ target: 'Symbol', stat: true, name: 'isWellKnownSymbol', forced: true }, {\n isWellKnown: isWellKnownSymbol\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.matcher` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('matcher');\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.metadataKey` well-known symbol\n// https://github.com/tc39/proposal-decorator-metadata\ndefineWellKnownSymbol('metadataKey');\n","'use strict';\n// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.patternMatch` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('patternMatch');\n","'use strict';\n// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\ndefineWellKnownSymbol('replaceAll');\n","'use strict';\nvar parent = require('../../actual/symbol');\nrequire('../../modules/esnext.symbol.is-registered-symbol');\nrequire('../../modules/esnext.symbol.is-well-known-symbol');\nrequire('../../modules/esnext.symbol.custom-matcher');\nrequire('../../modules/esnext.symbol.observable');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.symbol.is-registered');\nrequire('../../modules/esnext.symbol.is-well-known');\nrequire('../../modules/esnext.symbol.matcher');\nrequire('../../modules/esnext.symbol.metadata-key');\nrequire('../../modules/esnext.symbol.pattern-match');\nrequire('../../modules/esnext.symbol.replace-all');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/symbol');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nrequire('../modules/es.array.iterator');\nrequire('../modules/es.string.iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = getIteratorMethod;\n","'use strict';\nvar parent = require('../es/get-iterator-method');\nrequire('../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../stable/get-iterator-method');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../actual/get-iterator-method');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../full/get-iterator-method');\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar path = require('../internals/path');\n\nmodule.exports = function (CONSTRUCTOR, METHOD) {\n var Namespace = path[CONSTRUCTOR + 'Prototype'];\n var pureMethod = Namespace && Namespace[METHOD];\n if (pureMethod) return pureMethod;\n var NativeConstructor = globalThis[CONSTRUCTOR];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n return NativePrototype && NativePrototype[METHOD];\n};\n","'use strict';\nrequire('../../../modules/es.array.push');\nvar getBuiltInPrototypeMethod = require('../../../internals/get-built-in-prototype-method');\n\nmodule.exports = getBuiltInPrototypeMethod('Array', 'push');\n","'use strict';\nvar isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/push');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.push;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.push) ? method : own;\n};\n","'use strict';\nvar parent = require('../../es/instance/push');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/instance/push');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/instance/push');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/instance/push');\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar setArrayLength = require('../internals/array-set-length');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar nativeSlice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === $Array || Constructor === undefined) {\n return nativeSlice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n setArrayLength(result, n);\n return result;\n }\n});\n","'use strict';\nrequire('../../../modules/es.array.slice');\nvar getBuiltInPrototypeMethod = require('../../../internals/get-built-in-prototype-method');\n\nmodule.exports = getBuiltInPrototypeMethod('Array', 'slice');\n","'use strict';\nvar isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/slice');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.slice;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.slice) ? method : own;\n};\n","'use strict';\nvar parent = require('../../es/instance/slice');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/instance/slice');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/instance/slice');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/instance/slice');\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar setArrayLength = require('../internals/array-set-length');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $Array = Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var O = toObject(arrayLike);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n result = IS_CONSTRUCTOR ? new this() : [];\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n try {\n createProperty(result, index, value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : $Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n setArrayLength(result, index);\n return result;\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/es.array.from');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.from;\n","'use strict';\nvar parent = require('../../es/array/from');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/array/from');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/array/from');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/array/from');\n","'use strict';\nrequire('../../modules/es.symbol');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getOwnPropertySymbols;\n","'use strict';\nvar parent = require('../../es/object/get-own-property-symbols');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/object/get-own-property-symbols');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/object/get-own-property-symbols');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/object/get-own-property-symbols');\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","'use strict';\n/* eslint-disable es/no-array-prototype-indexof -- required for testing */\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeIndexOf = uncurryThis([].indexOf);\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / nativeIndexOf([1], 1, -0) < 0;\nvar FORCED = NEGATIVE_ZERO || !arrayMethodIsStrict('indexOf');\n\n// `Array.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: FORCED }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n var fromIndex = arguments.length > 1 ? arguments[1] : undefined;\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf(this, searchElement, fromIndex) || 0\n : $indexOf(this, searchElement, fromIndex);\n }\n});\n","'use strict';\nrequire('../../../modules/es.array.index-of');\nvar getBuiltInPrototypeMethod = require('../../../internals/get-built-in-prototype-method');\n\nmodule.exports = getBuiltInPrototypeMethod('Array', 'indexOf');\n","'use strict';\nvar isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/index-of');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.indexOf;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.indexOf) ? method : own;\n};\n","'use strict';\nvar parent = require('../../es/instance/index-of');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/instance/index-of');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/instance/index-of');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/instance/index-of');\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\n// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","'use strict';\nvar $ = require('../internals/export');\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\n\n// eslint-disable-next-line es/no-object-freeze -- safe\nvar $freeze = Object.freeze;\nvar FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); });\n\n// `Object.freeze` method\n// https://tc39.es/ecma262/#sec-object.freeze\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n freeze: function freeze(it) {\n return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it;\n }\n});\n","'use strict';\nrequire('../../modules/es.object.freeze');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.freeze;\n","'use strict';\nvar parent = require('../../es/object/freeze');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/object/freeze');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/object/freeze');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/object/freeze');\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperties = require('../internals/object-define-properties').f;\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\n});\n","'use strict';\nrequire('../../modules/es.object.define-properties');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar $defineProperties = module.exports = function defineProperties(T, D) {\n return Object.defineProperties(T, D);\n};\n\nif (Object.defineProperties.sham) $defineProperties.sham = true;\n","'use strict';\nvar parent = require('../../es/object/define-properties');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/object/define-properties');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/object/define-properties');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/object/define-properties');\n","'use strict';\n/* global Bun, Deno -- detection */\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\nvar classof = require('../internals/classof-raw');\n\nvar userAgentStartsWith = function (string) {\n return userAgent.slice(0, string.length) === string;\n};\n\nmodule.exports = (function () {\n if (userAgentStartsWith('Bun/')) return 'BUN';\n if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE';\n if (userAgentStartsWith('Deno/')) return 'DENO';\n if (userAgentStartsWith('Node.js/')) return 'NODE';\n if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN';\n if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO';\n if (classof(globalThis.process) === 'process') return 'NODE';\n if (globalThis.window && globalThis.document) return 'BROWSER';\n return 'REST';\n})();\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar isCallable = require('../internals/is-callable');\nvar ENVIRONMENT = require('../internals/environment');\nvar USER_AGENT = require('../internals/environment-user-agent');\nvar arraySlice = require('../internals/array-slice');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar Function = globalThis.Function;\n// dirty IE9- and Bun 0.3.0- checks\nvar WRAP = /MSIE .\\./.test(USER_AGENT) || ENVIRONMENT === 'BUN' && (function () {\n var version = globalThis.Bun.version.split('.');\n return version.length < 3 || version[0] === '0' && (version[1] < 3 || version[1] === '3' && version[2] === '0');\n})();\n\n// IE9- / Bun 0.3.0- setTimeout / setInterval / setImmediate additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers\n// https://github.com/oven-sh/bun/issues/1633\nmodule.exports = function (scheduler, hasTimeArg) {\n var firstParamIndex = hasTimeArg ? 2 : 1;\n return WRAP ? function (handler, timeout /* , ...arguments */) {\n var boundArgs = validateArgumentsLength(arguments.length, 1) > firstParamIndex;\n var fn = isCallable(handler) ? handler : Function(handler);\n var params = boundArgs ? arraySlice(arguments, firstParamIndex) : [];\n var callback = boundArgs ? function () {\n apply(fn, this, params);\n } : fn;\n return hasTimeArg ? scheduler(callback, timeout) : scheduler(callback);\n } : scheduler;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar schedulersFix = require('../internals/schedulers-fix');\n\nvar setInterval = schedulersFix(globalThis.setInterval, true);\n\n// Bun / IE9- setInterval additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval\n$({ global: true, bind: true, forced: globalThis.setInterval !== setInterval }, {\n setInterval: setInterval\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar schedulersFix = require('../internals/schedulers-fix');\n\nvar setTimeout = schedulersFix(globalThis.setTimeout, true);\n\n// Bun / IE9- setTimeout additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout\n$({ global: true, bind: true, forced: globalThis.setTimeout !== setTimeout }, {\n setTimeout: setTimeout\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/web.set-interval');\nrequire('../modules/web.set-timeout');\n","'use strict';\nrequire('../modules/web.timers');\nvar path = require('../internals/path');\n\nmodule.exports = path.setTimeout;\n","module.exports = require(\"core-js-pure/stable/set-timeout\");","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nrequire('../../modules/es.object.keys');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.keys;\n","'use strict';\nvar parent = require('../../es/object/keys');\n\nmodule.exports = parent;\n","module.exports = require(\"core-js-pure/stable/object/keys\");","module.exports = require(\"core-js-pure/stable/object/get-own-property-symbols\");","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nrequire('../../../modules/es.array.filter');\nvar getBuiltInPrototypeMethod = require('../../../internals/get-built-in-prototype-method');\n\nmodule.exports = getBuiltInPrototypeMethod('Array', 'filter');\n","'use strict';\nvar isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/filter');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.filter;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.filter) ? method : own;\n};\n","'use strict';\nvar parent = require('../../es/instance/filter');\n\nmodule.exports = parent;\n","module.exports = require(\"core-js-pure/stable/instance/filter\");","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FORCED = !DESCRIPTORS || fails(function () { nativeGetOwnPropertyDescriptor(1); });\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","'use strict';\nrequire('../../modules/es.object.get-own-property-descriptor');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar $getOwnPropertyDescriptor = module.exports = function getOwnPropertyDescriptor(it, key) {\n return Object.getOwnPropertyDescriptor(it, key);\n};\n\nif (Object.getOwnPropertyDescriptor.sham) $getOwnPropertyDescriptor.sham = true;\n","'use strict';\nvar parent = require('../../es/object/get-own-property-descriptor');\n\nmodule.exports = parent;\n","module.exports = require(\"core-js-pure/stable/object/get-own-property-descriptor\");","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n$({ target: 'Array', proto: true, forced: [].forEach !== forEach }, {\n forEach: forEach\n});\n","'use strict';\nrequire('../../../modules/es.array.for-each');\nvar getBuiltInPrototypeMethod = require('../../../internals/get-built-in-prototype-method');\n\nmodule.exports = getBuiltInPrototypeMethod('Array', 'forEach');\n","'use strict';\nvar parent = require('../../../es/array/virtual/for-each');\n\nmodule.exports = parent;\n","// empty\n","'use strict';\nvar classof = require('../../internals/classof');\nvar hasOwn = require('../../internals/has-own-property');\nvar isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/for-each');\nrequire('../../modules/web.dom-collections.for-each');\n\nvar ArrayPrototype = Array.prototype;\n\nvar DOMIterables = {\n DOMTokenList: true,\n NodeList: true\n};\n\nmodule.exports = function (it) {\n var own = it.forEach;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.forEach)\n || hasOwn(DOMIterables, classof(it)) ? method : own;\n};\n","module.exports = require(\"core-js-pure/stable/instance/for-each\");","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","'use strict';\nrequire('../../modules/es.object.get-own-property-descriptors');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getOwnPropertyDescriptors;\n","'use strict';\nvar parent = require('../../es/object/get-own-property-descriptors');\n\nmodule.exports = parent;\n","module.exports = require(\"core-js-pure/stable/object/get-own-property-descriptors\");","module.exports = require(\"core-js-pure/stable/object/define-properties\");","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","'use strict';\nrequire('../../modules/es.object.define-property');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar $defineProperty = module.exports = function defineProperty(it, key, desc) {\n return Object.defineProperty(it, key, desc);\n};\n\nif (Object.defineProperty.sham) $defineProperty.sham = true;\n","'use strict';\nvar parent = require('../../es/object/define-property');\n\nmodule.exports = parent;\n","module.exports = require(\"core-js-pure/stable/object/define-property\");","'use strict';\nvar parent = require('../../stable/object/define-property');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/object/define-property');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/object/define-property');\n","'use strict';\nrequire('../../modules/es.array.iterator');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/es.symbol.iterator');\nvar WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');\n\nmodule.exports = WrappedWellKnownSymbolModule.f('iterator');\n","'use strict';\nvar parent = require('../../es/symbol/iterator');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/symbol/iterator');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/symbol/iterator');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/symbol/iterator');\n","// empty\n","'use strict';\nrequire('../../modules/es.date.to-primitive');\nrequire('../../modules/es.symbol.to-primitive');\nvar WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');\n\nmodule.exports = WrappedWellKnownSymbolModule.f('toPrimitive');\n","'use strict';\nvar parent = require('../../es/symbol/to-primitive');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/symbol/to-primitive');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/symbol/to-primitive');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/symbol/to-primitive');\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n var $iterator = iterator;\n iterator = undefined;\n if ($iterator) iteratorClose($iterator, 'normal');\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n // `IteratorValue` errors should propagate without closing the iterator\n var value = step.value;\n try {\n result = callFn(value);\n } catch (error) {\n if (iterator) iteratorClose(iterator, 'throw', error);\n else throw error;\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar createProperty = require('../internals/create-property');\n\n// `Object.fromEntries` method\n// https://tc39.es/ecma262/#sec-object.fromentries\n$({ target: 'Object', stat: true }, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, { AS_ENTRIES: true });\n return obj;\n }\n});\n","'use strict';\nrequire('../../modules/es.array.iterator');\nrequire('../../modules/es.object.from-entries');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.fromEntries;\n","'use strict';\nvar parent = require('../../es/object/from-entries');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","module.exports = require(\"core-js-pure/stable/object/from-entries\");","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys\n// of `null` prototype objects\nvar IE_BUG = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-create -- safe\n var O = Object.create(null);\n O[2] = 2;\n return !propertyIsEnumerable(O, 2);\n});\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null;\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","'use strict';\nrequire('../../modules/es.object.entries');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.entries;\n","'use strict';\nvar parent = require('../../es/object/entries');\n\nmodule.exports = parent;\n","module.exports = require(\"core-js-pure/stable/object/entries\");","'use strict';\nrequire('../../../modules/es.array.concat');\nvar getBuiltInPrototypeMethod = require('../../../internals/get-built-in-prototype-method');\n\nmodule.exports = getBuiltInPrototypeMethod('Array', 'concat');\n","'use strict';\nvar isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/concat');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.concat;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.concat) ? method : own;\n};\n","'use strict';\nvar parent = require('../../es/instance/concat');\n\nmodule.exports = parent;\n","module.exports = require(\"core-js-pure/stable/instance/concat\");","'use strict';\n// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar ltrim = RegExp('^[' + whitespaces + ']+');\nvar rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '$1');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","'use strict';\nrequire('../../../modules/es.string.trim');\nvar getBuiltInPrototypeMethod = require('../../../internals/get-built-in-prototype-method');\n\nmodule.exports = getBuiltInPrototypeMethod('String', 'trim');\n","'use strict';\nvar isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../string/virtual/trim');\n\nvar StringPrototype = String.prototype;\n\nmodule.exports = function (it) {\n var own = it.trim;\n return typeof it == 'string' || it === StringPrototype\n || (isPrototypeOf(StringPrototype, it) && own === StringPrototype.trim) ? method : own;\n};\n","'use strict';\nvar parent = require('../../es/instance/trim');\n\nmodule.exports = parent;\n","module.exports = require(\"core-js-pure/stable/instance/trim\");","import React, { useCallback, useRef, useState } from 'react';\nimport { Puck, type Config, type Data } from '@measured/puck';\nimport '@measured/puck/puck.css';\nimport { PuckApiProvider, usePuckPage } from '@commercetools-demo/puck-api';\nimport type { PuckData } from '@commercetools-demo/puck-types';\nimport type { PuckPageVersionEntry } from '@commercetools-demo/puck-types';\nimport {\n VersionHistoryProvider,\n VersionPreviewBanner,\n VersionAwareFieldsPanel,\n VersionHistoryButton,\n useVersionHistoryPanel,\n useVersionDiff,\n} from '@commercetools-demo/puck-version-history';\nimport { defaultPuckConfig } from './config/defaultPuckConfig';\nimport { EditorToolbar } from './toolbar/EditorToolbar';\nimport {\n ComponentSearchProvider,\n ComponentsPanel,\n ComponentItemFilter,\n} from './overrides/ComponentListSearch';\nimport Spacings from '@commercetools-uikit/spacings';\n\n// ---------------------------------------------------------------------------\n// Inner component (uses context from PuckApiProvider)\n// ---------------------------------------------------------------------------\n\ninterface PuckEditorInnerProps {\n pageKey: string;\n config: Config;\n onPublish?: (puckData: PuckData) => void;\n onSave?: (puckData: PuckData) => void;\n onError?: (error: Error) => void;\n showPublishButton: boolean;\n autoSaveDebounceMs: number;\n}\n\nconst PuckEditorInner: React.FC<PuckEditorInnerProps> = ({\n pageKey,\n config,\n onPublish,\n onSave,\n onError,\n showPublishButton,\n autoSaveDebounceMs: _autoSaveDebounceMs,\n}) => {\n const {\n page,\n states,\n versions,\n saving,\n loading,\n error,\n saveDraft,\n publish,\n revertToPublished,\n loadVersions,\n } = usePuckPage(pageKey);\n\n const latestDataRef = useRef<Data | null>(null);\n const [hasUnsavedChanges, setHasUnsavedChanges] = useState(false);\n const [isApplyingVersion, setIsApplyingVersion] = useState(false);\n\n // Current live data (draft preferred, fallback to page value)\n const currentData: PuckData =\n states.draft?.puckData ??\n page?.puckData ?? {\n content: [],\n root: { props: {} },\n };\n\n // Version history panel state\n const versionHistory = useVersionHistoryPanel({\n versions: versions as PuckPageVersionEntry[],\n loadVersions,\n currentData,\n });\n\n // Diff between selected historical version and current draft\n const diff = useVersionDiff(\n versionHistory.previewData,\n currentData\n );\n\n // Ref so handleChange can read the latest preview state without stale closure\n const isPreviewingRef = useRef(false);\n isPreviewingRef.current = versionHistory.isPreviewingHistory;\n\n // -------------------------------------------------------------------------\n // Normal editor handlers\n // -------------------------------------------------------------------------\n\n const handleChange = useCallback((data: Data) => {\n if (isPreviewingRef.current) return;\n latestDataRef.current = data;\n setHasUnsavedChanges(true);\n }, []);\n\n const handleSave = useCallback(async () => {\n const data = latestDataRef.current;\n if (!data) return;\n try {\n await saveDraft(data as PuckData);\n setHasUnsavedChanges(false);\n onSave?.(data as PuckData);\n } catch (err) {\n onError?.(err as Error);\n }\n }, [saveDraft, onSave, onError]);\n\n const handlePublish = useCallback(\n async (data: Data) => {\n try {\n await saveDraft(data as PuckData);\n setHasUnsavedChanges(false);\n await publish(false);\n onPublish?.(data as PuckData);\n } catch (err) {\n onError?.(err as Error);\n }\n },\n [saveDraft, publish, onPublish, onError]\n );\n\n const handleRevert = useCallback(async () => {\n try {\n await revertToPublished();\n setHasUnsavedChanges(false);\n } catch (err) {\n onError?.(err as Error);\n }\n }, [revertToPublished, onError]);\n\n // -------------------------------------------------------------------------\n // Version history handlers\n // -------------------------------------------------------------------------\n\n const handleApplyVersion = useCallback(async () => {\n const versionData = versionHistory.previewData;\n if (!versionData) return;\n setIsApplyingVersion(true);\n try {\n await saveDraft(versionData);\n setHasUnsavedChanges(false);\n onSave?.(versionData);\n versionHistory.clearSelection();\n } catch (err) {\n onError?.(err as Error);\n } finally {\n setIsApplyingVersion(false);\n }\n }, [versionHistory, saveDraft, onSave, onError]);\n\n // -------------------------------------------------------------------------\n // Loading / error states\n // -------------------------------------------------------------------------\n\n if (loading) {\n return (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: '100vh',\n fontSize: '16px',\n color: 'var(--puck-color-grey-07)',\n }}\n >\n Loading editor…\n </div>\n );\n }\n\n if (error) {\n return (\n <div\n style={{\n padding: '32px',\n color: 'var(--puck-color-red-07)',\n border: '1px solid var(--puck-color-red-04)',\n borderRadius: '8px',\n margin: '16px',\n }}\n >\n <strong>Error loading page:</strong> {error}\n </div>\n );\n }\n\n // Data shown in the Puck canvas — historical preview takes precedence\n const activeData: PuckData = versionHistory.previewData ?? currentData;\n\n return (\n <VersionHistoryProvider\n diff={diff}\n isPreviewingHistory={versionHistory.isPreviewingHistory}\n versions={versions as PuckPageVersionEntry[]}\n isLoadingVersions={versionHistory.isLoadingVersions}\n selectedVersionId={versionHistory.selectedVersionId}\n isApplying={isApplyingVersion}\n onVersionSelect={versionHistory.selectVersion}\n onApply={() => void handleApplyVersion()}\n onDiscard={versionHistory.clearSelection}\n onLoadVersions={versionHistory.openPanel}\n >\n <ComponentSearchProvider>\n <Puck\n key={versionHistory.selectedVersionId ?? 'current'}\n config={config}\n data={activeData as Data}\n onChange={handleChange}\n onPublish={handlePublish}\n overrides={{\n headerActions: () =>\n versionHistory.isPreviewingHistory ? (\n <Spacings.Inline scale=\"s\" alignItems=\"center\">\n <VersionPreviewBanner\n timestamp={versionHistory.selectedVersion!.timestamp}\n onApply={() => void handleApplyVersion()}\n onDiscard={versionHistory.clearSelection}\n isApplying={isApplyingVersion}\n />\n <VersionHistoryButton disabled={isApplyingVersion} />\n </Spacings.Inline>\n ) : (\n <EditorToolbar\n saving={saving}\n isDirty={hasUnsavedChanges}\n states={states}\n onSave={() => void handleSave()}\n onPublish={() => void handlePublish(activeData as Data)}\n onRevert={() => void handleRevert()}\n showPublishButton={showPublishButton}\n />\n ),\n components: ({ children }) => <ComponentsPanel>{children}</ComponentsPanel>,\n componentItem: ({ children, name }) => (\n <ComponentItemFilter name={name}>{children}</ComponentItemFilter>\n ),\n fields: ({ children, isLoading }) => (\n <VersionAwareFieldsPanel isLoading={isLoading}>\n {children}\n </VersionAwareFieldsPanel>\n ),\n }}\n />\n </ComponentSearchProvider>\n </VersionHistoryProvider>\n );\n};\n\n// ---------------------------------------------------------------------------\n// Public component (self-contained, wraps PuckApiProvider)\n// ---------------------------------------------------------------------------\n\nexport interface PuckEditorProps {\n /** Service base URL, e.g. \"http://localhost:8080\" */\n baseURL: string;\n /** CommerceTools project key */\n projectKey: string;\n /** Business unit key */\n businessUnitKey: string;\n /** JWT bearer token — required for save/publish mutations */\n jwtToken: string;\n /** The key of the puck page to edit */\n pageKey: string;\n /**\n * Puck component config.\n * Defaults to `defaultPuckConfig` (all built-in components).\n * Consumers can extend or replace.\n */\n config?: Config;\n /** Called after a successful publish */\n onPublish?: (puckData: PuckData) => void;\n /** Called after each save */\n onSave?: (puckData: PuckData) => void;\n /** Called when an error occurs */\n onError?: (error: Error) => void;\n /** Show the Publish button in the toolbar. Default: true */\n showPublishButton?: boolean;\n /** Debounce delay for auto-save in ms. Default: 1500 */\n autoSaveDebounceMs?: number;\n}\n\nexport const PuckEditor: React.FC<PuckEditorProps> = ({\n baseURL,\n projectKey,\n businessUnitKey,\n jwtToken,\n pageKey,\n config = defaultPuckConfig,\n onPublish,\n onSave,\n onError,\n showPublishButton = true,\n autoSaveDebounceMs = 1500,\n}) => {\n return (\n <PuckApiProvider\n baseURL={baseURL}\n projectKey={projectKey}\n businessUnitKey={businessUnitKey}\n jwtToken={jwtToken}\n >\n <PuckEditorInner\n pageKey={pageKey}\n config={config}\n onPublish={onPublish}\n onSave={onSave}\n onError={onError}\n showPublishButton={showPublishButton}\n autoSaveDebounceMs={autoSaveDebounceMs}\n />\n </PuckApiProvider>\n );\n};\n","import React from 'react';\nimport { type Config } from '@measured/puck';\nimport { Hero } from '../components/Hero';\nimport { RichText } from '../components/RichText';\nimport { Columns } from '../components/Columns';\nimport { Image } from '../components/Image';\nimport { Button } from '../components/Button';\nimport { Card } from '../components/Card';\nimport { Spacer } from '../components/Spacer';\nimport { ProductTeaser } from '../components/ProductTeaser';\nimport {\n HeroBanner, TextBlock, CategoryGrid, CategoryHero,\n CheckoutPromoBanner, CountdownBanner, CrossSellBlock, DeliveryMessage,\n Divider, EmptyState, FAQAccordion, FooterBlock, ImageBlock,\n NewsletterSignup, ProductBanner, ProductGridHeader, ProductSlider,\n PromotionalBanner, RelatedProductsSlider, SocialLinks, TabContent,\n TestimonialsSlider, ThankYouContent, TrustBadges, VideoBlock, WebsiteLogo,\n} from '../components/cms';\n\n/**\n * Default Puck configuration with built-in components.\n *\n * Consumers can extend this:\n * ```ts\n * import { defaultPuckConfig } from '@commercetools-demo/puck-editor';\n * const myConfig = {\n * ...defaultPuckConfig,\n * components: { ...defaultPuckConfig.components, MyComponent },\n * };\n * ```\n */\nexport const defaultPuckConfig: Config = {\n components: {\n Hero,\n RichText,\n Columns,\n Image,\n Button,\n Card,\n Spacer,\n ProductTeaser,\n // CMS components\n HeroBanner, TextBlock, CategoryGrid, CategoryHero,\n CheckoutPromoBanner, CountdownBanner, CrossSellBlock, DeliveryMessage,\n Divider, EmptyState, FAQAccordion, FooterBlock, ImageBlock,\n NewsletterSignup, ProductBanner, ProductGridHeader, ProductSlider,\n PromotionalBanner, RelatedProductsSlider, SocialLinks, TabContent,\n TestimonialsSlider, ThankYouContent, TrustBadges, VideoBlock, WebsiteLogo,\n },\n root: {\n fields: {\n title: { type: 'text', label: 'Page Title' },\n backgroundColor: { type: 'text', label: 'Background Color (CSS)' },\n },\n defaultProps: {\n title: 'New Page',\n backgroundColor: '#ffffff',\n },\n render: ({ children, backgroundColor }) =>\n React.createElement(\n 'div',\n {\n style: {\n background: backgroundColor ?? '#ffffff',\n minHeight: '100vh',\n fontFamily:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif',\n },\n },\n children\n ),\n },\n};\n","import React from 'react';\nimport type { ComponentConfig } from '@measured/puck';\n\nexport interface HeroProps {\n heading: string;\n subheading?: string;\n backgroundImage?: string;\n ctaText?: string;\n ctaUrl?: string;\n layout?: 'centered' | 'left-aligned';\n minHeight?: string;\n}\n\nexport const Hero: ComponentConfig<HeroProps> = {\n label: 'Hero',\n fields: {\n heading: { type: 'text', label: 'Heading' },\n subheading: { type: 'textarea', label: 'Subheading' },\n backgroundImage: { type: 'text', label: 'Background Image URL' },\n ctaText: { type: 'text', label: 'CTA Button Text' },\n ctaUrl: { type: 'text', label: 'CTA Button URL' },\n layout: {\n type: 'select',\n label: 'Layout',\n options: [\n { value: 'centered', label: 'Centered' },\n { value: 'left-aligned', label: 'Left Aligned' },\n ],\n },\n minHeight: { type: 'text', label: 'Min Height (CSS, e.g. 400px)' },\n },\n defaultProps: {\n heading: 'Welcome',\n layout: 'centered',\n minHeight: '400px',\n },\n render: ({\n heading,\n subheading,\n backgroundImage,\n ctaText,\n ctaUrl,\n layout,\n minHeight,\n }) => {\n const isCenter = layout !== 'left-aligned';\n return (\n <section\n style={{\n position: 'relative',\n minHeight: minHeight ?? '400px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: isCenter ? 'center' : 'flex-start',\n padding: '48px 32px',\n backgroundImage: backgroundImage\n ? `url(${backgroundImage})`\n : undefined,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n backgroundColor: backgroundImage ? undefined : '#1a1a2e',\n color: '#fff',\n boxSizing: 'border-box',\n }}\n >\n {backgroundImage && (\n <div\n style={{\n position: 'absolute',\n inset: 0,\n background: 'rgba(0,0,0,0.45)',\n }}\n />\n )}\n <div\n style={{\n position: 'relative',\n maxWidth: '720px',\n textAlign: isCenter ? 'center' : 'left',\n }}\n >\n <h1 style={{ margin: '0 0 16px', fontSize: '2.5rem', fontWeight: 700 }}>\n {heading}\n </h1>\n {subheading && (\n <p style={{ margin: '0 0 24px', fontSize: '1.2rem', opacity: 0.85 }}>\n {subheading}\n </p>\n )}\n {ctaText && ctaUrl && (\n <a\n href={ctaUrl}\n style={{\n display: 'inline-block',\n padding: '12px 28px',\n background: '#e94560',\n color: '#fff',\n borderRadius: '4px',\n textDecoration: 'none',\n fontWeight: 600,\n }}\n >\n {ctaText}\n </a>\n )}\n </div>\n </section>\n );\n },\n};\n","import React from 'react';\nimport type { ComponentConfig } from '@measured/puck';\n\nexport interface RichTextProps {\n content: string;\n align?: 'left' | 'center' | 'right';\n maxWidth?: string;\n padding?: string;\n}\n\nexport const RichText: ComponentConfig<RichTextProps> = {\n label: 'Rich Text',\n fields: {\n content: {\n type: 'textarea',\n label: 'Content (HTML supported)',\n },\n align: {\n type: 'select',\n label: 'Text Alignment',\n options: [\n { value: 'left', label: 'Left' },\n { value: 'center', label: 'Center' },\n { value: 'right', label: 'Right' },\n ],\n },\n maxWidth: { type: 'text', label: 'Max Width (CSS)' },\n padding: { type: 'text', label: 'Padding (CSS)' },\n },\n defaultProps: {\n content: '<p>Add your content here…</p>',\n align: 'left',\n padding: '32px',\n },\n render: ({ content, align, maxWidth, padding }) => (\n <div\n style={{\n padding: padding ?? '32px',\n textAlign: align ?? 'left',\n maxWidth: maxWidth,\n margin: maxWidth ? '0 auto' : undefined,\n boxSizing: 'border-box',\n }}\n // Puck stores raw HTML for rich text fields; this is controlled editor input\n dangerouslySetInnerHTML={{ __html: content }}\n />\n ),\n};\n","import React from 'react';\nimport { DropZone, type ComponentConfig } from '@measured/puck';\n\nexport interface ColumnsProps {\n columnCount?: 2 | 3 | 4;\n gap?: string;\n padding?: string;\n}\n\nexport const Columns: ComponentConfig<ColumnsProps> = {\n label: 'Columns',\n fields: {\n columnCount: {\n type: 'select',\n label: 'Number of Columns',\n options: [\n { value: 2, label: '2 Columns' },\n { value: 3, label: '3 Columns' },\n { value: 4, label: '4 Columns' },\n ],\n },\n gap: { type: 'text', label: 'Column Gap (CSS)' },\n padding: { type: 'text', label: 'Padding (CSS)' },\n },\n defaultProps: {\n columnCount: 2,\n gap: '16px',\n padding: '16px',\n },\n render: ({ columnCount = 2, gap = '16px', padding = '16px' }) => {\n const cols = Array.from({ length: columnCount }, (_, i) => i);\n return (\n <div\n style={{\n display: 'grid',\n gridTemplateColumns: `repeat(${columnCount}, 1fr)`,\n gap,\n padding,\n boxSizing: 'border-box',\n }}\n >\n {cols.map((i) => (\n <div key={i}>\n <DropZone zone={`column-${i}`} />\n </div>\n ))}\n </div>\n );\n },\n};\n","import React, {\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { useMediaLibrary } from '@commercetools-demo/puck-api';\nimport type { MediaFile } from '@commercetools-demo/puck-types';\nimport PrimaryButton from '@commercetools-uikit/primary-button';\nimport SecondaryButton from '@commercetools-uikit/secondary-button';\nimport FlatButton from '@commercetools-uikit/flat-button';\nimport SecondaryIconButton from '@commercetools-uikit/secondary-icon-button';\nimport TextInput from '@commercetools-uikit/text-input';\nimport Label from '@commercetools-uikit/label';\nimport LoadingSpinner from '@commercetools-uikit/loading-spinner';\nimport Spacings from '@commercetools-uikit/spacings';\nimport Text from '@commercetools-uikit/text';\nimport { CloseIcon } from '@commercetools-uikit/icons';\n\n// ---------------------------------------------------------------------------\n// Upload modal\n// ---------------------------------------------------------------------------\n\ninterface UploadModalProps {\n uploading: boolean;\n error: string | null;\n onUpload: (file: File, title: string, description: string) => void;\n onClose: () => void;\n}\n\nconst UploadModal: React.FC<UploadModalProps> = ({\n uploading,\n error,\n onUpload,\n onClose,\n}) => {\n const [file, setFile] = useState<File | null>(null);\n const [title, setTitle] = useState('');\n const [description, setDescription] = useState('');\n const [dragging, setDragging] = useState(false);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleFile = (f: File) => {\n setFile(f);\n if (!title) setTitle(f.name);\n };\n\n const handleDrop = (e: React.DragEvent) => {\n e.preventDefault();\n setDragging(false);\n const f = e.dataTransfer.files[0];\n if (f) handleFile(f);\n };\n\n return (\n <div\n style={{\n position: 'fixed',\n inset: 0,\n background: 'rgba(0,0,0,0.5)',\n zIndex: 9999,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n onClick={(e) => e.target === e.currentTarget && onClose()}\n >\n <div\n style={{\n background: '#fff',\n borderRadius: '8px',\n width: '640px',\n maxWidth: '95vw',\n maxHeight: '85vh',\n display: 'flex',\n flexDirection: 'column',\n boxShadow: '0 20px 60px rgba(0,0,0,0.3)',\n }}\n >\n {/* Header */}\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '16px 20px',\n borderBottom: '1px solid #e5e7eb',\n }}\n >\n <Text.Subheadline as=\"h4\" isBold>Upload a file</Text.Subheadline>\n <SecondaryIconButton\n icon={<CloseIcon />}\n label=\"Close\"\n onClick={onClose}\n size=\"small\"\n />\n </div>\n\n {/* Body */}\n <div style={{ flex: 1, overflow: 'auto', padding: '20px' }}>\n <Spacings.Stack scale=\"m\">\n <Spacings.Stack scale=\"xs\">\n <Label htmlFor=\"upload-title\">Title</Label>\n <TextInput\n id=\"upload-title\"\n value={title}\n onChange={(e) => setTitle(e.target.value)}\n placeholder=\"File title\"\n />\n </Spacings.Stack>\n <Spacings.Stack scale=\"xs\">\n <Label htmlFor=\"upload-description\">Description</Label>\n <TextInput\n id=\"upload-description\"\n value={description}\n onChange={(e) => setDescription(e.target.value)}\n placeholder=\"Optional description\"\n />\n </Spacings.Stack>\n <div\n style={{\n border: dragging ? '2px dashed #3b82f6' : '2px dashed #d1d5db',\n borderRadius: '6px',\n padding: '24px',\n textAlign: 'center',\n cursor: 'pointer',\n color: dragging ? '#3b82f6' : '#6b7280',\n fontSize: '13px',\n transition: 'border-color .2s',\n }}\n onClick={() => inputRef.current?.click()}\n onDragOver={(e) => { e.preventDefault(); setDragging(true); }}\n onDragLeave={() => setDragging(false)}\n onDrop={handleDrop}\n >\n {file ? (\n <>\n <div>📎 {file.name}</div>\n <div style={{ fontSize: '11px', marginTop: '4px', color: '#9ca3af' }}>\n {(file.size / 1024).toFixed(0)} KB\n </div>\n </>\n ) : (\n <div>📁 Click or drag & drop to select a file</div>\n )}\n <input\n ref={inputRef}\n type=\"file\"\n accept=\"image/*\"\n style={{ display: 'none' }}\n onChange={(e) => {\n const f = e.target.files?.[0];\n if (f) handleFile(f);\n }}\n />\n </div>\n {error && <Text.Body tone=\"negative\">{error}</Text.Body>}\n </Spacings.Stack>\n </div>\n\n {/* Footer */}\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: '12px 20px',\n borderTop: '1px solid #e5e7eb',\n gap: '12px',\n }}\n >\n <Text.Detail tone=\"secondary\" truncate>\n {file?.name ?? 'No file selected'}\n </Text.Detail>\n <Spacings.Inline scale=\"s\">\n <SecondaryButton label=\"Cancel\" onClick={onClose} />\n <PrimaryButton\n label={uploading ? 'Uploading…' : 'Upload'}\n isDisabled={!file || uploading}\n onClick={() => file && onUpload(file, title, description)}\n />\n </Spacings.Inline>\n </div>\n </div>\n </div>\n );\n};\n\n// ---------------------------------------------------------------------------\n// Library modal\n// ---------------------------------------------------------------------------\n\ninterface LibraryModalProps {\n files: MediaFile[];\n pagination: { currentPage: number; totalPages: number };\n loading: boolean;\n error: string | null;\n onNextPage: () => void;\n onPrevPage: () => void;\n onSelect: (file: MediaFile) => void;\n onClose: () => void;\n}\n\nconst LibraryModal: React.FC<LibraryModalProps> = ({\n files,\n pagination,\n loading,\n error,\n onNextPage,\n onPrevPage,\n onSelect,\n onClose,\n}) => {\n const [selected, setSelected] = useState<MediaFile | null>(null);\n\n const handleConfirm = () => {\n if (selected) onSelect(selected);\n };\n\n return (\n <div\n style={{\n position: 'fixed',\n inset: 0,\n background: 'rgba(0,0,0,0.5)',\n zIndex: 9999,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n onClick={(e) => e.target === e.currentTarget && onClose()}\n >\n <div\n style={{\n background: '#fff',\n borderRadius: '8px',\n width: '640px',\n maxWidth: '95vw',\n maxHeight: '85vh',\n display: 'flex',\n flexDirection: 'column',\n boxShadow: '0 20px 60px rgba(0,0,0,0.3)',\n }}\n >\n {/* Header */}\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '16px 20px',\n borderBottom: '1px solid #e5e7eb',\n }}\n >\n <Text.Subheadline as=\"h4\" isBold>Select from Media Library</Text.Subheadline>\n <SecondaryIconButton\n icon={<CloseIcon />}\n label=\"Close\"\n onClick={onClose}\n size=\"small\"\n />\n </div>\n\n {/* Body */}\n <div style={{ flex: 1, overflow: 'auto', padding: '20px' }}>\n {loading ? (\n <div style={{ display: 'flex', justifyContent: 'center', padding: '32px' }}>\n <LoadingSpinner />\n </div>\n ) : files.length === 0 ? (\n <Text.Body tone=\"secondary\">No files found.</Text.Body>\n ) : (\n <Spacings.Stack scale=\"m\">\n <div\n style={{\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fill, minmax(110px, 1fr))',\n gap: '12px',\n }}\n >\n {files.map((file) => (\n <div\n key={file.url}\n style={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n cursor: 'pointer',\n border: `2px solid ${selected?.url === file.url ? '#3b82f6' : 'transparent'}`,\n borderRadius: '6px',\n padding: '6px',\n background: selected?.url === file.url ? 'rgba(59,130,246,0.07)' : '#f9fafb',\n }}\n onClick={() => setSelected(file)}\n title={file.title ?? file.name}\n >\n {file.isImage ? (\n <img\n src={file.url}\n alt={file.name}\n style={{ width: '80px', height: '80px', objectFit: 'cover', borderRadius: '4px', background: '#e5e7eb' }}\n />\n ) : (\n <div\n style={{\n width: '80px',\n height: '80px',\n borderRadius: '4px',\n background: '#e5e7eb',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '28px',\n }}\n >\n 📄\n </div>\n )}\n <div\n style={{\n marginTop: '6px',\n fontSize: '11px',\n textAlign: 'center',\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: '#374151',\n }}\n >\n {file.title ?? file.name}\n </div>\n </div>\n ))}\n </div>\n\n {pagination.totalPages > 1 && (\n <Spacings.Inline alignItems=\"center\" justifyContent=\"center\" scale=\"s\">\n <SecondaryButton\n label=\"← Prev\"\n isDisabled={pagination.currentPage <= 1}\n onClick={onPrevPage}\n size=\"small\"\n />\n <Text.Detail tone=\"secondary\">\n {pagination.currentPage} / {pagination.totalPages}\n </Text.Detail>\n <SecondaryButton\n label=\"Next →\"\n isDisabled={pagination.currentPage >= pagination.totalPages}\n onClick={onNextPage}\n size=\"small\"\n />\n </Spacings.Inline>\n )}\n </Spacings.Stack>\n )}\n {error && <Text.Body tone=\"negative\">{error}</Text.Body>}\n </div>\n\n {/* Footer */}\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: '12px 20px',\n borderTop: '1px solid #e5e7eb',\n gap: '12px',\n }}\n >\n <Text.Detail tone=\"secondary\" truncate>\n {selected ? (selected.title ?? selected.name) : 'Nothing selected'}\n </Text.Detail>\n <Spacings.Inline scale=\"s\">\n <SecondaryButton label=\"Cancel\" onClick={onClose} />\n <PrimaryButton\n label=\"Select\"\n isDisabled={!selected}\n onClick={handleConfirm}\n />\n </Spacings.Inline>\n </div>\n </div>\n </div>\n );\n};\n\n// ---------------------------------------------------------------------------\n// ImagePickerField — the Puck custom field component\n// ---------------------------------------------------------------------------\n\nexport interface ImagePickerFieldProps {\n value: string;\n onChange: (value: string) => void;\n /** Only show images (default: true) */\n imagesOnly?: boolean;\n}\n\nexport const ImagePickerField: React.FC<ImagePickerFieldProps> = ({\n value,\n onChange,\n imagesOnly = true,\n}) => {\n const {\n files,\n pagination,\n loading,\n uploading,\n error,\n fetchMedia,\n uploadFile,\n loadNextPage,\n loadPreviousPage,\n } = useMediaLibrary();\n\n const [showUpload, setShowUpload] = useState(false);\n const [showLibrary, setShowLibrary] = useState(false);\n\n const extensions = imagesOnly ? ['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg'] : [];\n\n const openLibrary = useCallback(() => {\n void fetchMedia(extensions, 1, 20);\n setShowLibrary(true);\n }, [fetchMedia, extensions]);\n\n const handleUpload = useCallback(\n async (file: File, title: string, description: string) => {\n const mediaFile = await uploadFile(file, title, description);\n onChange(mediaFile.url);\n setShowUpload(false);\n },\n [uploadFile, onChange]\n );\n\n const handleSelect = useCallback(\n (file: MediaFile) => {\n onChange(file.url);\n setShowLibrary(false);\n },\n [onChange]\n );\n\n // Close modals on Escape\n useEffect(() => {\n const onKey = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n setShowUpload(false);\n setShowLibrary(false);\n }\n };\n window.addEventListener('keydown', onKey);\n return () => window.removeEventListener('keydown', onKey);\n }, []);\n\n return (\n <Spacings.Stack scale=\"s\">\n {value ? (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: '10px',\n padding: '8px',\n border: '1px solid #d1d5db',\n borderRadius: '6px',\n background: '#f9fafb',\n }}\n >\n <img\n src={value}\n alt=\"\"\n style={{ width: '48px', height: '48px', objectFit: 'cover', borderRadius: '4px', flexShrink: 0 }}\n />\n <div style={{ flex: 1, minWidth: 0 }}>\n <Text.Detail tone=\"secondary\" truncate>{value}</Text.Detail>\n </div>\n <FlatButton tone=\"critical\" label=\"Remove\" onClick={() => onChange('')} />\n </div>\n ) : (\n <Text.Detail tone=\"secondary\">No image selected</Text.Detail>\n )}\n\n <Spacings.Inline scale=\"s\">\n <SecondaryButton label=\"Upload\" onClick={() => setShowUpload(true)} />\n <PrimaryButton label=\"Media Library\" onClick={openLibrary} />\n </Spacings.Inline>\n\n {showUpload && (\n <UploadModal\n uploading={uploading}\n error={error}\n onUpload={(file, title, desc) => void handleUpload(file, title, desc)}\n onClose={() => setShowUpload(false)}\n />\n )}\n\n {showLibrary && (\n <LibraryModal\n files={files}\n pagination={pagination}\n loading={loading}\n error={error}\n onNextPage={() => void loadNextPage(extensions)}\n onPrevPage={() => void loadPreviousPage(extensions)}\n onSelect={handleSelect}\n onClose={() => setShowLibrary(false)}\n />\n )}\n </Spacings.Stack>\n );\n};\n","import _Array$isArray from \"core-js-pure/features/array/is-array.js\";\nfunction _arrayWithHoles(r) {\n if (_Array$isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","import _Symbol from \"core-js-pure/features/symbol/index.js\";\nimport _getIteratorMethod from \"core-js-pure/features/get-iterator-method.js\";\nimport _pushInstanceProperty from \"core-js-pure/features/instance/push.js\";\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof _Symbol && _getIteratorMethod(r) || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (_pushInstanceProperty(a).call(a, e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","import _sliceInstanceProperty from \"core-js-pure/features/instance/slice.js\";\nimport _Array$from from \"core-js-pure/features/array/from.js\";\nimport arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n var _context;\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = _sliceInstanceProperty(_context = {}.toString.call(r)).call(_context, 8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? _Array$from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","import _Object$getOwnPropertySymbols from \"core-js-pure/features/object/get-own-property-symbols.js\";\nimport _indexOfInstanceProperty from \"core-js-pure/features/instance/index-of.js\";\nimport objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (_Object$getOwnPropertySymbols) {\n var n = _Object$getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === _indexOfInstanceProperty(t).call(t, o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","import _indexOfInstanceProperty from \"core-js-pure/features/instance/index-of.js\";\nfunction _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== _indexOfInstanceProperty(e).call(e, n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import _sliceInstanceProperty from \"core-js-pure/features/instance/slice.js\";\nimport _Object$freeze from \"core-js-pure/features/object/freeze.js\";\nimport _Object$defineProperties from \"core-js-pure/features/object/define-properties.js\";\nfunction _taggedTemplateLiteral(e, t) {\n return t || (t = _sliceInstanceProperty(e).call(e, 0)), _Object$freeze(_Object$defineProperties(e, {\n raw: {\n value: _Object$freeze(t)\n }\n }));\n}\nexport { _taggedTemplateLiteral as default };","import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime-corejs3/helpers/esm/objectWithoutProperties';\nimport _taggedTemplateLiteral from '@babel/runtime-corejs3/helpers/esm/taggedTemplateLiteral';\nimport _setTimeout from '@babel/runtime-corejs3/core-js-stable/set-timeout';\nimport { useState, useEffect } from 'react';\nimport { keyframes, css } from '@emotion/react';\nimport { designTokens } from '@commercetools-uikit/design-system';\nimport Text from '@commercetools-uikit/text';\nimport Inline from '@commercetools-uikit/spacings-inline';\nimport { jsxs, jsx } from '@emotion/react/jsx-runtime';\n\nconst _excluded = [\"scale\", \"maxDelayDuration\"];\nvar _templateObject;\nconst circlePath = 'M20.201,5.169c-8.254,0-14.946,6.692-14.946,14.946c0,8.255,6.692,14.946,14.946,14.946 s14.946-6.691,14.946-14.946C35.146,11.861,28.455,5.169,20.201,5.169z M20.201,31.749c-6.425,0-11.634-5.208-11.634-11.634c0-6.425,5.209-11.634,11.634-11.634c6.425,0,11.633,5.209,11.633,11.634C31.834,26.541,26.626,31.749,20.201,31.749z';\nconst pointerPath = 'M26.013,10.047l1.654-2.866c-2.198-1.272-4.743-2.012-7.466-2.012h0v3.312h0 C22.32,8.481,24.301,9.057,26.013,10.047z';\nconst spin = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n from {\\n transform: rotate(0deg);\\n }\\n\\n to {\\n transform: rotate(360deg);\\n }\\n\"])));\nconst sizePerScale = {\n s: '18px',\n l: '32px'\n};\nconst positionOrigin = '20px';\nconst LoadingSpinner = _ref => {\n let _ref$scale = _ref.scale,\n scale = _ref$scale === void 0 ? 'l' : _ref$scale,\n _ref$maxDelayDuration = _ref.maxDelayDuration,\n maxDelayDuration = _ref$maxDelayDuration === void 0 ? 1000 : _ref$maxDelayDuration,\n props = _objectWithoutProperties(_ref, _excluded);\n const _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showSpinner = _useState2[0],\n setShowSpinner = _useState2[1];\n const size = sizePerScale[scale];\n useEffect(() => {\n const delaySpinnerTimeout = _setTimeout(() => setShowSpinner(true), maxDelayDuration);\n return () => clearTimeout(delaySpinnerTimeout);\n }, [maxDelayDuration]);\n if (!showSpinner && (maxDelayDuration !== null && maxDelayDuration !== void 0 ? maxDelayDuration : 0) > 0) return null;\n return jsxs(Inline, {\n alignItems: \"center\",\n children: [jsx(\"div\", {\n css: /*#__PURE__*/css(\"width:\", size, \";height:\", size, \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:LoadingSpinner;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvYWRpbmctc3Bpbm5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUVnQiIsImZpbGUiOiJsb2FkaW5nLXNwaW5uZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlLCB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzLCBrZXlmcmFtZXMgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IElubGluZSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zcGFjaW5ncy1pbmxpbmUnO1xuXG5jb25zdCBjaXJjbGVQYXRoID1cbiAgJ00yMC4yMDEsNS4xNjljLTguMjU0LDAtMTQuOTQ2LDYuNjkyLTE0Ljk0NiwxNC45NDZjMCw4LjI1NSw2LjY5MiwxNC45NDYsMTQuOTQ2LDE0Ljk0NiBzMTQuOTQ2LTYuNjkxLDE0Ljk0Ni0xNC45NDZDMzUuMTQ2LDExLjg2MSwyOC40NTUsNS4xNjksMjAuMjAxLDUuMTY5eiBNMjAuMjAxLDMxLjc0OWMtNi40MjUsMC0xMS42MzQtNS4yMDgtMTEuNjM0LTExLjYzNGMwLTYuNDI1LDUuMjA5LTExLjYzNCwxMS42MzQtMTEuNjM0YzYuNDI1LDAsMTEuNjMzLDUuMjA5LDExLjYzMywxMS42MzRDMzEuODM0LDI2LjU0MSwyNi42MjYsMzEuNzQ5LDIwLjIwMSwzMS43NDl6JztcbmNvbnN0IHBvaW50ZXJQYXRoID1cbiAgJ00yNi4wMTMsMTAuMDQ3bDEuNjU0LTIuODY2Yy0yLjE5OC0xLjI3Mi00Ljc0My0yLjAxMi03LjQ2Ni0yLjAxMmgwdjMuMzEyaDAgQzIyLjMyLDguNDgxLDI0LjMwMSw5LjA1NywyNi4wMTMsMTAuMDQ3eic7XG5cbmNvbnN0IHNwaW4gPSBrZXlmcmFtZXNgXG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbmA7XG5cbmNvbnN0IHNpemVQZXJTY2FsZSA9IHtcbiAgczogJzE4cHgnLFxuICBsOiAnMzJweCcsXG59O1xuXG5jb25zdCBwb3NpdGlvbk9yaWdpbiA9ICcyMHB4JztcblxuZXhwb3J0IHR5cGUgVExvYWRpbmdTcGlubmVyUHJvcHMgPSB7XG4gIC8qKlxuICAgKiBTZXQgdGhlIGFtb3VudCBvZiB0aW1lIHRvIGRlbGF5IHRoZSBsb2FkaW5nIHNwaW5uZXIgYmVmb3JlIGl0IHJlbmRlcnMuXG4gICAqIFRoZSBkZWZhdWx0IHZhbHVlIG9mIGlzIDEwMDBtcy5cbiAgICovXG4gIG1heERlbGF5RHVyYXRpb24/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBTZXQgdGhlIHNpemUgb2YgdGhlIGxvYWRpbmcgc3Bpbm5lci5cbiAgICovXG4gIHNjYWxlPzogJ3MnIHwgJ2wnO1xuICAvKipcbiAgICogVGhlIGNvbnRlbnQgcmVuZGVyZWQgaW5zaWRlIHRoZSBgTG9hZGluZ1NwaW5uZXJgLlxuICAgKi9cbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG5jb25zdCBMb2FkaW5nU3Bpbm5lciA9ICh7XG4gIHNjYWxlID0gJ2wnLFxuICBtYXhEZWxheUR1cmF0aW9uID0gMTAwMCxcbiAgLi4ucHJvcHNcbn06IFRMb2FkaW5nU3Bpbm5lclByb3BzKSA9PiB7XG4gIGNvbnN0IFtzaG93U3Bpbm5lciwgc2V0U2hvd1NwaW5uZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBzaXplID0gc2l6ZVBlclNjYWxlW3NjYWxlXTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBkZWxheVNwaW5uZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHNldFNob3dTcGlubmVyKHRydWUpLFxuICAgICAgbWF4RGVsYXlEdXJhdGlvblxuICAgICk7XG5cbiAgICByZXR1cm4gKCkgPT4gY2xlYXJUaW1lb3V0KGRlbGF5U3Bpbm5lclRpbWVvdXQpO1xuICB9LCBbbWF4RGVsYXlEdXJhdGlvbl0pO1xuXG4gIGlmICghc2hvd1NwaW5uZXIgJiYgKG1heERlbGF5RHVyYXRpb24gPz8gMCkgPiAwKSByZXR1cm4gbnVsbDtcblxuICByZXR1cm4gKFxuICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICB3aWR0aDogJHtzaXplfTtcbiAgICAgICAgICBoZWlnaHQ6ICR7c2l6ZX07XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxzdmdcbiAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgIHdpZHRoOiAke3NpemV9O1xuICAgICAgICAgICAgaGVpZ2h0OiAke3NpemV9O1xuICAgICAgICAgIGB9XG4gICAgICAgICAgdmlld0JveD1cIjAgMCA0MCA0MFwiXG4gICAgICAgID5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgIGZpbGw6ICR7ZGVzaWduVG9rZW5zLmNvbG9yUHJpbWFyeTkwfTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICAgICAgYH1cbiAgICAgICAgICAgIGQ9e2NpcmNsZVBhdGh9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgIGFuaW1hdGlvbjogJHtzcGlufSAwLjVzIGluZmluaXRlIGxpbmVhcjtcbiAgICAgICAgICAgICAgZmlsbDogJHtkZXNpZ25Ub2tlbnMuY29sb3JQcmltYXJ5fTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogJHtwb3NpdGlvbk9yaWdpbn0gJHtwb3NpdGlvbk9yaWdpbn0gMDtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgICBkPXtwb2ludGVyUGF0aH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmNoaWxkcmVuICYmIChcbiAgICAgICAgPFRleHQuRGV0YWlsIHRvbmU9XCJzZWNvbmRhcnlcIj57cHJvcHMuY2hpbGRyZW59PC9UZXh0LkRldGFpbD5cbiAgICAgICl9XG4gICAgPC9JbmxpbmU+XG4gICk7XG59O1xuTG9hZGluZ1NwaW5uZXIuZGlzcGxheU5hbWUgPSAnTG9hZGluZ1NwaW5uZXInO1xuXG5leHBvcnQgZGVmYXVsdCBMb2FkaW5nU3Bpbm5lcjtcbiJdfQ== */\"),\n children: jsxs(\"svg\", {\n css: /*#__PURE__*/css(\"width:\", size, \";height:\", size, \";\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:LoadingSpinner;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvYWRpbmctc3Bpbm5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUVrQiIsImZpbGUiOiJsb2FkaW5nLXNwaW5uZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlLCB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzLCBrZXlmcmFtZXMgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IElubGluZSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zcGFjaW5ncy1pbmxpbmUnO1xuXG5jb25zdCBjaXJjbGVQYXRoID1cbiAgJ00yMC4yMDEsNS4xNjljLTguMjU0LDAtMTQuOTQ2LDYuNjkyLTE0Ljk0NiwxNC45NDZjMCw4LjI1NSw2LjY5MiwxNC45NDYsMTQuOTQ2LDE0Ljk0NiBzMTQuOTQ2LTYuNjkxLDE0Ljk0Ni0xNC45NDZDMzUuMTQ2LDExLjg2MSwyOC40NTUsNS4xNjksMjAuMjAxLDUuMTY5eiBNMjAuMjAxLDMxLjc0OWMtNi40MjUsMC0xMS42MzQtNS4yMDgtMTEuNjM0LTExLjYzNGMwLTYuNDI1LDUuMjA5LTExLjYzNCwxMS42MzQtMTEuNjM0YzYuNDI1LDAsMTEuNjMzLDUuMjA5LDExLjYzMywxMS42MzRDMzEuODM0LDI2LjU0MSwyNi42MjYsMzEuNzQ5LDIwLjIwMSwzMS43NDl6JztcbmNvbnN0IHBvaW50ZXJQYXRoID1cbiAgJ00yNi4wMTMsMTAuMDQ3bDEuNjU0LTIuODY2Yy0yLjE5OC0xLjI3Mi00Ljc0My0yLjAxMi03LjQ2Ni0yLjAxMmgwdjMuMzEyaDAgQzIyLjMyLDguNDgxLDI0LjMwMSw5LjA1NywyNi4wMTMsMTAuMDQ3eic7XG5cbmNvbnN0IHNwaW4gPSBrZXlmcmFtZXNgXG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbmA7XG5cbmNvbnN0IHNpemVQZXJTY2FsZSA9IHtcbiAgczogJzE4cHgnLFxuICBsOiAnMzJweCcsXG59O1xuXG5jb25zdCBwb3NpdGlvbk9yaWdpbiA9ICcyMHB4JztcblxuZXhwb3J0IHR5cGUgVExvYWRpbmdTcGlubmVyUHJvcHMgPSB7XG4gIC8qKlxuICAgKiBTZXQgdGhlIGFtb3VudCBvZiB0aW1lIHRvIGRlbGF5IHRoZSBsb2FkaW5nIHNwaW5uZXIgYmVmb3JlIGl0IHJlbmRlcnMuXG4gICAqIFRoZSBkZWZhdWx0IHZhbHVlIG9mIGlzIDEwMDBtcy5cbiAgICovXG4gIG1heERlbGF5RHVyYXRpb24/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBTZXQgdGhlIHNpemUgb2YgdGhlIGxvYWRpbmcgc3Bpbm5lci5cbiAgICovXG4gIHNjYWxlPzogJ3MnIHwgJ2wnO1xuICAvKipcbiAgICogVGhlIGNvbnRlbnQgcmVuZGVyZWQgaW5zaWRlIHRoZSBgTG9hZGluZ1NwaW5uZXJgLlxuICAgKi9cbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG5jb25zdCBMb2FkaW5nU3Bpbm5lciA9ICh7XG4gIHNjYWxlID0gJ2wnLFxuICBtYXhEZWxheUR1cmF0aW9uID0gMTAwMCxcbiAgLi4ucHJvcHNcbn06IFRMb2FkaW5nU3Bpbm5lclByb3BzKSA9PiB7XG4gIGNvbnN0IFtzaG93U3Bpbm5lciwgc2V0U2hvd1NwaW5uZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBzaXplID0gc2l6ZVBlclNjYWxlW3NjYWxlXTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBkZWxheVNwaW5uZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHNldFNob3dTcGlubmVyKHRydWUpLFxuICAgICAgbWF4RGVsYXlEdXJhdGlvblxuICAgICk7XG5cbiAgICByZXR1cm4gKCkgPT4gY2xlYXJUaW1lb3V0KGRlbGF5U3Bpbm5lclRpbWVvdXQpO1xuICB9LCBbbWF4RGVsYXlEdXJhdGlvbl0pO1xuXG4gIGlmICghc2hvd1NwaW5uZXIgJiYgKG1heERlbGF5RHVyYXRpb24gPz8gMCkgPiAwKSByZXR1cm4gbnVsbDtcblxuICByZXR1cm4gKFxuICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICB3aWR0aDogJHtzaXplfTtcbiAgICAgICAgICBoZWlnaHQ6ICR7c2l6ZX07XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxzdmdcbiAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgIHdpZHRoOiAke3NpemV9O1xuICAgICAgICAgICAgaGVpZ2h0OiAke3NpemV9O1xuICAgICAgICAgIGB9XG4gICAgICAgICAgdmlld0JveD1cIjAgMCA0MCA0MFwiXG4gICAgICAgID5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgIGZpbGw6ICR7ZGVzaWduVG9rZW5zLmNvbG9yUHJpbWFyeTkwfTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICAgICAgYH1cbiAgICAgICAgICAgIGQ9e2NpcmNsZVBhdGh9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgIGFuaW1hdGlvbjogJHtzcGlufSAwLjVzIGluZmluaXRlIGxpbmVhcjtcbiAgICAgICAgICAgICAgZmlsbDogJHtkZXNpZ25Ub2tlbnMuY29sb3JQcmltYXJ5fTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogJHtwb3NpdGlvbk9yaWdpbn0gJHtwb3NpdGlvbk9yaWdpbn0gMDtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgICBkPXtwb2ludGVyUGF0aH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmNoaWxkcmVuICYmIChcbiAgICAgICAgPFRleHQuRGV0YWlsIHRvbmU9XCJzZWNvbmRhcnlcIj57cHJvcHMuY2hpbGRyZW59PC9UZXh0LkRldGFpbD5cbiAgICAgICl9XG4gICAgPC9JbmxpbmU+XG4gICk7XG59O1xuTG9hZGluZ1NwaW5uZXIuZGlzcGxheU5hbWUgPSAnTG9hZGluZ1NwaW5uZXInO1xuXG5leHBvcnQgZGVmYXVsdCBMb2FkaW5nU3Bpbm5lcjtcbiJdfQ== */\"),\n viewBox: \"0 0 40 40\",\n children: [jsx(\"path\", {\n css: /*#__PURE__*/css(\"fill:\", designTokens.colorPrimary90, \";opacity:0.2;\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:LoadingSpinner;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvYWRpbmctc3Bpbm5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEVvQiIsImZpbGUiOiJsb2FkaW5nLXNwaW5uZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlLCB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzLCBrZXlmcmFtZXMgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IElubGluZSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zcGFjaW5ncy1pbmxpbmUnO1xuXG5jb25zdCBjaXJjbGVQYXRoID1cbiAgJ00yMC4yMDEsNS4xNjljLTguMjU0LDAtMTQuOTQ2LDYuNjkyLTE0Ljk0NiwxNC45NDZjMCw4LjI1NSw2LjY5MiwxNC45NDYsMTQuOTQ2LDE0Ljk0NiBzMTQuOTQ2LTYuNjkxLDE0Ljk0Ni0xNC45NDZDMzUuMTQ2LDExLjg2MSwyOC40NTUsNS4xNjksMjAuMjAxLDUuMTY5eiBNMjAuMjAxLDMxLjc0OWMtNi40MjUsMC0xMS42MzQtNS4yMDgtMTEuNjM0LTExLjYzNGMwLTYuNDI1LDUuMjA5LTExLjYzNCwxMS42MzQtMTEuNjM0YzYuNDI1LDAsMTEuNjMzLDUuMjA5LDExLjYzMywxMS42MzRDMzEuODM0LDI2LjU0MSwyNi42MjYsMzEuNzQ5LDIwLjIwMSwzMS43NDl6JztcbmNvbnN0IHBvaW50ZXJQYXRoID1cbiAgJ00yNi4wMTMsMTAuMDQ3bDEuNjU0LTIuODY2Yy0yLjE5OC0xLjI3Mi00Ljc0My0yLjAxMi03LjQ2Ni0yLjAxMmgwdjMuMzEyaDAgQzIyLjMyLDguNDgxLDI0LjMwMSw5LjA1NywyNi4wMTMsMTAuMDQ3eic7XG5cbmNvbnN0IHNwaW4gPSBrZXlmcmFtZXNgXG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbmA7XG5cbmNvbnN0IHNpemVQZXJTY2FsZSA9IHtcbiAgczogJzE4cHgnLFxuICBsOiAnMzJweCcsXG59O1xuXG5jb25zdCBwb3NpdGlvbk9yaWdpbiA9ICcyMHB4JztcblxuZXhwb3J0IHR5cGUgVExvYWRpbmdTcGlubmVyUHJvcHMgPSB7XG4gIC8qKlxuICAgKiBTZXQgdGhlIGFtb3VudCBvZiB0aW1lIHRvIGRlbGF5IHRoZSBsb2FkaW5nIHNwaW5uZXIgYmVmb3JlIGl0IHJlbmRlcnMuXG4gICAqIFRoZSBkZWZhdWx0IHZhbHVlIG9mIGlzIDEwMDBtcy5cbiAgICovXG4gIG1heERlbGF5RHVyYXRpb24/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBTZXQgdGhlIHNpemUgb2YgdGhlIGxvYWRpbmcgc3Bpbm5lci5cbiAgICovXG4gIHNjYWxlPzogJ3MnIHwgJ2wnO1xuICAvKipcbiAgICogVGhlIGNvbnRlbnQgcmVuZGVyZWQgaW5zaWRlIHRoZSBgTG9hZGluZ1NwaW5uZXJgLlxuICAgKi9cbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG5jb25zdCBMb2FkaW5nU3Bpbm5lciA9ICh7XG4gIHNjYWxlID0gJ2wnLFxuICBtYXhEZWxheUR1cmF0aW9uID0gMTAwMCxcbiAgLi4ucHJvcHNcbn06IFRMb2FkaW5nU3Bpbm5lclByb3BzKSA9PiB7XG4gIGNvbnN0IFtzaG93U3Bpbm5lciwgc2V0U2hvd1NwaW5uZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBzaXplID0gc2l6ZVBlclNjYWxlW3NjYWxlXTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBkZWxheVNwaW5uZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHNldFNob3dTcGlubmVyKHRydWUpLFxuICAgICAgbWF4RGVsYXlEdXJhdGlvblxuICAgICk7XG5cbiAgICByZXR1cm4gKCkgPT4gY2xlYXJUaW1lb3V0KGRlbGF5U3Bpbm5lclRpbWVvdXQpO1xuICB9LCBbbWF4RGVsYXlEdXJhdGlvbl0pO1xuXG4gIGlmICghc2hvd1NwaW5uZXIgJiYgKG1heERlbGF5RHVyYXRpb24gPz8gMCkgPiAwKSByZXR1cm4gbnVsbDtcblxuICByZXR1cm4gKFxuICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICB3aWR0aDogJHtzaXplfTtcbiAgICAgICAgICBoZWlnaHQ6ICR7c2l6ZX07XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxzdmdcbiAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgIHdpZHRoOiAke3NpemV9O1xuICAgICAgICAgICAgaGVpZ2h0OiAke3NpemV9O1xuICAgICAgICAgIGB9XG4gICAgICAgICAgdmlld0JveD1cIjAgMCA0MCA0MFwiXG4gICAgICAgID5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgIGZpbGw6ICR7ZGVzaWduVG9rZW5zLmNvbG9yUHJpbWFyeTkwfTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICAgICAgYH1cbiAgICAgICAgICAgIGQ9e2NpcmNsZVBhdGh9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgIGFuaW1hdGlvbjogJHtzcGlufSAwLjVzIGluZmluaXRlIGxpbmVhcjtcbiAgICAgICAgICAgICAgZmlsbDogJHtkZXNpZ25Ub2tlbnMuY29sb3JQcmltYXJ5fTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogJHtwb3NpdGlvbk9yaWdpbn0gJHtwb3NpdGlvbk9yaWdpbn0gMDtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgICBkPXtwb2ludGVyUGF0aH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmNoaWxkcmVuICYmIChcbiAgICAgICAgPFRleHQuRGV0YWlsIHRvbmU9XCJzZWNvbmRhcnlcIj57cHJvcHMuY2hpbGRyZW59PC9UZXh0LkRldGFpbD5cbiAgICAgICl9XG4gICAgPC9JbmxpbmU+XG4gICk7XG59O1xuTG9hZGluZ1NwaW5uZXIuZGlzcGxheU5hbWUgPSAnTG9hZGluZ1NwaW5uZXInO1xuXG5leHBvcnQgZGVmYXVsdCBMb2FkaW5nU3Bpbm5lcjtcbiJdfQ== */\"),\n d: circlePath\n }), jsx(\"path\", {\n css: /*#__PURE__*/css(\"animation:\", spin, \" 0.5s infinite linear;fill:\", designTokens.colorPrimary, \";transform-origin:\", positionOrigin, \" \", positionOrigin, \" 0;\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:LoadingSpinner;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvYWRpbmctc3Bpbm5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUZvQiIsImZpbGUiOiJsb2FkaW5nLXNwaW5uZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlLCB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzLCBrZXlmcmFtZXMgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IElubGluZSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zcGFjaW5ncy1pbmxpbmUnO1xuXG5jb25zdCBjaXJjbGVQYXRoID1cbiAgJ00yMC4yMDEsNS4xNjljLTguMjU0LDAtMTQuOTQ2LDYuNjkyLTE0Ljk0NiwxNC45NDZjMCw4LjI1NSw2LjY5MiwxNC45NDYsMTQuOTQ2LDE0Ljk0NiBzMTQuOTQ2LTYuNjkxLDE0Ljk0Ni0xNC45NDZDMzUuMTQ2LDExLjg2MSwyOC40NTUsNS4xNjksMjAuMjAxLDUuMTY5eiBNMjAuMjAxLDMxLjc0OWMtNi40MjUsMC0xMS42MzQtNS4yMDgtMTEuNjM0LTExLjYzNGMwLTYuNDI1LDUuMjA5LTExLjYzNCwxMS42MzQtMTEuNjM0YzYuNDI1LDAsMTEuNjMzLDUuMjA5LDExLjYzMywxMS42MzRDMzEuODM0LDI2LjU0MSwyNi42MjYsMzEuNzQ5LDIwLjIwMSwzMS43NDl6JztcbmNvbnN0IHBvaW50ZXJQYXRoID1cbiAgJ00yNi4wMTMsMTAuMDQ3bDEuNjU0LTIuODY2Yy0yLjE5OC0xLjI3Mi00Ljc0My0yLjAxMi03LjQ2Ni0yLjAxMmgwdjMuMzEyaDAgQzIyLjMyLDguNDgxLDI0LjMwMSw5LjA1NywyNi4wMTMsMTAuMDQ3eic7XG5cbmNvbnN0IHNwaW4gPSBrZXlmcmFtZXNgXG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbmA7XG5cbmNvbnN0IHNpemVQZXJTY2FsZSA9IHtcbiAgczogJzE4cHgnLFxuICBsOiAnMzJweCcsXG59O1xuXG5jb25zdCBwb3NpdGlvbk9yaWdpbiA9ICcyMHB4JztcblxuZXhwb3J0IHR5cGUgVExvYWRpbmdTcGlubmVyUHJvcHMgPSB7XG4gIC8qKlxuICAgKiBTZXQgdGhlIGFtb3VudCBvZiB0aW1lIHRvIGRlbGF5IHRoZSBsb2FkaW5nIHNwaW5uZXIgYmVmb3JlIGl0IHJlbmRlcnMuXG4gICAqIFRoZSBkZWZhdWx0IHZhbHVlIG9mIGlzIDEwMDBtcy5cbiAgICovXG4gIG1heERlbGF5RHVyYXRpb24/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBTZXQgdGhlIHNpemUgb2YgdGhlIGxvYWRpbmcgc3Bpbm5lci5cbiAgICovXG4gIHNjYWxlPzogJ3MnIHwgJ2wnO1xuICAvKipcbiAgICogVGhlIGNvbnRlbnQgcmVuZGVyZWQgaW5zaWRlIHRoZSBgTG9hZGluZ1NwaW5uZXJgLlxuICAgKi9cbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG5jb25zdCBMb2FkaW5nU3Bpbm5lciA9ICh7XG4gIHNjYWxlID0gJ2wnLFxuICBtYXhEZWxheUR1cmF0aW9uID0gMTAwMCxcbiAgLi4ucHJvcHNcbn06IFRMb2FkaW5nU3Bpbm5lclByb3BzKSA9PiB7XG4gIGNvbnN0IFtzaG93U3Bpbm5lciwgc2V0U2hvd1NwaW5uZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBzaXplID0gc2l6ZVBlclNjYWxlW3NjYWxlXTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBkZWxheVNwaW5uZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHNldFNob3dTcGlubmVyKHRydWUpLFxuICAgICAgbWF4RGVsYXlEdXJhdGlvblxuICAgICk7XG5cbiAgICByZXR1cm4gKCkgPT4gY2xlYXJUaW1lb3V0KGRlbGF5U3Bpbm5lclRpbWVvdXQpO1xuICB9LCBbbWF4RGVsYXlEdXJhdGlvbl0pO1xuXG4gIGlmICghc2hvd1NwaW5uZXIgJiYgKG1heERlbGF5RHVyYXRpb24gPz8gMCkgPiAwKSByZXR1cm4gbnVsbDtcblxuICByZXR1cm4gKFxuICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICB3aWR0aDogJHtzaXplfTtcbiAgICAgICAgICBoZWlnaHQ6ICR7c2l6ZX07XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxzdmdcbiAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgIHdpZHRoOiAke3NpemV9O1xuICAgICAgICAgICAgaGVpZ2h0OiAke3NpemV9O1xuICAgICAgICAgIGB9XG4gICAgICAgICAgdmlld0JveD1cIjAgMCA0MCA0MFwiXG4gICAgICAgID5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgIGZpbGw6ICR7ZGVzaWduVG9rZW5zLmNvbG9yUHJpbWFyeTkwfTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICAgICAgYH1cbiAgICAgICAgICAgIGQ9e2NpcmNsZVBhdGh9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgIGFuaW1hdGlvbjogJHtzcGlufSAwLjVzIGluZmluaXRlIGxpbmVhcjtcbiAgICAgICAgICAgICAgZmlsbDogJHtkZXNpZ25Ub2tlbnMuY29sb3JQcmltYXJ5fTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogJHtwb3NpdGlvbk9yaWdpbn0gJHtwb3NpdGlvbk9yaWdpbn0gMDtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgICBkPXtwb2ludGVyUGF0aH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmNoaWxkcmVuICYmIChcbiAgICAgICAgPFRleHQuRGV0YWlsIHRvbmU9XCJzZWNvbmRhcnlcIj57cHJvcHMuY2hpbGRyZW59PC9UZXh0LkRldGFpbD5cbiAgICAgICl9XG4gICAgPC9JbmxpbmU+XG4gICk7XG59O1xuTG9hZGluZ1NwaW5uZXIuZGlzcGxheU5hbWUgPSAnTG9hZGluZ1NwaW5uZXInO1xuXG5leHBvcnQgZGVmYXVsdCBMb2FkaW5nU3Bpbm5lcjtcbiJdfQ== */\"),\n d: pointerPath\n })]\n })\n }), props.children && jsx(Text.Detail, {\n tone: \"secondary\",\n children: props.children\n })]\n });\n};\nLoadingSpinner.displayName = 'LoadingSpinner';\nvar LoadingSpinner$1 = LoadingSpinner;\n\n// NOTE: This string will be replaced on build time with the package version.\nvar version = \"20.5.0\";\n\nexport { LoadingSpinner$1 as default, version };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isDevelopment = false;\n\nvar isBrowser = typeof document !== 'undefined';\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n return mergedTheme;\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n var WithTheme = /*#__PURE__*/React.forwardRef(function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n });\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar hasOwn = {}.hasOwnProperty;\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n\n var newProps = {};\n\n for (var _key in props) {\n if (hasOwn.call(props, _key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps[typePropName] = type; // Runtime labeling is an opt-in feature because:\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n var rules = useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n if (!isBrowser && rules !== undefined) {\n var _ref2;\n\n var serializedNames = serialized.name;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n next = next.next;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref2 = {}, _ref2[\"data-emotion\"] = cache.key + \" \" + serializedNames, _ref2.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref2.nonce = cache.sheet.nonce, _ref2));\n }\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var _key2 in props) {\n if (hasOwn.call(props, _key2) && _key2 !== 'css' && _key2 !== typePropName && (!isDevelopment )) {\n newProps[_key2] = props[_key2];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, isDevelopment as a, ThemeProvider as b, createEmotionProps as c, withTheme as d, hasOwn as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","var isDevelopment = false;\n\n/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n } // this function should always return with a value\n // TS can't understand it though so we make it stop complaining here\n\n\n return undefined;\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? !isDevelopment : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n this.tags.forEach(function (tag) {\n var _tag$parentNode;\n\n return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","var weakMemoize = function weakMemoize(func) {\n var cache = new WeakMap();\n return function (arg) {\n if (cache.has(arg)) {\n // Use non-null assertion because we just checked that the cache `has` it\n // This allows us to remove `undefined` from the return value\n return cache.get(arg);\n }\n\n var ret = func(arg);\n cache.set(arg, ret);\n return ret;\n };\n};\n\nexport { weakMemoize as default };\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, rulesheet, middleware, compile } from 'stylis';\nimport weakMemoize from '@emotion/weak-memoize';\nimport memoize from '@emotion/memoize';\n\nvar isBrowser = typeof document !== 'undefined';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value;\n var parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar getServerStylisCache = isBrowser ? undefined : weakMemoize(function () {\n return memoize(function () {\n return {};\n });\n});\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (isBrowser && key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n if (isBrowser) {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' ');\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (!getServerStylisCache) {\n var currentSheet;\n var finalizingPlugins = [stringify, rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n } else {\n var _finalizingPlugins = [stringify];\n\n var _serializer = middleware(omnipresentPlugins.concat(stylisPlugins, _finalizingPlugins));\n\n var _stylis = function _stylis(styles) {\n return serialize(compile(styles), _serializer);\n };\n\n var serverStylisCache = getServerStylisCache(stylisPlugins)(key);\n\n var getRules = function getRules(selector, serialized) {\n var name = serialized.name;\n\n if (serverStylisCache[name] === undefined) {\n serverStylisCache[name] = _stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n }\n\n return serverStylisCache[name];\n };\n\n _insert = function _insert(selector, serialized, sheet, shouldCache) {\n var name = serialized.name;\n var rules = getRules(selector, serialized);\n\n if (cache.compat === undefined) {\n // in regular mode, we don't set the styles on the inserted cache\n // since we don't need to and that would be wasting memory\n // we return them so that they are rendered in a style tag\n if (shouldCache) {\n cache.inserted[name] = true;\n }\n\n return rules;\n } else {\n // in compat mode, we put the styles on the inserted cache so\n // that emotion-server can pull out the styles\n // except when we don't want to cache it which was in Global but now\n // is nowhere but we don't want to do a major right now\n // and just in case we're going to leave the case here\n // it's also not affecting client side bundle size\n // so it's really not a big deal\n if (shouldCache) {\n cache.inserted[name] = rules;\n } else {\n return rules;\n }\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","var isBrowser = typeof document !== 'undefined';\n\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else if (className) {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false && cache.compat !== undefined) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var stylesForSSR = '';\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n if (!isBrowser && maybeStyles !== undefined) {\n stylesForSSR += maybeStyles;\n }\n\n current = current.next;\n } while (current !== undefined);\n\n if (!isBrowser && stylesForSSR.length !== 0) {\n return stylesForSSR;\n }\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n scale: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar isDevelopment = false;\n\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n var componentSelector = interpolation;\n\n if (componentSelector.__emotion_styles !== undefined) {\n\n return componentSelector;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n var keyframes = interpolation;\n\n if (keyframes.anim === 1) {\n cursor = {\n name: keyframes.name,\n styles: keyframes.styles,\n next: cursor\n };\n return keyframes.name;\n }\n\n var serializedStyles = interpolation;\n\n if (serializedStyles.styles !== undefined) {\n var next = serializedStyles.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = serializedStyles.styles + \";\";\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n }\n\n break;\n }\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n var asString = interpolation;\n\n if (registered == null) {\n return asString;\n }\n\n var cached = registered[asString];\n return cached !== undefined ? cached : asString;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var key in obj) {\n var value = obj[key];\n\n if (typeof value !== 'object') {\n var asString = value;\n\n if (registered != null && registered[asString] !== undefined) {\n string += key + \"{\" + registered[asString] + \"}\";\n } else if (isProcessableValue(asString)) {\n string += processStyleName(key) + \":\" + processStyleValue(key, asString) + \";\";\n }\n } else {\n if (key === 'NO_COMPONENT_SELECTOR' && isDevelopment) {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(key) + \":\" + processStyleValue(key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n\n string += key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;{]+)\\s*(;|$)/g; // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\nvar cursor;\nfunction serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n var asTemplateStringsArr = strings;\n\n styles += asTemplateStringsArr[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n var templateStringsArr = strings;\n\n styles += templateStringsArr[i];\n }\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n}\n\nexport { serializeStyles };\n","import * as React from 'react';\n\nvar isBrowser = typeof document !== 'undefined';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = !isBrowser ? syncFallback : useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","import { h as hasOwn, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser, a as isDevelopment } from './emotion-element-d59e098f.esm.js';\nexport { C as CacheProvider, T as ThemeContext, b as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, d as withTheme } from './emotion-element-d59e098f.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js';\nimport 'hoist-non-react-statics';\n\nvar jsx = function jsx(type, props) {\n // eslint-disable-next-line prefer-rest-params\n var args = arguments;\n\n if (props == null || !hasOwn.call(props, 'css')) {\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\n(function (_jsx) {\n var JSX;\n\n (function (_JSX) {})(JSX || (JSX = _jsx.JSX || (_jsx.JSX = {})));\n})(jsx || (jsx = {}));\n\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n if (!isBrowser) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false;\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nfunction keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name;\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n}\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n var rules = useInsertionEffectAlwaysWithSyncFallback(function () {\n var rules = '';\n\n for (var i = 0; i < serializedArr.length; i++) {\n var res = insertStyles(cache, serializedArr[i], false);\n\n if (!isBrowser && res !== undefined) {\n rules += res;\n }\n }\n\n if (!isBrowser) {\n return rules;\n }\n });\n\n if (!isBrowser && rules.length !== 0) {\n var _ref2;\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref2 = {}, _ref2[\"data-emotion\"] = cache.key + \" \" + serializedArr.map(function (serialized) {\n return serialized.name;\n }).join(' '), _ref2.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref2.nonce = cache.sheet.nonce, _ref2));\n }\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && isDevelopment) {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && isDevelopment) {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import _Object$keys from '@babel/runtime-corejs3/core-js-stable/object/keys';\nimport _Object$getOwnPropertySymbols from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols';\nimport _filterInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/filter';\nimport _Object$getOwnPropertyDescriptor from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor';\nimport _forEachInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/for-each';\nimport _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors';\nimport _Object$defineProperties from '@babel/runtime-corejs3/core-js-stable/object/define-properties';\nimport _Object$defineProperty from '@babel/runtime-corejs3/core-js-stable/object/define-property';\nimport _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';\nimport _objectWithoutProperties from '@babel/runtime-corejs3/helpers/esm/objectWithoutProperties';\nimport { filterDataAttributes } from '@commercetools-uikit/utils';\nimport { css } from '@emotion/react';\nimport { designTokens } from '@commercetools-uikit/design-system';\nimport { jsx } from '@emotion/react/jsx-runtime';\n\n// @TODO remove this when we deprecate `flexStart`/`flexEnd`\nconst getAlignItem = alignment => {\n switch (alignment) {\n case 'flexStart':\n return \"flex-start\";\n case 'flexEnd':\n return \"flex-end\";\n default:\n return alignment;\n }\n};\nconst getMargin = scale => {\n switch (scale) {\n case 'xs':\n return designTokens.spacing10;\n case 's':\n return designTokens.spacing20;\n case 'm':\n return designTokens.spacing30;\n case 'l':\n return designTokens.spacing40;\n case 'xl':\n return designTokens.spacing50;\n case 'xxl':\n return designTokens.spacing60;\n case 'xxxl':\n return designTokens.spacing70;\n default:\n return 0;\n }\n};\n\n/**\n * We need to force the margin for the child elements as ome children\n * might have `margin: 0` defined, which results in a higher CSS specificity,\n * causing the margings of the spacing components to be ignored.\n * See https://github.com/commercetools/ui-kit/issues/542\n */\nconst getStyles = props => /*#__PURE__*/css(\"display:flex;align-items:\", getAlignItem(props.alignItems), \";justify-content:\", props.justifyContent, \";>*+*{margin:0 0 0 \", getMargin(props.scale), \"!important;}\" + (process.env.NODE_ENV === \"production\" ? \"\" : \";label:getStyles;\"), process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImlubGluZS5zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEM4QyIsImZpbGUiOiJpbmxpbmUuc3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBUQWxpZ25JdGVtLCBUSW5saW5lUHJvcHMsIFRTY2FsZSB9IGZyb20gJy4vaW5saW5lJztcblxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5cbi8vIEBUT0RPIHJlbW92ZSB0aGlzIHdoZW4gd2UgZGVwcmVjYXRlIGBmbGV4U3RhcnRgL2BmbGV4RW5kYFxuY29uc3QgZ2V0QWxpZ25JdGVtID0gKGFsaWdubWVudD86IFRBbGlnbkl0ZW0pID0+IHtcbiAgc3dpdGNoIChhbGlnbm1lbnQpIHtcbiAgICBjYXNlICdmbGV4U3RhcnQnOlxuICAgICAgcmV0dXJuIGBmbGV4LXN0YXJ0YDtcbiAgICBjYXNlICdmbGV4RW5kJzpcbiAgICAgIHJldHVybiBgZmxleC1lbmRgO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gYWxpZ25tZW50O1xuICB9XG59O1xuXG5jb25zdCBnZXRNYXJnaW4gPSAoc2NhbGU/OiBUU2NhbGUpOiBzdHJpbmcgfCBudW1iZXIgPT4ge1xuICBzd2l0Y2ggKHNjYWxlKSB7XG4gICAgY2FzZSAneHMnOlxuICAgICAgcmV0dXJuIGRlc2lnblRva2Vucy5zcGFjaW5nMTA7XG4gICAgY2FzZSAncyc6XG4gICAgICByZXR1cm4gZGVzaWduVG9rZW5zLnNwYWNpbmcyMDtcbiAgICBjYXNlICdtJzpcbiAgICAgIHJldHVybiBkZXNpZ25Ub2tlbnMuc3BhY2luZzMwO1xuICAgIGNhc2UgJ2wnOlxuICAgICAgcmV0dXJuIGRlc2lnblRva2Vucy5zcGFjaW5nNDA7XG4gICAgY2FzZSAneGwnOlxuICAgICAgcmV0dXJuIGRlc2lnblRva2Vucy5zcGFjaW5nNTA7XG4gICAgY2FzZSAneHhsJzpcbiAgICAgIHJldHVybiBkZXNpZ25Ub2tlbnMuc3BhY2luZzYwO1xuICAgIGNhc2UgJ3h4eGwnOlxuICAgICAgcmV0dXJuIGRlc2lnblRva2Vucy5zcGFjaW5nNzA7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAwO1xuICB9XG59O1xuXG4vKipcbiAqIFdlIG5lZWQgdG8gZm9yY2UgdGhlIG1hcmdpbiBmb3IgdGhlIGNoaWxkIGVsZW1lbnRzIGFzIG9tZSBjaGlsZHJlblxuICogbWlnaHQgaGF2ZSBgbWFyZ2luOiAwYCBkZWZpbmVkLCB3aGljaCByZXN1bHRzIGluIGEgaGlnaGVyIENTUyBzcGVjaWZpY2l0eSxcbiAqIGNhdXNpbmcgdGhlIG1hcmdpbmdzIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudHMgdG8gYmUgaWdub3JlZC5cbiAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY29tbWVyY2V0b29scy91aS1raXQvaXNzdWVzLzU0MlxuICovXG5jb25zdCBnZXRTdHlsZXMgPSAocHJvcHM6IFRJbmxpbmVQcm9wcykgPT4gY3NzYFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogJHtnZXRBbGlnbkl0ZW0ocHJvcHMuYWxpZ25JdGVtcyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICR7cHJvcHMuanVzdGlmeUNvbnRlbnR9O1xuXG4gID4gKiArICoge1xuICAgIG1hcmdpbjogMCAwIDAgJHtnZXRNYXJnaW4ocHJvcHMuc2NhbGUpfSAhaW1wb3J0YW50O1xuICB9XG5gO1xuXG5leHBvcnQgZGVmYXVsdCBnZXRTdHlsZXM7XG4iXX0= */\");\nvar getStyles$1 = getStyles;\n\nconst _excluded = [\"scale\", \"alignItems\", \"justifyContent\"];\nfunction ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }\nconst Inline = _ref => {\n let _ref$scale = _ref.scale,\n scale = _ref$scale === void 0 ? 's' : _ref$scale,\n _ref$alignItems = _ref.alignItems,\n alignItems = _ref$alignItems === void 0 ? 'flex-start' : _ref$alignItems,\n _ref$justifyContent = _ref.justifyContent,\n justifyContent = _ref$justifyContent === void 0 ? 'flex-start' : _ref$justifyContent,\n props = _objectWithoutProperties(_ref, _excluded);\n return jsx(\"span\", _objectSpread(_objectSpread({\n css: getStyles$1(_objectSpread({\n scale,\n alignItems,\n justifyContent\n }, props))\n }, filterDataAttributes(_objectSpread({\n scale,\n alignItems,\n justifyContent\n }, props))), {}, {\n children: props.children\n }));\n};\nInline.displayName = 'Inline';\nvar Inline$1 = Inline;\n\n// NOTE: This string will be replaced on build time with the package version.\nvar version = \"20.5.0\";\n\nexport { Inline$1 as default, version };\n","import _Object$defineProperty from \"core-js-pure/features/object/define-property.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? _Object$defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import _Symbol from \"core-js-pure/features/symbol/index.js\";\nimport _Symbol$iterator from \"core-js-pure/features/symbol/iterator.js\";\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof _Symbol && \"symbol\" == typeof _Symbol$iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof _Symbol && o.constructor === _Symbol && o !== _Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport _Symbol$toPrimitive from \"core-js-pure/features/symbol/to-primitive.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[_Symbol$toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';\nimport _Object$fromEntries from '@babel/runtime-corejs3/core-js-stable/object/from-entries';\nimport _filterInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/filter';\nimport _Object$entries from '@babel/runtime-corejs3/core-js-stable/object/entries';\nimport isPropValid from '@emotion/is-prop-valid';\nimport _concatInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/concat';\nimport { useEffect } from 'react';\nimport _trimInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/trim';\n\nconst regexpData$1 = /^data-/;\nfunction filterDataAttributes(obj) {\n var _context;\n return _Object$fromEntries(_filterInstanceProperty(_context = _Object$entries(obj)).call(_context, _ref => {\n let _ref2 = _slicedToArray(_ref, 1),\n propFromEntry = _ref2[0];\n return regexpData$1.test(propFromEntry);\n }));\n}\n\nconst regexpData = /^aria-/;\nfunction filterAriaAttributes(obj) {\n var _context;\n return _Object$fromEntries(_filterInstanceProperty(_context = _Object$entries(obj)).call(_context, _ref => {\n let _ref2 = _slicedToArray(_ref, 1),\n propFromEntry = _ref2[0];\n return regexpData.test(propFromEntry);\n }));\n}\n\nfunction filterInvalidAttributes(obj) {\n var _context;\n return _Object$fromEntries(_filterInstanceProperty(_context = _Object$entries(obj)).call(_context, _ref => {\n let _ref2 = _slicedToArray(_ref, 1),\n propFromEntry = _ref2[0];\n return isPropValid(propFromEntry);\n }));\n}\n\n// Given a string, validates that it has the correct format\n// to be a number, with decimal separators and negative sign.\nfunction isNumberish(number) {\n return !/[^(\\-?)\\d,.’'\\s]/.test(number);\n}\n\n// To avoid getting the following error, we type the entire function.\n// \"Assertions require every name in the call target to be declared with an explicit type annotation.\"\n// See https://github.com/microsoft/TypeScript/pull/33622#issuecomment-575301357\n\nconst isProduction = process.env.NODE_ENV === 'production';\n\n// Throw an error if the condition fails\n// Strip out error messages for production\n// > Not providing an inline default argument for message as the result is smaller\nconst warning = function (condition, message) {\n var _context;\n let prefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'Warning';\n if (isProduction || condition) {\n return;\n }\n console.warn(_concatInstanceProperty(_context = \"\".concat(prefix, \": \")).call(_context, message));\n};\nconst useWarning = (condition, message) => {\n useEffect(() => {\n process.env.NODE_ENV !== \"production\" ? warning(condition, message) : void 0;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n};\n\nconst getMessage$1 = (componentName, additionalMessage) => {\n var _context;\n return _concatInstanceProperty(_context = \"\\\"\".concat(componentName, \"\\\" has been deprecated and will be removed in the next major version.\")).call(_context, additionalMessage ? ' ' + additionalMessage : '');\n};\nconst warnDeprecatedComponent = function (componentName) {\n let additionalMessage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return process.env.NODE_ENV !== \"production\" ? warning(false, getMessage$1(componentName, additionalMessage)) : void 0;\n};\nconst useWarnDeprecatedComponent = function (componentName) {\n let additionalMessage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return useWarning(false, getMessage$1(componentName, additionalMessage));\n};\n\nconst getMessage = function (propName, componentName) {\n var _context, _context2;\n let additionalMessage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n return _concatInstanceProperty(_context = _concatInstanceProperty(_context2 = \"\\\"\".concat(propName, \"\\\" property of \\\"\")).call(_context2, componentName, \"\\\" component has been deprecated and will be removed in the next major version.\")).call(_context, additionalMessage ? ' ' + additionalMessage : '');\n};\nconst warnDeprecatedProp = function (condition, propName, componentName) {\n let additionalMessage = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n process.env.NODE_ENV !== \"production\" ? warning(condition, getMessage(propName, componentName, additionalMessage)) : void 0;\n};\nconst useWarnDeprecatedProp = function (condition, propName, componentName) {\n let additionalMessage = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n useWarning(condition, getMessage(propName, componentName, additionalMessage));\n};\n\n// Whenever a field requires a unique id, this factory can be used\n// to create a function returning unique ids.\n//\n// Use it as\n// const sequentialId = createSequentialId('text-field-');\n// const element = <div id={sequentialId()}>foo</div>\nfunction createSequentialId(prefix) {\n let id = 0;\n return () => {\n var _context;\n id += 1;\n return _concatInstanceProperty(_context = \"\".concat(prefix)).call(_context, id);\n };\n}\n\nconst getFieldId = (props, state, createId) => props.id || state.id || createId();\nvar getFieldId$1 = getFieldId;\n\n// Attempts to parse a string containing a time in either 12h or 24h format,\n// with precision of up to three milliseconds\n// Valid inputs:\n// 13:00\n// 3:00\n// 3 PM\n// 14:5 am\n// 13:00:00.000\n// 13:00:60\n// 13:00:59.908\n// Returns an object containing\n// { hours, minutes, seconds, milliseconds }\n// or null\n// eslint-disable-next-line import/prefer-default-export\nconst parseTime = rawTime => {\n if (!rawTime || typeof rawTime !== 'string') return null;\n const time = _trimInstanceProperty(rawTime).call(rawTime).toLowerCase();\n const match = time.match(/^(\\d{1,2})(?::(\\d{1,2})(?::(\\d{1,2})(?:\\.(\\d{1,3}))?)?)?\\s*(am|pm)?$/);\n if (!match) return null;\n\n // As we accept eg \"3 AM\" there might not be a value for minutes, seconds or\n // milliseconds, so we default them\n const _match = _slicedToArray(match, 6),\n hours = _match[1],\n minutes = _match[2],\n seconds = _match[3],\n milliseconds = _match[4],\n amPm = _match[5];\n const parsedMinutes = Number(minutes !== null && minutes !== void 0 ? minutes : '00');\n const parsedSeconds = Number(seconds !== null && seconds !== void 0 ? seconds : '00');\n // Parses the number as a fraction to ensure that .5, .05 and .005 are\n // parsed correctily (they are 500, 50 and 5 respectively).\n const parsedMilliseconds = Number(\"0.\".concat(milliseconds !== null && milliseconds !== void 0 ? milliseconds : '000')) * 1000;\n // edge-case: allow 24:00, but nothing over it\n const parsedHours = Number(hours) === 24 && parsedMinutes === 0 && parsedSeconds === 0 && parsedMilliseconds === 0 ? 0 : Number(hours);\n if (amPm) {\n if (parsedHours > 12) return null;\n if (parsedHours === 0) return null;\n if (parsedMinutes > 59) return null;\n } else {\n if (parsedHours > 23) return null;\n if (parsedMinutes > 59) return null;\n }\n if (parsedSeconds > 59) return null;\n if (parsedMilliseconds > 999) return null;\n\n // 12 pm (just like 24:00) would be on the next day, so we treat it as an\n // invalid value to avoid edge cases like the day jumping forward\n // if (amPm === 'pm' && Number(hours) === 12) return null;\n\n const hourOffset = (() => {\n if (amPm === 'am' && parsedHours === 12) return -12;\n if (amPm === 'am') return 0;\n if (amPm === 'pm' && parsedHours !== 12) return 12;\n return 0;\n })();\n return {\n hours: parsedHours + hourOffset,\n minutes: parsedMinutes,\n seconds: parsedSeconds,\n milliseconds: parsedMilliseconds\n };\n};\nvar parseTime$1 = parseTime;\n\n// eslint-disable-next-line import/prefer-default-export\nconst canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nconst SafeHTMLElement = canUseDOM ? window.HTMLElement : {};\nvar SafeHTMLElement$1 = SafeHTMLElement;\n\n// NOTE: This string will be replaced on build time with the package version.\nvar version = \"20.5.0\";\n\nexport { SafeHTMLElement$1 as SafeHTMLElement, canUseDOM, createSequentialId, filterAriaAttributes, filterDataAttributes, filterInvalidAttributes, getFieldId$1 as getFieldId, isNumberish, parseTime$1 as parseTime, useWarnDeprecatedComponent, useWarnDeprecatedProp, useWarning, version, warnDeprecatedComponent, warnDeprecatedProp, warning };\n","import * as ReactJSXRuntime from 'react/jsx-runtime';\nimport { h as hasOwn, E as Emotion, c as createEmotionProps } from '../../dist/emotion-element-d59e098f.esm.js';\nimport 'react';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js';\nimport 'hoist-non-react-statics';\nimport '@emotion/utils';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\n\nvar Fragment = ReactJSXRuntime.Fragment;\nvar jsx = function jsx(type, props, key) {\n if (!hasOwn.call(props, 'css')) {\n return ReactJSXRuntime.jsx(type, props, key);\n }\n\n return ReactJSXRuntime.jsx(Emotion, createEmotionProps(type, props), key);\n};\nvar jsxs = function jsxs(type, props, key) {\n if (!hasOwn.call(props, 'css')) {\n return ReactJSXRuntime.jsxs(type, props, key);\n }\n\n return ReactJSXRuntime.jsxs(Emotion, createEmotionProps(type, props), key);\n};\n\nexport { Fragment, jsx, jsxs };\n","import React from 'react';\nimport type { ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../fields/ImagePickerField';\n\nexport interface ImageProps {\n src: string;\n alt?: string;\n caption?: string;\n width?: string;\n height?: string;\n objectFit?: 'cover' | 'contain' | 'fill';\n borderRadius?: string;\n align?: 'left' | 'center' | 'right';\n}\n\nexport const Image: ComponentConfig<ImageProps> = {\n label: 'Image',\n fields: {\n src: {\n type: 'custom',\n label: 'Image',\n render: ({ value, onChange }) => (\n <ImagePickerField\n value={value as string}\n onChange={onChange}\n imagesOnly={true}\n />\n ),\n },\n alt: { type: 'text', label: 'Alt Text' },\n caption: { type: 'text', label: 'Caption' },\n width: { type: 'text', label: 'Width (CSS, e.g. 100%)' },\n height: { type: 'text', label: 'Height (CSS, e.g. 300px)' },\n objectFit: {\n type: 'select',\n label: 'Object Fit',\n options: [\n { value: 'cover', label: 'Cover' },\n { value: 'contain', label: 'Contain' },\n { value: 'fill', label: 'Fill' },\n ],\n },\n borderRadius: { type: 'text', label: 'Border Radius (CSS)' },\n align: {\n type: 'select',\n label: 'Alignment',\n options: [\n { value: 'left', label: 'Left' },\n { value: 'center', label: 'Center' },\n { value: 'right', label: 'Right' },\n ],\n },\n },\n defaultProps: {\n src: '',\n alt: '',\n width: '100%',\n objectFit: 'cover',\n align: 'center',\n },\n render: ({ src, alt, caption, width, height, objectFit, borderRadius, align }) => (\n <figure\n style={{\n margin: 0,\n padding: '16px',\n textAlign: align ?? 'center',\n boxSizing: 'border-box',\n }}\n >\n {src ? (\n <img\n src={src}\n alt={alt ?? ''}\n style={{\n width: width ?? '100%',\n height: height,\n objectFit: objectFit ?? 'cover',\n borderRadius,\n display: 'inline-block',\n maxWidth: '100%',\n }}\n />\n ) : (\n <div\n style={{\n width: width ?? '100%',\n height: height ?? '200px',\n background: '#e0e0e0',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: '#888',\n fontSize: '14px',\n borderRadius,\n }}\n >\n No image selected\n </div>\n )}\n {caption && (\n <figcaption\n style={{ marginTop: '8px', fontSize: '14px', color: '#666' }}\n >\n {caption}\n </figcaption>\n )}\n </figure>\n ),\n};\n","import React from 'react';\nimport type { ComponentConfig } from '@measured/puck';\n\nexport interface ButtonProps {\n label: string;\n href?: string;\n variant?: 'primary' | 'secondary' | 'outline';\n size?: 'sm' | 'md' | 'lg';\n align?: 'left' | 'center' | 'right';\n openInNewTab?: boolean;\n}\n\nconst VARIANT_STYLES: Record<string, React.CSSProperties> = {\n primary: { background: '#1a1a2e', color: '#fff', border: '2px solid #1a1a2e' },\n secondary: { background: '#e94560', color: '#fff', border: '2px solid #e94560' },\n outline: { background: 'transparent', color: '#1a1a2e', border: '2px solid #1a1a2e' },\n};\n\nconst SIZE_STYLES: Record<string, React.CSSProperties> = {\n sm: { padding: '6px 16px', fontSize: '14px' },\n md: { padding: '10px 24px', fontSize: '16px' },\n lg: { padding: '14px 32px', fontSize: '18px' },\n};\n\nexport const Button: ComponentConfig<ButtonProps> = {\n label: 'Button',\n fields: {\n label: { type: 'text', label: 'Button Label' },\n href: { type: 'text', label: 'Link URL' },\n variant: {\n type: 'select',\n label: 'Variant',\n options: [\n { value: 'primary', label: 'Primary' },\n { value: 'secondary', label: 'Secondary' },\n { value: 'outline', label: 'Outline' },\n ],\n },\n size: {\n type: 'select',\n label: 'Size',\n options: [\n { value: 'sm', label: 'Small' },\n { value: 'md', label: 'Medium' },\n { value: 'lg', label: 'Large' },\n ],\n },\n align: {\n type: 'select',\n label: 'Alignment',\n options: [\n { value: 'left', label: 'Left' },\n { value: 'center', label: 'Center' },\n { value: 'right', label: 'Right' },\n ],\n },\n openInNewTab: { type: 'radio', label: 'Open in New Tab', options: [\n { value: true, label: 'Yes' },\n { value: false, label: 'No' },\n ]},\n },\n defaultProps: {\n label: 'Click me',\n variant: 'primary',\n size: 'md',\n align: 'left',\n openInNewTab: false,\n },\n render: ({ label, href, variant = 'primary', size = 'md', align = 'left', openInNewTab }) => (\n <div style={{ padding: '12px 16px', textAlign: align, boxSizing: 'border-box' }}>\n <a\n href={href ?? '#'}\n target={openInNewTab ? '_blank' : undefined}\n rel={openInNewTab ? 'noopener noreferrer' : undefined}\n style={{\n display: 'inline-block',\n borderRadius: '4px',\n textDecoration: 'none',\n fontWeight: 600,\n cursor: 'pointer',\n ...VARIANT_STYLES[variant],\n ...SIZE_STYLES[size],\n }}\n >\n {label}\n </a>\n </div>\n ),\n};\n","import React from 'react';\nimport type { ComponentConfig } from '@measured/puck';\n\nexport interface CardProps {\n title: string;\n body?: string;\n imageUrl?: string;\n ctaText?: string;\n ctaUrl?: string;\n shadow?: boolean;\n borderRadius?: string;\n}\n\nexport const Card: ComponentConfig<CardProps> = {\n label: 'Card',\n fields: {\n title: { type: 'text', label: 'Title' },\n body: { type: 'textarea', label: 'Body Text' },\n imageUrl: { type: 'text', label: 'Image URL' },\n ctaText: { type: 'text', label: 'CTA Text' },\n ctaUrl: { type: 'text', label: 'CTA URL' },\n shadow: {\n type: 'radio',\n label: 'Drop Shadow',\n options: [\n { value: true, label: 'Yes' },\n { value: false, label: 'No' },\n ],\n },\n borderRadius: { type: 'text', label: 'Border Radius (CSS)' },\n },\n defaultProps: {\n title: 'Card Title',\n body: 'Card description goes here.',\n shadow: true,\n borderRadius: '8px',\n },\n render: ({ title, body, imageUrl, ctaText, ctaUrl, shadow, borderRadius }) => (\n <div\n style={{\n border: '1px solid #e0e0e0',\n borderRadius: borderRadius ?? '8px',\n overflow: 'hidden',\n boxShadow: shadow ? '0 2px 8px rgba(0,0,0,0.12)' : undefined,\n background: '#fff',\n margin: '8px',\n boxSizing: 'border-box',\n }}\n >\n {imageUrl && (\n <img\n src={imageUrl}\n alt={title}\n style={{ width: '100%', height: '200px', objectFit: 'cover', display: 'block' }}\n />\n )}\n <div style={{ padding: '16px' }}>\n <h3 style={{ margin: '0 0 8px', fontSize: '1.1rem' }}>{title}</h3>\n {body && <p style={{ margin: '0 0 16px', color: '#555', fontSize: '14px' }}>{body}</p>}\n {ctaText && ctaUrl && (\n <a\n href={ctaUrl}\n style={{\n color: '#e94560',\n fontWeight: 600,\n textDecoration: 'none',\n fontSize: '14px',\n }}\n >\n {ctaText} →\n </a>\n )}\n </div>\n </div>\n ),\n};\n","import React from 'react';\nimport type { ComponentConfig } from '@measured/puck';\n\nexport interface SpacerProps {\n height?: string;\n showLine?: boolean;\n lineColor?: string;\n}\n\nexport const Spacer: ComponentConfig<SpacerProps> = {\n label: 'Spacer',\n fields: {\n height: { type: 'text', label: 'Height (CSS, e.g. 48px)' },\n showLine: {\n type: 'radio',\n label: 'Show Divider Line',\n options: [\n { value: true, label: 'Yes' },\n { value: false, label: 'No' },\n ],\n },\n lineColor: { type: 'text', label: 'Line Color (CSS color)' },\n },\n defaultProps: {\n height: '48px',\n showLine: false,\n lineColor: '#e0e0e0',\n },\n render: ({ height = '48px', showLine = false, lineColor = '#e0e0e0' }) => (\n <div\n style={{\n height,\n display: 'flex',\n alignItems: 'center',\n padding: '0 16px',\n boxSizing: 'border-box',\n }}\n >\n {showLine && (\n <hr style={{ width: '100%', border: 'none', borderTop: `1px solid ${lineColor}` }} />\n )}\n </div>\n ),\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { useDatasource } from '@commercetools-demo/puck-api';\nimport { DatasourceField, type DatasourceValue } from '../fields/DatasourceField';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface ProductTeaserProps {\n datasource: DatasourceValue;\n richText: string;\n}\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\ninterface ProductProjection {\n name?: Record<string, string>;\n masterVariant?: {\n images?: Array<{ url: string }>;\n prices?: Array<{\n value: { centAmount: number; currencyCode: string; fractionDigits: number };\n }>;\n };\n}\n\nconst getLocalizedName = (name?: Record<string, string>): string => {\n if (!name) return '';\n return name['en'] ?? name['en-US'] ?? Object.values(name)[0] ?? '';\n};\n\nconst formatPrice = (\n centAmount: number,\n currencyCode: string,\n fractionDigits: number\n): string => {\n const amount = centAmount / Math.pow(10, fractionDigits);\n return `${currencyCode} ${amount.toFixed(fractionDigits)}`;\n};\n\n// ---------------------------------------------------------------------------\n// Render — a proper React component so hooks work\n// ---------------------------------------------------------------------------\n\nconst ProductTeaserRender: React.FC<ProductTeaserProps> = ({\n datasource,\n richText,\n}) => {\n // Skip the hook fetch when the server has already pre-resolved the data.\n const hasPreResolved = datasource?.resolvedData != null;\n const { data: fetchedData, loading, error } = useDatasource(\n hasPreResolved ? undefined : datasource?.type,\n hasPreResolved ? [] : (datasource?.skus ?? [])\n );\n\n const data = hasPreResolved ? datasource.resolvedData : fetchedData;\n\n // For products-by-sku the service returns an array; for product-by-sku a single object.\n const product: ProductProjection | null = data\n ? Array.isArray(data)\n ? (data[0] as ProductProjection) ?? null\n : (data as ProductProjection)\n : null;\n\n const imageUrl = product?.masterVariant?.images?.[0]?.url;\n const priceValue = product?.masterVariant?.prices?.[0]?.value;\n const productName = getLocalizedName(product?.name);\n\n return (\n <div\n style={{\n display: 'flex',\n gap: '24px',\n padding: '16px',\n alignItems: 'flex-start',\n fontFamily: 'inherit',\n }}\n >\n {/* Left: product image */}\n <div style={{ flexShrink: 0, width: '200px' }}>\n {loading ? (\n <div\n style={{\n width: '200px',\n height: '200px',\n background: '#f3f4f6',\n borderRadius: '8px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: '#9ca3af',\n fontSize: '13px',\n }}\n >\n Loading…\n </div>\n ) : imageUrl ? (\n <img\n src={imageUrl}\n alt={productName}\n style={{\n width: '200px',\n height: '200px',\n objectFit: 'cover',\n borderRadius: '8px',\n display: 'block',\n }}\n />\n ) : (\n <div\n style={{\n width: '200px',\n height: '200px',\n background: '#f3f4f6',\n borderRadius: '8px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: '#9ca3af',\n fontSize: '13px',\n }}\n >\n {error ? 'Error loading product' : 'No product selected'}\n </div>\n )}\n </div>\n\n {/* Right: rich text + price stacked */}\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n gap: '12px',\n flex: 1,\n minWidth: 0,\n }}\n >\n {richText ? (\n <div dangerouslySetInnerHTML={{ __html: richText }} />\n ) : (\n <div style={{ color: '#9ca3af', fontSize: '13px' }}>\n No description\n </div>\n )}\n\n {priceValue && (\n <div\n style={{\n fontSize: '20px',\n fontWeight: 700,\n color: '#111827',\n }}\n >\n {formatPrice(\n priceValue.centAmount,\n priceValue.currencyCode,\n priceValue.fractionDigits\n )}\n </div>\n )}\n </div>\n </div>\n );\n};\n\n// ---------------------------------------------------------------------------\n// Puck component config\n// ---------------------------------------------------------------------------\n\nexport const ProductTeaser: ComponentConfig<ProductTeaserProps> = {\n label: 'Product Teaser',\n fields: {\n datasource: {\n type: 'custom',\n label: 'Product Datasource',\n render: ({ value, onChange }) => (\n <DatasourceField value={value} onChange={onChange} />\n ),\n },\n richText: {\n type: 'textarea',\n label: 'Rich Text (HTML)',\n },\n },\n defaultProps: {\n datasource: { type: 'product-by-sku', skus: [''] },\n richText: '',\n },\n render: (props) => <ProductTeaserRender {...props} />,\n};\n","import React from 'react';\nimport Label from '@commercetools-uikit/label';\nimport TextInput from '@commercetools-uikit/text-input';\nimport SelectInput from '@commercetools-uikit/select-input';\nimport FlatButton from '@commercetools-uikit/flat-button';\nimport SecondaryButton from '@commercetools-uikit/secondary-button';\nimport Spacings from '@commercetools-uikit/spacings';\nimport { PlusThinIcon, CloseBoldIcon } from '@commercetools-uikit/icons';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport type DatasourceType = 'product-by-sku' | 'products-by-sku';\n\nexport interface DatasourceValue {\n type: DatasourceType;\n skus: string[];\n /** Pre-resolved by the server on published/preview endpoints — use directly in render. */\n resolvedData?: unknown;\n}\n\nexport interface DatasourceFieldProps {\n value: DatasourceValue | undefined;\n onChange: (value: DatasourceValue) => void;\n}\n\n// ---------------------------------------------------------------------------\n// Options\n// ---------------------------------------------------------------------------\n\nconst TYPE_OPTIONS = [\n { value: 'product-by-sku', label: 'Product by SKU' },\n { value: 'products-by-sku', label: 'Products by SKU' },\n];\n\nconst EMPTY_VALUE: DatasourceValue = { type: 'product-by-sku', skus: [''] };\n\n// ---------------------------------------------------------------------------\n// DatasourceField — custom Puck field component\n// ---------------------------------------------------------------------------\n\nexport const DatasourceField: React.FC<DatasourceFieldProps> = ({\n value,\n onChange,\n}) => {\n const current: DatasourceValue = value ?? EMPTY_VALUE;\n\n const handleSingleSkuChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange({ ...current, skus: [e.target.value] });\n };\n\n const handleMultiSkuChange = (index: number, val: string) => {\n const updated = [...current.skus];\n updated[index] = val;\n onChange({ ...current, skus: updated });\n };\n\n const addSku = () => {\n onChange({ ...current, skus: [...current.skus, ''] });\n };\n\n const removeSku = (index: number) => {\n const updated = current.skus.filter((_, i) => i !== index);\n onChange({ ...current, skus: updated.length > 0 ? updated : [''] });\n };\n\n return (\n <Spacings.Stack scale=\"s\">\n <Spacings.Stack scale=\"xs\">\n <Label htmlFor=\"datasource-type\">Datasource type</Label>\n <SelectInput\n id=\"datasource-type\"\n name=\"datasource-type\"\n value={current.type}\n options={TYPE_OPTIONS}\n onChange={(e) => {\n const newType = e.target.value as DatasourceType;\n onChange({ type: newType, skus: newType === 'product-by-sku' ? [current.skus[0] ?? ''] : current.skus });\n }}\n />\n </Spacings.Stack>\n\n {current.type === 'product-by-sku' ? (\n <Spacings.Stack scale=\"xs\">\n <Label htmlFor=\"datasource-sku\">SKU</Label>\n <TextInput\n id=\"datasource-sku\"\n placeholder=\"Enter product SKU\"\n value={current.skus[0] ?? ''}\n onChange={handleSingleSkuChange}\n />\n </Spacings.Stack>\n ) : (\n <Spacings.Stack scale=\"xs\">\n <Label>SKUs</Label>\n <Spacings.Stack scale=\"xs\">\n {current.skus.map((sku, i) => (\n <Spacings.Inline key={i} scale=\"xs\" alignItems=\"center\">\n <div style={{ flex: 1 }}>\n <TextInput\n placeholder={`SKU ${i + 1}`}\n value={sku}\n onChange={(e) => handleMultiSkuChange(i, e.target.value)}\n />\n </div>\n <FlatButton\n tone=\"critical\"\n label=\"Remove\"\n icon={<CloseBoldIcon />}\n onClick={() => removeSku(i)}\n />\n </Spacings.Inline>\n ))}\n <SecondaryButton\n label=\"Add SKU\"\n iconLeft={<PlusThinIcon />}\n onClick={addSku}\n size=\"small\"\n />\n </Spacings.Stack>\n </Spacings.Stack>\n )}\n </Spacings.Stack>\n );\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../../fields/ImagePickerField';\n\nexport interface HeroBannerProps {\n title: string;\n subtitle: string;\n image: string;\n}\n\nexport const HeroBanner: ComponentConfig<HeroBannerProps> = {\n label: 'Hero Banner',\n fields: {\n title: { type: 'text', label: 'Title' },\n subtitle: { type: 'text', label: 'Subtitle' },\n image: {\n type: 'custom',\n label: 'Image',\n render: ({ value, onChange }) => (\n <ImagePickerField value={value ?? ''} onChange={onChange} />\n ),\n },\n },\n defaultProps: { title: '', subtitle: '', image: '' },\n render: ({ title, subtitle, image }) => (\n <div\n style={{\n position: 'relative',\n width: '100%',\n paddingBottom: '56.25%',\n overflow: 'hidden',\n backgroundColor: '#f0f0f0',\n }}\n >\n {image && (\n <img\n src={image}\n alt={title || 'Hero banner'}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n objectPosition: 'center',\n }}\n />\n )}\n {/* dark overlay */}\n <div\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n background: 'rgba(0,0,0,0.3)',\n zIndex: 1,\n }}\n />\n <div\n style={{\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%,-50%)',\n textAlign: 'center',\n color: 'white',\n zIndex: 2,\n padding: '2rem',\n maxWidth: '90%',\n }}\n >\n {title && (\n <h1\n style={{\n fontSize: '3rem',\n fontWeight: 'bold',\n margin: '0 0 1rem 0',\n textShadow: '2px 2px 4px rgba(0,0,0,0.7)',\n }}\n >\n {title}\n </h1>\n )}\n {subtitle && (\n <p\n style={{\n fontSize: '1.25rem',\n margin: 0,\n textShadow: '1px 1px 2px rgba(0,0,0,0.7)',\n opacity: 0.95,\n }}\n >\n {subtitle}\n </p>\n )}\n </div>\n </div>\n ),\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface TextBlockProps {\n content: string;\n}\n\nexport const TextBlock: ComponentConfig<TextBlockProps> = {\n label: 'Text Block',\n fields: {\n content: { type: 'textarea', label: 'Content (HTML)' },\n },\n defaultProps: { content: '' },\n render: ({ content }) => {\n if (!content) return <></>;\n return (\n <div\n dangerouslySetInnerHTML={{ __html: content }}\n style={{\n maxWidth: '720px',\n margin: '0 auto',\n padding: '1.5rem 1rem',\n lineHeight: 1.6,\n color: '#333',\n }}\n />\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../../fields/ImagePickerField';\n\nexport interface CategoryGridProps {\n category1Image: string; category1Label: string; category1Link: string;\n category2Image: string; category2Label: string; category2Link: string;\n category3Image: string; category3Label: string; category3Link: string;\n category4Image: string; category4Label: string; category4Link: string;\n}\n\nconst imgField = (label: string) => ({\n type: 'custom' as const,\n label,\n render: ({ value, onChange }: { value: string; onChange: (v: string) => void }) => (\n <ImagePickerField value={value ?? ''} onChange={onChange} />\n ),\n});\n\nexport const CategoryGrid: ComponentConfig<CategoryGridProps> = {\n label: 'Category Grid',\n fields: {\n category1Image: imgField('Category 1 Image'),\n category1Label: { type: 'text', label: 'Category 1 Label' },\n category1Link: { type: 'text', label: 'Category 1 Link' },\n category2Image: imgField('Category 2 Image'),\n category2Label: { type: 'text', label: 'Category 2 Label' },\n category2Link: { type: 'text', label: 'Category 2 Link' },\n category3Image: imgField('Category 3 Image'),\n category3Label: { type: 'text', label: 'Category 3 Label' },\n category3Link: { type: 'text', label: 'Category 3 Link' },\n category4Image: imgField('Category 4 Image'),\n category4Label: { type: 'text', label: 'Category 4 Label' },\n category4Link: { type: 'text', label: 'Category 4 Link' },\n },\n defaultProps: {\n category1Image: '', category1Label: '', category1Link: '',\n category2Image: '', category2Label: '', category2Link: '',\n category3Image: '', category3Label: '', category3Link: '',\n category4Image: '', category4Label: '', category4Link: '',\n },\n render: (props) => {\n const categories = [\n [props.category1Image, props.category1Label, props.category1Link],\n [props.category2Image, props.category2Label, props.category2Link],\n [props.category3Image, props.category3Label, props.category3Link],\n [props.category4Image, props.category4Label, props.category4Link],\n ].filter(([, label, link]) => label && link) as [string, string, string][];\n\n if (categories.length === 0) return (\n <div style={{ padding: '2rem', textAlign: 'center', color: '#999', fontSize: '13px' }}>\n No categories configured\n </div>\n );\n\n return (\n <div\n style={{\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fill, minmax(200px, 1fr))',\n gap: '1.5rem',\n padding: '2rem 1rem',\n }}\n >\n {categories.map(([image, label, link], i) => (\n <a\n key={i}\n href={link}\n style={{\n display: 'block',\n textAlign: 'center',\n textDecoration: 'none',\n color: 'inherit',\n borderRadius: '8px',\n overflow: 'hidden',\n boxShadow: '0 2px 8px rgba(0,0,0,0.1)',\n }}\n >\n <div style={{ aspectRatio: '1', background: '#f0f0f0', overflow: 'hidden' }}>\n {image && (\n <img\n src={image}\n alt={label}\n style={{ width: '100%', height: '100%', objectFit: 'cover' }}\n />\n )}\n </div>\n <span\n style={{\n display: 'block',\n padding: '1rem',\n fontWeight: 600,\n color: '#333',\n }}\n >\n {label}\n </span>\n </a>\n ))}\n </div>\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../../fields/ImagePickerField';\n\nexport interface CategoryHeroProps {\n title: string;\n subtitle: string;\n image: string;\n ctaText: string;\n ctaLink: string;\n}\n\nexport const CategoryHero: ComponentConfig<CategoryHeroProps> = {\n label: 'Category Hero',\n fields: {\n title: { type: 'text', label: 'Title' },\n subtitle: { type: 'text', label: 'Subtitle' },\n image: {\n type: 'custom', label: 'Background Image',\n render: ({ value, onChange }) => <ImagePickerField value={value ?? ''} onChange={onChange} />,\n },\n ctaText: { type: 'text', label: 'CTA Text' },\n ctaLink: { type: 'text', label: 'CTA Link' },\n },\n defaultProps: { title: '', subtitle: '', image: '', ctaText: '', ctaLink: '' },\n render: ({ title, subtitle, image, ctaText, ctaLink }) => (\n <div\n style={{\n position: 'relative',\n minHeight: '220px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n background: '#f0f0f0',\n borderRadius: '8px',\n overflow: 'hidden',\n margin: '1rem 0',\n }}\n >\n {image && (\n <img\n src={image}\n alt={title || 'Category'}\n style={{\n position: 'absolute',\n top: 0, left: 0,\n width: '100%', height: '100%',\n objectFit: 'cover',\n opacity: 0.85,\n }}\n />\n )}\n <div style={{ position: 'absolute', inset: 0, background: 'rgba(0,0,0,0.25)' }} />\n <div\n style={{\n position: 'relative',\n zIndex: 1,\n textAlign: 'center',\n padding: '2rem',\n color: 'white',\n textShadow: '0 1px 3px rgba(0,0,0,0.5)',\n }}\n >\n {title && <h1 style={{ fontSize: '2.5rem', marginBottom: '0.5rem' }}>{title}</h1>}\n {subtitle && <p style={{ fontSize: '1.1rem', marginBottom: '1rem' }}>{subtitle}</p>}\n {ctaText && ctaLink && (\n <a\n href={ctaLink}\n style={{\n display: 'inline-block',\n background: 'white',\n color: '#2c5530',\n padding: '0.75rem 2rem',\n borderRadius: '4px',\n textDecoration: 'none',\n fontWeight: 600,\n }}\n >\n {ctaText}\n </a>\n )}\n </div>\n </div>\n ),\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface CheckoutPromoBannerProps {\n title: string;\n message: string;\n ctaText: string;\n ctaLink: string;\n}\n\nexport const CheckoutPromoBanner: ComponentConfig<CheckoutPromoBannerProps> = {\n label: 'Checkout Promo Banner',\n fields: {\n title: { type: 'text', label: 'Title' },\n message: { type: 'text', label: 'Message' },\n ctaText: { type: 'text', label: 'CTA Text' },\n ctaLink: { type: 'text', label: 'CTA Link' },\n },\n defaultProps: { title: '', message: '', ctaText: '', ctaLink: '' },\n render: ({ title, message, ctaText, ctaLink }) => {\n if (!title && !message && !ctaText) return <></>;\n return (\n <div\n style={{\n padding: '1rem 1.25rem',\n background: '#f0f7f0',\n border: '1px solid #c8e6c8',\n borderRadius: '4px',\n marginBottom: '1rem',\n fontSize: '0.95rem',\n }}\n >\n {title && (\n <div style={{ fontWeight: 600, color: '#2c5530', marginBottom: '0.25rem' }}>\n {title}\n </div>\n )}\n {message && <p style={{ margin: '0 0 0.5rem 0', color: '#333' }}>{message}</p>}\n {ctaText && ctaLink && (\n <a href={ctaLink} style={{ color: '#2c5530', fontWeight: 600, textDecoration: 'none' }}>\n {ctaText}\n </a>\n )}\n </div>\n );\n },\n};\n","import React, { useEffect, useState } from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface CountdownBannerProps {\n headline: string;\n subline: string;\n endDate: string;\n ctaText: string;\n ctaLink: string;\n background: string;\n}\n\nconst calcTimeLeft = (endDate: string): string => {\n if (!endDate) return '';\n const end = new Date(endDate);\n const now = new Date();\n if (end <= now) return 'Offer ended';\n const diff = end.getTime() - now.getTime();\n const d = Math.floor(diff / 86_400_000);\n const h = Math.floor((diff % 86_400_000) / 3_600_000);\n const m = Math.floor((diff % 3_600_000) / 60_000);\n const s = Math.floor((diff % 60_000) / 1_000);\n if (d > 0) return `${d}d ${h}h ${m}m left`;\n if (h > 0) return `${h}h ${m}m ${s}s left`;\n return `${m}m ${s}s left`;\n};\n\nconst CountdownRender: React.FC<CountdownBannerProps> = ({\n headline, subline, endDate, ctaText, ctaLink, background,\n}) => {\n const [timeLeft, setTimeLeft] = useState(() => calcTimeLeft(endDate));\n useEffect(() => {\n if (!endDate) return;\n const id = setInterval(() => setTimeLeft(calcTimeLeft(endDate)), 1000);\n return () => clearInterval(id);\n }, [endDate]);\n\n return (\n <div\n style={{\n background: background || '#2c5530',\n color: 'white',\n padding: '2rem 1rem',\n textAlign: 'center',\n borderRadius: '4px',\n margin: '1rem 0',\n }}\n >\n {headline && <h2 style={{ fontSize: '1.75rem', marginBottom: '0.5rem' }}>{headline}</h2>}\n {subline && <p style={{ fontSize: '1rem', opacity: 0.9, marginBottom: '1rem' }}>{subline}</p>}\n {timeLeft && (\n <p style={{ fontSize: '1.25rem', fontWeight: 600, margin: '0 0 1rem 0', letterSpacing: '0.05em' }}>\n {timeLeft}\n </p>\n )}\n {ctaText && ctaLink && (\n <a\n href={ctaLink}\n style={{\n display: 'inline-block',\n background: 'white',\n color: '#2c5530',\n padding: '0.75rem 2rem',\n borderRadius: '4px',\n textDecoration: 'none',\n fontWeight: 600,\n }}\n >\n {ctaText}\n </a>\n )}\n </div>\n );\n};\n\nexport const CountdownBanner: ComponentConfig<CountdownBannerProps> = {\n label: 'Countdown Banner',\n fields: {\n headline: { type: 'text', label: 'Headline' },\n subline: { type: 'text', label: 'Subline' },\n endDate: { type: 'text', label: 'End Date (ISO, e.g. 2025-12-31T23:59:59)' },\n ctaText: { type: 'text', label: 'CTA Text' },\n ctaLink: { type: 'text', label: 'CTA Link' },\n background: { type: 'text', label: 'Background Color' },\n },\n defaultProps: {\n headline: '', subline: '', endDate: '', ctaText: '', ctaLink: '', background: '#2c5530',\n },\n render: (props) => <CountdownRender {...props} />,\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { useDatasource } from '@commercetools-demo/puck-api';\nimport { DatasourceField, type DatasourceValue } from '../../fields/DatasourceField';\nimport { formatPrice, getFirstPrice, getLocalizedText, getProductImage, getProductSlug } from './shared';\n\nexport interface CrossSellBlockProps {\n title: string;\n products: DatasourceValue;\n ctaText: string;\n}\n\nconst CrossSellRender: React.FC<CrossSellBlockProps> = ({ title, products, ctaText }) => {\n const hasPreResolved = products?.resolvedData != null;\n const { data: fetchedData, loading } = useDatasource(\n hasPreResolved ? undefined : products?.type,\n hasPreResolved ? [] : (products?.skus ?? [])\n );\n const items: unknown[] = hasPreResolved\n ? (Array.isArray(products.resolvedData) ? products.resolvedData : [])\n : (Array.isArray(fetchedData) ? fetchedData : []);\n\n if (!loading && items.length === 0) return null;\n\n return (\n <div style={{ padding: '2rem 0', borderTop: '1px solid #eee' }}>\n {title && <h3 style={{ fontSize: '1.5rem', marginBottom: '1.5rem', color: '#333' }}>{title || 'Frequently bought together'}</h3>}\n {loading && <div style={{ color: '#999', padding: '1rem' }}>Loading…</div>}\n {items.length > 0 && (\n <div\n style={{\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fill, minmax(180px, 1fr))',\n gap: '1rem',\n }}\n >\n {items.map((product, i) => {\n const name = getLocalizedText((product as any)?.name);\n const imageUrl = getProductImage(product);\n const priceVal = getFirstPrice(product);\n const slug = getProductSlug(product);\n return (\n <a\n key={(product as any)?.id ?? i}\n href={slug}\n style={{\n textAlign: 'center',\n textDecoration: 'none',\n color: 'inherit',\n padding: '1rem',\n borderRadius: '8px',\n border: '1px solid #eee',\n }}\n >\n <div style={{ height: '120px', marginBottom: '0.75rem', display: 'flex', alignItems: 'center', justifyContent: 'center', background: '#f9f9f9', borderRadius: '4px' }}>\n {imageUrl\n ? <img src={imageUrl} alt={name} style={{ maxWidth: '100%', maxHeight: '100%', objectFit: 'contain' }} />\n : null\n }\n </div>\n <div style={{ fontWeight: 600, fontSize: '0.95rem', marginBottom: '0.25rem' }}>{name}</div>\n {priceVal && (\n <div style={{ fontSize: '1.1rem', color: '#2c5530', fontWeight: 'bold' }}>\n {formatPrice(priceVal.centAmount, priceVal.currencyCode, priceVal.fractionDigits)}\n </div>\n )}\n </a>\n );\n })}\n </div>\n )}\n {ctaText && (\n <a href=\"#\" style={{ display: 'inline-block', marginTop: '1rem', color: '#2c5530', fontWeight: 600, textDecoration: 'none' }}>\n {ctaText}\n </a>\n )}\n </div>\n );\n};\n\nexport const CrossSellBlock: ComponentConfig<CrossSellBlockProps> = {\n label: 'Cross-Sell Block',\n fields: {\n title: { type: 'text', label: 'Title' },\n products: {\n type: 'custom', label: 'Products',\n render: ({ value, onChange }) => <DatasourceField value={value} onChange={onChange} />,\n },\n ctaText: { type: 'text', label: 'CTA Text' },\n },\n defaultProps: {\n title: 'Frequently bought together',\n products: { type: 'products-by-sku', skus: [''] },\n ctaText: '',\n },\n render: (props) => <CrossSellRender {...props} />,\n};\n","// Shared helpers used across CMS Puck components\n\nexport const getLocalizedText = (obj?: Record<string, string> | null): string => {\n if (!obj) return '';\n return obj['en-US'] ?? obj['en'] ?? Object.values(obj)[0] ?? '';\n};\n\nexport const formatPrice = (\n centAmount: number,\n currencyCode = 'USD',\n fractionDigits = 2\n): string => {\n const amount = centAmount / Math.pow(10, fractionDigits);\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: currencyCode,\n }).format(amount);\n};\n\nexport const getFirstPrice = (\n product: unknown\n): { centAmount: number; currencyCode: string; fractionDigits: number } | null => {\n const p = product as any;\n return p?.masterVariant?.prices?.[0]?.value ?? null;\n};\n\nexport const getProductImage = (product: unknown): string | null => {\n const p = product as any;\n return p?.masterVariant?.images?.[0]?.url ?? null;\n};\n\nexport const getProductName = (product: unknown): string => {\n const p = product as any;\n return getLocalizedText(p?.name) || 'Product';\n};\n\nexport const getProductSlug = (product: unknown): string => {\n const p = product as any;\n return getLocalizedText(p?.slug) || p?.id || '#';\n};\n\n// Colour palette shared across components\nexport const colors = {\n primary: '#2c5530',\n primaryHover: '#1e3a21',\n lightBg: '#f0f7f0',\n lightBorder: '#c8e6c8',\n text: '#333',\n textMuted: '#666',\n border: '#eee',\n bg: '#f5f5f5',\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface DeliveryMessageProps {\n message: string;\n threshold: string;\n}\n\nexport const DeliveryMessage: ComponentConfig<DeliveryMessageProps> = {\n label: 'Delivery Message',\n fields: {\n message: { type: 'text', label: 'Message (use $XX for threshold)' },\n threshold: { type: 'text', label: 'Threshold Amount (e.g. 50)' },\n },\n defaultProps: { message: 'Free delivery on orders over $50', threshold: '' },\n render: ({ message, threshold }) => {\n if (!message) return <></>;\n const text = threshold\n ? message.replace(/\\$\\d+/g, `$${threshold}`)\n : message;\n return (\n <div\n style={{\n padding: '0.75rem 1rem',\n background: '#f0f7f0',\n borderRadius: '4px',\n fontSize: '0.95rem',\n color: '#2c5530',\n }}\n >\n {text}\n </div>\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface DividerProps {\n lineStyle: 'solid' | 'dashed' | 'dotted';\n spacing: string;\n}\n\nexport const Divider: ComponentConfig<DividerProps> = {\n label: 'Divider',\n fields: {\n lineStyle: {\n type: 'select',\n label: 'Line Style',\n options: [\n { value: 'solid', label: 'Solid' },\n { value: 'dashed', label: 'Dashed' },\n { value: 'dotted', label: 'Dotted' },\n ],\n },\n spacing: { type: 'text', label: 'Spacing (px)' },\n },\n defaultProps: { lineStyle: 'solid', spacing: '24' },\n render: ({ lineStyle, spacing }) => {\n const s = parseInt(spacing, 10) || 24;\n return (\n <hr\n style={{\n border: 'none',\n borderTop: `1px ${lineStyle} #ddd`,\n margin: `${s / 2}px 0`,\n }}\n />\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../../fields/ImagePickerField';\n\nexport interface EmptyStateProps {\n image: string;\n title: string;\n description: string;\n ctaText: string;\n ctaLink: string;\n}\n\nexport const EmptyState: ComponentConfig<EmptyStateProps> = {\n label: 'Empty State',\n fields: {\n image: {\n type: 'custom', label: 'Image',\n render: ({ value, onChange }) => <ImagePickerField value={value ?? ''} onChange={onChange} />,\n },\n title: { type: 'text', label: 'Title' },\n description: { type: 'text', label: 'Description' },\n ctaText: { type: 'text', label: 'CTA Text' },\n ctaLink: { type: 'text', label: 'CTA Link' },\n },\n defaultProps: { image: '', title: '', description: '', ctaText: '', ctaLink: '' },\n render: ({ image, title, description, ctaText, ctaLink }) => (\n <div style={{ textAlign: 'center', padding: '3rem 1rem' }}>\n {image && (\n <img\n src={image}\n alt={title || 'Empty state'}\n style={{ maxWidth: '200px', height: 'auto', marginBottom: '1.5rem', opacity: 0.8 }}\n />\n )}\n {title && <h2 style={{ fontSize: '1.5rem', color: '#333', marginBottom: '0.5rem' }}>{title}</h2>}\n {description && (\n <p style={{ color: '#666', marginBottom: '1.5rem', maxWidth: '400px', margin: '0 auto 1.5rem' }}>\n {description}\n </p>\n )}\n {ctaText && ctaLink && (\n <a\n href={ctaLink}\n style={{\n display: 'inline-block',\n background: '#2c5530',\n color: 'white',\n padding: '0.75rem 2rem',\n borderRadius: '4px',\n textDecoration: 'none',\n fontWeight: 600,\n }}\n >\n {ctaText}\n </a>\n )}\n </div>\n ),\n};\n","import React, { useState } from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface FAQAccordionProps {\n question1: string; answer1: string;\n question2: string; answer2: string;\n question3: string; answer3: string;\n question4: string; answer4: string;\n}\n\nconst FAQRender: React.FC<FAQAccordionProps> = (props) => {\n const items = [\n [props.question1, props.answer1],\n [props.question2, props.answer2],\n [props.question3, props.answer3],\n [props.question4, props.answer4],\n ].filter(([q]) => q) as [string, string][];\n\n const [open, setOpen] = useState<number | null>(null);\n\n if (items.length === 0) return (\n <div style={{ padding: '1rem', color: '#999', fontSize: '13px' }}>No FAQ items configured</div>\n );\n\n return (\n <div style={{ border: '1px solid #eee', borderRadius: '8px', overflow: 'hidden' }}>\n {items.map(([question, answer], i) => (\n <div key={i} style={{ borderBottom: i < items.length - 1 ? '1px solid #eee' : 'none' }}>\n <button\n onClick={() => setOpen(open === i ? null : i)}\n style={{\n width: '100%',\n padding: '1rem 1.25rem',\n textAlign: 'left',\n fontWeight: 600,\n fontSize: '1rem',\n background: '#fafafa',\n border: 'none',\n cursor: 'pointer',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n {question}\n <span style={{ fontSize: '1.2rem', lineHeight: 1 }}>{open === i ? '−' : '+'}</span>\n </button>\n {open === i && answer && (\n <div\n dangerouslySetInnerHTML={{ __html: answer }}\n style={{\n padding: '1rem 1.25rem',\n background: 'white',\n fontSize: '0.95rem',\n lineHeight: 1.5,\n color: '#555',\n }}\n />\n )}\n </div>\n ))}\n </div>\n );\n};\n\nexport const FAQAccordion: ComponentConfig<FAQAccordionProps> = {\n label: 'FAQ Accordion',\n fields: {\n question1: { type: 'text', label: 'Question 1' },\n answer1: { type: 'textarea', label: 'Answer 1 (HTML)' },\n question2: { type: 'text', label: 'Question 2' },\n answer2: { type: 'textarea', label: 'Answer 2 (HTML)' },\n question3: { type: 'text', label: 'Question 3' },\n answer3: { type: 'textarea', label: 'Answer 3 (HTML)' },\n question4: { type: 'text', label: 'Question 4' },\n answer4: { type: 'textarea', label: 'Answer 4 (HTML)' },\n },\n defaultProps: {\n question1: '', answer1: '',\n question2: '', answer2: '',\n question3: '', answer3: '',\n question4: '', answer4: '',\n },\n render: (props) => <FAQRender {...props} />,\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface FooterBlockProps {\n column1: string;\n column2: string;\n column3: string;\n copyright: string;\n}\n\nexport const FooterBlock: ComponentConfig<FooterBlockProps> = {\n label: 'Footer Block',\n fields: {\n column1: { type: 'textarea', label: 'Column 1 (HTML)' },\n column2: { type: 'textarea', label: 'Column 2 (HTML)' },\n column3: { type: 'textarea', label: 'Column 3 (HTML)' },\n copyright: { type: 'text', label: 'Copyright Text' },\n },\n defaultProps: { column1: '', column2: '', column3: '', copyright: '' },\n render: ({ column1, column2, column3, copyright }) => {\n const columns = [column1, column2, column3].filter(Boolean);\n return (\n <footer style={{ background: '#333', color: '#eee', padding: '2rem 1rem', marginTop: '3rem' }}>\n {columns.length > 0 && (\n <div\n style={{\n display: 'grid',\n gridTemplateColumns: `repeat(${columns.length}, 1fr)`,\n gap: '2rem',\n maxWidth: '1200px',\n margin: '0 auto 2rem',\n }}\n >\n {columns.map((html, i) => (\n <div\n key={i}\n dangerouslySetInnerHTML={{ __html: html }}\n style={{ fontSize: '0.9rem', lineHeight: 1.6 }}\n />\n ))}\n </div>\n )}\n {copyright && (\n <p style={{ textAlign: 'center', fontSize: '0.85rem', color: '#999', margin: 0 }}>\n {copyright}\n </p>\n )}\n </footer>\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../../fields/ImagePickerField';\n\nexport interface ImageBlockProps {\n image: string;\n caption: string;\n link: string;\n}\n\nexport const ImageBlock: ComponentConfig<ImageBlockProps> = {\n label: 'Image Block',\n fields: {\n image: {\n type: 'custom', label: 'Image',\n render: ({ value, onChange }) => <ImagePickerField value={value ?? ''} onChange={onChange} />,\n },\n caption: { type: 'text', label: 'Caption' },\n link: { type: 'text', label: 'Link URL' },\n },\n defaultProps: { image: '', caption: '', link: '' },\n render: ({ image, caption, link }) => {\n if (!image) return (\n <div style={{ padding: '2rem', textAlign: 'center', color: '#999', background: '#f5f5f5', borderRadius: '4px' }}>\n No image selected\n </div>\n );\n const img = (\n <img\n src={image}\n alt={caption || 'Image'}\n style={{ maxWidth: '100%', height: 'auto', borderRadius: '4px' }}\n />\n );\n return (\n <figure style={{ margin: '1rem 0', textAlign: 'center' }}>\n {link ? <a href={link} style={{ display: 'inline-block' }}>{img}</a> : img}\n {caption && (\n <figcaption style={{ marginTop: '0.5rem', fontSize: '0.9rem', color: '#666' }}>\n {caption}\n </figcaption>\n )}\n </figure>\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface NewsletterSignupProps {\n title: string;\n subtitle: string;\n ctaText: string;\n placeholder: string;\n}\n\nexport const NewsletterSignup: ComponentConfig<NewsletterSignupProps> = {\n label: 'Newsletter Signup',\n fields: {\n title: { type: 'text', label: 'Title' },\n subtitle: { type: 'text', label: 'Subtitle' },\n ctaText: { type: 'text', label: 'Button Text' },\n placeholder: { type: 'text', label: 'Input Placeholder' },\n },\n defaultProps: { title: '', subtitle: '', ctaText: 'Subscribe', placeholder: 'Enter your email' },\n render: ({ title, subtitle, ctaText, placeholder }) => (\n <div\n style={{\n textAlign: 'center',\n padding: '2rem 1rem',\n background: '#f5f5f5',\n borderRadius: '8px',\n maxWidth: '480px',\n margin: '0 auto',\n }}\n >\n {title && <h3 style={{ fontSize: '1.5rem', marginBottom: '0.5rem', color: '#333' }}>{title}</h3>}\n {subtitle && <p style={{ fontSize: '0.95rem', color: '#666', marginBottom: '1.5rem' }}>{subtitle}</p>}\n <form\n onSubmit={(e) => e.preventDefault()}\n style={{ display: 'flex', gap: '0.5rem', flexWrap: 'wrap', justifyContent: 'center' }}\n >\n <input\n type=\"email\"\n placeholder={placeholder}\n aria-label=\"Email\"\n style={{\n padding: '0.75rem 1rem',\n border: '1px solid #ddd',\n borderRadius: '4px',\n fontSize: '1rem',\n minWidth: '200px',\n }}\n />\n <button\n type=\"submit\"\n style={{\n padding: '0.75rem 1.5rem',\n background: '#2c5530',\n color: 'white',\n border: 'none',\n borderRadius: '4px',\n fontWeight: 600,\n cursor: 'pointer',\n }}\n >\n {ctaText || 'Subscribe'}\n </button>\n </form>\n </div>\n ),\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { useDatasource } from '@commercetools-demo/puck-api';\nimport { DatasourceField, type DatasourceValue } from '../../fields/DatasourceField';\nimport { formatPrice, getFirstPrice, getLocalizedText } from './shared';\n\nexport interface ProductBannerProps {\n title: string;\n description: string;\n ctaText: string;\n ctaLink: string;\n product: DatasourceValue;\n productOnLeft: boolean;\n background: string;\n}\n\nconst ProductBannerRender: React.FC<ProductBannerProps> = ({\n title, description, ctaText, ctaLink, product, productOnLeft, background,\n}) => {\n const hasPreResolved = product?.resolvedData != null;\n const { data: fetchedData, loading } = useDatasource(\n hasPreResolved ? undefined : product?.type,\n hasPreResolved ? [] : (product?.skus ?? [])\n );\n const raw = hasPreResolved ? product.resolvedData : fetchedData;\n const p = raw as any;\n\n const name = getLocalizedText(p?.name);\n const description2 = getLocalizedText(p?.description);\n const imageUrl = p?.masterVariant?.images?.[0]?.url;\n const sku = p?.masterVariant?.sku;\n const priceVal = getFirstPrice(p);\n\n return (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n minHeight: '400px',\n backgroundColor: background || '#f5f5f5',\n padding: '2rem',\n borderRadius: '2px',\n margin: '1rem 0',\n gap: '2rem',\n flexDirection: productOnLeft ? 'row-reverse' : 'row',\n flexWrap: 'wrap',\n }}\n >\n {/* Content side */}\n <div style={{ flex: 1, minWidth: '200px' }}>\n {title && <h2 style={{ fontSize: '2rem', fontWeight: 'bold', marginBottom: '1rem', color: '#333' }}>{title}</h2>}\n {description && (\n <div\n dangerouslySetInnerHTML={{ __html: description }}\n style={{ marginBottom: '2rem', color: '#555', lineHeight: 1.6 }}\n />\n )}\n {ctaText && ctaLink && (\n <a\n href={ctaLink}\n style={{\n display: 'inline-block',\n backgroundColor: '#2c5530',\n color: 'white',\n padding: '0.75rem 2rem',\n borderRadius: '2px',\n textDecoration: 'none',\n fontWeight: 600,\n }}\n >\n {ctaText}\n </a>\n )}\n </div>\n\n {/* Product side */}\n <div style={{ flex: 1, minWidth: '200px', display: 'flex', flexDirection: 'column', alignItems: 'center' }}>\n {loading && <div style={{ color: '#999', padding: '2rem' }}>Loading product…</div>}\n {name && <h3 style={{ fontSize: '1.5rem', fontWeight: 600, marginBottom: '0.5rem', textAlign: 'center' }}>{name}</h3>}\n {description2 && <p style={{ fontSize: '0.9rem', color: '#666', textAlign: 'center', marginBottom: '1rem', fontStyle: 'italic' }}>{description2}</p>}\n {imageUrl && (\n <img\n src={imageUrl}\n alt={name || 'Product'}\n style={{ maxWidth: '100%', maxHeight: '300px', objectFit: 'cover', borderRadius: '2px', marginBottom: '1rem', boxShadow: '0 4px 12px rgba(0,0,0,0.1)' }}\n />\n )}\n {priceVal && (\n <span\n style={{\n fontSize: '1.25rem',\n fontWeight: 'bold',\n color: '#2c5530',\n background: 'rgba(255,255,255,0.8)',\n padding: '0.5rem 1rem',\n borderRadius: '2px',\n marginBottom: '0.5rem',\n }}\n >\n {formatPrice(priceVal.centAmount, priceVal.currencyCode, priceVal.fractionDigits)}\n </span>\n )}\n {sku && (\n <span style={{ fontSize: '0.85rem', color: '#666', background: 'rgba(255,255,255,0.6)', padding: '0.25rem 0.75rem', borderRadius: '2px' }}>\n SKU: {sku}\n </span>\n )}\n {!loading && !p && (\n <div style={{ color: '#999', fontSize: '13px', padding: '2rem', textAlign: 'center' }}>No product selected</div>\n )}\n </div>\n </div>\n );\n};\n\nexport const ProductBanner: ComponentConfig<ProductBannerProps> = {\n label: 'Product Banner',\n fields: {\n title: { type: 'text', label: 'Title' },\n description: { type: 'textarea', label: 'Description (HTML)' },\n ctaText: { type: 'text', label: 'CTA Text' },\n ctaLink: { type: 'text', label: 'CTA Link' },\n product: {\n type: 'custom', label: 'Product',\n render: ({ value, onChange }) => <DatasourceField value={value} onChange={onChange} />,\n },\n productOnLeft: {\n type: 'radio', label: 'Product Position',\n options: [\n { value: false, label: 'Product on Right' },\n { value: true, label: 'Product on Left' },\n ],\n },\n background: { type: 'text', label: 'Background Color' },\n },\n defaultProps: {\n title: '',\n description: '',\n ctaText: '',\n ctaLink: '',\n product: { type: 'product-by-sku', skus: [''] },\n productOnLeft: false,\n background: '#f5f5f5',\n },\n render: (props) => <ProductBannerRender {...props} />,\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface ProductGridHeaderProps {\n title: string;\n description: string;\n}\n\nexport const ProductGridHeader: ComponentConfig<ProductGridHeaderProps> = {\n label: 'Product Grid Header',\n fields: {\n title: { type: 'text', label: 'Title' },\n description: { type: 'textarea', label: 'Description (HTML)' },\n },\n defaultProps: { title: '', description: '' },\n render: ({ title, description }) => (\n <div style={{ marginBottom: '2rem', padding: '0 1rem' }}>\n {title && (\n <h1 style={{ fontSize: '2rem', fontWeight: 'bold', color: '#333', marginBottom: '0.75rem' }}>\n {title}\n </h1>\n )}\n {description && (\n <div\n dangerouslySetInnerHTML={{ __html: description }}\n style={{ fontSize: '1rem', color: '#666', lineHeight: 1.5, maxWidth: '720px' }}\n />\n )}\n </div>\n ),\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { useDatasource } from '@commercetools-demo/puck-api';\nimport { DatasourceField, type DatasourceValue } from '../../fields/DatasourceField';\nimport { formatPrice, getFirstPrice, getLocalizedText, getProductImage, getProductSlug } from './shared';\n\nexport interface ProductSliderProps {\n title: string;\n subtitle: string;\n products: DatasourceValue;\n}\n\nconst ProductSliderRender: React.FC<ProductSliderProps> = ({ title, subtitle, products }) => {\n const hasPreResolved = products?.resolvedData != null;\n const { data: fetchedData, loading } = useDatasource(\n hasPreResolved ? undefined : products?.type,\n hasPreResolved ? [] : (products?.skus ?? [])\n );\n const items: unknown[] = hasPreResolved\n ? (Array.isArray(products.resolvedData) ? products.resolvedData : [])\n : (Array.isArray(fetchedData) ? fetchedData : []);\n\n return (\n <div style={{ padding: '2rem 0' }}>\n {(title || subtitle) && (\n <div style={{ textAlign: 'center', marginBottom: '1.5rem' }}>\n {title && <h2 style={{ fontSize: '2rem', fontWeight: 'bold', color: '#333', marginBottom: '0.5rem' }}>{title}</h2>}\n {subtitle && <p style={{ fontSize: '1.1rem', color: '#666', margin: 0 }}>{subtitle}</p>}\n </div>\n )}\n {loading && <div style={{ textAlign: 'center', color: '#999', padding: '2rem' }}>Loading products…</div>}\n {!loading && items.length === 0 && (\n <div style={{ textAlign: 'center', color: '#999', padding: '2rem', fontSize: '13px' }}>No products configured</div>\n )}\n {items.length > 0 && (\n <div\n style={{\n display: 'flex',\n gap: '1rem',\n overflowX: 'auto',\n scrollSnapType: 'x mandatory',\n paddingBottom: '1rem',\n }}\n >\n {items.map((product, i) => {\n const name = getLocalizedText((product as any)?.name);\n const desc = getLocalizedText((product as any)?.description);\n const imageUrl = getProductImage(product);\n const priceVal = getFirstPrice(product);\n const slug = getProductSlug(product);\n return (\n <a\n key={(product as any)?.id ?? i}\n href={slug}\n style={{\n flex: '0 0 280px',\n background: 'white',\n borderRadius: '12px',\n boxShadow: '0 4px 12px rgba(0,0,0,0.1)',\n overflow: 'hidden',\n textDecoration: 'none',\n color: 'inherit',\n scrollSnapAlign: 'start',\n }}\n >\n <div style={{ width: '100%', height: '200px', background: '#f5f5f5', display: 'flex', alignItems: 'center', justifyContent: 'center', overflow: 'hidden' }}>\n {imageUrl\n ? <img src={imageUrl} alt={name} style={{ width: '100%', height: '100%', objectFit: 'contain' }} />\n : <span style={{ color: '#999', fontSize: '0.85rem' }}>No image</span>\n }\n </div>\n <div style={{ padding: '1.5rem' }}>\n <h3 style={{ fontSize: '1.1rem', fontWeight: 600, color: '#333', marginBottom: '0.5rem', lineHeight: 1.3 }}>{name}</h3>\n {desc && (\n <p style={{ fontSize: '0.9rem', color: '#666', marginBottom: '1rem', display: '-webkit-box', WebkitLineClamp: 2, WebkitBoxOrient: 'vertical', overflow: 'hidden' }}>\n {desc}\n </p>\n )}\n {priceVal && (\n <div style={{ fontSize: '1.2rem', fontWeight: 'bold', color: '#2c5530' }}>\n {formatPrice(priceVal.centAmount, priceVal.currencyCode, priceVal.fractionDigits)}\n </div>\n )}\n </div>\n </a>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport const ProductSlider: ComponentConfig<ProductSliderProps> = {\n label: 'Product Slider',\n fields: {\n title: { type: 'text', label: 'Title' },\n subtitle: { type: 'text', label: 'Subtitle' },\n products: {\n type: 'custom', label: 'Products',\n render: ({ value, onChange }) => <DatasourceField value={value} onChange={onChange} />,\n },\n },\n defaultProps: {\n title: '',\n subtitle: '',\n products: { type: 'products-by-sku', skus: [''] },\n },\n render: (props) => <ProductSliderRender {...props} />,\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../../fields/ImagePickerField';\n\nexport interface PromotionalBannerProps {\n image: string;\n title: string;\n subtitle: string;\n ctaText: string;\n ctaLink: string;\n background: string;\n}\n\nexport const PromotionalBanner: ComponentConfig<PromotionalBannerProps> = {\n label: 'Promotional Banner',\n fields: {\n image: {\n type: 'custom', label: 'Image',\n render: ({ value, onChange }) => <ImagePickerField value={value ?? ''} onChange={onChange} />,\n },\n title: { type: 'text', label: 'Title' },\n subtitle: { type: 'text', label: 'Subtitle' },\n ctaText: { type: 'text', label: 'CTA Text' },\n ctaLink: { type: 'text', label: 'CTA Link' },\n background: { type: 'text', label: 'Background Color' },\n },\n defaultProps: { image: '', title: '', subtitle: '', ctaText: '', ctaLink: '', background: '#f5f5f5' },\n render: ({ image, title, subtitle, ctaText, ctaLink, background }) => (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n minHeight: '280px',\n backgroundColor: background || '#f5f5f5',\n padding: '2rem',\n borderRadius: '2px',\n margin: '1rem 0',\n gap: '2rem',\n flexWrap: 'wrap',\n }}\n >\n {image && (\n <div style={{ flex: '0 0 auto', maxWidth: '40%' }}>\n <img src={image} alt={title || 'Promo'} style={{ maxWidth: '100%', height: 'auto', borderRadius: '2px' }} />\n </div>\n )}\n <div style={{ flex: 1, minWidth: '200px' }}>\n {title && <h2 style={{ fontSize: '1.75rem', fontWeight: 'bold', marginBottom: '0.5rem', color: '#333' }}>{title}</h2>}\n {subtitle && <p style={{ fontSize: '1rem', color: '#666', marginBottom: '1rem' }}>{subtitle}</p>}\n {ctaText && ctaLink && (\n <a\n href={ctaLink}\n style={{\n display: 'inline-block',\n backgroundColor: '#2c5530',\n color: 'white',\n padding: '0.75rem 2rem',\n borderRadius: '2px',\n textDecoration: 'none',\n fontWeight: 600,\n }}\n >\n {ctaText}\n </a>\n )}\n </div>\n </div>\n ),\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { useDatasource } from '@commercetools-demo/puck-api';\nimport { DatasourceField, type DatasourceValue } from '../../fields/DatasourceField';\nimport { formatPrice, getFirstPrice, getLocalizedText, getProductImage, getProductSlug } from './shared';\n\nexport interface RelatedProductsSliderProps {\n title: string;\n subtitle: string;\n products: DatasourceValue;\n}\n\nconst RelatedProductsRender: React.FC<RelatedProductsSliderProps> = ({ title, subtitle, products }) => {\n const hasPreResolved = products?.resolvedData != null;\n const { data: fetchedData, loading } = useDatasource(\n hasPreResolved ? undefined : products?.type,\n hasPreResolved ? [] : (products?.skus ?? [])\n );\n const items: unknown[] = hasPreResolved\n ? (Array.isArray(products.resolvedData) ? products.resolvedData : [])\n : (Array.isArray(fetchedData) ? fetchedData : []);\n\n if (!loading && items.length === 0) return null;\n\n return (\n <div style={{ padding: '2rem 0' }}>\n {(title || subtitle) && (\n <div style={{ textAlign: 'center', marginBottom: '1.5rem' }}>\n {title && <h2 style={{ fontSize: '2rem', fontWeight: 'bold', color: '#333', marginBottom: '0.5rem' }}>{title}</h2>}\n {subtitle && <p style={{ fontSize: '1.1rem', color: '#666', margin: 0 }}>{subtitle}</p>}\n </div>\n )}\n {loading && <div style={{ textAlign: 'center', color: '#999', padding: '2rem' }}>Loading…</div>}\n {items.length > 0 && (\n <div\n style={{\n display: 'flex',\n gap: '1rem',\n overflowX: 'auto',\n scrollSnapType: 'x mandatory',\n paddingBottom: '1rem',\n }}\n >\n {items.map((product, i) => {\n const name = getLocalizedText((product as any)?.name);\n const imageUrl = getProductImage(product);\n const priceVal = getFirstPrice(product);\n const slug = getProductSlug(product);\n return (\n <a\n key={(product as any)?.id ?? i}\n href={slug}\n style={{\n flex: '0 0 280px',\n background: 'white',\n borderRadius: '12px',\n boxShadow: '0 4px 12px rgba(0,0,0,0.1)',\n overflow: 'hidden',\n textDecoration: 'none',\n color: 'inherit',\n scrollSnapAlign: 'start',\n }}\n >\n <div style={{ width: '100%', height: '200px', background: '#f5f5f5', display: 'flex', alignItems: 'center', justifyContent: 'center', overflow: 'hidden' }}>\n {imageUrl\n ? <img src={imageUrl} alt={name} style={{ width: '100%', height: '100%', objectFit: 'contain' }} />\n : <span style={{ color: '#999', fontSize: '0.85rem' }}>No image</span>\n }\n </div>\n <div style={{ padding: '1.5rem' }}>\n <h3 style={{ fontSize: '1.1rem', fontWeight: 600, color: '#333', marginBottom: '0.5rem' }}>{name}</h3>\n {priceVal && (\n <div style={{ fontSize: '1.2rem', fontWeight: 'bold', color: '#2c5530' }}>\n {formatPrice(priceVal.centAmount, priceVal.currencyCode, priceVal.fractionDigits)}\n </div>\n )}\n </div>\n </a>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport const RelatedProductsSlider: ComponentConfig<RelatedProductsSliderProps> = {\n label: 'Related Products',\n fields: {\n title: { type: 'text', label: 'Title' },\n subtitle: { type: 'text', label: 'Subtitle' },\n products: {\n type: 'custom', label: 'Products',\n render: ({ value, onChange }) => <DatasourceField value={value} onChange={onChange} />,\n },\n },\n defaultProps: {\n title: 'Related Products',\n subtitle: '',\n products: { type: 'products-by-sku', skus: [''] },\n },\n render: (props) => <RelatedProductsRender {...props} />,\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface SocialLinksProps {\n link1Label: string; link1Url: string;\n link2Label: string; link2Url: string;\n link3Label: string; link3Url: string;\n link4Label: string; link4Url: string;\n}\n\nexport const SocialLinks: ComponentConfig<SocialLinksProps> = {\n label: 'Social Links',\n fields: {\n link1Label: { type: 'text', label: 'Link 1 Label' },\n link1Url: { type: 'text', label: 'Link 1 URL' },\n link2Label: { type: 'text', label: 'Link 2 Label' },\n link2Url: { type: 'text', label: 'Link 2 URL' },\n link3Label: { type: 'text', label: 'Link 3 Label' },\n link3Url: { type: 'text', label: 'Link 3 URL' },\n link4Label: { type: 'text', label: 'Link 4 Label' },\n link4Url: { type: 'text', label: 'Link 4 URL' },\n },\n defaultProps: {\n link1Label: '', link1Url: '',\n link2Label: '', link2Url: '',\n link3Label: '', link3Url: '',\n link4Label: '', link4Url: '',\n },\n render: (props) => {\n const links = [\n [props.link1Label, props.link1Url],\n [props.link2Label, props.link2Url],\n [props.link3Label, props.link3Url],\n [props.link4Label, props.link4Url],\n ].filter(([label, url]) => label && url) as [string, string][];\n if (links.length === 0) return <></>;\n return (\n <div style={{ display: 'flex', flexWrap: 'wrap', gap: '1rem', padding: '0.5rem 0' }}>\n {links.map(([label, url], i) => (\n <a\n key={i}\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{ color: '#2c5530', textDecoration: 'none', fontWeight: 500, fontSize: '0.95rem' }}\n >\n {label}\n </a>\n ))}\n </div>\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface TabContentProps {\n tabLabel: string;\n content: string;\n}\n\nexport const TabContent: ComponentConfig<TabContentProps> = {\n label: 'Tab Content',\n fields: {\n tabLabel: { type: 'text', label: 'Tab Label' },\n content: { type: 'textarea', label: 'Content (HTML)' },\n },\n defaultProps: { tabLabel: '', content: '' },\n render: ({ tabLabel, content }) => {\n if (!content) return <></>;\n return (\n <div style={{ padding: '1.5rem 0', lineHeight: 1.6, color: '#333' }}>\n {tabLabel && <h3 style={{ marginBottom: '1rem' }}>{tabLabel}</h3>}\n <div dangerouslySetInnerHTML={{ __html: content }} />\n </div>\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface TestimonialsSliderProps {\n quote1: string; author1: string; role1: string;\n quote2: string; author2: string; role2: string;\n quote3: string; author3: string; role3: string;\n}\n\nexport const TestimonialsSlider: ComponentConfig<TestimonialsSliderProps> = {\n label: 'Testimonials',\n fields: {\n quote1: { type: 'textarea', label: 'Quote 1' },\n author1: { type: 'text', label: 'Author 1' },\n role1: { type: 'text', label: 'Role 1' },\n quote2: { type: 'textarea', label: 'Quote 2' },\n author2: { type: 'text', label: 'Author 2' },\n role2: { type: 'text', label: 'Role 2' },\n quote3: { type: 'textarea', label: 'Quote 3' },\n author3: { type: 'text', label: 'Author 3' },\n role3: { type: 'text', label: 'Role 3' },\n },\n defaultProps: {\n quote1: '', author1: '', role1: '',\n quote2: '', author2: '', role2: '',\n quote3: '', author3: '', role3: '',\n },\n render: (props) => {\n const items = [\n [props.quote1, props.author1, props.role1],\n [props.quote2, props.author2, props.role2],\n [props.quote3, props.author3, props.role3],\n ].filter(([q]) => q) as [string, string, string][];\n if (items.length === 0) return <></>;\n return (\n <div style={{ padding: '2rem 1rem', background: '#f9f9f9', borderRadius: '8px', margin: '1rem 0' }}>\n {items.map(([quote, author, role], i) => (\n <div key={i} style={{ marginBottom: i < items.length - 1 ? '2rem' : 0 }}>\n <blockquote\n style={{\n fontSize: '1.15rem',\n fontStyle: 'italic',\n color: '#444',\n margin: '0 0 0.75rem 0',\n paddingLeft: '1rem',\n borderLeft: '4px solid #2c5530',\n }}\n >\n {quote}\n </blockquote>\n {author && (\n <cite style={{ fontStyle: 'normal', fontSize: '0.95rem', fontWeight: 600, color: '#333' }}>\n — {author}\n {role && <span style={{ fontWeight: 'normal', color: '#666' }}> ({role})</span>}\n </cite>\n )}\n </div>\n ))}\n </div>\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\n\nexport interface ThankYouContentProps {\n headline: string;\n message: string;\n ctaText: string;\n ctaLink: string;\n}\n\nexport const ThankYouContent: ComponentConfig<ThankYouContentProps> = {\n label: 'Thank You Content',\n fields: {\n headline: { type: 'text', label: 'Headline' },\n message: { type: 'textarea', label: 'Message (HTML)' },\n ctaText: { type: 'text', label: 'CTA Text' },\n ctaLink: { type: 'text', label: 'CTA Link' },\n },\n defaultProps: { headline: 'Thank you for your order!', message: '', ctaText: '', ctaLink: '' },\n render: ({ headline, message, ctaText, ctaLink }) => (\n <div style={{ textAlign: 'center', padding: '3rem 1rem', maxWidth: '560px', margin: '0 auto' }}>\n {headline && (\n <h1 style={{ fontSize: '2rem', color: '#2c5530', marginBottom: '1rem' }}>{headline}</h1>\n )}\n {message && (\n <div\n dangerouslySetInnerHTML={{ __html: message }}\n style={{ fontSize: '1rem', lineHeight: 1.6, color: '#555', marginBottom: '2rem' }}\n />\n )}\n {ctaText && ctaLink && (\n <a\n href={ctaLink}\n style={{\n display: 'inline-block',\n background: '#2c5530',\n color: 'white',\n padding: '0.75rem 2rem',\n borderRadius: '4px',\n textDecoration: 'none',\n fontWeight: 600,\n }}\n >\n {ctaText}\n </a>\n )}\n </div>\n ),\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../../fields/ImagePickerField';\n\nexport interface TrustBadgesProps {\n badge1Icon: string; badge1Label: string;\n badge2Icon: string; badge2Label: string;\n badge3Icon: string; badge3Label: string;\n badge4Icon: string; badge4Label: string;\n}\n\nconst iconField = (label: string) => ({\n type: 'custom' as const,\n label,\n render: ({ value, onChange }: { value: string; onChange: (v: string) => void }) => (\n <ImagePickerField value={value ?? ''} onChange={onChange} />\n ),\n});\n\nexport const TrustBadges: ComponentConfig<TrustBadgesProps> = {\n label: 'Trust Badges',\n fields: {\n badge1Icon: iconField('Badge 1 Icon'),\n badge1Label: { type: 'text', label: 'Badge 1 Label' },\n badge2Icon: iconField('Badge 2 Icon'),\n badge2Label: { type: 'text', label: 'Badge 2 Label' },\n badge3Icon: iconField('Badge 3 Icon'),\n badge3Label: { type: 'text', label: 'Badge 3 Label' },\n badge4Icon: iconField('Badge 4 Icon'),\n badge4Label: { type: 'text', label: 'Badge 4 Label' },\n },\n defaultProps: {\n badge1Icon: '', badge1Label: '',\n badge2Icon: '', badge2Label: '',\n badge3Icon: '', badge3Label: '',\n badge4Icon: '', badge4Label: '',\n },\n render: (props) => {\n const badges = [\n [props.badge1Icon, props.badge1Label],\n [props.badge2Icon, props.badge2Label],\n [props.badge3Icon, props.badge3Label],\n [props.badge4Icon, props.badge4Label],\n ].filter(([, label]) => label) as [string, string][];\n if (badges.length === 0) return <></>;\n return (\n <div\n style={{\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'center',\n gap: '2rem',\n padding: '2rem 1rem',\n background: '#f9f9f9',\n borderRadius: '4px',\n }}\n >\n {badges.map(([icon, label], i) => (\n <div key={i} style={{ display: 'flex', alignItems: 'center', gap: '0.75rem' }}>\n {icon && (\n <img\n src={icon}\n alt={label}\n style={{ width: '40px', height: '40px', objectFit: 'contain' }}\n />\n )}\n <span style={{ fontSize: '0.95rem', fontWeight: 500, color: '#333' }}>{label}</span>\n </div>\n ))}\n </div>\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../../fields/ImagePickerField';\n\nexport interface VideoBlockProps {\n videoUrl: string;\n posterImage: string;\n title: string;\n caption: string;\n}\n\nexport const VideoBlock: ComponentConfig<VideoBlockProps> = {\n label: 'Video Block',\n fields: {\n videoUrl: { type: 'text', label: 'Video URL' },\n posterImage: {\n type: 'custom', label: 'Poster Image',\n render: ({ value, onChange }) => <ImagePickerField value={value ?? ''} onChange={onChange} />,\n },\n title: { type: 'text', label: 'Title' },\n caption: { type: 'text', label: 'Caption' },\n },\n defaultProps: { videoUrl: '', posterImage: '', title: '', caption: '' },\n render: ({ videoUrl, posterImage, title, caption }) => {\n if (!videoUrl) return (\n <div style={{ padding: '2rem', textAlign: 'center', color: '#999', background: '#f5f5f5', borderRadius: '8px' }}>\n No video URL configured\n </div>\n );\n return (\n <div style={{ margin: '1.5rem 0' }}>\n <div\n style={{\n position: 'relative',\n paddingBottom: '56.25%',\n height: 0,\n overflow: 'hidden',\n background: '#000',\n borderRadius: '8px',\n }}\n >\n <video\n src={videoUrl}\n poster={posterImage || undefined}\n controls\n preload=\"metadata\"\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n objectFit: 'contain',\n }}\n />\n </div>\n {title && <h4 style={{ marginTop: '0.75rem', fontSize: '1.1rem', color: '#333' }}>{title}</h4>}\n {caption && <p style={{ fontSize: '0.9rem', color: '#666', marginTop: '0.25rem' }}>{caption}</p>}\n </div>\n );\n },\n};\n","import React from 'react';\nimport { type ComponentConfig } from '@measured/puck';\nimport { ImagePickerField } from '../../fields/ImagePickerField';\n\nexport interface WebsiteLogoProps {\n logo: string;\n maxWidth: string;\n maxHeight: string;\n}\n\nexport const WebsiteLogo: ComponentConfig<WebsiteLogoProps> = {\n label: 'Website Logo',\n fields: {\n logo: {\n type: 'custom', label: 'Logo',\n render: ({ value, onChange }) => <ImagePickerField value={value ?? ''} onChange={onChange} />,\n },\n maxWidth: { type: 'text', label: 'Max Width (px)' },\n maxHeight: { type: 'text', label: 'Max Height (px)' },\n },\n defaultProps: { logo: '', maxWidth: '180', maxHeight: '50' },\n render: ({ logo, maxWidth, maxHeight }) => {\n if (!logo) return (\n <div style={{ width: `${parseInt(maxWidth, 10) || 180}px`, height: `${parseInt(maxHeight, 10) || 50}px`, background: '#f0f0f0', borderRadius: '4px' }} />\n );\n return (\n <div\n style={{\n maxWidth: `${parseInt(maxWidth, 10) || 180}px`,\n maxHeight: `${parseInt(maxHeight, 10) || 50}px`,\n }}\n >\n <img\n src={logo}\n alt=\"Logo\"\n style={{ width: '100%', height: '100%', objectFit: 'contain' }}\n />\n </div>\n );\n },\n};\n","import React from 'react';\nimport type { PuckStateInfo } from '@commercetools-demo/puck-types';\nimport { VersionHistoryButton } from '@commercetools-demo/puck-version-history';\nimport Stamp from '@commercetools-uikit/stamp';\nimport PrimaryButton from '@commercetools-uikit/primary-button';\nimport SecondaryButton from '@commercetools-uikit/secondary-button';\nimport FlatButton from '@commercetools-uikit/flat-button';\nimport Spacings from '@commercetools-uikit/spacings';\n\nexport interface EditorToolbarProps {\n saving: boolean;\n isDirty: boolean;\n states: PuckStateInfo;\n onSave: () => void;\n onPublish: () => void;\n onRevert: () => void;\n showPublishButton: boolean;\n}\n\nexport const EditorToolbar: React.FC<EditorToolbarProps> = ({\n saving,\n isDirty,\n states,\n onSave,\n onPublish,\n onRevert,\n showPublishButton,\n}) => {\n const hasDraft = Boolean(states.draft);\n const hasPublished = Boolean(states.published);\n\n return (\n <Spacings.Inline scale=\"s\" alignItems=\"center\">\n {/* Status stamps */}\n <Spacings.Inline scale=\"xs\" alignItems=\"center\">\n {saving && <Stamp tone=\"warning\" label=\"Saving…\" isCondensed />}\n {!saving && isDirty && <Stamp tone=\"secondary\" label=\"Unsaved\" isCondensed />}\n {!saving && !isDirty && hasDraft && <Stamp tone=\"information\" label=\"Draft\" isCondensed />}\n {hasPublished && <Stamp tone=\"positive\" label=\"Published\" isCondensed />}\n </Spacings.Inline>\n\n {/* Revert button — only when there's a draft and an existing published version */}\n {hasDraft && hasPublished && (\n <FlatButton\n label=\"Revert to Published\"\n onClick={onRevert}\n isDisabled={saving}\n />\n )}\n\n {/* Save draft button */}\n <SecondaryButton\n label=\"Save\"\n onClick={onSave}\n isDisabled={!isDirty || saving}\n />\n\n {/* Publish button */}\n {showPublishButton && (\n <PrimaryButton\n label={hasPublished ? 'Re-publish' : 'Publish'}\n onClick={onPublish}\n isDisabled={saving}\n />\n )}\n\n {/* Version history toggle — self-contained, reads context */}\n <VersionHistoryButton disabled={saving} />\n </Spacings.Inline>\n );\n};\n","import React, { createContext, useContext, useState, type ReactNode } from 'react';\nimport TextInput from '@commercetools-uikit/text-input';\nimport {\n useVersionHistoryContext,\n VersionHistorySidebarContent,\n} from '@commercetools-demo/puck-version-history';\n\n// ---------------------------------------------------------------------------\n// Component search context\n// ---------------------------------------------------------------------------\n\ninterface ComponentSearchContextValue {\n search: string;\n setSearch: (value: string) => void;\n}\n\nexport const ComponentSearchContext = createContext<ComponentSearchContextValue>({\n search: '',\n setSearch: () => {},\n});\n\nexport const ComponentSearchProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const [search, setSearch] = useState('');\n return (\n <ComponentSearchContext.Provider value={{ search, setSearch }}>\n {children}\n </ComponentSearchContext.Provider>\n );\n};\n\n// ---------------------------------------------------------------------------\n// Tab button — matches Puck's own Inspector/Outline tab style\n// ---------------------------------------------------------------------------\n\nconst SidebarTab: React.FC<{\n label: string;\n isActive: boolean;\n onClick: () => void;\n}> = ({ label, isActive, onClick }) => (\n <button\n onClick={onClick}\n style={{\n flex: 1,\n padding: '8px 12px',\n border: 'none',\n borderBottom: isActive\n ? '2px solid var(--puck-color-azure-07, #1a73e8)'\n : '2px solid transparent',\n background: 'none',\n cursor: 'pointer',\n fontSize: '0.775rem',\n fontWeight: isActive ? 700 : 500,\n color: isActive\n ? 'var(--puck-color-azure-07, #1a73e8)'\n : 'var(--puck-color-grey-07, #374151)',\n transition: 'color 0.12s, border-color 0.12s',\n }}\n >\n {label}\n </button>\n);\n\n// ---------------------------------------------------------------------------\n// ComponentsPanel override — tabs: \"Components\" | \"History\"\n//\n// CSS trick: Puck's Drawer renders each item as a direct `div` child of the\n// `[data-puck-dnd]` container (flex, gap:12px). When an item is hidden we\n// inject a `data-hidden-component` span; the `:has()` rule sets that wrapper\n// to `display:none` so it's removed from the flex flow entirely.\n// ---------------------------------------------------------------------------\n\nexport const ComponentsPanel: React.FC<{ children: ReactNode }> = ({ children }) => {\n const { search, setSearch } = useContext(ComponentSearchContext);\n const { isHistoryTabActive, openHistoryTab, closeHistoryTab } = useVersionHistoryContext();\n\n return (\n <div style={{ display: 'flex', flexDirection: 'column', height: '100%' }}>\n {/* Remove hidden DrawerItem wrappers from the flex layout */}\n <style>{`[data-puck-dnd] > div:has([data-hidden-component]) { display: none !important; }`}</style>\n\n {/* Tab bar */}\n <div\n style={{\n display: 'flex',\n borderBottom: '1px solid var(--puck-color-grey-04, #e5e7eb)',\n flexShrink: 0,\n }}\n >\n <SidebarTab\n label=\"Components\"\n isActive={!isHistoryTabActive}\n onClick={closeHistoryTab}\n />\n <SidebarTab\n label=\"History\"\n isActive={isHistoryTabActive}\n onClick={openHistoryTab}\n />\n </div>\n\n {isHistoryTabActive ? (\n /* History tab content */\n <div style={{ flex: 1, padding: '12px', overflowY: 'auto' }}>\n <VersionHistorySidebarContent />\n </div>\n ) : (\n /* Components tab content */\n <>\n {/* Sticky search bar */}\n <div\n style={{\n flexShrink: 0,\n padding: '0',\n margin: '12px 0',\n background: 'var(--puck-color-white, #fff)',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n <TextInput\n placeholder=\"Search components…\"\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n />\n </div>\n\n {/* Scrollable component list */}\n <div style={{ flex: 1, overflowY: 'auto' }}>{children}</div>\n </>\n )}\n </div>\n );\n};\n\n// ---------------------------------------------------------------------------\n// ComponentItemFilter — hides non-matching items when searching\n// ---------------------------------------------------------------------------\n\nexport const ComponentItemFilter: React.FC<{ children: ReactNode; name: string }> = ({\n children,\n name,\n}) => {\n const { search } = useContext(ComponentSearchContext);\n const isHidden = search.trim() !== '' && !name.toLowerCase().includes(search.toLowerCase());\n\n if (isHidden) {\n return <span data-hidden-component />;\n }\n return <>{children}</>;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AACA,QAAI,QAAQ,SAAU,IAAI;AACxB,aAAO,MAAM,GAAG,SAAS,QAAQ;AAAA,IACnC;AAGA,WAAO;AAAA,IAEL,MAAM,OAAO,cAAc,YAAY,UAAU,KACjD,MAAM,OAAO,UAAU,YAAY,MAAM;AAAA,IAEzC,MAAM,OAAO,QAAQ,YAAY,IAAI,KACrC,MAAM,OAAO,UAAU,YAAY,MAAM,KACzC,MAAM,OAAO,WAAQ,YAAY,OAAI;AAAA,IAEpC,4BAAY;AAAE,aAAO;AAAA,IAAM,GAAG,KAAK,SAAS,aAAa,EAAE;AAAA;AAAA;;;ACf9D;AAAA;AAAA;AACA,WAAO,UAAU,SAAU,MAAM;AAC/B,UAAI;AACF,eAAO,CAAC,CAAC,KAAK;AAAA,MAChB,SAAS,OAAO;AACd,eAAO;AAAA,MACT;AAAA,IACF;AAAA;AAAA;;;ACPA;AAAA;AAAA;AACA,QAAI,QAAQ;AAEZ,WAAO,UAAU,CAAC,MAAM,WAAY;AAElC,UAAI,OAAO,WAAY;AAAA,MAAc,EAAE,KAAK;AAE5C,aAAO,OAAO,QAAQ,cAAc,KAAK,eAAe,WAAW;AAAA,IACrE,CAAC;AAAA;AAAA;;;ACRD;AAAA;AAAA;AACA,QAAI,cAAc;AAElB,QAAI,oBAAoB,SAAS;AACjC,QAAI,QAAQ,kBAAkB;AAC9B,QAAI,OAAO,kBAAkB;AAG7B,WAAO,UAAU,OAAO,WAAW,YAAY,QAAQ,UAAU,cAAc,KAAK,KAAK,KAAK,IAAI,WAAY;AAC5G,aAAO,KAAK,MAAM,OAAO,SAAS;AAAA,IACpC;AAAA;AAAA;;;ACVA;AAAA;AAAA;AACA,QAAI,cAAc;AAElB,QAAI,oBAAoB,SAAS;AACjC,QAAI,OAAO,kBAAkB;AAE7B,QAAI,sBAAsB,eAAe,kBAAkB,KAAK,KAAK,MAAM,IAAI;AAE/E,WAAO,UAAU,cAAc,sBAAsB,SAAU,IAAI;AACjE,aAAO,WAAY;AACjB,eAAO,KAAK,MAAM,IAAI,SAAS;AAAA,MACjC;AAAA,IACF;AAAA;AAAA;;;ACZA;AAAA;AAAA;AACA,QAAI,cAAc;AAElB,QAAI,WAAW,YAAY,CAAC,EAAE,QAAQ;AACtC,QAAI,cAAc,YAAY,GAAG,KAAK;AAEtC,WAAO,UAAU,SAAU,IAAI;AAC7B,aAAO,YAAY,SAAS,EAAE,GAAG,GAAG,EAAE;AAAA,IACxC;AAAA;AAAA;;;ACRA;AAAA;AAAA;AACA,QAAI,aAAa;AACjB,QAAI,cAAc;AAElB,WAAO,UAAU,SAAU,IAAI;AAI7B,UAAI,WAAW,EAAE,MAAM,WAAY,QAAO,YAAY,EAAE;AAAA,IAC1D;AAAA;AAAA;;;ACTA;AAAA;AAAA;AAEA,QAAI,cAAc,OAAO,YAAY,YAAY,SAAS;AAK1D,WAAO,UAAU,OAAO,eAAe,eAAe,gBAAgB,SAAY,SAAU,UAAU;AACpG,aAAO,OAAO,YAAY,cAAc,aAAa;AAAA,IACvD,IAAI,SAAU,UAAU;AACtB,aAAO,OAAO,YAAY;AAAA,IAC5B;AAAA;AAAA;;;ACXA;AAAA;AAAA;AACA,QAAI,QAAQ;AAGZ,WAAO,UAAU,CAAC,MAAM,WAAY;AAElC,aAAO,OAAO,eAAe,CAAC,GAAG,GAAG,EAAE,KAAK,WAAY;AAAE,eAAO;AAAA,MAAG,EAAE,CAAC,EAAE,CAAC,MAAM;AAAA,IACjF,CAAC;AAAA;AAAA;;;ACPD;AAAA;AAAA;AACA,QAAI,cAAc;AAElB,QAAI,OAAO,SAAS,UAAU;AAE9B,WAAO,UAAU,cAAc,KAAK,KAAK,IAAI,IAAI,WAAY;AAC3D,aAAO,KAAK,MAAM,MAAM,SAAS;AAAA,IACnC;AAAA;AAAA;;;ACPA;AAAA;AAAA;AACA,QAAI,wBAAwB,CAAC,EAAE;AAE/B,QAAI,2BAA2B,OAAO;AAGtC,QAAI,cAAc,4BAA4B,CAAC,sBAAsB,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC;AAIrF,YAAQ,IAAI,cAAc,SAAS,qBAAqB,GAAG;AACzD,UAAI,aAAa,yBAAyB,MAAM,CAAC;AACjD,aAAO,CAAC,CAAC,cAAc,WAAW;AAAA,IACpC,IAAI;AAAA;AAAA;;;ACbJ;AAAA;AAAA;AACA,WAAO,UAAU,SAAU,QAAQ,OAAO;AACxC,aAAO;AAAA,QACL,YAAY,EAAE,SAAS;AAAA,QACvB,cAAc,EAAE,SAAS;AAAA,QACzB,UAAU,EAAE,SAAS;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;ACRA;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAI,QAAQ;AACZ,QAAI,UAAU;AAEd,QAAI,UAAU;AACd,QAAI,QAAQ,YAAY,GAAG,KAAK;AAGhC,WAAO,UAAU,MAAM,WAAY;AAGjC,aAAO,CAAC,QAAQ,GAAG,EAAE,qBAAqB,CAAC;AAAA,IAC7C,CAAC,IAAI,SAAU,IAAI;AACjB,aAAO,QAAQ,EAAE,MAAM,WAAW,MAAM,IAAI,EAAE,IAAI,QAAQ,EAAE;AAAA,IAC9D,IAAI;AAAA;AAAA;;;ACfJ;AAAA;AAAA;AAGA,WAAO,UAAU,SAAU,IAAI;AAC7B,aAAO,OAAO,QAAQ,OAAO;AAAA,IAC/B;AAAA;AAAA;;;ACLA;AAAA;AAAA;AACA,QAAI,oBAAoB;AAExB,QAAI,aAAa;AAIjB,WAAO,UAAU,SAAU,IAAI;AAC7B,UAAI,kBAAkB,EAAE,EAAG,OAAM,IAAI,WAAW,0BAA0B,EAAE;AAC5E,aAAO;AAAA,IACT;AAAA;AAAA;;;ACVA;AAAA;AAAA;AAEA,QAAI,gBAAgB;AACpB,QAAI,yBAAyB;AAE7B,WAAO,UAAU,SAAU,IAAI;AAC7B,aAAO,cAAc,uBAAuB,EAAE,CAAC;AAAA,IACjD;AAAA;AAAA;;;ACPA;AAAA;AAAA;AACA,QAAI,aAAa;AAEjB,WAAO,UAAU,SAAU,IAAI;AAC7B,aAAO,OAAO,MAAM,WAAW,OAAO,OAAO,WAAW,EAAE;AAAA,IAC5D;AAAA;AAAA;;;ACLA;AAAA;AAAA;AACA,WAAO,UAAU,CAAC;AAAA;AAAA;;;ACDlB;AAAA;AAAA;AACA,QAAI,OAAO;AACX,QAAIA,cAAa;AACjB,QAAI,aAAa;AAEjB,QAAI,YAAY,SAAU,UAAU;AAClC,aAAO,WAAW,QAAQ,IAAI,WAAW;AAAA,IAC3C;AAEA,WAAO,UAAU,SAAU,WAAW,QAAQ;AAC5C,aAAO,UAAU,SAAS,IAAI,UAAU,KAAK,SAAS,CAAC,KAAK,UAAUA,YAAW,SAAS,CAAC,IACvF,KAAK,SAAS,KAAK,KAAK,SAAS,EAAE,MAAM,KAAKA,YAAW,SAAS,KAAKA,YAAW,SAAS,EAAE,MAAM;AAAA,IACzG;AAAA;AAAA;;;ACZA;AAAA;AAAA;AACA,QAAI,cAAc;AAElB,WAAO,UAAU,YAAY,CAAC,EAAE,aAAa;AAAA;AAAA;;;ACH7C;AAAA;AAAA;AACA,QAAIC,cAAa;AAEjB,QAAI,YAAYA,YAAW;AAC3B,QAAI,YAAY,aAAa,UAAU;AAEvC,WAAO,UAAU,YAAY,OAAO,SAAS,IAAI;AAAA;AAAA;;;ACNjD;AAAA;AAAA;AACA,QAAIC,cAAa;AACjB,QAAI,YAAY;AAEhB,QAAIC,WAAUD,YAAW;AACzB,QAAIE,QAAOF,YAAW;AACtB,QAAI,WAAWC,YAAWA,SAAQ,YAAYC,SAAQA,MAAK;AAC3D,QAAI,KAAK,YAAY,SAAS;AAC9B,QAAIC;AAAJ,QAAW;AAEX,QAAI,IAAI;AACN,MAAAA,SAAQ,GAAG,MAAM,GAAG;AAGpB,gBAAUA,OAAM,CAAC,IAAI,KAAKA,OAAM,CAAC,IAAI,IAAI,IAAI,EAAEA,OAAM,CAAC,IAAIA,OAAM,CAAC;AAAA,IACnE;AAIA,QAAI,CAAC,WAAW,WAAW;AACzB,MAAAA,SAAQ,UAAU,MAAM,aAAa;AACrC,UAAI,CAACA,UAASA,OAAM,CAAC,KAAK,IAAI;AAC5B,QAAAA,SAAQ,UAAU,MAAM,eAAe;AACvC,YAAIA,OAAO,WAAU,CAACA,OAAM,CAAC;AAAA,MAC/B;AAAA,IACF;AAEA,WAAO,UAAU;AAAA;AAAA;;;AC3BjB;AAAA;AAAA;AAEA,QAAI,aAAa;AACjB,QAAI,QAAQ;AACZ,QAAIC,cAAa;AAEjB,QAAI,UAAUA,YAAW;AAGzB,WAAO,UAAU,CAAC,CAAC,OAAO,yBAAyB,CAAC,MAAM,WAAY;AACpE,UAAI,SAAS,uBAAO,kBAAkB;AAKtC,aAAO,CAAC,QAAQ,MAAM,KAAK,EAAE,OAAO,MAAM,aAAa;AAAA,MAErD,CAAC,OAAO,QAAQ,cAAc,aAAa;AAAA,IAC/C,CAAC;AAAA;AAAA;;;AClBD;AAAA;AAAA;AAEA,QAAI,gBAAgB;AAEpB,WAAO,UAAU,iBACf,CAAC,OAAO,QACR,OAAO,OAAO,YAAY;AAAA;AAAA;;;ACN5B;AAAA;AAAA;AACA,QAAI,aAAa;AACjB,QAAI,aAAa;AACjB,QAAI,gBAAgB;AACpB,QAAI,oBAAoB;AAExB,QAAI,UAAU;AAEd,WAAO,UAAU,oBAAoB,SAAU,IAAI;AACjD,aAAO,OAAO,MAAM;AAAA,IACtB,IAAI,SAAU,IAAI;AAChB,UAAI,UAAU,WAAW,QAAQ;AACjC,aAAO,WAAW,OAAO,KAAK,cAAc,QAAQ,WAAW,QAAQ,EAAE,CAAC;AAAA,IAC5E;AAAA;AAAA;;;ACbA;AAAA;AAAA;AACA,QAAI,UAAU;AAEd,WAAO,UAAU,SAAU,UAAU;AACnC,UAAI;AACF,eAAO,QAAQ,QAAQ;AAAA,MACzB,SAAS,OAAO;AACd,eAAO;AAAA,MACT;AAAA,IACF;AAAA;AAAA;;;ACTA;AAAA;AAAA;AACA,QAAI,aAAa;AACjB,QAAI,cAAc;AAElB,QAAI,aAAa;AAGjB,WAAO,UAAU,SAAU,UAAU;AACnC,UAAI,WAAW,QAAQ,EAAG,QAAO;AACjC,YAAM,IAAI,WAAW,YAAY,QAAQ,IAAI,oBAAoB;AAAA,IACnE;AAAA;AAAA;;;ACVA;AAAA;AAAA;AACA,QAAI,YAAY;AAChB,QAAI,oBAAoB;AAIxB,WAAO,UAAU,SAAU,GAAG,GAAG;AAC/B,UAAI,OAAO,EAAE,CAAC;AACd,aAAO,kBAAkB,IAAI,IAAI,SAAY,UAAU,IAAI;AAAA,IAC7D;AAAA;AAAA;;;ACTA;AAAA;AAAA;AACA,QAAI,OAAO;AACX,QAAI,aAAa;AACjB,QAAI,WAAW;AAEf,QAAI,aAAa;AAIjB,WAAO,UAAU,SAAU,OAAO,MAAM;AACtC,UAAI,IAAI;AACR,UAAI,SAAS,YAAY,WAAW,KAAK,MAAM,QAAQ,KAAK,CAAC,SAAS,MAAM,KAAK,IAAI,KAAK,CAAC,EAAG,QAAO;AACrG,UAAI,WAAW,KAAK,MAAM,OAAO,KAAK,CAAC,SAAS,MAAM,KAAK,IAAI,KAAK,CAAC,EAAG,QAAO;AAC/E,UAAI,SAAS,YAAY,WAAW,KAAK,MAAM,QAAQ,KAAK,CAAC,SAAS,MAAM,KAAK,IAAI,KAAK,CAAC,EAAG,QAAO;AACrG,YAAM,IAAI,WAAW,yCAAyC;AAAA,IAChE;AAAA;AAAA;;;ACfA;AAAA;AAAA;AACA,WAAO,UAAU;AAAA;AAAA;;;ACDjB;AAAA;AAAA;AACA,QAAIC,cAAa;AAGjB,QAAI,iBAAiB,OAAO;AAE5B,WAAO,UAAU,SAAU,KAAK,OAAO;AACrC,UAAI;AACF,uBAAeA,aAAY,KAAK,EAAE,OAAc,cAAc,MAAM,UAAU,KAAK,CAAC;AAAA,MACtF,SAAS,OAAO;AACd,QAAAA,YAAW,GAAG,IAAI;AAAA,MACpB;AAAE,aAAO;AAAA,IACX;AAAA;AAAA;;;ACZA;AAAA;AAAA;AACA,QAAI,UAAU;AACd,QAAIC,cAAa;AACjB,QAAI,uBAAuB;AAE3B,QAAI,SAAS;AACb,QAAI,QAAQ,OAAO,UAAUA,YAAW,MAAM,KAAK,qBAAqB,QAAQ,CAAC,CAAC;AAElF,KAAC,MAAM,aAAa,MAAM,WAAW,CAAC,IAAI,KAAK;AAAA,MAC7C,SAAS;AAAA,MACT,MAAM,UAAU,SAAS;AAAA,MACzB,WAAW;AAAA,MACX,SAAS;AAAA,MACT,QAAQ;AAAA,IACV,CAAC;AAAA;AAAA;;;ACdD;AAAA;AAAA;AACA,QAAI,QAAQ;AAEZ,WAAO,UAAU,SAAU,KAAK,OAAO;AACrC,aAAO,MAAM,GAAG,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;AAAA,IAC/C;AAAA;AAAA;;;ACLA;AAAA;AAAA;AACA,QAAI,yBAAyB;AAE7B,QAAI,UAAU;AAId,WAAO,UAAU,SAAU,UAAU;AACnC,aAAO,QAAQ,uBAAuB,QAAQ,CAAC;AAAA,IACjD;AAAA;AAAA;;;ACTA;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAI,WAAW;AAEf,QAAI,iBAAiB,YAAY,CAAC,EAAE,cAAc;AAKlD,WAAO,UAAU,OAAO,UAAU,SAASC,QAAO,IAAI,KAAK;AACzD,aAAO,eAAe,SAAS,EAAE,GAAG,GAAG;AAAA,IACzC;AAAA;AAAA;;;ACXA;AAAA;AAAA;AACA,QAAI,cAAc;AAElB,QAAI,KAAK;AACT,QAAI,UAAU,KAAK,OAAO;AAC1B,QAAI,WAAW,YAAY,IAAI,QAAQ;AAEvC,WAAO,UAAU,SAAU,KAAK;AAC9B,aAAO,aAAa,QAAQ,SAAY,KAAK,OAAO,OAAO,SAAS,EAAE,KAAK,SAAS,EAAE;AAAA,IACxF;AAAA;AAAA;;;ACTA;AAAA;AAAA;AACA,QAAIC,cAAa;AACjB,QAAI,SAAS;AACb,QAAIC,UAAS;AACb,QAAI,MAAM;AACV,QAAI,gBAAgB;AACpB,QAAI,oBAAoB;AAExB,QAAIC,UAASF,YAAW;AACxB,QAAI,wBAAwB,OAAO,KAAK;AACxC,QAAI,wBAAwB,oBAAoBE,QAAO,KAAK,KAAKA,UAASA,WAAUA,QAAO,iBAAiB;AAE5G,WAAO,UAAU,SAAU,MAAM;AAC/B,UAAI,CAACD,QAAO,uBAAuB,IAAI,GAAG;AACxC,8BAAsB,IAAI,IAAI,iBAAiBA,QAAOC,SAAQ,IAAI,IAC9DA,QAAO,IAAI,IACX,sBAAsB,YAAY,IAAI;AAAA,MAC5C;AAAE,aAAO,sBAAsB,IAAI;AAAA,IACrC;AAAA;AAAA;;;AClBA;AAAA;AAAA;AACA,QAAI,OAAO;AACX,QAAI,WAAW;AACf,QAAI,WAAW;AACf,QAAI,YAAY;AAChB,QAAI,sBAAsB;AAC1B,QAAI,kBAAkB;AAEtB,QAAI,aAAa;AACjB,QAAI,eAAe,gBAAgB,aAAa;AAIhD,WAAO,UAAU,SAAU,OAAO,MAAM;AACtC,UAAI,CAAC,SAAS,KAAK,KAAK,SAAS,KAAK,EAAG,QAAO;AAChD,UAAI,eAAe,UAAU,OAAO,YAAY;AAChD,UAAI;AACJ,UAAI,cAAc;AAChB,YAAI,SAAS,OAAW,QAAO;AAC/B,iBAAS,KAAK,cAAc,OAAO,IAAI;AACvC,YAAI,CAAC,SAAS,MAAM,KAAK,SAAS,MAAM,EAAG,QAAO;AAClD,cAAM,IAAI,WAAW,yCAAyC;AAAA,MAChE;AACA,UAAI,SAAS,OAAW,QAAO;AAC/B,aAAO,oBAAoB,OAAO,IAAI;AAAA,IACxC;AAAA;AAAA;;;ACzBA;AAAA;AAAA;AACA,QAAIC,eAAc;AAClB,QAAI,WAAW;AAIf,WAAO,UAAU,SAAU,UAAU;AACnC,UAAI,MAAMA,aAAY,UAAU,QAAQ;AACxC,aAAO,SAAS,GAAG,IAAI,MAAM,MAAM;AAAA,IACrC;AAAA;AAAA;;;ACTA;AAAA;AAAA;AACA,QAAIC,cAAa;AACjB,QAAI,WAAW;AAEf,QAAIC,YAAWD,YAAW;AAE1B,QAAI,SAAS,SAASC,SAAQ,KAAK,SAASA,UAAS,aAAa;AAElE,WAAO,UAAU,SAAU,IAAI;AAC7B,aAAO,SAASA,UAAS,cAAc,EAAE,IAAI,CAAC;AAAA,IAChD;AAAA;AAAA;;;ACVA;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAI,QAAQ;AACZ,QAAIC,iBAAgB;AAGpB,WAAO,UAAU,CAAC,eAAe,CAAC,MAAM,WAAY;AAElD,aAAO,OAAO,eAAeA,eAAc,KAAK,GAAG,KAAK;AAAA,QACtD,KAAK,WAAY;AAAE,iBAAO;AAAA,QAAG;AAAA,MAC/B,CAAC,EAAE,MAAM;AAAA,IACX,CAAC;AAAA;AAAA;;;ACXD;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAI,OAAO;AACX,QAAI,6BAA6B;AACjC,QAAI,2BAA2B;AAC/B,QAAI,kBAAkB;AACtB,QAAIC,iBAAgB;AACpB,QAAIC,UAAS;AACb,QAAI,iBAAiB;AAGrB,QAAI,4BAA4B,OAAO;AAIvC,YAAQ,IAAI,cAAc,4BAA4B,SAAS,yBAAyB,GAAG,GAAG;AAC5F,UAAI,gBAAgB,CAAC;AACrB,UAAID,eAAc,CAAC;AACnB,UAAI,eAAgB,KAAI;AACtB,eAAO,0BAA0B,GAAG,CAAC;AAAA,MACvC,SAAS,OAAO;AAAA,MAAc;AAC9B,UAAIC,QAAO,GAAG,CAAC,EAAG,QAAO,yBAAyB,CAAC,KAAK,2BAA2B,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,IACnG;AAAA;AAAA;;;ACtBA;AAAA;AAAA;AACA,QAAI,QAAQ;AACZ,QAAI,aAAa;AAEjB,QAAI,cAAc;AAElB,QAAI,WAAW,SAAU,SAAS,WAAW;AAC3C,UAAI,QAAQ,KAAK,UAAU,OAAO,CAAC;AACnC,aAAO,UAAU,WAAW,OACxB,UAAU,SAAS,QACnB,WAAW,SAAS,IAAI,MAAM,SAAS,IACvC,CAAC,CAAC;AAAA,IACR;AAEA,QAAI,YAAY,SAAS,YAAY,SAAU,QAAQ;AACrD,aAAO,OAAO,MAAM,EAAE,QAAQ,aAAa,GAAG,EAAE,YAAY;AAAA,IAC9D;AAEA,QAAI,OAAO,SAAS,OAAO,CAAC;AAC5B,QAAI,SAAS,SAAS,SAAS;AAC/B,QAAI,WAAW,SAAS,WAAW;AAEnC,WAAO,UAAU;AAAA;AAAA;;;ACtBjB;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAI,YAAY;AAChB,QAAI,cAAc;AAElB,QAAI,OAAO,YAAY,YAAY,IAAI;AAGvC,WAAO,UAAU,SAAU,IAAI,MAAM;AACnC,gBAAU,EAAE;AACZ,aAAO,SAAS,SAAY,KAAK,cAAc,KAAK,IAAI,IAAI,IAAI,WAAyB;AACvF,eAAO,GAAG,MAAM,MAAM,SAAS;AAAA,MACjC;AAAA,IACF;AAAA;AAAA;;;ACbA;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAI,QAAQ;AAIZ,WAAO,UAAU,eAAe,MAAM,WAAY;AAEhD,aAAO,OAAO,eAAe,WAAY;AAAA,MAAc,GAAG,aAAa;AAAA,QACrE,OAAO;AAAA,QACP,UAAU;AAAA,MACZ,CAAC,EAAE,cAAc;AAAA,IACnB,CAAC;AAAA;AAAA;;;ACZD;AAAA;AAAA;AACA,QAAI,WAAW;AAEf,QAAI,UAAU;AACd,QAAI,aAAa;AAGjB,WAAO,UAAU,SAAU,UAAU;AACnC,UAAI,SAAS,QAAQ,EAAG,QAAO;AAC/B,YAAM,IAAI,WAAW,QAAQ,QAAQ,IAAI,mBAAmB;AAAA,IAC9D;AAAA;AAAA;;;ACVA;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAI,iBAAiB;AACrB,QAAI,0BAA0B;AAC9B,QAAI,WAAW;AACf,QAAIC,iBAAgB;AAEpB,QAAI,aAAa;AAEjB,QAAI,kBAAkB,OAAO;AAE7B,QAAI,4BAA4B,OAAO;AACvC,QAAI,aAAa;AACjB,QAAI,eAAe;AACnB,QAAI,WAAW;AAIf,YAAQ,IAAI,cAAc,0BAA0B,SAAS,eAAe,GAAG,GAAG,YAAY;AAC5F,eAAS,CAAC;AACV,UAAIA,eAAc,CAAC;AACnB,eAAS,UAAU;AACnB,UAAI,OAAO,MAAM,cAAc,MAAM,eAAe,WAAW,cAAc,YAAY,cAAc,CAAC,WAAW,QAAQ,GAAG;AAC5H,YAAI,UAAU,0BAA0B,GAAG,CAAC;AAC5C,YAAI,WAAW,QAAQ,QAAQ,GAAG;AAChC,YAAE,CAAC,IAAI,WAAW;AAClB,uBAAa;AAAA,YACX,cAAc,gBAAgB,aAAa,WAAW,YAAY,IAAI,QAAQ,YAAY;AAAA,YAC1F,YAAY,cAAc,aAAa,WAAW,UAAU,IAAI,QAAQ,UAAU;AAAA,YAClF,UAAU;AAAA,UACZ;AAAA,QACF;AAAA,MACF;AAAE,aAAO,gBAAgB,GAAG,GAAG,UAAU;AAAA,IAC3C,IAAI,kBAAkB,SAAS,eAAe,GAAG,GAAG,YAAY;AAC9D,eAAS,CAAC;AACV,UAAIA,eAAc,CAAC;AACnB,eAAS,UAAU;AACnB,UAAI,eAAgB,KAAI;AACtB,eAAO,gBAAgB,GAAG,GAAG,UAAU;AAAA,MACzC,SAAS,OAAO;AAAA,MAAc;AAC9B,UAAI,SAAS,cAAc,SAAS,WAAY,OAAM,IAAI,WAAW,yBAAyB;AAC9F,UAAI,WAAW,WAAY,GAAE,CAAC,IAAI,WAAW;AAC7C,aAAO;AAAA,IACT;AAAA;AAAA;;;AC3CA;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAI,uBAAuB;AAC3B,QAAI,2BAA2B;AAE/B,WAAO,UAAU,cAAc,SAAU,QAAQ,KAAK,OAAO;AAC3D,aAAO,qBAAqB,EAAE,QAAQ,KAAK,yBAAyB,GAAG,KAAK,CAAC;AAAA,IAC/E,IAAI,SAAU,QAAQ,KAAK,OAAO;AAChC,aAAO,GAAG,IAAI;AACd,aAAO;AAAA,IACT;AAAA;AAAA;;;ACVA;AAAA;AAAA;AACA,QAAIC,cAAa;AACjB,QAAI,QAAQ;AACZ,QAAI,cAAc;AAClB,QAAI,aAAa;AACjB,QAAI,2BAA2B,6CAA2D;AAC1F,QAAI,WAAW;AACf,QAAI,OAAO;AACX,QAAI,OAAO;AACX,QAAI,8BAA8B;AAClC,QAAIC,UAAS;AAEb;AAEA,QAAI,kBAAkB,SAAU,mBAAmB;AACjD,UAAI,UAAU,SAAU,GAAG,GAAG,GAAG;AAC/B,YAAI,gBAAgB,SAAS;AAC3B,kBAAQ,UAAU,QAAQ;AAAA,YACxB,KAAK;AAAG,qBAAO,IAAI,kBAAkB;AAAA,YACrC,KAAK;AAAG,qBAAO,IAAI,kBAAkB,CAAC;AAAA,YACtC,KAAK;AAAG,qBAAO,IAAI,kBAAkB,GAAG,CAAC;AAAA,UAC3C;AAAE,iBAAO,IAAI,kBAAkB,GAAG,GAAG,CAAC;AAAA,QACxC;AAAE,eAAO,MAAM,mBAAmB,MAAM,SAAS;AAAA,MACnD;AACA,cAAQ,YAAY,kBAAkB;AACtC,aAAO;AAAA,IACT;AAiBA,WAAO,UAAU,SAAU,SAAS,QAAQ;AAC1C,UAAI,SAAS,QAAQ;AACrB,UAAI,SAAS,QAAQ;AACrB,UAAI,SAAS,QAAQ;AACrB,UAAI,QAAQ,QAAQ;AAEpB,UAAI,eAAe,SAASD,cAAa,SAASA,YAAW,MAAM,IAAIA,YAAW,MAAM,KAAKA,YAAW,MAAM,EAAE;AAEhH,UAAI,SAAS,SAAS,OAAO,KAAK,MAAM,KAAK,4BAA4B,MAAM,QAAQ,CAAC,CAAC,EAAE,MAAM;AACjG,UAAI,kBAAkB,OAAO;AAE7B,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,gBAAgB,gBAAgB,gBAAgB,gBAAgB;AAEzE,WAAK,OAAO,QAAQ;AAClB,iBAAS,SAAS,SAAS,MAAM,UAAU,SAAS,MAAM,OAAO,KAAK,QAAQ,MAAM;AAEpF,qBAAa,CAAC,UAAU,gBAAgBC,QAAO,cAAc,GAAG;AAEhE,yBAAiB,OAAO,GAAG;AAE3B,YAAI,WAAY,KAAI,QAAQ,gBAAgB;AAC1C,uBAAa,yBAAyB,cAAc,GAAG;AACvD,2BAAiB,cAAc,WAAW;AAAA,QAC5C,MAAO,kBAAiB,aAAa,GAAG;AAGxC,yBAAkB,cAAc,iBAAkB,iBAAiB,OAAO,GAAG;AAE7E,YAAI,CAAC,UAAU,CAAC,SAAS,OAAO,kBAAkB,OAAO,eAAgB;AAGzE,YAAI,QAAQ,QAAQ,WAAY,kBAAiB,KAAK,gBAAgBD,WAAU;AAAA,iBAEvE,QAAQ,QAAQ,WAAY,kBAAiB,gBAAgB,cAAc;AAAA,iBAE3E,SAAS,WAAW,cAAc,EAAG,kBAAiB,YAAY,cAAc;AAAA,YAEpF,kBAAiB;AAGtB,YAAI,QAAQ,QAAS,kBAAkB,eAAe,QAAU,kBAAkB,eAAe,MAAO;AACtG,sCAA4B,gBAAgB,QAAQ,IAAI;AAAA,QAC1D;AAEA,oCAA4B,QAAQ,KAAK,cAAc;AAEvD,YAAI,OAAO;AACT,8BAAoB,SAAS;AAC7B,cAAI,CAACC,QAAO,MAAM,iBAAiB,GAAG;AACpC,wCAA4B,MAAM,mBAAmB,CAAC,CAAC;AAAA,UACzD;AAEA,sCAA4B,KAAK,iBAAiB,GAAG,KAAK,cAAc;AAExE,cAAI,QAAQ,QAAQ,oBAAoB,UAAU,CAAC,gBAAgB,GAAG,IAAI;AACxE,wCAA4B,iBAAiB,KAAK,cAAc;AAAA,UAClE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;ACvGA;AAAA;AAAA;AACA,QAAI,UAAU;AAKd,WAAO,UAAU,MAAM,WAAW,SAAS,QAAQ,UAAU;AAC3D,aAAO,QAAQ,QAAQ,MAAM;AAAA,IAC/B;AAAA;AAAA;;;ACRA;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,UAAU;AAId,MAAE,EAAE,QAAQ,SAAS,MAAM,KAAK,GAAG;AAAA,MACjC;AAAA,IACF,CAAC;AAAA;AAAA;;;ACRD,IAAAC,oBAAA;AAAA;AAAA;AACA;AACA,QAAI,OAAO;AAEX,WAAO,UAAU,KAAK,MAAM;AAAA;AAAA;;;ACJ5B,IAAAC,oBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,oBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,oBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,oBAAA;AAAA;AAAA;AACA,WAAO,UAAU;AAAA;AAAA;;;ACDjB;AAAA;AAAA;AACA,QAAI,OAAO,KAAK;AAChB,QAAI,QAAQ,KAAK;AAKjB,WAAO,UAAU,KAAK,SAAS,SAAS,MAAM,GAAG;AAC/C,UAAI,IAAI,CAAC;AACT,cAAQ,IAAI,IAAI,QAAQ,MAAM,CAAC;AAAA,IACjC;AAAA;AAAA;;;ACVA;AAAA;AAAA;AACA,QAAI,QAAQ;AAIZ,WAAO,UAAU,SAAU,UAAU;AACnC,UAAI,SAAS,CAAC;AAEd,aAAO,WAAW,UAAU,WAAW,IAAI,IAAI,MAAM,MAAM;AAAA,IAC7D;AAAA;AAAA;;;ACTA;AAAA;AAAA;AACA,QAAI,sBAAsB;AAE1B,QAAI,MAAM,KAAK;AAIf,WAAO,UAAU,SAAU,UAAU;AACnC,UAAI,MAAM,oBAAoB,QAAQ;AACtC,aAAO,MAAM,IAAI,IAAI,KAAK,gBAAgB,IAAI;AAAA,IAChD;AAAA;AAAA;;;ACVA;AAAA;AAAA;AACA,QAAI,WAAW;AAIf,WAAO,UAAU,SAAU,KAAK;AAC9B,aAAO,SAAS,IAAI,MAAM;AAAA,IAC5B;AAAA;AAAA;;;ACPA;AAAA;AAAA;AACA,QAAI,aAAa;AACjB,QAAI,mBAAmB;AAEvB,WAAO,UAAU,SAAU,IAAI;AAC7B,UAAI,KAAK,iBAAkB,OAAM,IAAI,WAAW,gCAAgC;AAChF,aAAO;AAAA,IACT;AAAA;AAAA;;;ACPA;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAI,uBAAuB;AAC3B,QAAI,2BAA2B;AAE/B,WAAO,UAAU,SAAU,QAAQ,KAAK,OAAO;AAC7C,UAAI,YAAa,sBAAqB,EAAE,QAAQ,KAAK,yBAAyB,GAAG,KAAK,CAAC;AAAA,UAClF,QAAO,GAAG,IAAI;AAAA,IACrB;AAAA;AAAA;;;ACRA;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAI,UAAU;AAEd,QAAI,aAAa;AAEjB,QAAI,2BAA2B,OAAO;AAGtC,QAAI,oCAAoC,eAAe,EAAC,WAAY;AAElE,UAAI,SAAS,OAAW,QAAO;AAC/B,UAAI;AAEF,eAAO,eAAe,CAAC,GAAG,UAAU,EAAE,UAAU,MAAM,CAAC,EAAE,SAAS;AAAA,MACpE,SAAS,OAAO;AACd,eAAO,iBAAiB;AAAA,MAC1B;AAAA,IACF,GAAE;AAEF,WAAO,UAAU,oCAAoC,SAAU,GAAGC,SAAQ;AACxE,UAAI,QAAQ,CAAC,KAAK,CAAC,yBAAyB,GAAG,QAAQ,EAAE,UAAU;AACjE,cAAM,IAAI,WAAW,8BAA8B;AAAA,MACrD;AAAE,aAAO,EAAE,SAASA;AAAA,IACtB,IAAI,SAAU,GAAGA,SAAQ;AACvB,aAAO,EAAE,SAASA;AAAA,IACpB;AAAA;AAAA;;;AC1BA;AAAA;AAAA;AACA,QAAI,kBAAkB;AAEtB,QAAI,gBAAgB,gBAAgB,aAAa;AACjD,QAAI,OAAO,CAAC;AAEZ,SAAK,aAAa,IAAI;AAEtB,WAAO,UAAU,OAAO,IAAI,MAAM;AAAA;AAAA;;;ACRlC;AAAA;AAAA;AACA,QAAI,wBAAwB;AAC5B,QAAI,aAAa;AACjB,QAAI,aAAa;AACjB,QAAI,kBAAkB;AAEtB,QAAI,gBAAgB,gBAAgB,aAAa;AACjD,QAAI,UAAU;AAGd,QAAI,oBAAoB,WAAW,4BAAY;AAAE,aAAO;AAAA,IAAW,GAAE,CAAC,MAAM;AAG5E,QAAI,SAAS,SAAU,IAAI,KAAK;AAC9B,UAAI;AACF,eAAO,GAAG,GAAG;AAAA,MACf,SAAS,OAAO;AAAA,MAAc;AAAA,IAChC;AAGA,WAAO,UAAU,wBAAwB,aAAa,SAAU,IAAI;AAClE,UAAI,GAAG,KAAK;AACZ,aAAO,OAAO,SAAY,cAAc,OAAO,OAAO,SAElD,QAAQ,MAAM,OAAO,IAAI,QAAQ,EAAE,GAAG,aAAa,MAAM,WAAW,MAEpE,oBAAoB,WAAW,CAAC,KAE/B,SAAS,WAAW,CAAC,OAAO,YAAY,WAAW,EAAE,MAAM,IAAI,cAAc;AAAA,IACpF;AAAA;AAAA;;;AC7BA;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAI,aAAa;AACjB,QAAI,QAAQ;AAEZ,QAAI,mBAAmB,YAAY,SAAS,QAAQ;AAGpD,QAAI,CAAC,WAAW,MAAM,aAAa,GAAG;AACpC,YAAM,gBAAgB,SAAU,IAAI;AAClC,eAAO,iBAAiB,EAAE;AAAA,MAC5B;AAAA,IACF;AAEA,WAAO,UAAU,MAAM;AAAA;AAAA;;;ACdvB;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAI,QAAQ;AACZ,QAAI,aAAa;AACjB,QAAI,UAAU;AACd,QAAI,aAAa;AACjB,QAAI,gBAAgB;AAEpB,QAAI,OAAO,WAAY;AAAA,IAAc;AACrC,QAAI,YAAY,WAAW,WAAW,WAAW;AACjD,QAAI,oBAAoB;AACxB,QAAI,OAAO,YAAY,kBAAkB,IAAI;AAC7C,QAAI,sBAAsB,CAAC,kBAAkB,KAAK,IAAI;AAEtD,QAAI,sBAAsB,SAAS,cAAc,UAAU;AACzD,UAAI,CAAC,WAAW,QAAQ,EAAG,QAAO;AAClC,UAAI;AACF,kBAAU,MAAM,CAAC,GAAG,QAAQ;AAC5B,eAAO;AAAA,MACT,SAAS,OAAO;AACd,eAAO;AAAA,MACT;AAAA,IACF;AAEA,QAAI,sBAAsB,SAAS,cAAc,UAAU;AACzD,UAAI,CAAC,WAAW,QAAQ,EAAG,QAAO;AAClC,cAAQ,QAAQ,QAAQ,GAAG;AAAA,QACzB,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAA0B,iBAAO;AAAA,MACxC;AACA,UAAI;AAIF,eAAO,uBAAuB,CAAC,CAAC,KAAK,mBAAmB,cAAc,QAAQ,CAAC;AAAA,MACjF,SAAS,OAAO;AACd,eAAO;AAAA,MACT;AAAA,IACF;AAEA,wBAAoB,OAAO;AAI3B,WAAO,UAAU,CAAC,aAAa,MAAM,WAAY;AAC/C,UAAI;AACJ,aAAO,oBAAoB,oBAAoB,IAAI,KAC9C,CAAC,oBAAoB,MAAM,KAC3B,CAAC,oBAAoB,WAAY;AAAE,iBAAS;AAAA,MAAM,CAAC,KACnD;AAAA,IACP,CAAC,IAAI,sBAAsB;AAAA;AAAA;;;ACnD3B;AAAA;AAAA;AACA,QAAI,UAAU;AACd,QAAI,gBAAgB;AACpB,QAAI,WAAW;AACf,QAAI,kBAAkB;AAEtB,QAAI,UAAU,gBAAgB,SAAS;AACvC,QAAI,SAAS;AAIb,WAAO,UAAU,SAAU,eAAe;AACxC,UAAI;AACJ,UAAI,QAAQ,aAAa,GAAG;AAC1B,YAAI,cAAc;AAElB,YAAI,cAAc,CAAC,MAAM,MAAM,UAAU,QAAQ,EAAE,SAAS,GAAI,KAAI;AAAA,iBAC3D,SAAS,CAAC,GAAG;AACpB,cAAI,EAAE,OAAO;AACb,cAAI,MAAM,KAAM,KAAI;AAAA,QACtB;AAAA,MACF;AAAE,aAAO,MAAM,SAAY,SAAS;AAAA,IACtC;AAAA;AAAA;;;ACtBA;AAAA;AAAA;AACA,QAAI,0BAA0B;AAI9B,WAAO,UAAU,SAAU,eAAeC,SAAQ;AAChD,aAAO,KAAK,wBAAwB,aAAa,GAAGA,YAAW,IAAI,IAAIA,OAAM;AAAA,IAC/E;AAAA;AAAA;;;ACPA;AAAA;AAAA;AACA,QAAI,QAAQ;AACZ,QAAI,kBAAkB;AACtB,QAAI,aAAa;AAEjB,QAAI,UAAU,gBAAgB,SAAS;AAEvC,WAAO,UAAU,SAAU,aAAa;AAItC,aAAO,cAAc,MAAM,CAAC,MAAM,WAAY;AAC5C,YAAI,QAAQ,CAAC;AACb,YAAI,cAAc,MAAM,cAAc,CAAC;AACvC,oBAAY,OAAO,IAAI,WAAY;AACjC,iBAAO,EAAE,KAAK,EAAE;AAAA,QAClB;AACA,eAAO,MAAM,WAAW,EAAE,OAAO,EAAE,QAAQ;AAAA,MAC7C,CAAC;AAAA,IACH;AAAA;AAAA;;;ACnBA;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,QAAQ;AACZ,QAAI,UAAU;AACd,QAAI,WAAW;AACf,QAAI,WAAW;AACf,QAAI,oBAAoB;AACxB,QAAI,2BAA2B;AAC/B,QAAI,iBAAiB;AACrB,QAAI,iBAAiB;AACrB,QAAI,qBAAqB;AACzB,QAAI,+BAA+B;AACnC,QAAI,kBAAkB;AACtB,QAAI,aAAa;AAEjB,QAAI,uBAAuB,gBAAgB,oBAAoB;AAK/D,QAAI,+BAA+B,cAAc,MAAM,CAAC,MAAM,WAAY;AACxE,UAAI,QAAQ,CAAC;AACb,YAAM,oBAAoB,IAAI;AAC9B,aAAO,MAAM,OAAO,EAAE,CAAC,MAAM;AAAA,IAC/B,CAAC;AAED,QAAI,qBAAqB,SAAU,GAAG;AACpC,UAAI,CAAC,SAAS,CAAC,EAAG,QAAO;AACzB,UAAI,aAAa,EAAE,oBAAoB;AACvC,aAAO,eAAe,SAAY,CAAC,CAAC,aAAa,QAAQ,CAAC;AAAA,IAC5D;AAEA,QAAI,SAAS,CAAC,gCAAgC,CAAC,6BAA6B,QAAQ;AAKpF,MAAE,EAAE,QAAQ,SAAS,OAAO,MAAM,OAAO,GAAG,QAAQ,OAAO,GAAG;AAAA;AAAA,MAE5D,QAAQ,SAAS,OAAO,KAAK;AAC3B,YAAI,IAAI,SAAS,IAAI;AACrB,YAAI,IAAI,mBAAmB,GAAG,CAAC;AAC/B,YAAI,IAAI;AACR,YAAI,GAAG,GAAGC,SAAQ,KAAK;AACvB,aAAK,IAAI,IAAIA,UAAS,UAAU,QAAQ,IAAIA,SAAQ,KAAK;AACvD,cAAI,MAAM,KAAK,IAAI,UAAU,CAAC;AAC9B,cAAI,mBAAmB,CAAC,GAAG;AACzB,kBAAM,kBAAkB,CAAC;AACzB,qCAAyB,IAAI,GAAG;AAChC,iBAAK,IAAI,GAAG,IAAI,KAAK,KAAK,IAAK,KAAI,KAAK,EAAG,gBAAe,GAAG,GAAG,EAAE,CAAC,CAAC;AAAA,UACtE,OAAO;AACL,qCAAyB,IAAI,CAAC;AAC9B,2BAAe,GAAG,KAAK,CAAC;AAAA,UAC1B;AAAA,QACF;AACA,uBAAe,GAAG,CAAC;AACnB,eAAO;AAAA,MACT;AAAA,IACF,CAAC;AAAA;AAAA;;;AC1DD;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AACA,QAAI,UAAU;AAEd,QAAI,UAAU;AAEd,WAAO,UAAU,SAAU,UAAU;AACnC,UAAI,QAAQ,QAAQ,MAAM,SAAU,OAAM,IAAI,UAAU,2CAA2C;AACnG,aAAO,QAAQ,QAAQ;AAAA,IACzB;AAAA;AAAA;;;ACRA;AAAA;AAAA;AACA,QAAI,sBAAsB;AAE1B,QAAI,MAAM,KAAK;AACf,QAAI,MAAM,KAAK;AAKf,WAAO,UAAU,SAAU,OAAOC,SAAQ;AACxC,UAAI,UAAU,oBAAoB,KAAK;AACvC,aAAO,UAAU,IAAI,IAAI,UAAUA,SAAQ,CAAC,IAAI,IAAI,SAASA,OAAM;AAAA,IACrE;AAAA;AAAA;;;ACZA;AAAA;AAAA;AACA,QAAI,kBAAkB;AACtB,QAAI,kBAAkB;AACtB,QAAI,oBAAoB;AAGxB,QAAI,eAAe,SAAU,aAAa;AACxC,aAAO,SAAU,OAAO,IAAI,WAAW;AACrC,YAAI,IAAI,gBAAgB,KAAK;AAC7B,YAAIC,UAAS,kBAAkB,CAAC;AAChC,YAAIA,YAAW,EAAG,QAAO,CAAC,eAAe;AACzC,YAAI,QAAQ,gBAAgB,WAAWA,OAAM;AAC7C,YAAI;AAGJ,YAAI,eAAe,OAAO,GAAI,QAAOA,UAAS,OAAO;AACnD,kBAAQ,EAAE,OAAO;AAEjB,cAAI,UAAU,MAAO,QAAO;AAAA,QAE9B;AAAA,YAAO,QAAMA,UAAS,OAAO,SAAS;AACpC,eAAK,eAAe,SAAS,MAAM,EAAE,KAAK,MAAM,GAAI,QAAO,eAAe,SAAS;AAAA,QACrF;AAAE,eAAO,CAAC,eAAe;AAAA,MAC3B;AAAA,IACF;AAEA,WAAO,UAAU;AAAA;AAAA;AAAA,MAGf,UAAU,aAAa,IAAI;AAAA;AAAA;AAAA,MAG3B,SAAS,aAAa,KAAK;AAAA,IAC7B;AAAA;AAAA;;;ACjCA;AAAA;AAAA;AACA,WAAO,UAAU,CAAC;AAAA;AAAA;;;ACDlB;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAIC,UAAS;AACb,QAAI,kBAAkB;AACtB,QAAI,UAAU,yBAAuC;AACrD,QAAI,aAAa;AAEjB,QAAI,OAAO,YAAY,CAAC,EAAE,IAAI;AAE9B,WAAO,UAAU,SAAU,QAAQ,OAAO;AACxC,UAAI,IAAI,gBAAgB,MAAM;AAC9B,UAAI,IAAI;AACR,UAAI,SAAS,CAAC;AACd,UAAI;AACJ,WAAK,OAAO,EAAG,EAACA,QAAO,YAAY,GAAG,KAAKA,QAAO,GAAG,GAAG,KAAK,KAAK,QAAQ,GAAG;AAE7E,aAAO,MAAM,SAAS,EAAG,KAAIA,QAAO,GAAG,MAAM,MAAM,GAAG,CAAC,GAAG;AACxD,SAAC,QAAQ,QAAQ,GAAG,KAAK,KAAK,QAAQ,GAAG;AAAA,MAC3C;AACA,aAAO;AAAA,IACT;AAAA;AAAA;;;ACpBA;AAAA;AAAA;AAEA,WAAO,UAAU;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA;;;ACVA;AAAA;AAAA;AACA,QAAI,qBAAqB;AACzB,QAAI,cAAc;AAKlB,WAAO,UAAU,OAAO,QAAQ,SAAS,KAAK,GAAG;AAC/C,aAAO,mBAAmB,GAAG,WAAW;AAAA,IAC1C;AAAA;AAAA;;;ACTA;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAI,0BAA0B;AAC9B,QAAI,uBAAuB;AAC3B,QAAI,WAAW;AACf,QAAI,kBAAkB;AACtB,QAAI,aAAa;AAKjB,YAAQ,IAAI,eAAe,CAAC,0BAA0B,OAAO,mBAAmB,SAAS,iBAAiB,GAAG,YAAY;AACvH,eAAS,CAAC;AACV,UAAI,QAAQ,gBAAgB,UAAU;AACtC,UAAI,OAAO,WAAW,UAAU;AAChC,UAAIC,UAAS,KAAK;AAClB,UAAI,QAAQ;AACZ,UAAI;AACJ,aAAOA,UAAS,MAAO,sBAAqB,EAAE,GAAG,MAAM,KAAK,OAAO,GAAG,MAAM,GAAG,CAAC;AAChF,aAAO;AAAA,IACT;AAAA;AAAA;;;ACpBA;AAAA;AAAA;AACA,QAAI,aAAa;AAEjB,WAAO,UAAU,WAAW,YAAY,iBAAiB;AAAA;AAAA;;;ACHzD;AAAA;AAAA;AACA,QAAI,SAAS;AACb,QAAI,MAAM;AAEV,QAAI,OAAO,OAAO,MAAM;AAExB,WAAO,UAAU,SAAU,KAAK;AAC9B,aAAO,KAAK,GAAG,MAAM,KAAK,GAAG,IAAI,IAAI,GAAG;AAAA,IAC1C;AAAA;AAAA;;;ACRA;AAAA;AAAA;AAEA,QAAI,WAAW;AACf,QAAI,yBAAyB;AAC7B,QAAI,cAAc;AAClB,QAAI,aAAa;AACjB,QAAI,OAAO;AACX,QAAI,wBAAwB;AAC5B,QAAI,YAAY;AAEhB,QAAI,KAAK;AACT,QAAI,KAAK;AACT,QAAI,YAAY;AAChB,QAAI,SAAS;AACb,QAAI,WAAW,UAAU,UAAU;AAEnC,QAAI,mBAAmB,WAAY;AAAA,IAAc;AAEjD,QAAI,YAAY,SAAU,SAAS;AACjC,aAAO,KAAK,SAAS,KAAK,UAAU,KAAK,MAAM,SAAS;AAAA,IAC1D;AAGA,QAAI,4BAA4B,SAAUC,kBAAiB;AACzD,MAAAA,iBAAgB,MAAM,UAAU,EAAE,CAAC;AACnC,MAAAA,iBAAgB,MAAM;AACtB,UAAI,OAAOA,iBAAgB,aAAa;AAExC,MAAAA,mBAAkB;AAClB,aAAO;AAAA,IACT;AAGA,QAAI,2BAA2B,WAAY;AAEzC,UAAI,SAAS,sBAAsB,QAAQ;AAC3C,UAAI,KAAK,SAAS,SAAS;AAC3B,UAAI;AACJ,aAAO,MAAM,UAAU;AACvB,WAAK,YAAY,MAAM;AAEvB,aAAO,MAAM,OAAO,EAAE;AACtB,uBAAiB,OAAO,cAAc;AACtC,qBAAe,KAAK;AACpB,qBAAe,MAAM,UAAU,mBAAmB,CAAC;AACnD,qBAAe,MAAM;AACrB,aAAO,eAAe;AAAA,IACxB;AAOA,QAAI;AACJ,QAAI,kBAAkB,WAAY;AAChC,UAAI;AACF,0BAAkB,IAAI,cAAc,UAAU;AAAA,MAChD,SAAS,OAAO;AAAA,MAAe;AAC/B,wBAAkB,OAAO,YAAY,cACjC,SAAS,UAAU,kBACjB,0BAA0B,eAAe,IACzC,yBAAyB,IAC3B,0BAA0B,eAAe;AAC7C,UAAIC,UAAS,YAAY;AACzB,aAAOA,UAAU,QAAO,gBAAgB,SAAS,EAAE,YAAYA,OAAM,CAAC;AACtE,aAAO,gBAAgB;AAAA,IACzB;AAEA,eAAW,QAAQ,IAAI;AAKvB,WAAO,UAAU,OAAO,UAAU,SAAS,OAAO,GAAG,YAAY;AAC/D,UAAI;AACJ,UAAI,MAAM,MAAM;AACd,yBAAiB,SAAS,IAAI,SAAS,CAAC;AACxC,iBAAS,IAAI,iBAAiB;AAC9B,yBAAiB,SAAS,IAAI;AAE9B,eAAO,QAAQ,IAAI;AAAA,MACrB,MAAO,UAAS,gBAAgB;AAChC,aAAO,eAAe,SAAY,SAAS,uBAAuB,EAAE,QAAQ,UAAU;AAAA,IACxF;AAAA;AAAA;;;ACpFA;AAAA;AAAA;AACA,QAAI,qBAAqB;AACzB,QAAI,cAAc;AAElB,QAAI,aAAa,YAAY,OAAO,UAAU,WAAW;AAKzD,YAAQ,IAAI,OAAO,uBAAuB,SAAS,oBAAoB,GAAG;AACxE,aAAO,mBAAmB,GAAG,UAAU;AAAA,IACzC;AAAA;AAAA;;;ACXA;AAAA;AAAA;AACA,QAAI,cAAc;AAElB,WAAO,UAAU,YAAY,CAAC,EAAE,KAAK;AAAA;AAAA;;;ACHrC;AAAA;AAAA;AAEA,QAAI,UAAU;AACd,QAAI,kBAAkB;AACtB,QAAI,uBAAuB,wCAAsD;AACjF,QAAI,aAAa;AAEjB,QAAI,cAAc,OAAO,UAAU,YAAY,UAAU,OAAO,sBAC5D,OAAO,oBAAoB,MAAM,IAAI,CAAC;AAE1C,QAAI,iBAAiB,SAAU,IAAI;AACjC,UAAI;AACF,eAAO,qBAAqB,EAAE;AAAA,MAChC,SAAS,OAAO;AACd,eAAO,WAAW,WAAW;AAAA,MAC/B;AAAA,IACF;AAGA,WAAO,QAAQ,IAAI,SAAS,oBAAoB,IAAI;AAClD,aAAO,eAAe,QAAQ,EAAE,MAAM,WAClC,eAAe,EAAE,IACjB,qBAAqB,gBAAgB,EAAE,CAAC;AAAA,IAC9C;AAAA;AAAA;;;ACvBA;AAAA;AAAA;AAEA,YAAQ,IAAI,OAAO;AAAA;AAAA;;;ACFnB;AAAA;AAAA;AACA,QAAI,8BAA8B;AAElC,WAAO,UAAU,SAAU,QAAQ,KAAK,OAAO,SAAS;AACtD,UAAI,WAAW,QAAQ,WAAY,QAAO,GAAG,IAAI;AAAA,UAC5C,6BAA4B,QAAQ,KAAK,KAAK;AACnD,aAAO;AAAA,IACT;AAAA;AAAA;;;ACPA;AAAA;AAAA;AACA,QAAI,iBAAiB;AAErB,WAAO,UAAU,SAAU,QAAQ,MAAM,YAAY;AACnD,aAAO,eAAe,EAAE,QAAQ,MAAM,UAAU;AAAA,IAClD;AAAA;AAAA;;;ACLA;AAAA;AAAA;AACA,QAAI,kBAAkB;AAEtB,YAAQ,IAAI;AAAA;AAAA;;;ACHZ;AAAA;AAAA;AACA,QAAI,OAAO;AACX,QAAIC,UAAS;AACb,QAAI,+BAA+B;AACnC,QAAI,iBAAiB,iCAA+C;AAEpE,WAAO,UAAU,SAAU,MAAM;AAC/B,UAAIC,UAAS,KAAK,WAAW,KAAK,SAAS,CAAC;AAC5C,UAAI,CAACD,QAAOC,SAAQ,IAAI,EAAG,gBAAeA,SAAQ,MAAM;AAAA,QACtD,OAAO,6BAA6B,EAAE,IAAI;AAAA,MAC5C,CAAC;AAAA,IACH;AAAA;AAAA;;;ACXA;AAAA;AAAA;AACA,QAAI,OAAO;AACX,QAAI,aAAa;AACjB,QAAI,kBAAkB;AACtB,QAAI,gBAAgB;AAEpB,WAAO,UAAU,WAAY;AAC3B,UAAIC,UAAS,WAAW,QAAQ;AAChC,UAAI,kBAAkBA,WAAUA,QAAO;AACvC,UAAI,UAAU,mBAAmB,gBAAgB;AACjD,UAAI,eAAe,gBAAgB,aAAa;AAEhD,UAAI,mBAAmB,CAAC,gBAAgB,YAAY,GAAG;AAIrD,sBAAc,iBAAiB,cAAc,SAAU,MAAM;AAC3D,iBAAO,KAAK,SAAS,IAAI;AAAA,QAC3B,GAAG,EAAE,OAAO,EAAE,CAAC;AAAA,MACjB;AAAA,IACF;AAAA;AAAA;;;ACpBA;AAAA;AAAA;AACA,QAAI,wBAAwB;AAC5B,QAAI,UAAU;AAId,WAAO,UAAU,wBAAwB,CAAC,EAAE,WAAW,SAAS,WAAW;AACzE,aAAO,aAAa,QAAQ,IAAI,IAAI;AAAA,IACtC;AAAA;AAAA;;;ACRA;AAAA;AAAA;AACA,QAAI,wBAAwB;AAC5B,QAAI,iBAAiB,iCAA+C;AACpE,QAAI,8BAA8B;AAClC,QAAIC,UAAS;AACb,QAAI,WAAW;AACf,QAAI,kBAAkB;AAEtB,QAAI,gBAAgB,gBAAgB,aAAa;AAEjD,WAAO,UAAU,SAAU,IAAI,KAAK,QAAQ,YAAY;AACtD,UAAI,SAAS,SAAS,KAAK,MAAM,GAAG;AACpC,UAAI,QAAQ;AACV,YAAI,CAACA,QAAO,QAAQ,aAAa,GAAG;AAClC,yBAAe,QAAQ,eAAe,EAAE,cAAc,MAAM,OAAO,IAAI,CAAC;AAAA,QAC1E;AACA,YAAI,cAAc,CAAC,uBAAuB;AACxC,sCAA4B,QAAQ,YAAY,QAAQ;AAAA,QAC1D;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;ACpBA;AAAA;AAAA;AACA,QAAIC,cAAa;AACjB,QAAI,aAAa;AAEjB,QAAIC,WAAUD,YAAW;AAEzB,WAAO,UAAU,WAAWC,QAAO,KAAK,cAAc,KAAK,OAAOA,QAAO,CAAC;AAAA;AAAA;;;ACN1E;AAAA;AAAA;AACA,QAAI,kBAAkB;AACtB,QAAIC,cAAa;AACjB,QAAI,WAAW;AACf,QAAI,8BAA8B;AAClC,QAAIC,UAAS;AACb,QAAI,SAAS;AACb,QAAI,YAAY;AAChB,QAAI,aAAa;AAEjB,QAAI,6BAA6B;AACjC,QAAIC,aAAYF,YAAW;AAC3B,QAAIG,WAAUH,YAAW;AACzB,QAAI;AAAJ,QAAS;AAAT,QAAc;AAEd,QAAI,UAAU,SAAU,IAAI;AAC1B,aAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC;AAAA,IACvC;AAEA,QAAI,YAAY,SAAU,MAAM;AAC9B,aAAO,SAAU,IAAI;AACnB,YAAI;AACJ,YAAI,CAAC,SAAS,EAAE,MAAM,QAAQ,IAAI,EAAE,GAAG,SAAS,MAAM;AACpD,gBAAM,IAAIE,WAAU,4BAA4B,OAAO,WAAW;AAAA,QACpE;AAAE,eAAO;AAAA,MACX;AAAA,IACF;AAEA,QAAI,mBAAmB,OAAO,OAAO;AAC/B,cAAQ,OAAO,UAAU,OAAO,QAAQ,IAAIC,SAAQ;AAExD,YAAM,MAAM,MAAM;AAClB,YAAM,MAAM,MAAM;AAClB,YAAM,MAAM,MAAM;AAElB,YAAM,SAAU,IAAI,UAAU;AAC5B,YAAI,MAAM,IAAI,EAAE,EAAG,OAAM,IAAID,WAAU,0BAA0B;AACjE,iBAAS,SAAS;AAClB,cAAM,IAAI,IAAI,QAAQ;AACtB,eAAO;AAAA,MACT;AACA,YAAM,SAAU,IAAI;AAClB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC;AAAA,MAC3B;AACA,YAAM,SAAU,IAAI;AAClB,eAAO,MAAM,IAAI,EAAE;AAAA,MACrB;AAAA,IACF,OAAO;AACD,cAAQ,UAAU,OAAO;AAC7B,iBAAW,KAAK,IAAI;AACpB,YAAM,SAAU,IAAI,UAAU;AAC5B,YAAID,QAAO,IAAI,KAAK,EAAG,OAAM,IAAIC,WAAU,0BAA0B;AACrE,iBAAS,SAAS;AAClB,oCAA4B,IAAI,OAAO,QAAQ;AAC/C,eAAO;AAAA,MACT;AACA,YAAM,SAAU,IAAI;AAClB,eAAOD,QAAO,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,CAAC;AAAA,MAC1C;AACA,YAAM,SAAU,IAAI;AAClB,eAAOA,QAAO,IAAI,KAAK;AAAA,MACzB;AAAA,IACF;AAjCM;AAmBA;AAgBN,WAAO,UAAU;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA;;;ACtEA;AAAA;AAAA;AACA,QAAI,OAAO;AACX,QAAI,gBAAgB;AACpB,QAAI,WAAW;AACf,QAAI,oBAAoB;AACxB,QAAI,qBAAqB;AACzB,QAAI,iBAAiB;AAGrB,QAAI,eAAe,SAAU,MAAM;AACjC,UAAI,SAAS,SAAS;AACtB,UAAI,YAAY,SAAS;AACzB,UAAI,UAAU,SAAS;AACvB,UAAI,WAAW,SAAS;AACxB,UAAI,gBAAgB,SAAS;AAC7B,UAAI,mBAAmB,SAAS;AAChC,UAAI,WAAW,SAAS,KAAK;AAC7B,aAAO,SAAU,OAAO,YAAY,MAAM;AACxC,YAAI,IAAI,SAAS,KAAK;AACtB,YAAIG,QAAO,cAAc,CAAC;AAC1B,YAAIC,UAAS,kBAAkBD,KAAI;AACnC,YAAI,gBAAgB,KAAK,YAAY,IAAI;AACzC,YAAI,QAAQ;AACZ,YAAI,WAAW;AACf,YAAI,SAAS,SAAS,mBAAmB,OAAOC,OAAM,IAAI,aAAa,mBAAmB,mBAAmB,OAAO,CAAC,IAAI;AACzH,YAAI,OAAO;AACX,eAAMA,UAAS,OAAO,QAAS,KAAI,YAAY,SAASD,OAAM;AAC5D,kBAAQA,MAAK,KAAK;AAClB,mBAAS,cAAc,OAAO,OAAO,CAAC;AACtC,cAAI,MAAM;AACR,gBAAI,OAAQ,gBAAe,QAAQ,OAAO,MAAM;AAAA,qBACvC,OAAQ,SAAQ,MAAM;AAAA,cAC7B,KAAK;AAAG,uBAAO;AAAA;AAAA,cACf,KAAK;AAAG,uBAAO;AAAA;AAAA,cACf,KAAK;AAAG,uBAAO;AAAA;AAAA,cACf,KAAK;AAAG,+BAAe,QAAQ,YAAY,KAAK;AAAA,YAClD;AAAA,gBAAO,SAAQ,MAAM;AAAA,cACnB,KAAK;AAAG,uBAAO;AAAA;AAAA,cACf,KAAK;AAAG,+BAAe,QAAQ,YAAY,KAAK;AAAA,YAClD;AAAA,UACF;AAAA,QACF;AACA,eAAO,gBAAgB,KAAK,WAAW,WAAW,WAAW;AAAA,MAC/D;AAAA,IACF;AAEA,WAAO,UAAU;AAAA;AAAA;AAAA,MAGf,SAAS,aAAa,CAAC;AAAA;AAAA;AAAA,MAGvB,KAAK,aAAa,CAAC;AAAA;AAAA;AAAA,MAGnB,QAAQ,aAAa,CAAC;AAAA;AAAA;AAAA,MAGtB,MAAM,aAAa,CAAC;AAAA;AAAA;AAAA,MAGpB,OAAO,aAAa,CAAC;AAAA;AAAA;AAAA,MAGrB,MAAM,aAAa,CAAC;AAAA;AAAA;AAAA,MAGpB,WAAW,aAAa,CAAC;AAAA;AAAA;AAAA,MAGzB,cAAc,aAAa,CAAC;AAAA,IAC9B;AAAA;AAAA;;;ACvEA;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAIE,cAAa;AACjB,QAAI,OAAO;AACX,QAAI,cAAc;AAClB,QAAI,UAAU;AACd,QAAI,cAAc;AAClB,QAAI,gBAAgB;AACpB,QAAI,QAAQ;AACZ,QAAIC,UAAS;AACb,QAAI,gBAAgB;AACpB,QAAI,WAAW;AACf,QAAI,kBAAkB;AACtB,QAAIC,iBAAgB;AACpB,QAAI,YAAY;AAChB,QAAI,2BAA2B;AAC/B,QAAI,qBAAqB;AACzB,QAAI,aAAa;AACjB,QAAI,4BAA4B;AAChC,QAAI,8BAA8B;AAClC,QAAI,8BAA8B;AAClC,QAAI,iCAAiC;AACrC,QAAI,uBAAuB;AAC3B,QAAI,yBAAyB;AAC7B,QAAI,6BAA6B;AACjC,QAAI,gBAAgB;AACpB,QAAI,wBAAwB;AAC5B,QAAI,SAAS;AACb,QAAI,YAAY;AAChB,QAAI,aAAa;AACjB,QAAI,MAAM;AACV,QAAI,kBAAkB;AACtB,QAAI,+BAA+B;AACnC,QAAI,wBAAwB;AAC5B,QAAI,0BAA0B;AAC9B,QAAI,iBAAiB;AACrB,QAAI,sBAAsB;AAC1B,QAAI,WAAW,0BAAwC;AAEvD,QAAI,SAAS,UAAU,QAAQ;AAC/B,QAAI,SAAS;AACb,QAAI,YAAY;AAEhB,QAAI,mBAAmB,oBAAoB;AAC3C,QAAI,mBAAmB,oBAAoB,UAAU,MAAM;AAE3D,QAAI,kBAAkB,OAAO,SAAS;AACtC,QAAI,UAAUF,YAAW;AACzB,QAAI,kBAAkB,WAAW,QAAQ,SAAS;AAClD,QAAI,aAAaA,YAAW;AAC5B,QAAIG,aAAYH,YAAW;AAC3B,QAAI,UAAUA,YAAW;AACzB,QAAI,iCAAiC,+BAA+B;AACpE,QAAI,uBAAuB,qBAAqB;AAChD,QAAI,4BAA4B,4BAA4B;AAC5D,QAAI,6BAA6B,2BAA2B;AAC5D,QAAI,OAAO,YAAY,CAAC,EAAE,IAAI;AAE9B,QAAI,aAAa,OAAO,SAAS;AACjC,QAAI,yBAAyB,OAAO,YAAY;AAChD,QAAI,wBAAwB,OAAO,KAAK;AAGxC,QAAI,aAAa,CAAC,WAAW,CAAC,QAAQ,SAAS,KAAK,CAAC,QAAQ,SAAS,EAAE;AAGxE,QAAI,yBAAyB,SAAU,GAAG,GAAG,YAAY;AACvD,UAAI,4BAA4B,+BAA+B,iBAAiB,CAAC;AACjF,UAAI,0BAA2B,QAAO,gBAAgB,CAAC;AACvD,2BAAqB,GAAG,GAAG,UAAU;AACrC,UAAI,6BAA6B,MAAM,iBAAiB;AACtD,6BAAqB,iBAAiB,GAAG,yBAAyB;AAAA,MACpE;AAAE,aAAO;AAAA,IACX;AAEA,QAAI,sBAAsB,eAAe,MAAM,WAAY;AACzD,aAAO,mBAAmB,qBAAqB,CAAC,GAAG,KAAK;AAAA,QACtD,KAAK,WAAY;AAAE,iBAAO,qBAAqB,MAAM,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE;AAAA,QAAG;AAAA,MAC7E,CAAC,CAAC,EAAE,MAAM;AAAA,IACZ,CAAC,IAAI,yBAAyB;AAE9B,QAAI,OAAO,SAAU,KAAK,aAAa;AACrC,UAAI,SAAS,WAAW,GAAG,IAAI,mBAAmB,eAAe;AACjE,uBAAiB,QAAQ;AAAA,QACvB,MAAM;AAAA,QACN;AAAA,QACA;AAAA,MACF,CAAC;AACD,UAAI,CAAC,YAAa,QAAO,cAAc;AACvC,aAAO;AAAA,IACT;AAEA,QAAI,kBAAkB,SAAS,eAAe,GAAG,GAAG,YAAY;AAC9D,UAAI,MAAM,gBAAiB,iBAAgB,wBAAwB,GAAG,UAAU;AAChF,eAAS,CAAC;AACV,UAAI,MAAME,eAAc,CAAC;AACzB,eAAS,UAAU;AACnB,UAAID,QAAO,YAAY,GAAG,GAAG;AAE3B,YAAI,EAAE,gBAAgB,cAAc,CAACA,QAAO,GAAG,GAAG,KAAMA,QAAO,GAAG,MAAM,KAAK,EAAE,MAAM,EAAE,GAAG,IAAK,CAAC,WAAW,YAAY;AACrH,cAAI,CAACA,QAAO,GAAG,MAAM,EAAG,sBAAqB,GAAG,QAAQ,yBAAyB,GAAG,mBAAmB,IAAI,CAAC,CAAC;AAC7G,YAAE,MAAM,EAAE,GAAG,IAAI;AAAA,QACnB,OAAO;AACL,cAAIA,QAAO,GAAG,MAAM,KAAK,EAAE,MAAM,EAAE,GAAG,EAAG,GAAE,MAAM,EAAE,GAAG,IAAI;AAC1D,uBAAa,mBAAmB,YAAY,EAAE,YAAY,yBAAyB,GAAG,KAAK,EAAE,CAAC;AAAA,QAChG;AAAE,eAAO,oBAAoB,GAAG,KAAK,UAAU;AAAA,MACjD;AAAE,aAAO,qBAAqB,GAAG,KAAK,UAAU;AAAA,IAClD;AAEA,QAAI,oBAAoB,SAAS,iBAAiB,GAAG,YAAY;AAC/D,eAAS,CAAC;AACV,UAAI,aAAa,gBAAgB,UAAU;AAC3C,UAAI,OAAO,WAAW,UAAU,EAAE,OAAO,uBAAuB,UAAU,CAAC;AAC3E,eAAS,MAAM,SAAU,KAAK;AAC5B,YAAI,CAAC,eAAe,KAAK,uBAAuB,YAAY,GAAG,EAAG,iBAAgB,GAAG,KAAK,WAAW,GAAG,CAAC;AAAA,MAC3G,CAAC;AACD,aAAO;AAAA,IACT;AAEA,QAAI,UAAU,SAAS,OAAO,GAAG,YAAY;AAC3C,aAAO,eAAe,SAAY,mBAAmB,CAAC,IAAI,kBAAkB,mBAAmB,CAAC,GAAG,UAAU;AAAA,IAC/G;AAEA,QAAI,wBAAwB,SAAS,qBAAqB,GAAG;AAC3D,UAAI,IAAIC,eAAc,CAAC;AACvB,UAAI,aAAa,KAAK,4BAA4B,MAAM,CAAC;AACzD,UAAI,SAAS,mBAAmBD,QAAO,YAAY,CAAC,KAAK,CAACA,QAAO,wBAAwB,CAAC,EAAG,QAAO;AACpG,aAAO,cAAc,CAACA,QAAO,MAAM,CAAC,KAAK,CAACA,QAAO,YAAY,CAAC,KAAKA,QAAO,MAAM,MAAM,KAAK,KAAK,MAAM,EAAE,CAAC,IACrG,aAAa;AAAA,IACnB;AAEA,QAAI,4BAA4B,SAAS,yBAAyB,GAAG,GAAG;AACtE,UAAI,KAAK,gBAAgB,CAAC;AAC1B,UAAI,MAAMC,eAAc,CAAC;AACzB,UAAI,OAAO,mBAAmBD,QAAO,YAAY,GAAG,KAAK,CAACA,QAAO,wBAAwB,GAAG,EAAG;AAC/F,UAAI,aAAa,+BAA+B,IAAI,GAAG;AACvD,UAAI,cAAcA,QAAO,YAAY,GAAG,KAAK,EAAEA,QAAO,IAAI,MAAM,KAAK,GAAG,MAAM,EAAE,GAAG,IAAI;AACrF,mBAAW,aAAa;AAAA,MAC1B;AACA,aAAO;AAAA,IACT;AAEA,QAAI,uBAAuB,SAAS,oBAAoB,GAAG;AACzD,UAAI,QAAQ,0BAA0B,gBAAgB,CAAC,CAAC;AACxD,UAAI,SAAS,CAAC;AACd,eAAS,OAAO,SAAU,KAAK;AAC7B,YAAI,CAACA,QAAO,YAAY,GAAG,KAAK,CAACA,QAAO,YAAY,GAAG,EAAG,MAAK,QAAQ,GAAG;AAAA,MAC5E,CAAC;AACD,aAAO;AAAA,IACT;AAEA,QAAI,yBAAyB,SAAU,GAAG;AACxC,UAAI,sBAAsB,MAAM;AAChC,UAAI,QAAQ,0BAA0B,sBAAsB,yBAAyB,gBAAgB,CAAC,CAAC;AACvG,UAAI,SAAS,CAAC;AACd,eAAS,OAAO,SAAU,KAAK;AAC7B,YAAIA,QAAO,YAAY,GAAG,MAAM,CAAC,uBAAuBA,QAAO,iBAAiB,GAAG,IAAI;AACrF,eAAK,QAAQ,WAAW,GAAG,CAAC;AAAA,QAC9B;AAAA,MACF,CAAC;AACD,aAAO;AAAA,IACT;AAIA,QAAI,CAAC,eAAe;AAClB,gBAAU,SAASG,UAAS;AAC1B,YAAI,cAAc,iBAAiB,IAAI,EAAG,OAAM,IAAID,WAAU,6BAA6B;AAC3F,YAAI,cAAc,CAAC,UAAU,UAAU,UAAU,CAAC,MAAM,SAAY,SAAY,UAAU,UAAU,CAAC,CAAC;AACtG,YAAI,MAAM,IAAI,WAAW;AACzB,YAAI,SAAS,SAAU,OAAO;AAC5B,cAAI,QAAQ,SAAS,SAAYH,cAAa;AAC9C,cAAI,UAAU,gBAAiB,MAAK,QAAQ,wBAAwB,KAAK;AACzE,cAAIC,QAAO,OAAO,MAAM,KAAKA,QAAO,MAAM,MAAM,GAAG,GAAG,EAAG,OAAM,MAAM,EAAE,GAAG,IAAI;AAC9E,cAAI,aAAa,yBAAyB,GAAG,KAAK;AAClD,cAAI;AACF,gCAAoB,OAAO,KAAK,UAAU;AAAA,UAC5C,SAAS,OAAO;AACd,gBAAI,EAAE,iBAAiB,YAAa,OAAM;AAC1C,mCAAuB,OAAO,KAAK,UAAU;AAAA,UAC/C;AAAA,QACF;AACA,YAAI,eAAe,WAAY,qBAAoB,iBAAiB,KAAK,EAAE,cAAc,MAAM,KAAK,OAAO,CAAC;AAC5G,eAAO,KAAK,KAAK,WAAW;AAAA,MAC9B;AAEA,wBAAkB,QAAQ,SAAS;AAEnC,oBAAc,iBAAiB,YAAY,SAAS,WAAW;AAC7D,eAAO,iBAAiB,IAAI,EAAE;AAAA,MAChC,CAAC;AAED,oBAAc,SAAS,iBAAiB,SAAU,aAAa;AAC7D,eAAO,KAAK,IAAI,WAAW,GAAG,WAAW;AAAA,MAC3C,CAAC;AAED,iCAA2B,IAAI;AAC/B,2BAAqB,IAAI;AACzB,6BAAuB,IAAI;AAC3B,qCAA+B,IAAI;AACnC,gCAA0B,IAAI,4BAA4B,IAAI;AAC9D,kCAA4B,IAAI;AAEhC,mCAA6B,IAAI,SAAU,MAAM;AAC/C,eAAO,KAAK,gBAAgB,IAAI,GAAG,IAAI;AAAA,MACzC;AAEA,UAAI,aAAa;AAEf,8BAAsB,iBAAiB,eAAe;AAAA,UACpD,cAAc;AAAA,UACd,KAAK,SAAS,cAAc;AAC1B,mBAAO,iBAAiB,IAAI,EAAE;AAAA,UAChC;AAAA,QACF,CAAC;AACD,YAAI,CAAC,SAAS;AACZ,wBAAc,iBAAiB,wBAAwB,uBAAuB,EAAE,QAAQ,KAAK,CAAC;AAAA,QAChG;AAAA,MACF;AAAA,IACF;AAEA,MAAE,EAAE,QAAQ,MAAM,aAAa,MAAM,MAAM,MAAM,QAAQ,CAAC,eAAe,MAAM,CAAC,cAAc,GAAG;AAAA,MAC/F,QAAQ;AAAA,IACV,CAAC;AAED,aAAS,WAAW,qBAAqB,GAAG,SAAU,MAAM;AAC1D,4BAAsB,IAAI;AAAA,IAC5B,CAAC;AAED,MAAE,EAAE,QAAQ,QAAQ,MAAM,MAAM,QAAQ,CAAC,cAAc,GAAG;AAAA,MACxD,WAAW,WAAY;AAAE,qBAAa;AAAA,MAAM;AAAA,MAC5C,WAAW,WAAY;AAAE,qBAAa;AAAA,MAAO;AAAA,IAC/C,CAAC;AAED,MAAE,EAAE,QAAQ,UAAU,MAAM,MAAM,QAAQ,CAAC,eAAe,MAAM,CAAC,YAAY,GAAG;AAAA;AAAA;AAAA,MAG9E,QAAQ;AAAA;AAAA;AAAA,MAGR,gBAAgB;AAAA;AAAA;AAAA,MAGhB,kBAAkB;AAAA;AAAA;AAAA,MAGlB,0BAA0B;AAAA,IAC5B,CAAC;AAED,MAAE,EAAE,QAAQ,UAAU,MAAM,MAAM,QAAQ,CAAC,cAAc,GAAG;AAAA;AAAA;AAAA,MAG1D,qBAAqB;AAAA,IACvB,CAAC;AAID,4BAAwB;AAIxB,mBAAe,SAAS,MAAM;AAE9B,eAAW,MAAM,IAAI;AAAA;AAAA;;;ACvQrB;AAAA;AAAA;AACA,QAAI,gBAAgB;AAGpB,WAAO,UAAU,iBAAiB,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,OAAO;AAAA;AAAA;;;ACJ9D;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,aAAa;AACjB,QAAII,UAAS;AACb,QAAI,WAAW;AACf,QAAI,SAAS;AACb,QAAI,yBAAyB;AAE7B,QAAI,yBAAyB,OAAO,2BAA2B;AAC/D,QAAI,yBAAyB,OAAO,2BAA2B;AAI/D,MAAE,EAAE,QAAQ,UAAU,MAAM,MAAM,QAAQ,CAAC,uBAAuB,GAAG;AAAA,MACnE,OAAO,SAAU,KAAK;AACpB,YAAI,SAAS,SAAS,GAAG;AACzB,YAAIA,QAAO,wBAAwB,MAAM,EAAG,QAAO,uBAAuB,MAAM;AAChF,YAAI,SAAS,WAAW,QAAQ,EAAE,MAAM;AACxC,+BAAuB,MAAM,IAAI;AACjC,+BAAuB,MAAM,IAAI;AACjC,eAAO;AAAA,MACT;AAAA,IACF,CAAC;AAAA;AAAA;;;ACtBD;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAIC,UAAS;AACb,QAAI,WAAW;AACf,QAAI,cAAc;AAClB,QAAI,SAAS;AACb,QAAI,yBAAyB;AAE7B,QAAI,yBAAyB,OAAO,2BAA2B;AAI/D,MAAE,EAAE,QAAQ,UAAU,MAAM,MAAM,QAAQ,CAAC,uBAAuB,GAAG;AAAA,MACnE,QAAQ,SAAS,OAAO,KAAK;AAC3B,YAAI,CAAC,SAAS,GAAG,EAAG,OAAM,IAAI,UAAU,YAAY,GAAG,IAAI,kBAAkB;AAC7E,YAAIA,QAAO,wBAAwB,GAAG,EAAG,QAAO,uBAAuB,GAAG;AAAA,MAC5E;AAAA,IACF,CAAC;AAAA;AAAA;;;ACjBD;AAAA;AAAA;AACA,QAAI,WAAW;AACf,QAAI,mBAAmB,yBAAuC;AAE9D,WAAO,UAAU,SAAS,UAAU,GAAG;AACrC,UAAI,CAAC,SAAS,CAAC,EAAG,QAAO;AACzB,UAAI,QAAQ,iBAAiB,CAAC;AAC9B,aAAO,CAAC,CAAC,SAAS,MAAM,SAAS;AAAA,IACnC;AAAA;AAAA;;;ACRA;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAIC,UAAS;AAEb,QAAI,eAAe;AACnB,QAAI,YAAY;AAChB,QAAI,eAAe,OAAO;AAC1B,QAAI,KAAK,YAAY,GAAG,MAAM;AAC9B,QAAIC,SAAQ,YAAY,GAAG,KAAK;AAChC,QAAI,OAAO,YAAY,IAAI,IAAI;AAE/B,QAAI,aAAa;AAAA,MACf,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAEA,QAAI,kBAAkB;AAEtB,QAAI,qBAAqB;AAEzB,WAAO,UAAU,SAAU,QAAQ,GAAG;AACpC,UAAI,eAAe;AACnB,UAAI,QAAQ;AACZ,aAAO,IAAI,OAAO,QAAQ;AACxB,YAAI,MAAM,GAAG,QAAQ,CAAC;AACtB,YAAI,QAAQ,MAAM;AAChB,cAAI,WAAWA,OAAM,QAAQ,GAAG,IAAI,CAAC;AACrC,cAAID,QAAO,YAAY,QAAQ,GAAG;AAChC,qBAAS,WAAW,QAAQ;AAC5B,iBAAK;AAAA,UACP,WAAW,aAAa,OAAO;AAC7B,iBAAK;AACL,gBAAI,gBAAgBC,OAAM,QAAQ,GAAG,IAAI,CAAC;AAC1C,gBAAI,CAAC,KAAK,iBAAiB,aAAa,EAAG,OAAM,IAAI,aAAa,4BAA4B,CAAC;AAC/F,qBAAS,aAAa,UAAU,eAAe,EAAE,CAAC;AAClD,iBAAK;AAAA,UACP,MAAO,OAAM,IAAI,aAAa,+BAA+B,WAAW,GAAG;AAAA,QAC7E,WAAW,QAAQ,KAAK;AACtB,yBAAe;AACf;AACA;AAAA,QACF,OAAO;AACL,cAAI,KAAK,oBAAoB,GAAG,EAAG,OAAM,IAAI,aAAa,iDAAiD,CAAC;AAC5G,mBAAS;AACT;AAAA,QACF;AAAA,MACF;AACA,UAAI,aAAc,OAAM,IAAI,aAAa,6BAA6B,CAAC;AACvE,aAAO,EAAE,OAAc,KAAK,EAAE;AAAA,IAChC;AAAA;AAAA;;;ACvDA;AAAA;AAAA;AAEA,QAAI,QAAQ;AAEZ,WAAO,UAAU,CAAC,MAAM,WAAY;AAClC,UAAI,YAAY;AAEhB,UAAI,MAAM,KAAK,QAAQ,SAAS;AAEhC,aAAO,CAAC,KAAK,UAAU,GAAG,KAAK,KAAK,UAAU,GAAG,MAAM;AAAA,IACzD,CAAC;AAAA;AAAA;;;ACVD;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,aAAa;AACjB,QAAI,QAAQ;AACZ,QAAI,OAAO;AACX,QAAI,cAAc;AAClB,QAAI,QAAQ;AACZ,QAAI,UAAU;AACd,QAAI,aAAa;AACjB,QAAI,YAAY;AAChB,QAAI,WAAW;AACf,QAAI,UAAU;AACd,QAAI,WAAW;AACf,QAAI,aAAa;AACjB,QAAI,kBAAkB;AACtB,QAAI,MAAM;AACV,QAAI,gBAAgB;AACpB,QAAI,kBAAkB;AAEtB,QAAI,UAAU;AACd,QAAI,aAAa,WAAW,QAAQ,WAAW;AAC/C,QAAI,OAAO,YAAY,IAAI,IAAI;AAC/B,QAAI,SAAS,YAAY,GAAG,MAAM;AAClC,QAAI,aAAa,YAAY,GAAG,UAAU;AAC1C,QAAIC,WAAU,YAAY,GAAG,OAAO;AACpC,QAAIC,SAAQ,YAAY,GAAG,KAAK;AAChC,QAAI,OAAO,YAAY,CAAC,EAAE,IAAI;AAC9B,QAAI,iBAAiB,YAAY,IAAI,QAAQ;AAE7C,QAAI,aAAa;AACjB,QAAI,oBAAoB;AACxB,QAAI,qBAAqB;AAEzB,QAAI,OAAO,IAAI;AACf,QAAI,cAAc,KAAK;AAEvB,QAAI,2BAA2B,CAAC,iBAAiB,MAAM,WAAY;AACjE,UAAI,SAAS,WAAW,QAAQ,EAAE,qBAAqB;AAEvD,aAAO,WAAW,CAAC,MAAM,CAAC,MAAM,YAE3B,WAAW,EAAE,GAAG,OAAO,CAAC,MAAM,QAE9B,WAAW,OAAO,MAAM,CAAC,MAAM;AAAA,IACtC,CAAC;AAGD,QAAI,qBAAqB,MAAM,WAAY;AACzC,aAAO,WAAW,cAAc,MAAM,sBACjC,WAAW,QAAQ,MAAM;AAAA,IAChC,CAAC;AAED,QAAI,uCAAuC,2BAA2B,SAAU,IAAI,UAAU;AAC5F,UAAI,OAAO,WAAW,SAAS;AAC/B,UAAI,YAAY,oBAAoB,QAAQ;AAC5C,UAAI,CAAC,WAAW,SAAS,MAAM,OAAO,UAAa,SAAS,EAAE,GAAI;AAClE,WAAK,CAAC,IAAI,SAAU,KAAK,OAAO;AAE9B,YAAI,WAAW,SAAS,EAAG,SAAQ,KAAK,WAAW,MAAM,QAAQ,GAAG,GAAG,KAAK;AAC5E,YAAI,CAAC,SAAS,KAAK,EAAG,QAAO;AAAA,MAC/B;AACA,aAAO,MAAM,YAAY,MAAM,IAAI;AAAA,IACrC,IAAI;AAEJ,QAAI,mBAAmB,SAAUC,QAAO,QAAQ,QAAQ;AACtD,UAAIC,QAAO,OAAO,QAAQ,SAAS,CAAC;AACpC,UAAIC,QAAO,OAAO,QAAQ,SAAS,CAAC;AACpC,UACG,KAAK,mBAAmBF,MAAK,KAAK,CAAC,KAAK,oBAAoBE,KAAI,KAChE,KAAK,oBAAoBF,MAAK,KAAK,CAAC,KAAK,mBAAmBC,KAAI,GACjE;AACA,eAAO,QAAQ,eAAe,WAAWD,QAAO,CAAC,GAAG,EAAE;AAAA,MACxD;AAAE,aAAOA;AAAA,IACX;AAEA,QAAI,sBAAsB,SAAU,UAAU;AAC5C,UAAI,WAAW,QAAQ,EAAG,QAAO;AACjC,UAAI,CAAC,QAAQ,QAAQ,EAAG;AACxB,UAAI,YAAY,SAAS;AACzB,UAAI,OAAO,CAAC;AACZ,eAAS,IAAI,GAAG,IAAI,WAAW,KAAK;AAClC,YAAI,UAAU,SAAS,CAAC;AACxB,YAAI,OAAO,WAAW,SAAU,MAAK,MAAM,OAAO;AAAA,iBACzC,OAAO,WAAW,YAAY,QAAQ,OAAO,MAAM,YAAY,QAAQ,OAAO,MAAM,SAAU,MAAK,MAAM,SAAS,OAAO,CAAC;AAAA,MACrI;AACA,UAAI,aAAa,KAAK;AACtB,UAAI,OAAO;AACX,aAAO,SAAU,KAAK,OAAO;AAC3B,YAAI,MAAM;AACR,iBAAO;AACP,iBAAO;AAAA,QACT;AACA,YAAI,QAAQ,IAAI,EAAG,QAAO;AAC1B,iBAAS,IAAI,GAAG,IAAI,YAAY,IAAK,KAAI,KAAK,CAAC,MAAM,IAAK,QAAO;AAAA,MACnE;AAAA,IACF;AAKA,QAAI,WAAY,GAAE,EAAE,QAAQ,QAAQ,MAAM,MAAM,OAAO,GAAG,QAAQ,4BAA4B,sBAAsB,CAAC,gBAAgB,GAAG;AAAA,MACtI,WAAW,SAASG,WAAU,MAAM,UAAU,OAAO;AACnD,YAAI,mBAAmB,oBAAoB,QAAQ;AACnD,YAAI,aAAa,CAAC;AAElB,YAAI,OAAO,qCAAqC,MAAM,SAAU,KAAK,OAAO;AAE1E,cAAI,IAAI,WAAW,gBAAgB,IAAI,KAAK,kBAAkB,MAAM,QAAQ,GAAG,GAAG,KAAK,IAAI;AAC3F,iBAAO,CAAC,mBAAmB,UAAU,CAAC,IAAI,QAAQ,KAAK,YAAY,EAAE,OAAO,IAAI,KAAK;AAAA,QACvF,GAAG,KAAK;AAER,YAAI,OAAO,QAAQ,SAAU,QAAO;AAEpC,YAAI,mBAAoB,QAAOL,SAAQ,MAAM,YAAY,gBAAgB;AAEzE,YAAI,gBAAiB,QAAO;AAE5B,YAAI,SAAS;AACb,YAAIM,UAAS,KAAK;AAElB,iBAAS,IAAI,GAAG,IAAIA,SAAQ,KAAK;AAC/B,cAAI,MAAM,OAAO,MAAM,CAAC;AACxB,cAAI,QAAQ,KAAK;AACf,gBAAI,MAAM,gBAAgB,MAAM,EAAE,CAAC,EAAE,MAAM;AAC3C,gBAAI,SAASL,OAAM,MAAM,GAAG,GAAG;AAC/B,sBAAUA,OAAM,QAAQ,GAAG,WAAW,MAAM,OACxC,WAAWA,OAAM,QAAQ,WAAW,CAAC,IACrC,MAAM,SAAS;AACnB,gBAAI;AAAA,UACN,MAAO,WAAU;AAAA,QACnB;AAEA,eAAO;AAAA,MACT;AAAA,IACF,CAAC;AAAA;AAAA;;;ACtID;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,gBAAgB;AACpB,QAAI,QAAQ;AACZ,QAAI,8BAA8B;AAClC,QAAI,WAAW;AAIf,QAAI,SAAS,CAAC,iBAAiB,MAAM,WAAY;AAAE,kCAA4B,EAAE,CAAC;AAAA,IAAG,CAAC;AAItF,MAAE,EAAE,QAAQ,UAAU,MAAM,MAAM,QAAQ,OAAO,GAAG;AAAA,MAClD,uBAAuB,SAAS,sBAAsB,IAAI;AACxD,YAAI,yBAAyB,4BAA4B;AACzD,eAAO,yBAAyB,uBAAuB,SAAS,EAAE,CAAC,IAAI,CAAC;AAAA,MAC1E;AAAA,IACF,CAAC;AAAA;AAAA;;;AClBD;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;;;ACNA;AAAA;AAAA;AACA,QAAI,wBAAwB;AAI5B,0BAAsB,cAAc;AAAA;AAAA;;;ACLpC;AAAA;AAAA;AACA,QAAI,wBAAwB;AAI5B,0BAAsB,eAAe;AAAA;AAAA;;;ACLrC;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AACA,QAAI,wBAAwB;AAI5B,0BAAsB,SAAS;AAAA;AAAA;;;ACL/B;AAAA;AAAA;AACA,QAAI,wBAAwB;AAI5B,0BAAsB,aAAa;AAAA;AAAA;;;ACLnC;AAAA;AAAA;AACA,QAAI,wBAAwB;AAI5B,0BAAsB,oBAAoB;AAAA;AAAA;;;ACL1C;AAAA;AAAA;AACA,QAAI,wBAAwB;AAI5B,0BAAsB,UAAU;AAAA;AAAA;;;ACLhC;AAAA;AAAA;AACA,QAAI,wBAAwB;AAI5B,0BAAsB,OAAO;AAAA;AAAA;;;ACL7B;AAAA;AAAA;AACA,QAAI,wBAAwB;AAI5B,0BAAsB,UAAU;AAAA;AAAA;;;ACLhC;AAAA;AAAA;AACA,QAAI,wBAAwB;AAI5B,0BAAsB,SAAS;AAAA;AAAA;;;ACL/B;AAAA;AAAA;AACA,QAAI,wBAAwB;AAI5B,0BAAsB,QAAQ;AAAA;AAAA;;;ACL9B;AAAA;AAAA;AACA,QAAI,wBAAwB;AAI5B,0BAAsB,SAAS;AAAA;AAAA;;;ACL/B;AAAA;AAAA;AACA,QAAI,wBAAwB;AAI5B,0BAAsB,OAAO;AAAA;AAAA;;;ACL7B;AAAA;AAAA;AACA,QAAI,wBAAwB;AAC5B,QAAI,0BAA0B;AAI9B,0BAAsB,aAAa;AAInC,4BAAwB;AAAA;AAAA;;;ACVxB;AAAA;AAAA;AACA,QAAI,aAAa;AACjB,QAAI,wBAAwB;AAC5B,QAAI,iBAAiB;AAIrB,0BAAsB,aAAa;AAInC,mBAAe,WAAW,QAAQ,GAAG,QAAQ;AAAA;AAAA;;;ACX7C;AAAA;AAAA;AACA,QAAI,wBAAwB;AAI5B,0BAAsB,aAAa;AAAA;AAAA;;;ACLnC;AAAA;AAAA;AACA,QAAIM,cAAa;AACjB,QAAI,iBAAiB;AAIrB,mBAAeA,YAAW,MAAM,QAAQ,IAAI;AAAA;AAAA;;;ACN5C;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAI,OAAO;AAEX,WAAO,UAAU,KAAK;AAAA;AAAA;;;ACzBtB;AAAA;AAAA;AACA,WAAO,UAAU,WAAY;AAAA,IAAc;AAAA;AAAA;;;ACD3C;AAAA;AAAA;AACA,WAAO,UAAU,CAAC;AAAA;AAAA;;;ACDlB;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAIC,UAAS;AAEb,QAAI,oBAAoB,SAAS;AAEjC,QAAI,gBAAgB,eAAe,OAAO;AAE1C,QAAI,SAASA,QAAO,mBAAmB,MAAM;AAE7C,QAAI,SAAS,UAAU,SAAS,YAAY;AAAA,IAAc,EAAE,SAAS;AACrE,QAAI,eAAe,WAAW,CAAC,eAAgB,eAAe,cAAc,mBAAmB,MAAM,EAAE;AAEvG,WAAO,UAAU;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA;;;ACjBA;AAAA;AAAA;AACA,QAAI,QAAQ;AAEZ,WAAO,UAAU,CAAC,MAAM,WAAY;AAClC,eAAS,IAAI;AAAA,MAAc;AAC3B,QAAE,UAAU,cAAc;AAE1B,aAAO,OAAO,eAAe,IAAI,EAAE,CAAC,MAAM,EAAE;AAAA,IAC9C,CAAC;AAAA;AAAA;;;ACRD;AAAA;AAAA;AACA,QAAIC,UAAS;AACb,QAAI,aAAa;AACjB,QAAI,WAAW;AACf,QAAI,YAAY;AAChB,QAAI,2BAA2B;AAE/B,QAAI,WAAW,UAAU,UAAU;AACnC,QAAI,UAAU;AACd,QAAI,kBAAkB,QAAQ;AAK9B,WAAO,UAAU,2BAA2B,QAAQ,iBAAiB,SAAU,GAAG;AAChF,UAAI,SAAS,SAAS,CAAC;AACvB,UAAIA,QAAO,QAAQ,QAAQ,EAAG,QAAO,OAAO,QAAQ;AACpD,UAAI,cAAc,OAAO;AACzB,UAAI,WAAW,WAAW,KAAK,kBAAkB,aAAa;AAC5D,eAAO,YAAY;AAAA,MACrB;AAAE,aAAO,kBAAkB,UAAU,kBAAkB;AAAA,IACzD;AAAA;AAAA;;;ACrBA;AAAA;AAAA;AACA,QAAI,QAAQ;AACZ,QAAI,aAAa;AACjB,QAAI,WAAW;AACf,QAAI,SAAS;AACb,QAAI,iBAAiB;AACrB,QAAI,gBAAgB;AACpB,QAAI,kBAAkB;AACtB,QAAI,UAAU;AAEd,QAAI,WAAW,gBAAgB,UAAU;AACzC,QAAI,yBAAyB;AAI7B,QAAI;AAAJ,QAAuB;AAAvB,QAA0D;AAG1D,QAAI,CAAC,EAAE,MAAM;AACX,sBAAgB,CAAC,EAAE,KAAK;AAExB,UAAI,EAAE,UAAU,eAAgB,0BAAyB;AAAA,WACpD;AACH,4CAAoC,eAAe,eAAe,aAAa,CAAC;AAChF,YAAI,sCAAsC,OAAO,UAAW,qBAAoB;AAAA,MAClF;AAAA,IACF;AAEA,QAAI,yBAAyB,CAAC,SAAS,iBAAiB,KAAK,MAAM,WAAY;AAC7E,UAAI,OAAO,CAAC;AAEZ,aAAO,kBAAkB,QAAQ,EAAE,KAAK,IAAI,MAAM;AAAA,IACpD,CAAC;AAED,QAAI,uBAAwB,qBAAoB,CAAC;AAAA,aACxC,QAAS,qBAAoB,OAAO,iBAAiB;AAI9D,QAAI,CAAC,WAAW,kBAAkB,QAAQ,CAAC,GAAG;AAC5C,oBAAc,mBAAmB,UAAU,WAAY;AACrD,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAEA,WAAO,UAAU;AAAA,MACf;AAAA,MACA;AAAA,IACF;AAAA;AAAA;;;AChDA;AAAA;AAAA;AACA,QAAI,oBAAoB,yBAAuC;AAC/D,QAAI,SAAS;AACb,QAAI,2BAA2B;AAC/B,QAAI,iBAAiB;AACrB,QAAI,YAAY;AAEhB,QAAI,aAAa,WAAY;AAAE,aAAO;AAAA,IAAM;AAE5C,WAAO,UAAU,SAAU,qBAAqB,MAAMC,OAAM,iBAAiB;AAC3E,UAAI,gBAAgB,OAAO;AAC3B,0BAAoB,YAAY,OAAO,mBAAmB,EAAE,MAAM,yBAAyB,CAAC,CAAC,iBAAiBA,KAAI,EAAE,CAAC;AACrH,qBAAe,qBAAqB,eAAe,OAAO,IAAI;AAC9D,gBAAU,aAAa,IAAI;AAC3B,aAAO;AAAA,IACT;AAAA;AAAA;;;ACfA;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAI,YAAY;AAEhB,WAAO,UAAU,SAAU,QAAQ,KAAK,QAAQ;AAC9C,UAAI;AAEF,eAAO,YAAY,UAAU,OAAO,yBAAyB,QAAQ,GAAG,EAAE,MAAM,CAAC,CAAC;AAAA,MACpF,SAAS,OAAO;AAAA,MAAc;AAAA,IAChC;AAAA;AAAA;;;ACTA;AAAA;AAAA;AACA,QAAI,WAAW;AAEf,WAAO,UAAU,SAAU,UAAU;AACnC,aAAO,SAAS,QAAQ,KAAK,aAAa;AAAA,IAC5C;AAAA;AAAA;;;ACLA;AAAA;AAAA;AACA,QAAI,sBAAsB;AAE1B,QAAI,UAAU;AACd,QAAI,aAAa;AAEjB,WAAO,UAAU,SAAU,UAAU;AACnC,UAAI,oBAAoB,QAAQ,EAAG,QAAO;AAC1C,YAAM,IAAI,WAAW,eAAe,QAAQ,QAAQ,IAAI,iBAAiB;AAAA,IAC3E;AAAA;AAAA;;;ACTA;AAAA;AAAA;AAEA,QAAI,sBAAsB;AAC1B,QAAI,WAAW;AACf,QAAI,yBAAyB;AAC7B,QAAI,qBAAqB;AAMzB,WAAO,UAAU,OAAO,mBAAmB,eAAe,CAAC,KAAI,WAAY;AACzE,UAAI,iBAAiB;AACrB,UAAI,OAAO,CAAC;AACZ,UAAI;AACJ,UAAI;AACF,iBAAS,oBAAoB,OAAO,WAAW,aAAa,KAAK;AACjE,eAAO,MAAM,CAAC,CAAC;AACf,yBAAiB,gBAAgB;AAAA,MACnC,SAAS,OAAO;AAAA,MAAc;AAC9B,aAAO,SAAS,eAAe,GAAG,OAAO;AACvC,+BAAuB,CAAC;AACxB,2BAAmB,KAAK;AACxB,YAAI,CAAC,SAAS,CAAC,EAAG,QAAO;AACzB,YAAI,eAAgB,QAAO,GAAG,KAAK;AAAA,YAC9B,GAAE,YAAY;AACnB,eAAO;AAAA,MACT;AAAA,IACF,GAAE,IAAI;AAAA;AAAA;;;AC5BN;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,OAAO;AACX,QAAI,UAAU;AACd,QAAI,eAAe;AACnB,QAAI,aAAa;AACjB,QAAI,4BAA4B;AAChC,QAAI,iBAAiB;AACrB,QAAI,iBAAiB;AACrB,QAAI,iBAAiB;AACrB,QAAI,8BAA8B;AAClC,QAAI,gBAAgB;AACpB,QAAI,kBAAkB;AACtB,QAAI,YAAY;AAChB,QAAI,gBAAgB;AAEpB,QAAI,uBAAuB,aAAa;AACxC,QAAI,6BAA6B,aAAa;AAC9C,QAAI,oBAAoB,cAAc;AACtC,QAAI,yBAAyB,cAAc;AAC3C,QAAI,WAAW,gBAAgB,UAAU;AACzC,QAAI,OAAO;AACX,QAAI,SAAS;AACb,QAAI,UAAU;AAEd,QAAI,aAAa,WAAY;AAAE,aAAO;AAAA,IAAM;AAE5C,WAAO,UAAU,SAAU,UAAU,MAAM,qBAAqBC,OAAM,SAAS,QAAQ,QAAQ;AAC7F,gCAA0B,qBAAqB,MAAMA,KAAI;AAEzD,UAAI,qBAAqB,SAAU,MAAM;AACvC,YAAI,SAAS,WAAW,gBAAiB,QAAO;AAChD,YAAI,CAAC,0BAA0B,QAAQ,QAAQ,kBAAmB,QAAO,kBAAkB,IAAI;AAE/F,gBAAQ,MAAM;AAAA,UACZ,KAAK;AAAM,mBAAO,SAAS,OAAO;AAAE,qBAAO,IAAI,oBAAoB,MAAM,IAAI;AAAA,YAAG;AAAA,UAChF,KAAK;AAAQ,mBAAO,SAAS,SAAS;AAAE,qBAAO,IAAI,oBAAoB,MAAM,IAAI;AAAA,YAAG;AAAA,UACpF,KAAK;AAAS,mBAAO,SAAS,UAAU;AAAE,qBAAO,IAAI,oBAAoB,MAAM,IAAI;AAAA,YAAG;AAAA,QACxF;AAEA,eAAO,WAAY;AAAE,iBAAO,IAAI,oBAAoB,IAAI;AAAA,QAAG;AAAA,MAC7D;AAEA,UAAI,gBAAgB,OAAO;AAC3B,UAAI,wBAAwB;AAC5B,UAAI,oBAAoB,SAAS;AACjC,UAAI,iBAAiB,kBAAkB,QAAQ,KAC1C,kBAAkB,YAAY,KAC9B,WAAW,kBAAkB,OAAO;AACzC,UAAI,kBAAkB,CAAC,0BAA0B,kBAAkB,mBAAmB,OAAO;AAC7F,UAAI,oBAAoB,SAAS,UAAU,kBAAkB,WAAW,iBAAiB;AACzF,UAAI,0BAA0B,SAAS;AAGvC,UAAI,mBAAmB;AACrB,mCAA2B,eAAe,kBAAkB,KAAK,IAAI,SAAS,CAAC,CAAC;AAChF,YAAI,6BAA6B,OAAO,aAAa,yBAAyB,MAAM;AAClF,cAAI,CAAC,WAAW,eAAe,wBAAwB,MAAM,mBAAmB;AAC9E,gBAAI,gBAAgB;AAClB,6BAAe,0BAA0B,iBAAiB;AAAA,YAC5D,WAAW,CAAC,WAAW,yBAAyB,QAAQ,CAAC,GAAG;AAC1D,4BAAc,0BAA0B,UAAU,UAAU;AAAA,YAC9D;AAAA,UACF;AAEA,yBAAe,0BAA0B,eAAe,MAAM,IAAI;AAClE,cAAI,QAAS,WAAU,aAAa,IAAI;AAAA,QAC1C;AAAA,MACF;AAGA,UAAI,wBAAwB,YAAY,UAAU,kBAAkB,eAAe,SAAS,QAAQ;AAClG,YAAI,CAAC,WAAW,4BAA4B;AAC1C,sCAA4B,mBAAmB,QAAQ,MAAM;AAAA,QAC/D,OAAO;AACL,kCAAwB;AACxB,4BAAkB,SAAS,SAAS;AAAE,mBAAO,KAAK,gBAAgB,IAAI;AAAA,UAAG;AAAA,QAC3E;AAAA,MACF;AAGA,UAAI,SAAS;AACX,kBAAU;AAAA,UACR,QAAQ,mBAAmB,MAAM;AAAA,UACjC,MAAM,SAAS,kBAAkB,mBAAmB,IAAI;AAAA,UACxD,SAAS,mBAAmB,OAAO;AAAA,QACrC;AACA,YAAI,OAAQ,MAAK,OAAO,SAAS;AAC/B,cAAI,0BAA0B,yBAAyB,EAAE,OAAO,oBAAoB;AAClF,0BAAc,mBAAmB,KAAK,QAAQ,GAAG,CAAC;AAAA,UACpD;AAAA,QACF;AAAA,YAAO,GAAE,EAAE,QAAQ,MAAM,OAAO,MAAM,QAAQ,0BAA0B,sBAAsB,GAAG,OAAO;AAAA,MAC1G;AAGA,WAAK,CAAC,WAAW,WAAW,kBAAkB,QAAQ,MAAM,iBAAiB;AAC3E,sBAAc,mBAAmB,UAAU,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAAA,MAC/E;AACA,gBAAU,IAAI,IAAI;AAElB,aAAO;AAAA,IACT;AAAA;AAAA;;;ACrGA;AAAA;AAAA;AAGA,WAAO,UAAU,SAAU,OAAO,MAAM;AACtC,aAAO,EAAE,OAAc,KAAW;AAAA,IACpC;AAAA;AAAA;;;ACLA;AAAA;AAAA;AACA,QAAI,kBAAkB;AACtB,QAAI,mBAAmB;AACvB,QAAI,YAAY;AAChB,QAAI,sBAAsB;AAC1B,QAAI,iBAAiB,iCAA+C;AACpE,QAAI,iBAAiB;AACrB,QAAI,yBAAyB;AAC7B,QAAI,UAAU;AACd,QAAI,cAAc;AAElB,QAAI,iBAAiB;AACrB,QAAI,mBAAmB,oBAAoB;AAC3C,QAAI,mBAAmB,oBAAoB,UAAU,cAAc;AAYnE,WAAO,UAAU,eAAe,OAAO,SAAS,SAAU,UAAU,MAAM;AACxE,uBAAiB,MAAM;AAAA,QACrB,MAAM;AAAA,QACN,QAAQ,gBAAgB,QAAQ;AAAA;AAAA,QAChC,OAAO;AAAA;AAAA,QACP;AAAA;AAAA,MACF,CAAC;AAAA,IAGH,GAAG,WAAY;AACb,UAAI,QAAQ,iBAAiB,IAAI;AACjC,UAAI,SAAS,MAAM;AACnB,UAAI,QAAQ,MAAM;AAClB,UAAI,CAAC,UAAU,SAAS,OAAO,QAAQ;AACrC,cAAM,SAAS;AACf,eAAO,uBAAuB,QAAW,IAAI;AAAA,MAC/C;AACA,cAAQ,MAAM,MAAM;AAAA,QAClB,KAAK;AAAQ,iBAAO,uBAAuB,OAAO,KAAK;AAAA,QACvD,KAAK;AAAU,iBAAO,uBAAuB,OAAO,KAAK,GAAG,KAAK;AAAA,MACnE;AAAE,aAAO,uBAAuB,CAAC,OAAO,OAAO,KAAK,CAAC,GAAG,KAAK;AAAA,IAC/D,GAAG,QAAQ;AAKX,QAAI,SAAS,UAAU,YAAY,UAAU;AAG7C,qBAAiB,MAAM;AACvB,qBAAiB,QAAQ;AACzB,qBAAiB,SAAS;AAG1B,QAAI,CAAC,WAAW,eAAe,OAAO,SAAS,SAAU,KAAI;AAC3D,qBAAe,QAAQ,QAAQ,EAAE,OAAO,SAAS,CAAC;AAAA,IACpD,SAAS,OAAO;AAAA,IAAc;AAAA;AAAA;;;AC7D9B;AAAA;AAAA;AAGA,WAAO,UAAU;AAAA,MACf,aAAa;AAAA,MACb,qBAAqB;AAAA,MACrB,cAAc;AAAA,MACd,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,eAAe;AAAA,MACf,cAAc;AAAA,MACd,sBAAsB;AAAA,MACtB,UAAU;AAAA,MACV,mBAAmB;AAAA,MACnB,gBAAgB;AAAA,MAChB,iBAAiB;AAAA,MACjB,mBAAmB;AAAA,MACnB,WAAW;AAAA,MACX,eAAe;AAAA,MACf,cAAc;AAAA,MACd,UAAU;AAAA,MACV,kBAAkB;AAAA,MAClB,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,eAAe;AAAA,MACf,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,cAAc;AAAA,MACd,eAAe;AAAA,MACf,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,MAClB,eAAe;AAAA,MACf,WAAW;AAAA,IACb;AAAA;AAAA;;;ACnCA;AAAA;AAAA;AACA;AACA,QAAI,eAAe;AACnB,QAAIC,cAAa;AACjB,QAAI,iBAAiB;AACrB,QAAI,YAAY;AAEhB,SAAS,mBAAmB,cAAc;AACxC,qBAAeA,YAAW,eAAe,GAAG,eAAe;AAC3D,gBAAU,eAAe,IAAI,UAAU;AAAA,IACzC;AAHS;AAAA;AAAA;;;ACPT,IAAAC,kBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AACb;AAEA,WAAO,UAAU;AAAA;AAAA;;;ACJjB;AAAA;AAAA;AACA,QAAI,kBAAkB;AACtB,QAAI,iBAAiB,iCAA+C;AAEpE,QAAI,WAAW,gBAAgB,UAAU;AACzC,QAAI,oBAAoB,SAAS;AAIjC,QAAI,kBAAkB,QAAQ,MAAM,QAAW;AAC7C,qBAAe,mBAAmB,UAAU;AAAA,QAC1C,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA;AAAA;;;ACbA;AAAA;AAAA;AAEA;AAAA;AAAA;;;ACFA;AAAA;AAAA;AAEA;AAAA;AAAA;;;ACFA;AAAA;AAAA;AACA,QAAI,wBAAwB;AAI5B,0BAAsB,UAAU;AAAA;AAAA;;;ACLhC,IAAAC,kBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb;AACA;AACA;AACA;AAEA,WAAO,UAAU;AAAA;AAAA;;;ACRjB;AAAA;AAAA;AACA,QAAI,aAAa;AACjB,QAAI,cAAc;AAElB,QAAIC,UAAS,WAAW,QAAQ;AAChC,QAAI,SAASA,QAAO;AACpB,QAAI,kBAAkB,YAAYA,QAAO,UAAU,OAAO;AAI1D,WAAO,UAAUA,QAAO,sBAAsB,SAAS,mBAAmB,OAAO;AAC/E,UAAI;AACF,eAAO,OAAO,gBAAgB,KAAK,CAAC,MAAM;AAAA,MAC5C,SAAS,OAAO;AACd,eAAO;AAAA,MACT;AAAA,IACF;AAAA;AAAA;;;AChBA;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,qBAAqB;AAIzB,MAAE,EAAE,QAAQ,UAAU,MAAM,KAAK,GAAG;AAAA,MAClC;AAAA,IACF,CAAC;AAAA;AAAA;;;ACRD;AAAA;AAAA;AACA,QAAI,SAAS;AACb,QAAI,aAAa;AACjB,QAAI,cAAc;AAClB,QAAI,WAAW;AACf,QAAI,kBAAkB;AAEtB,QAAIC,UAAS,WAAW,QAAQ;AAChC,QAAI,qBAAqBA,QAAO;AAChC,QAAI,sBAAsB,WAAW,UAAU,qBAAqB;AACpE,QAAI,kBAAkB,YAAYA,QAAO,UAAU,OAAO;AAC1D,QAAI,wBAAwB,OAAO,KAAK;AAExC,SAAS,IAAI,GAAG,aAAa,oBAAoBA,OAAM,GAAG,mBAAmB,WAAW,QAAQ,IAAI,kBAAkB,KAAK;AAEzH,UAAI;AACE,oBAAY,WAAW,CAAC;AAC5B,YAAI,SAASA,QAAO,SAAS,CAAC,EAAG,iBAAgB,SAAS;AAAA,MAC5D,SAAS,OAAO;AAAA,MAAc;AAAA,IAChC;AAHQ;AAHC;AAAO;AAA0C;AAW1D,WAAO,UAAU,SAAS,kBAAkB,OAAO;AACjD,UAAI,sBAAsB,mBAAmB,KAAK,EAAG,QAAO;AAC5D,UAAI;AACF,YAAI,SAAS,gBAAgB,KAAK;AAClC,iBAAS,IAAI,GAAG,OAAO,oBAAoB,qBAAqB,GAAG,aAAa,KAAK,QAAQ,IAAI,YAAY,KAAK;AAEhH,cAAI,sBAAsB,KAAK,CAAC,CAAC,KAAK,OAAQ,QAAO;AAAA,QACvD;AAAA,MACF,SAAS,OAAO;AAAA,MAAc;AAC9B,aAAO;AAAA,IACT;AAAA;AAAA;;;AClCA;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,oBAAoB;AAKxB,MAAE,EAAE,QAAQ,UAAU,MAAM,MAAM,QAAQ,KAAK,GAAG;AAAA,MAChD;AAAA,IACF,CAAC;AAAA;AAAA;;;ACTD;AAAA;AAAA;AACA,QAAI,wBAAwB;AAI5B,0BAAsB,eAAe;AAAA;AAAA;;;ACLrC;AAAA;AAAA;AACA,QAAI,wBAAwB;AAI5B,0BAAsB,YAAY;AAAA;AAAA;;;ACLlC;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,qBAAqB;AAIzB,MAAE,EAAE,QAAQ,UAAU,MAAM,MAAM,MAAM,qBAAqB,GAAG;AAAA,MAC9D,cAAc;AAAA,IAChB,CAAC;AAAA;AAAA;;;ACRD;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,oBAAoB;AAKxB,MAAE,EAAE,QAAQ,UAAU,MAAM,MAAM,MAAM,qBAAqB,QAAQ,KAAK,GAAG;AAAA,MAC3E,aAAa;AAAA,IACf,CAAC;AAAA;AAAA;;;ACTD;AAAA;AAAA;AACA,QAAI,wBAAwB;AAI5B,0BAAsB,SAAS;AAAA;AAAA;;;ACL/B;AAAA;AAAA;AAEA,QAAI,wBAAwB;AAI5B,0BAAsB,aAAa;AAAA;AAAA;;;ACNnC;AAAA;AAAA;AAEA,QAAI,wBAAwB;AAI5B,0BAAsB,cAAc;AAAA;AAAA;;;ACNpC;AAAA;AAAA;AAEA,QAAI,wBAAwB;AAE5B,0BAAsB,YAAY;AAAA;AAAA;;;ACJlC,IAAAC,kBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AACb;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA,WAAO,UAAU;AAAA;AAAA;;;ACdjB,IAAAC,kBAAA;AAAA;AAAA;AACA,WAAO,UAAU;AAAA;AAAA;;;ACDjB;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAI,sBAAsB;AAC1B,QAAI,WAAW;AACf,QAAI,yBAAyB;AAE7B,QAAI,SAAS,YAAY,GAAG,MAAM;AAClC,QAAI,aAAa,YAAY,GAAG,UAAU;AAC1C,QAAI,cAAc,YAAY,GAAG,KAAK;AAEtC,QAAI,eAAe,SAAU,mBAAmB;AAC9C,aAAO,SAAU,OAAO,KAAK;AAC3B,YAAI,IAAI,SAAS,uBAAuB,KAAK,CAAC;AAC9C,YAAIC,YAAW,oBAAoB,GAAG;AACtC,YAAI,OAAO,EAAE;AACb,YAAI,OAAO;AACX,YAAIA,YAAW,KAAKA,aAAY,KAAM,QAAO,oBAAoB,KAAK;AACtE,gBAAQ,WAAW,GAAGA,SAAQ;AAC9B,eAAO,QAAQ,SAAU,QAAQ,SAAUA,YAAW,MAAM,SACtD,SAAS,WAAW,GAAGA,YAAW,CAAC,KAAK,SAAU,SAAS,QAC3D,oBACE,OAAO,GAAGA,SAAQ,IAClB,QACF,oBACE,YAAY,GAAGA,WAAUA,YAAW,CAAC,KACpC,QAAQ,SAAU,OAAO,SAAS,SAAU;AAAA,MACvD;AAAA,IACF;AAEA,WAAO,UAAU;AAAA;AAAA;AAAA,MAGf,QAAQ,aAAa,KAAK;AAAA;AAAA;AAAA,MAG1B,QAAQ,aAAa,IAAI;AAAA,IAC3B;AAAA;AAAA;;;ACpCA;AAAA;AAAA;AACA,QAAI,SAAS,2BAAyC;AACtD,QAAI,WAAW;AACf,QAAI,sBAAsB;AAC1B,QAAI,iBAAiB;AACrB,QAAI,yBAAyB;AAE7B,QAAI,kBAAkB;AACtB,QAAI,mBAAmB,oBAAoB;AAC3C,QAAI,mBAAmB,oBAAoB,UAAU,eAAe;AAIpE,mBAAe,QAAQ,UAAU,SAAU,UAAU;AACnD,uBAAiB,MAAM;AAAA,QACrB,MAAM;AAAA,QACN,QAAQ,SAAS,QAAQ;AAAA,QACzB,OAAO;AAAA,MACT,CAAC;AAAA,IAGH,GAAG,SAASC,QAAO;AACjB,UAAI,QAAQ,iBAAiB,IAAI;AACjC,UAAI,SAAS,MAAM;AACnB,UAAI,QAAQ,MAAM;AAClB,UAAI;AACJ,UAAI,SAAS,OAAO,OAAQ,QAAO,uBAAuB,QAAW,IAAI;AACzE,cAAQ,OAAO,QAAQ,KAAK;AAC5B,YAAM,SAAS,MAAM;AACrB,aAAO,uBAAuB,OAAO,KAAK;AAAA,IAC5C,CAAC;AAAA;AAAA;;;AC9BD;AAAA;AAAA;AACA,QAAI,UAAU;AACd,QAAI,YAAY;AAChB,QAAI,oBAAoB;AACxB,QAAI,YAAY;AAChB,QAAI,kBAAkB;AAEtB,QAAI,WAAW,gBAAgB,UAAU;AAEzC,WAAO,UAAU,SAAU,IAAI;AAC7B,UAAI,CAAC,kBAAkB,EAAE,EAAG,QAAO,UAAU,IAAI,QAAQ,KACpD,UAAU,IAAI,YAAY,KAC1B,UAAU,QAAQ,EAAE,CAAC;AAAA,IAC5B;AAAA;AAAA;;;ACbA,IAAAC,+BAAA;AAAA;AAAA;AACA;AACA;AACA,QAAI,oBAAoB;AAExB,WAAO,UAAU;AAAA;AAAA;;;ACLjB,IAAAC,+BAAA;AAAA;AAAA;AACA,QAAI,SAAS;AACb;AAEA,WAAO,UAAU;AAAA;AAAA;;;ACJjB,IAAAC,+BAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,+BAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,+BAAA;AAAA;AAAA;AACA,WAAO,UAAU;AAAA;AAAA;;;ACDjB;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,WAAW;AACf,QAAI,oBAAoB;AACxB,QAAI,iBAAiB;AACrB,QAAI,2BAA2B;AAC/B,QAAI,QAAQ;AAEZ,QAAI,sBAAsB,MAAM,WAAY;AAC1C,aAAO,CAAC,EAAE,KAAK,KAAK,EAAE,QAAQ,WAAY,GAAG,CAAC,MAAM;AAAA,IACtD,CAAC;AAID,QAAI,iCAAiC,WAAY;AAC/C,UAAI;AAEF,eAAO,eAAe,CAAC,GAAG,UAAU,EAAE,UAAU,MAAM,CAAC,EAAE,KAAK;AAAA,MAChE,SAAS,OAAO;AACd,eAAO,iBAAiB;AAAA,MAC1B;AAAA,IACF;AAEA,QAAI,SAAS,uBAAuB,CAAC,+BAA+B;AAIpE,MAAE,EAAE,QAAQ,SAAS,OAAO,MAAM,OAAO,GAAG,QAAQ,OAAO,GAAG;AAAA;AAAA,MAE5D,MAAM,SAAS,KAAK,MAAM;AACxB,YAAI,IAAI,SAAS,IAAI;AACrB,YAAI,MAAM,kBAAkB,CAAC;AAC7B,YAAI,WAAW,UAAU;AACzB,iCAAyB,MAAM,QAAQ;AACvC,iBAAS,IAAI,GAAG,IAAI,UAAU,KAAK;AACjC,YAAE,GAAG,IAAI,UAAU,CAAC;AACpB;AAAA,QACF;AACA,uBAAe,GAAG,GAAG;AACrB,eAAO;AAAA,MACT;AAAA,IACF,CAAC;AAAA;AAAA;;;ACzCD;AAAA;AAAA;AACA,QAAIC,cAAa;AACjB,QAAI,OAAO;AAEX,WAAO,UAAU,SAAU,aAAa,QAAQ;AAC9C,UAAI,YAAY,KAAK,cAAc,WAAW;AAC9C,UAAI,aAAa,aAAa,UAAU,MAAM;AAC9C,UAAI,WAAY,QAAO;AACvB,UAAI,oBAAoBA,YAAW,WAAW;AAC9C,UAAI,kBAAkB,qBAAqB,kBAAkB;AAC7D,aAAO,mBAAmB,gBAAgB,MAAM;AAAA,IAClD;AAAA;AAAA;;;ACXA;AAAA;AAAA;AACA;AACA,QAAI,4BAA4B;AAEhC,WAAO,UAAU,0BAA0B,SAAS,MAAM;AAAA;AAAA;;;ACJ1D,IAAAC,gBAAA;AAAA;AAAA;AACA,QAAI,gBAAgB;AACpB,QAAI,SAAS;AAEb,QAAI,iBAAiB,MAAM;AAE3B,WAAO,UAAU,SAAU,IAAI;AAC7B,UAAI,MAAM,GAAG;AACb,aAAO,OAAO,kBAAmB,cAAc,gBAAgB,EAAE,KAAK,QAAQ,eAAe,OAAQ,SAAS;AAAA,IAChH;AAAA;AAAA;;;ACTA,IAAAC,gBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,gBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,gBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,gBAAA;AAAA;AAAA;AACA,WAAO,UAAU;AAAA;AAAA;;;ACDjB;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,UAAU;AACd,QAAI,gBAAgB;AACpB,QAAI,WAAW;AACf,QAAI,kBAAkB;AACtB,QAAI,oBAAoB;AACxB,QAAI,kBAAkB;AACtB,QAAI,iBAAiB;AACrB,QAAI,iBAAiB;AACrB,QAAI,kBAAkB;AACtB,QAAI,+BAA+B;AACnC,QAAI,cAAc;AAElB,QAAI,sBAAsB,6BAA6B,OAAO;AAE9D,QAAI,UAAU,gBAAgB,SAAS;AACvC,QAAI,SAAS;AACb,QAAI,MAAM,KAAK;AAKf,MAAE,EAAE,QAAQ,SAAS,OAAO,MAAM,QAAQ,CAAC,oBAAoB,GAAG;AAAA,MAChE,OAAO,SAASC,OAAM,OAAO,KAAK;AAChC,YAAI,IAAI,gBAAgB,IAAI;AAC5B,YAAIC,UAAS,kBAAkB,CAAC;AAChC,YAAI,IAAI,gBAAgB,OAAOA,OAAM;AACrC,YAAI,MAAM,gBAAgB,QAAQ,SAAYA,UAAS,KAAKA,OAAM;AAElE,YAAI,aAAa,QAAQ;AACzB,YAAI,QAAQ,CAAC,GAAG;AACd,wBAAc,EAAE;AAEhB,cAAI,cAAc,WAAW,MAAM,gBAAgB,UAAU,QAAQ,YAAY,SAAS,IAAI;AAC5F,0BAAc;AAAA,UAChB,WAAW,SAAS,WAAW,GAAG;AAChC,0BAAc,YAAY,OAAO;AACjC,gBAAI,gBAAgB,KAAM,eAAc;AAAA,UAC1C;AACA,cAAI,gBAAgB,UAAU,gBAAgB,QAAW;AACvD,mBAAO,YAAY,GAAG,GAAG,GAAG;AAAA,UAC9B;AAAA,QACF;AACA,iBAAS,KAAK,gBAAgB,SAAY,SAAS,aAAa,IAAI,MAAM,GAAG,CAAC,CAAC;AAC/E,aAAK,IAAI,GAAG,IAAI,KAAK,KAAK,IAAK,KAAI,KAAK,EAAG,gBAAe,QAAQ,GAAG,EAAE,CAAC,CAAC;AACzE,uBAAe,QAAQ,CAAC;AACxB,eAAO;AAAA,MACT;AAAA,IACF,CAAC;AAAA;AAAA;;;ACjDD;AAAA;AAAA;AACA;AACA,QAAI,4BAA4B;AAEhC,WAAO,UAAU,0BAA0B,SAAS,OAAO;AAAA;AAAA;;;ACJ3D,IAAAC,iBAAA;AAAA;AAAA;AACA,QAAI,gBAAgB;AACpB,QAAI,SAAS;AAEb,QAAI,iBAAiB,MAAM;AAE3B,WAAO,UAAU,SAAU,IAAI;AAC7B,UAAI,MAAM,GAAG;AACb,aAAO,OAAO,kBAAmB,cAAc,gBAAgB,EAAE,KAAK,QAAQ,eAAe,QAAS,SAAS;AAAA,IACjH;AAAA;AAAA;;;ACTA,IAAAC,iBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,iBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,iBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,iBAAA;AAAA;AAAA;AACA,WAAO,UAAU;AAAA;AAAA;;;ACDjB;AAAA;AAAA;AACA,QAAI,OAAO;AACX,QAAI,WAAW;AACf,QAAI,YAAY;AAEhB,WAAO,UAAU,SAAU,UAAU,MAAM,OAAO;AAChD,UAAI,aAAa;AACjB,eAAS,QAAQ;AACjB,UAAI;AACF,sBAAc,UAAU,UAAU,QAAQ;AAC1C,YAAI,CAAC,aAAa;AAChB,cAAI,SAAS,QAAS,OAAM;AAC5B,iBAAO;AAAA,QACT;AACA,sBAAc,KAAK,aAAa,QAAQ;AAAA,MAC1C,SAAS,OAAO;AACd,qBAAa;AACb,sBAAc;AAAA,MAChB;AACA,UAAI,SAAS,QAAS,OAAM;AAC5B,UAAI,WAAY,OAAM;AACtB,eAAS,WAAW;AACpB,aAAO;AAAA,IACT;AAAA;AAAA;;;ACvBA;AAAA;AAAA;AACA,QAAI,WAAW;AACf,QAAI,gBAAgB;AAGpB,WAAO,UAAU,SAAU,UAAU,IAAI,OAAO,SAAS;AACvD,UAAI;AACF,eAAO,UAAU,GAAG,SAAS,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,GAAG,KAAK;AAAA,MAC9D,SAAS,OAAO;AACd,sBAAc,UAAU,SAAS,KAAK;AAAA,MACxC;AAAA,IACF;AAAA;AAAA;;;ACXA;AAAA;AAAA;AACA,QAAI,kBAAkB;AACtB,QAAI,YAAY;AAEhB,QAAI,WAAW,gBAAgB,UAAU;AACzC,QAAI,iBAAiB,MAAM;AAG3B,WAAO,UAAU,SAAU,IAAI;AAC7B,aAAO,OAAO,WAAc,UAAU,UAAU,MAAM,eAAe,QAAQ,MAAM;AAAA,IACrF;AAAA;AAAA;;;ACVA;AAAA;AAAA;AACA,QAAI,OAAO;AACX,QAAI,YAAY;AAChB,QAAI,WAAW;AACf,QAAI,cAAc;AAClB,QAAI,oBAAoB;AAExB,QAAI,aAAa;AAEjB,WAAO,UAAU,SAAU,UAAU,eAAe;AAClD,UAAI,iBAAiB,UAAU,SAAS,IAAI,kBAAkB,QAAQ,IAAI;AAC1E,UAAI,UAAU,cAAc,EAAG,QAAO,SAAS,KAAK,gBAAgB,QAAQ,CAAC;AAC7E,YAAM,IAAI,WAAW,YAAY,QAAQ,IAAI,kBAAkB;AAAA,IACjE;AAAA;AAAA;;;ACbA;AAAA;AAAA;AACA,QAAI,OAAO;AACX,QAAI,OAAO;AACX,QAAI,WAAW;AACf,QAAI,+BAA+B;AACnC,QAAI,wBAAwB;AAC5B,QAAI,gBAAgB;AACpB,QAAI,oBAAoB;AACxB,QAAI,iBAAiB;AACrB,QAAI,iBAAiB;AACrB,QAAI,cAAc;AAClB,QAAI,oBAAoB;AACxB,QAAI,gBAAgB;AAEpB,QAAI,SAAS;AAIb,WAAO,UAAU,SAASC,MAAK,WAA0D;AACvF,UAAI,iBAAiB,cAAc,IAAI;AACvC,UAAI,kBAAkB,UAAU;AAChC,UAAI,QAAQ,kBAAkB,IAAI,UAAU,CAAC,IAAI;AACjD,UAAI,UAAU,UAAU;AACxB,UAAI,QAAS,SAAQ,KAAK,OAAO,kBAAkB,IAAI,UAAU,CAAC,IAAI,MAAS;AAC/E,UAAI,IAAI,SAAS,SAAS;AAC1B,UAAI,iBAAiB,kBAAkB,CAAC;AACxC,UAAI,QAAQ;AACZ,UAAIC,SAAQ,QAAQ,MAAM,UAAUC,OAAM;AAE1C,UAAI,kBAAkB,EAAE,SAAS,UAAU,sBAAsB,cAAc,IAAI;AACjF,iBAAS,iBAAiB,IAAI,KAAK,IAAI,CAAC;AACxC,mBAAW,YAAY,GAAG,cAAc;AACxC,QAAAA,QAAO,SAAS;AAChB,eAAM,EAAE,OAAO,KAAKA,OAAM,QAAQ,GAAG,MAAM,SAAS;AAClD,kBAAQ,UAAU,6BAA6B,UAAU,OAAO,CAAC,KAAK,OAAO,KAAK,GAAG,IAAI,IAAI,KAAK;AAClG,cAAI;AACF,2BAAe,QAAQ,OAAO,KAAK;AAAA,UACrC,SAAS,OAAO;AACd,0BAAc,UAAU,SAAS,KAAK;AAAA,UACxC;AAAA,QACF;AAAA,MACF,OAAO;AACL,QAAAD,UAAS,kBAAkB,CAAC;AAC5B,iBAAS,iBAAiB,IAAI,KAAKA,OAAM,IAAI,OAAOA,OAAM;AAC1D,eAAMA,UAAS,OAAO,SAAS;AAC7B,kBAAQ,UAAU,MAAM,EAAE,KAAK,GAAG,KAAK,IAAI,EAAE,KAAK;AAClD,yBAAe,QAAQ,OAAO,KAAK;AAAA,QACrC;AAAA,MACF;AACA,qBAAe,QAAQ,KAAK;AAC5B,aAAO;AAAA,IACT;AAAA;AAAA;;;ACnDA;AAAA;AAAA;AACA,QAAI,kBAAkB;AAEtB,QAAI,WAAW,gBAAgB,UAAU;AACzC,QAAI,eAAe;AAEnB,QAAI;AACE,eAAS;AACT,2BAAqB;AAAA,QACvB,MAAM,WAAY;AAChB,iBAAO,EAAE,MAAM,CAAC,CAAC,SAAS;AAAA,QAC5B;AAAA,QACA,UAAU,WAAY;AACpB,yBAAe;AAAA,QACjB;AAAA,MACF;AAEA,yBAAmB,QAAQ,IAAI,WAAY;AACzC,eAAO;AAAA,MACT;AAEA,YAAM,KAAK,oBAAoB,WAAY;AAAE,cAAM;AAAA,MAAG,CAAC;AAAA,IACzD,SAAS,OAAO;AAAA,IAAc;AAfxB;AACA;AAgBN,WAAO,UAAU,SAAU,MAAM,cAAc;AAC7C,UAAI;AACF,YAAI,CAAC,gBAAgB,CAAC,aAAc,QAAO;AAAA,MAC7C,SAAS,OAAO;AAAE,eAAO;AAAA,MAAO;AAChC,UAAI,oBAAoB;AACxB,UAAI;AACF,YAAI,SAAS,CAAC;AAEd,eAAO,QAAQ,IAAI,WAAY;AAC7B,iBAAO;AAAA,YACL,MAAM,WAAY;AAChB,qBAAO,EAAE,MAAM,oBAAoB,KAAK;AAAA,YAC1C;AAAA,UACF;AAAA,QACF;AACA,aAAK,MAAM;AAAA,MACb,SAAS,OAAO;AAAA,MAAc;AAC9B,aAAO;AAAA,IACT;AAAA;AAAA;;;AC1CA;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAIE,QAAO;AACX,QAAI,8BAA8B;AAElC,QAAI,sBAAsB,CAAC,4BAA4B,SAAU,UAAU;AAEzE,YAAM,KAAK,QAAQ;AAAA,IACrB,CAAC;AAID,MAAE,EAAE,QAAQ,SAAS,MAAM,MAAM,QAAQ,oBAAoB,GAAG;AAAA,MAC9D,MAAMA;AAAA,IACR,CAAC;AAAA;AAAA;;;ACdD;AAAA;AAAA;AACA;AACA;AACA,QAAI,OAAO;AAEX,WAAO,UAAU,KAAK,MAAM;AAAA;AAAA;;;ACL5B,IAAAC,gBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,gBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,gBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,gBAAA;AAAA;AAAA;AACA,WAAO,UAAU;AAAA;AAAA;;;ACDjB;AAAA;AAAA;AACA;AACA,QAAI,OAAO;AAEX,WAAO,UAAU,KAAK,OAAO;AAAA;AAAA;;;ACJ7B,IAAAC,oCAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,oCAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,oCAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,oCAAA;AAAA;AAAA;AACA,WAAO,UAAU;AAAA;AAAA;;;ACDjB;AAAA;AAAA;AACA,QAAI,QAAQ;AAEZ,WAAO,UAAU,SAAU,aAAa,UAAU;AAChD,UAAI,SAAS,CAAC,EAAE,WAAW;AAC3B,aAAO,CAAC,CAAC,UAAU,MAAM,WAAY;AAEnC,eAAO,KAAK,MAAM,YAAY,WAAY;AAAE,iBAAO;AAAA,QAAG,GAAG,CAAC;AAAA,MAC5D,CAAC;AAAA,IACH;AAAA;AAAA;;;ACTA;AAAA;AAAA;AAEA,QAAI,IAAI;AACR,QAAI,cAAc;AAClB,QAAI,WAAW,yBAAuC;AACtD,QAAI,sBAAsB;AAE1B,QAAI,gBAAgB,YAAY,CAAC,EAAE,OAAO;AAE1C,QAAI,gBAAgB,CAAC,CAAC,iBAAiB,IAAI,cAAc,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI;AACvE,QAAI,SAAS,iBAAiB,CAAC,oBAAoB,SAAS;AAI5D,MAAE,EAAE,QAAQ,SAAS,OAAO,MAAM,QAAQ,OAAO,GAAG;AAAA,MAClD,SAAS,SAAS,QAAQ,eAAqC;AAC7D,YAAI,YAAY,UAAU,SAAS,IAAI,UAAU,CAAC,IAAI;AACtD,eAAO,gBAEH,cAAc,MAAM,eAAe,SAAS,KAAK,IACjD,SAAS,MAAM,eAAe,SAAS;AAAA,MAC7C;AAAA,IACF,CAAC;AAAA;AAAA;;;ACtBD;AAAA;AAAA;AACA;AACA,QAAI,4BAA4B;AAEhC,WAAO,UAAU,0BAA0B,SAAS,SAAS;AAAA;AAAA;;;ACJ7D,IAAAC,oBAAA;AAAA;AAAA;AACA,QAAI,gBAAgB;AACpB,QAAI,SAAS;AAEb,QAAI,iBAAiB,MAAM;AAE3B,WAAO,UAAU,SAAU,IAAI;AAC7B,UAAI,MAAM,GAAG;AACb,aAAO,OAAO,kBAAmB,cAAc,gBAAgB,EAAE,KAAK,QAAQ,eAAe,UAAW,SAAS;AAAA,IACnH;AAAA;AAAA;;;ACTA,IAAAC,oBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,oBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,oBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,oBAAA;AAAA;AAAA;AACA,WAAO,UAAU;AAAA;AAAA;;;ACDjB;AAAA;AAAA;AACA,QAAI,QAAQ;AAEZ,WAAO,UAAU,CAAC,MAAM,WAAY;AAElC,aAAO,OAAO,aAAa,OAAO,kBAAkB,CAAC,CAAC,CAAC;AAAA,IACzD,CAAC;AAAA;AAAA;;;ACND;AAAA;AAAA;AAEA,QAAI,QAAQ;AAEZ,WAAO,UAAU,MAAM,WAAY;AACjC,UAAI,OAAO,eAAe,YAAY;AACpC,YAAI,SAAS,IAAI,YAAY,CAAC;AAE9B,YAAI,OAAO,aAAa,MAAM,EAAG,QAAO,eAAe,QAAQ,KAAK,EAAE,OAAO,EAAE,CAAC;AAAA,MAClF;AAAA,IACF,CAAC;AAAA;AAAA;;;ACVD;AAAA;AAAA;AACA,QAAI,QAAQ;AACZ,QAAI,WAAW;AACf,QAAI,UAAU;AACd,QAAI,8BAA8B;AAGlC,QAAI,gBAAgB,OAAO;AAC3B,QAAI,sBAAsB,MAAM,WAAY;AAAE,oBAAc,CAAC;AAAA,IAAG,CAAC;AAIjE,WAAO,UAAW,uBAAuB,8BAA+B,SAAS,aAAa,IAAI;AAChG,UAAI,CAAC,SAAS,EAAE,EAAG,QAAO;AAC1B,UAAI,+BAA+B,QAAQ,EAAE,MAAM,cAAe,QAAO;AACzE,aAAO,gBAAgB,cAAc,EAAE,IAAI;AAAA,IAC7C,IAAI;AAAA;AAAA;;;AChBJ;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,cAAc;AAClB,QAAI,aAAa;AACjB,QAAI,WAAW;AACf,QAAIC,UAAS;AACb,QAAI,iBAAiB,iCAA+C;AACpE,QAAI,4BAA4B;AAChC,QAAI,oCAAoC;AACxC,QAAI,eAAe;AACnB,QAAI,MAAM;AACV,QAAI,WAAW;AAEf,QAAI,WAAW;AACf,QAAI,WAAW,IAAI,MAAM;AACzB,QAAI,KAAK;AAET,QAAI,cAAc,SAAU,IAAI;AAC9B,qBAAe,IAAI,UAAU,EAAE,OAAO;AAAA,QACpC,UAAU,MAAM;AAAA;AAAA,QAChB,UAAU,CAAC;AAAA;AAAA,MACb,EAAE,CAAC;AAAA,IACL;AAEA,QAAI,UAAU,SAAU,IAAI,QAAQ;AAElC,UAAI,CAAC,SAAS,EAAE,EAAG,QAAO,OAAO,MAAM,WAAW,MAAM,OAAO,MAAM,WAAW,MAAM,OAAO;AAC7F,UAAI,CAACA,QAAO,IAAI,QAAQ,GAAG;AAEzB,YAAI,CAAC,aAAa,EAAE,EAAG,QAAO;AAE9B,YAAI,CAAC,OAAQ,QAAO;AAEpB,oBAAY,EAAE;AAAA,MAEhB;AAAE,aAAO,GAAG,QAAQ,EAAE;AAAA,IACxB;AAEA,QAAI,cAAc,SAAU,IAAI,QAAQ;AACtC,UAAI,CAACA,QAAO,IAAI,QAAQ,GAAG;AAEzB,YAAI,CAAC,aAAa,EAAE,EAAG,QAAO;AAE9B,YAAI,CAAC,OAAQ,QAAO;AAEpB,oBAAY,EAAE;AAAA,MAEhB;AAAE,aAAO,GAAG,QAAQ,EAAE;AAAA,IACxB;AAGA,QAAI,WAAW,SAAU,IAAI;AAC3B,UAAI,YAAY,YAAY,aAAa,EAAE,KAAK,CAACA,QAAO,IAAI,QAAQ,EAAG,aAAY,EAAE;AACrF,aAAO;AAAA,IACT;AAEA,QAAI,SAAS,WAAY;AACvB,WAAK,SAAS,WAAY;AAAA,MAAc;AACxC,iBAAW;AACX,UAAI,sBAAsB,0BAA0B;AACpD,UAAI,SAAS,YAAY,CAAC,EAAE,MAAM;AAClC,UAAI,OAAO,CAAC;AAEZ,WAAK,QAAQ,IAAI;AAGjB,UAAI,oBAAoB,IAAI,EAAE,QAAQ;AACpC,kCAA0B,IAAI,SAAU,IAAI;AAC1C,cAAI,SAAS,oBAAoB,EAAE;AACnC,mBAAS,IAAI,GAAGC,UAAS,OAAO,QAAQ,IAAIA,SAAQ,KAAK;AACvD,gBAAI,OAAO,CAAC,MAAM,UAAU;AAC1B,qBAAO,QAAQ,GAAG,CAAC;AACnB;AAAA,YACF;AAAA,UACF;AAAE,iBAAO;AAAA,QACX;AAEA,UAAE,EAAE,QAAQ,UAAU,MAAM,MAAM,QAAQ,KAAK,GAAG;AAAA,UAChD,qBAAqB,kCAAkC;AAAA,QACzD,CAAC;AAAA,MACH;AAAA,IACF;AAEA,QAAI,OAAO,OAAO,UAAU;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,eAAW,QAAQ,IAAI;AAAA;AAAA;;;AC1FvB;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,WAAW;AACf,QAAI,QAAQ;AACZ,QAAI,WAAW;AACf,QAAI,WAAW,4BAA0C;AAGzD,QAAI,UAAU,OAAO;AACrB,QAAI,sBAAsB,MAAM,WAAY;AAAE,cAAQ,CAAC;AAAA,IAAG,CAAC;AAI3D,MAAE,EAAE,QAAQ,UAAU,MAAM,MAAM,QAAQ,qBAAqB,MAAM,CAAC,SAAS,GAAG;AAAA,MAChF,QAAQ,SAAS,OAAO,IAAI;AAC1B,eAAO,WAAW,SAAS,EAAE,IAAI,QAAQ,SAAS,EAAE,CAAC,IAAI;AAAA,MAC3D;AAAA,IACF,CAAC;AAAA;AAAA;;;ACjBD;AAAA;AAAA;AACA;AACA,QAAI,OAAO;AAEX,WAAO,UAAU,KAAK,OAAO;AAAA;AAAA;;;ACJ7B,IAAAC,kBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,kBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,kBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,kBAAA;AAAA;AAAA;AACA,WAAO,UAAU;AAAA;AAAA;;;ACDjB;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,cAAc;AAClB,QAAI,mBAAmB,mCAAiD;AAKxE,MAAE,EAAE,QAAQ,UAAU,MAAM,MAAM,QAAQ,OAAO,qBAAqB,kBAAkB,MAAM,CAAC,YAAY,GAAG;AAAA,MAC5G;AAAA,IACF,CAAC;AAAA;AAAA;;;ACVD;AAAA;AAAA;AACA;AACA,QAAI,OAAO;AAEX,QAAIC,UAAS,KAAK;AAElB,QAAI,oBAAoB,OAAO,UAAU,SAAS,iBAAiB,GAAG,GAAG;AACvE,aAAOA,QAAO,iBAAiB,GAAG,CAAC;AAAA,IACrC;AAEA,QAAIA,QAAO,iBAAiB,KAAM,mBAAkB,OAAO;AAAA;AAAA;;;ACV3D,IAAAC,6BAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,6BAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,6BAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,6BAAA;AAAA;AAAA;AACA,WAAO,UAAU;AAAA;AAAA;;;ACDjB;AAAA;AAAA;AAEA,QAAIC,cAAa;AACjB,QAAI,YAAY;AAChB,QAAI,UAAU;AAEd,QAAI,sBAAsB,SAAU,QAAQ;AAC1C,aAAO,UAAU,MAAM,GAAG,OAAO,MAAM,MAAM;AAAA,IAC/C;AAEA,WAAO,WAAW,WAAY;AAC5B,UAAI,oBAAoB,MAAM,EAAG,QAAO;AACxC,UAAI,oBAAoB,oBAAoB,EAAG,QAAO;AACtD,UAAI,oBAAoB,OAAO,EAAG,QAAO;AACzC,UAAI,oBAAoB,UAAU,EAAG,QAAO;AAC5C,UAAIA,YAAW,OAAO,OAAO,IAAI,WAAW,SAAU,QAAO;AAC7D,UAAIA,YAAW,QAAQ,OAAO,KAAK,WAAW,SAAU,QAAO;AAC/D,UAAI,QAAQA,YAAW,OAAO,MAAM,UAAW,QAAO;AACtD,UAAIA,YAAW,UAAUA,YAAW,SAAU,QAAO;AACrD,aAAO;AAAA,IACT,GAAG;AAAA;AAAA;;;ACpBH;AAAA;AAAA;AACA,QAAI,aAAa;AAEjB,WAAO,UAAU,SAAU,QAAQ,UAAU;AAC3C,UAAI,SAAS,SAAU,OAAM,IAAI,WAAW,sBAAsB;AAClE,aAAO;AAAA,IACT;AAAA;AAAA;;;ACNA;AAAA;AAAA;AACA,QAAIC,cAAa;AACjB,QAAI,QAAQ;AACZ,QAAI,aAAa;AACjB,QAAI,cAAc;AAClB,QAAI,aAAa;AACjB,QAAI,aAAa;AACjB,QAAI,0BAA0B;AAE9B,QAAIC,YAAWD,YAAW;AAE1B,QAAI,OAAO,WAAW,KAAK,UAAU,KAAK,gBAAgB,UAAU,WAAY;AAC9E,UAAI,UAAUA,YAAW,IAAI,QAAQ,MAAM,GAAG;AAC9C,aAAO,QAAQ,SAAS,KAAK,QAAQ,CAAC,MAAM,QAAQ,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,OAAO,QAAQ,CAAC,MAAM;AAAA,IAC7G,GAAG;AAKH,WAAO,UAAU,SAAU,WAAW,YAAY;AAChD,UAAI,kBAAkB,aAAa,IAAI;AACvC,aAAO,OAAO,SAAU,SAAS,SAA8B;AAC7D,YAAI,YAAY,wBAAwB,UAAU,QAAQ,CAAC,IAAI;AAC/D,YAAI,KAAK,WAAW,OAAO,IAAI,UAAUC,UAAS,OAAO;AACzD,YAAI,SAAS,YAAY,WAAW,WAAW,eAAe,IAAI,CAAC;AACnE,YAAI,WAAW,YAAY,WAAY;AACrC,gBAAM,IAAI,MAAM,MAAM;AAAA,QACxB,IAAI;AACJ,eAAO,aAAa,UAAU,UAAU,OAAO,IAAI,UAAU,QAAQ;AAAA,MACvE,IAAI;AAAA,IACN;AAAA;AAAA;;;AC9BA;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAIC,cAAa;AACjB,QAAI,gBAAgB;AAEpB,QAAIC,eAAc,cAAcD,YAAW,aAAa,IAAI;AAI5D,MAAE,EAAE,QAAQ,MAAM,MAAM,MAAM,QAAQA,YAAW,gBAAgBC,aAAY,GAAG;AAAA,MAC9E,aAAaA;AAAA,IACf,CAAC;AAAA;AAAA;;;ACXD;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAIC,cAAa;AACjB,QAAI,gBAAgB;AAEpB,QAAI,aAAa,cAAcA,YAAW,YAAY,IAAI;AAI1D,MAAE,EAAE,QAAQ,MAAM,MAAM,MAAM,QAAQA,YAAW,eAAe,WAAW,GAAG;AAAA,MAC5E;AAAA,IACF,CAAC;AAAA;AAAA;;;ACXD;AAAA;AAAA;AAEA;AACA;AAAA;AAAA;;;ACHA;AAAA;AAAA;AACA;AACA,QAAI,OAAO;AAEX,WAAO,UAAU,KAAK;AAAA;AAAA;;;ACJtB,IAAAC,uBAAA;AAAA;AAAA;AAAA,WAAO,UAAU;AAAA;AAAA;;;ACAjB;AAAA;AAAA;AASa,QAAI,IAAE,eAAa,OAAO,UAAQ,OAAO;AAAzC,QAA6C,IAAE,IAAE,uBAAO,IAAI,eAAe,IAAE;AAA7E,QAAmF,IAAE,IAAE,uBAAO,IAAI,cAAc,IAAE;AAAlH,QAAwH,IAAE,IAAE,uBAAO,IAAI,gBAAgB,IAAE;AAAzJ,QAA+J,IAAE,IAAE,uBAAO,IAAI,mBAAmB,IAAE;AAAnM,QAAyM,IAAE,IAAE,uBAAO,IAAI,gBAAgB,IAAE;AAA1O,QAAgP,IAAE,IAAE,uBAAO,IAAI,gBAAgB,IAAE;AAAjR,QAAuR,IAAE,IAAE,uBAAO,IAAI,eAAe,IAAE;AAAvT,QAA6T,IAAE,IAAE,uBAAO,IAAI,kBAAkB,IAAE;AAAhW,QAAsW,IAAE,IAAE,uBAAO,IAAI,uBAAuB,IAAE;AAA9Y,QAAoZ,IAAE,IAAE,uBAAO,IAAI,mBAAmB,IAAE;AAAxb,QAA8b,IAAE,IAAE,uBAAO,IAAI,gBAAgB,IAAE;AAA/d,QAAqe,IAAE,IACpf,uBAAO,IAAI,qBAAqB,IAAE;AADrB,QAC2B,IAAE,IAAE,uBAAO,IAAI,YAAY,IAAE;AADxD,QAC8D,IAAE,IAAE,uBAAO,IAAI,YAAY,IAAE;AAD3F,QACiG,IAAE,IAAE,uBAAO,IAAI,aAAa,IAAE;AAD/H,QACqI,IAAE,IAAE,uBAAO,IAAI,mBAAmB,IAAE;AADzK,QAC+K,IAAE,IAAE,uBAAO,IAAI,iBAAiB,IAAE;AADjN,QACuN,IAAE,IAAE,uBAAO,IAAI,aAAa,IAAE;AAClQ,aAAS,EAAE,GAAE;AAAC,UAAG,aAAW,OAAO,KAAG,SAAO,GAAE;AAAC,YAAI,IAAE,EAAE;AAAS,gBAAO,GAAE;AAAA,UAAC,KAAK;AAAE,oBAAO,IAAE,EAAE,MAAK,GAAE;AAAA,cAAC,KAAK;AAAA,cAAE,KAAK;AAAA,cAAE,KAAK;AAAA,cAAE,KAAK;AAAA,cAAE,KAAK;AAAA,cAAE,KAAK;AAAE,uBAAO;AAAA,cAAE;AAAQ,wBAAO,IAAE,KAAG,EAAE,UAAS,GAAE;AAAA,kBAAC,KAAK;AAAA,kBAAE,KAAK;AAAA,kBAAE,KAAK;AAAA,kBAAE,KAAK;AAAA,kBAAE,KAAK;AAAE,2BAAO;AAAA,kBAAE;AAAQ,2BAAO;AAAA,gBAAC;AAAA,YAAC;AAAA,UAAC,KAAK;AAAE,mBAAO;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC;AAAC,aAAS,EAAE,GAAE;AAAC,aAAO,EAAE,CAAC,MAAI;AAAA,IAAC;AAAC,YAAQ,YAAU;AAAE,YAAQ,iBAAe;AAAE,YAAQ,kBAAgB;AAAE,YAAQ,kBAAgB;AAAE,YAAQ,UAAQ;AAAE,YAAQ,aAAW;AAAE,YAAQ,WAAS;AAAE,YAAQ,OAAK;AAAE,YAAQ,OAAK;AAAE,YAAQ,SAAO;AAChf,YAAQ,WAAS;AAAE,YAAQ,aAAW;AAAE,YAAQ,WAAS;AAAE,YAAQ,cAAY,SAAS,GAAE;AAAC,aAAO,EAAE,CAAC,KAAG,EAAE,CAAC,MAAI;AAAA,IAAC;AAAE,YAAQ,mBAAiB;AAAE,YAAQ,oBAAkB,SAAS,GAAE;AAAC,aAAO,EAAE,CAAC,MAAI;AAAA,IAAC;AAAE,YAAQ,oBAAkB,SAAS,GAAE;AAAC,aAAO,EAAE,CAAC,MAAI;AAAA,IAAC;AAAE,YAAQ,YAAU,SAAS,GAAE;AAAC,aAAM,aAAW,OAAO,KAAG,SAAO,KAAG,EAAE,aAAW;AAAA,IAAC;AAAE,YAAQ,eAAa,SAAS,GAAE;AAAC,aAAO,EAAE,CAAC,MAAI;AAAA,IAAC;AAAE,YAAQ,aAAW,SAAS,GAAE;AAAC,aAAO,EAAE,CAAC,MAAI;AAAA,IAAC;AAAE,YAAQ,SAAO,SAAS,GAAE;AAAC,aAAO,EAAE,CAAC,MAAI;AAAA,IAAC;AAC1d,YAAQ,SAAO,SAAS,GAAE;AAAC,aAAO,EAAE,CAAC,MAAI;AAAA,IAAC;AAAE,YAAQ,WAAS,SAAS,GAAE;AAAC,aAAO,EAAE,CAAC,MAAI;AAAA,IAAC;AAAE,YAAQ,aAAW,SAAS,GAAE;AAAC,aAAO,EAAE,CAAC,MAAI;AAAA,IAAC;AAAE,YAAQ,eAAa,SAAS,GAAE;AAAC,aAAO,EAAE,CAAC,MAAI;AAAA,IAAC;AAAE,YAAQ,aAAW,SAAS,GAAE;AAAC,aAAO,EAAE,CAAC,MAAI;AAAA,IAAC;AAC1O,YAAQ,qBAAmB,SAAS,GAAE;AAAC,aAAM,aAAW,OAAO,KAAG,eAAa,OAAO,KAAG,MAAI,KAAG,MAAI,KAAG,MAAI,KAAG,MAAI,KAAG,MAAI,KAAG,MAAI,KAAG,aAAW,OAAO,KAAG,SAAO,MAAI,EAAE,aAAW,KAAG,EAAE,aAAW,KAAG,EAAE,aAAW,KAAG,EAAE,aAAW,KAAG,EAAE,aAAW,KAAG,EAAE,aAAW,KAAG,EAAE,aAAW,KAAG,EAAE,aAAW,KAAG,EAAE,aAAW;AAAA,IAAE;AAAE,YAAQ,SAAO;AAAA;AAAA;;;ACdnU;AAAA;AAAA;AAaA,QAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,OAAC,WAAW;AACd;AAIA,YAAI,YAAY,OAAO,WAAW,cAAc,OAAO;AACvD,YAAI,qBAAqB,YAAY,uBAAO,IAAI,eAAe,IAAI;AACnE,YAAI,oBAAoB,YAAY,uBAAO,IAAI,cAAc,IAAI;AACjE,YAAI,sBAAsB,YAAY,uBAAO,IAAI,gBAAgB,IAAI;AACrE,YAAI,yBAAyB,YAAY,uBAAO,IAAI,mBAAmB,IAAI;AAC3E,YAAI,sBAAsB,YAAY,uBAAO,IAAI,gBAAgB,IAAI;AACrE,YAAI,sBAAsB,YAAY,uBAAO,IAAI,gBAAgB,IAAI;AACrE,YAAI,qBAAqB,YAAY,uBAAO,IAAI,eAAe,IAAI;AAGnE,YAAI,wBAAwB,YAAY,uBAAO,IAAI,kBAAkB,IAAI;AACzE,YAAI,6BAA6B,YAAY,uBAAO,IAAI,uBAAuB,IAAI;AACnF,YAAI,yBAAyB,YAAY,uBAAO,IAAI,mBAAmB,IAAI;AAC3E,YAAI,sBAAsB,YAAY,uBAAO,IAAI,gBAAgB,IAAI;AACrE,YAAI,2BAA2B,YAAY,uBAAO,IAAI,qBAAqB,IAAI;AAC/E,YAAI,kBAAkB,YAAY,uBAAO,IAAI,YAAY,IAAI;AAC7D,YAAI,kBAAkB,YAAY,uBAAO,IAAI,YAAY,IAAI;AAC7D,YAAI,mBAAmB,YAAY,uBAAO,IAAI,aAAa,IAAI;AAC/D,YAAI,yBAAyB,YAAY,uBAAO,IAAI,mBAAmB,IAAI;AAC3E,YAAI,uBAAuB,YAAY,uBAAO,IAAI,iBAAiB,IAAI;AACvE,YAAI,mBAAmB,YAAY,uBAAO,IAAI,aAAa,IAAI;AAE/D,iBAAS,mBAAmB,MAAM;AAChC,iBAAO,OAAO,SAAS,YAAY,OAAO,SAAS;AAAA,UACnD,SAAS,uBAAuB,SAAS,8BAA8B,SAAS,uBAAuB,SAAS,0BAA0B,SAAS,uBAAuB,SAAS,4BAA4B,OAAO,SAAS,YAAY,SAAS,SAAS,KAAK,aAAa,mBAAmB,KAAK,aAAa,mBAAmB,KAAK,aAAa,uBAAuB,KAAK,aAAa,sBAAsB,KAAK,aAAa,0BAA0B,KAAK,aAAa,0BAA0B,KAAK,aAAa,wBAAwB,KAAK,aAAa,oBAAoB,KAAK,aAAa;AAAA,QACplB;AAEA,iBAAS,OAAO,QAAQ;AACtB,cAAI,OAAO,WAAW,YAAY,WAAW,MAAM;AACjD,gBAAI,WAAW,OAAO;AAEtB,oBAAQ,UAAU;AAAA,cAChB,KAAK;AACH,oBAAI,OAAO,OAAO;AAElB,wBAAQ,MAAM;AAAA,kBACZ,KAAK;AAAA,kBACL,KAAK;AAAA,kBACL,KAAK;AAAA,kBACL,KAAK;AAAA,kBACL,KAAK;AAAA,kBACL,KAAK;AACH,2BAAO;AAAA,kBAET;AACE,wBAAI,eAAe,QAAQ,KAAK;AAEhC,4BAAQ,cAAc;AAAA,sBACpB,KAAK;AAAA,sBACL,KAAK;AAAA,sBACL,KAAK;AAAA,sBACL,KAAK;AAAA,sBACL,KAAK;AACH,+BAAO;AAAA,sBAET;AACE,+BAAO;AAAA,oBACX;AAAA,gBAEJ;AAAA,cAEF,KAAK;AACH,uBAAO;AAAA,YACX;AAAA,UACF;AAEA,iBAAO;AAAA,QACT;AAEA,YAAI,YAAY;AAChB,YAAI,iBAAiB;AACrB,YAAI,kBAAkB;AACtB,YAAI,kBAAkB;AACtB,YAAI,UAAU;AACd,YAAI,aAAa;AACjB,YAAIC,aAAW;AACf,YAAI,OAAO;AACX,YAAI,OAAO;AACX,YAAI,SAAS;AACb,YAAI,WAAW;AACf,YAAI,aAAa;AACjB,YAAI,WAAW;AACf,YAAI,sCAAsC;AAE1C,iBAAS,YAAY,QAAQ;AAC3B;AACE,gBAAI,CAAC,qCAAqC;AACxC,oDAAsC;AAEtC,sBAAQ,MAAM,EAAE,+KAAyL;AAAA,YAC3M;AAAA,UACF;AAEA,iBAAO,iBAAiB,MAAM,KAAK,OAAO,MAAM,MAAM;AAAA,QACxD;AACA,iBAAS,iBAAiB,QAAQ;AAChC,iBAAO,OAAO,MAAM,MAAM;AAAA,QAC5B;AACA,iBAAS,kBAAkB,QAAQ;AACjC,iBAAO,OAAO,MAAM,MAAM;AAAA,QAC5B;AACA,iBAAS,kBAAkB,QAAQ;AACjC,iBAAO,OAAO,MAAM,MAAM;AAAA,QAC5B;AACA,iBAAS,UAAU,QAAQ;AACzB,iBAAO,OAAO,WAAW,YAAY,WAAW,QAAQ,OAAO,aAAa;AAAA,QAC9E;AACA,iBAAS,aAAa,QAAQ;AAC5B,iBAAO,OAAO,MAAM,MAAM;AAAA,QAC5B;AACA,iBAAS,WAAW,QAAQ;AAC1B,iBAAO,OAAO,MAAM,MAAM;AAAA,QAC5B;AACA,iBAAS,OAAO,QAAQ;AACtB,iBAAO,OAAO,MAAM,MAAM;AAAA,QAC5B;AACA,iBAAS,OAAO,QAAQ;AACtB,iBAAO,OAAO,MAAM,MAAM;AAAA,QAC5B;AACA,iBAAS,SAAS,QAAQ;AACxB,iBAAO,OAAO,MAAM,MAAM;AAAA,QAC5B;AACA,iBAAS,WAAW,QAAQ;AAC1B,iBAAO,OAAO,MAAM,MAAM;AAAA,QAC5B;AACA,iBAAS,aAAa,QAAQ;AAC5B,iBAAO,OAAO,MAAM,MAAM;AAAA,QAC5B;AACA,iBAAS,WAAW,QAAQ;AAC1B,iBAAO,OAAO,MAAM,MAAM;AAAA,QAC5B;AAEA,gBAAQ,YAAY;AACpB,gBAAQ,iBAAiB;AACzB,gBAAQ,kBAAkB;AAC1B,gBAAQ,kBAAkB;AAC1B,gBAAQ,UAAU;AAClB,gBAAQ,aAAa;AACrB,gBAAQ,WAAWA;AACnB,gBAAQ,OAAO;AACf,gBAAQ,OAAO;AACf,gBAAQ,SAAS;AACjB,gBAAQ,WAAW;AACnB,gBAAQ,aAAa;AACrB,gBAAQ,WAAW;AACnB,gBAAQ,cAAc;AACtB,gBAAQ,mBAAmB;AAC3B,gBAAQ,oBAAoB;AAC5B,gBAAQ,oBAAoB;AAC5B,gBAAQ,YAAY;AACpB,gBAAQ,eAAe;AACvB,gBAAQ,aAAa;AACrB,gBAAQ,SAAS;AACjB,gBAAQ,SAAS;AACjB,gBAAQ,WAAW;AACnB,gBAAQ,aAAa;AACrB,gBAAQ,eAAe;AACvB,gBAAQ,aAAa;AACrB,gBAAQ,qBAAqB;AAC7B,gBAAQ,SAAS;AAAA,MACf,GAAG;AAAA,IACL;AAAA;AAAA;;;ACpLA;AAAA;AAAA;AAEA,QAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,aAAO,UAAU;AAAA,IACnB,OAAO;AACL,aAAO,UAAU;AAAA,IACnB;AAAA;AAAA;;;ACNA;AAAA;AAAA;AAEA,QAAI,UAAU;AAMd,QAAI,gBAAgB;AAAA,MAClB,mBAAmB;AAAA,MACnB,aAAa;AAAA,MACb,cAAc;AAAA,MACd,cAAc;AAAA,MACd,aAAa;AAAA,MACb,iBAAiB;AAAA,MACjB,0BAA0B;AAAA,MAC1B,0BAA0B;AAAA,MAC1B,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,IACR;AACA,QAAI,gBAAgB;AAAA,MAClB,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,OAAO;AAAA,IACT;AACA,QAAI,sBAAsB;AAAA,MACxB,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,aAAa;AAAA,MACb,WAAW;AAAA,IACb;AACA,QAAI,eAAe;AAAA,MACjB,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,cAAc;AAAA,MACd,aAAa;AAAA,MACb,WAAW;AAAA,MACX,MAAM;AAAA,IACR;AACA,QAAI,eAAe,CAAC;AACpB,iBAAa,QAAQ,UAAU,IAAI;AACnC,iBAAa,QAAQ,IAAI,IAAI;AAE7B,aAAS,WAAW,WAAW;AAE7B,UAAI,QAAQ,OAAO,SAAS,GAAG;AAC7B,eAAO;AAAA,MACT;AAGA,aAAO,aAAa,UAAU,UAAU,CAAC,KAAK;AAAA,IAChD;AAEA,QAAI,iBAAiB,OAAO;AAC5B,QAAI,sBAAsB,OAAO;AACjC,QAAI,wBAAwB,OAAO;AACnC,QAAI,2BAA2B,OAAO;AACtC,QAAI,iBAAiB,OAAO;AAC5B,QAAI,kBAAkB,OAAO;AAC7B,aAAS,qBAAqB,iBAAiB,iBAAiB,WAAW;AACzE,UAAI,OAAO,oBAAoB,UAAU;AAEvC,YAAI,iBAAiB;AACnB,cAAI,qBAAqB,eAAe,eAAe;AAEvD,cAAI,sBAAsB,uBAAuB,iBAAiB;AAChE,iCAAqB,iBAAiB,oBAAoB,SAAS;AAAA,UACrE;AAAA,QACF;AAEA,YAAI,OAAO,oBAAoB,eAAe;AAE9C,YAAI,uBAAuB;AACzB,iBAAO,KAAK,OAAO,sBAAsB,eAAe,CAAC;AAAA,QAC3D;AAEA,YAAI,gBAAgB,WAAW,eAAe;AAC9C,YAAI,gBAAgB,WAAW,eAAe;AAE9C,iBAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,EAAE,GAAG;AACpC,cAAI,MAAM,KAAK,CAAC;AAEhB,cAAI,CAAC,cAAc,GAAG,KAAK,EAAE,aAAa,UAAU,GAAG,MAAM,EAAE,iBAAiB,cAAc,GAAG,MAAM,EAAE,iBAAiB,cAAc,GAAG,IAAI;AAC7I,gBAAI,aAAa,yBAAyB,iBAAiB,GAAG;AAE9D,gBAAI;AAEF,6BAAe,iBAAiB,KAAK,UAAU;AAAA,YACjD,SAAS,GAAG;AAAA,YAAC;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAEA,WAAO,UAAU;AAAA;AAAA;;;ACtGjB;AAAA;AAAA;AAAA,aAASC,YAAW;AAClB,aAAO,OAAO,UAAUA,YAAW,OAAO,SAAS,OAAO,OAAO,KAAK,IAAI,SAAU,GAAG;AACrF,iBAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,cAAI,IAAI,UAAU,CAAC;AACnB,mBAAS,KAAK,EAAG,EAAC,CAAC,GAAG,eAAe,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAAA,QAChE;AACA,eAAO;AAAA,MACT,GAAG,OAAO,QAAQ,aAAa,MAAM,OAAO,QAAQ,SAAS,IAAI,OAAO,SAASA,UAAS,MAAM,MAAM,SAAS;AAAA,IACjH;AACA,WAAO,UAAUA,WAAU,OAAO,QAAQ,aAAa,MAAM,OAAO,QAAQ,SAAS,IAAI,OAAO;AAAA;AAAA;;;ACThG;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,WAAW;AACf,QAAI,aAAa;AACjB,QAAI,QAAQ;AAEZ,QAAI,sBAAsB,MAAM,WAAY;AAAE,iBAAW,CAAC;AAAA,IAAG,CAAC;AAI9D,MAAE,EAAE,QAAQ,UAAU,MAAM,MAAM,QAAQ,oBAAoB,GAAG;AAAA,MAC/D,MAAM,SAAS,KAAK,IAAI;AACtB,eAAO,WAAW,SAAS,EAAE,CAAC;AAAA,MAChC;AAAA,IACF,CAAC;AAAA;AAAA;;;ACdD;AAAA;AAAA;AACA;AACA,QAAI,OAAO;AAEX,WAAO,UAAU,KAAK,OAAO;AAAA;AAAA;;;ACJ7B,IAAAC,gBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,gBAAA;AAAA;AAAA;AAAA,WAAO,UAAU;AAAA;AAAA;;;ACAjB,IAAAC,oCAAA;AAAA;AAAA;AAAA,WAAO,UAAU;AAAA;AAAA;;;ACAjB;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,UAAU,0BAAwC;AACtD,QAAI,+BAA+B;AAEnC,QAAI,sBAAsB,6BAA6B,QAAQ;AAK/D,MAAE,EAAE,QAAQ,SAAS,OAAO,MAAM,QAAQ,CAAC,oBAAoB,GAAG;AAAA,MAChE,QAAQ,SAAS,OAAO,YAA4B;AAClD,eAAO,QAAQ,MAAM,YAAY,UAAU,SAAS,IAAI,UAAU,CAAC,IAAI,MAAS;AAAA,MAClF;AAAA,IACF,CAAC;AAAA;AAAA;;;ACdD;AAAA;AAAA;AACA;AACA,QAAI,4BAA4B;AAEhC,WAAO,UAAU,0BAA0B,SAAS,QAAQ;AAAA;AAAA;;;ACJ5D,IAAAC,kBAAA;AAAA;AAAA;AACA,QAAI,gBAAgB;AACpB,QAAI,SAAS;AAEb,QAAI,iBAAiB,MAAM;AAE3B,WAAO,UAAU,SAAU,IAAI;AAC7B,UAAI,MAAM,GAAG;AACb,aAAO,OAAO,kBAAmB,cAAc,gBAAgB,EAAE,KAAK,QAAQ,eAAe,SAAU,SAAS;AAAA,IAClH;AAAA;AAAA;;;ACTA,IAAAC,kBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,kBAAA;AAAA;AAAA;AAAA,WAAO,UAAU;AAAA;AAAA;;;ACAjB;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,QAAQ;AACZ,QAAI,kBAAkB;AACtB,QAAI,iCAAiC,6CAA2D;AAChG,QAAI,cAAc;AAElB,QAAI,SAAS,CAAC,eAAe,MAAM,WAAY;AAAE,qCAA+B,CAAC;AAAA,IAAG,CAAC;AAIrF,MAAE,EAAE,QAAQ,UAAU,MAAM,MAAM,QAAQ,QAAQ,MAAM,CAAC,YAAY,GAAG;AAAA,MACtE,0BAA0B,SAAS,yBAAyB,IAAI,KAAK;AACnE,eAAO,+BAA+B,gBAAgB,EAAE,GAAG,GAAG;AAAA,MAChE;AAAA,IACF,CAAC;AAAA;AAAA;;;ACfD;AAAA;AAAA;AACA;AACA,QAAI,OAAO;AAEX,QAAIC,UAAS,KAAK;AAElB,QAAI,4BAA4B,OAAO,UAAU,SAAS,yBAAyB,IAAI,KAAK;AAC1F,aAAOA,QAAO,yBAAyB,IAAI,GAAG;AAAA,IAChD;AAEA,QAAIA,QAAO,yBAAyB,KAAM,2BAA0B,OAAO;AAAA;AAAA;;;ACV3E,IAAAC,uCAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,uCAAA;AAAA;AAAA;AAAA,WAAO,UAAU;AAAA;AAAA;;;ACAjB;AAAA;AAAA;AACA,QAAI,WAAW,0BAAwC;AACvD,QAAI,sBAAsB;AAE1B,QAAI,gBAAgB,oBAAoB,SAAS;AAIjD,WAAO,UAAU,CAAC,gBAAgB,SAAS,QAAQ,YAA4B;AAC7E,aAAO,SAAS,MAAM,YAAY,UAAU,SAAS,IAAI,UAAU,CAAC,IAAI,MAAS;AAAA,IAEnF,IAAI,CAAC,EAAE;AAAA;AAAA;;;ACXP;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,UAAU;AAKd,MAAE,EAAE,QAAQ,SAAS,OAAO,MAAM,QAAQ,CAAC,EAAE,YAAY,QAAQ,GAAG;AAAA,MAClE;AAAA,IACF,CAAC;AAAA;AAAA;;;ACTD;AAAA;AAAA;AACA;AACA,QAAI,4BAA4B;AAEhC,WAAO,UAAU,0BAA0B,SAAS,SAAS;AAAA;AAAA;;;ACJ7D,IAAAC,oBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAC,oBAAA;AAAA;AAAA;AACA,QAAI,UAAU;AACd,QAAIC,UAAS;AACb,QAAI,gBAAgB;AACpB,QAAI,SAAS;AACb;AAEA,QAAI,iBAAiB,MAAM;AAE3B,QAAI,eAAe;AAAA,MACjB,cAAc;AAAA,MACd,UAAU;AAAA,IACZ;AAEA,WAAO,UAAU,SAAU,IAAI;AAC7B,UAAI,MAAM,GAAG;AACb,aAAO,OAAO,kBAAmB,cAAc,gBAAgB,EAAE,KAAK,QAAQ,eAAe,WACxFA,QAAO,cAAc,QAAQ,EAAE,CAAC,IAAI,SAAS;AAAA,IACpD;AAAA;AAAA;;;AClBA,IAAAC,oBAAA;AAAA;AAAA;AAAA,WAAO,UAAU;AAAA;AAAA;;;ACAjB;AAAA;AAAA;AACA,QAAI,aAAa;AACjB,QAAI,cAAc;AAClB,QAAI,4BAA4B;AAChC,QAAI,8BAA8B;AAClC,QAAI,WAAW;AAEf,QAAI,SAAS,YAAY,CAAC,EAAE,MAAM;AAGlC,WAAO,UAAU,WAAW,WAAW,SAAS,KAAK,SAASC,SAAQ,IAAI;AACxE,UAAI,OAAO,0BAA0B,EAAE,SAAS,EAAE,CAAC;AACnD,UAAI,wBAAwB,4BAA4B;AACxD,aAAO,wBAAwB,OAAO,MAAM,sBAAsB,EAAE,CAAC,IAAI;AAAA,IAC3E;AAAA;AAAA;;;ACdA;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,cAAc;AAClB,QAAIC,WAAU;AACd,QAAI,kBAAkB;AACtB,QAAI,iCAAiC;AACrC,QAAI,iBAAiB;AAIrB,MAAE,EAAE,QAAQ,UAAU,MAAM,MAAM,MAAM,CAAC,YAAY,GAAG;AAAA,MACtD,2BAA2B,SAAS,0BAA0B,QAAQ;AACpE,YAAI,IAAI,gBAAgB,MAAM;AAC9B,YAAI,2BAA2B,+BAA+B;AAC9D,YAAI,OAAOA,SAAQ,CAAC;AACpB,YAAI,SAAS,CAAC;AACd,YAAI,QAAQ;AACZ,YAAI,KAAK;AACT,eAAO,KAAK,SAAS,OAAO;AAC1B,uBAAa,yBAAyB,GAAG,MAAM,KAAK,OAAO,CAAC;AAC5D,cAAI,eAAe,OAAW,gBAAe,QAAQ,KAAK,UAAU;AAAA,QACtE;AACA,eAAO;AAAA,MACT;AAAA,IACF,CAAC;AAAA;AAAA;;;ACxBD;AAAA;AAAA;AACA;AACA,QAAI,OAAO;AAEX,WAAO,UAAU,KAAK,OAAO;AAAA;AAAA;;;ACJ7B,IAAAC,wCAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,wCAAA;AAAA;AAAA;AAAA,WAAO,UAAU;AAAA;AAAA;;;ACAjB,IAAAC,6BAAA;AAAA;AAAA;AAAA,WAAO,UAAU;AAAA;AAAA;;;ACAjB;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,cAAc;AAClB,QAAI,iBAAiB,iCAA+C;AAKpE,MAAE,EAAE,QAAQ,UAAU,MAAM,MAAM,QAAQ,OAAO,mBAAmB,gBAAgB,MAAM,CAAC,YAAY,GAAG;AAAA,MACxG;AAAA,IACF,CAAC;AAAA;AAAA;;;ACVD;AAAA;AAAA;AACA;AACA,QAAI,OAAO;AAEX,QAAIC,UAAS,KAAK;AAElB,QAAI,kBAAkB,OAAO,UAAU,SAAS,eAAe,IAAI,KAAK,MAAM;AAC5E,aAAOA,QAAO,eAAe,IAAI,KAAK,IAAI;AAAA,IAC5C;AAEA,QAAIA,QAAO,eAAe,KAAM,iBAAgB,OAAO;AAAA;AAAA;;;ACVvD,IAAAC,2BAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,2BAAA;AAAA;AAAA;AAAA,WAAO,UAAU;AAAA;AAAA;;;ACAjB,IAAAC,2BAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,2BAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,2BAAA;AAAA;AAAA;AACA,WAAO,UAAU;AAAA;AAAA;;;ACDjB;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA,QAAI,+BAA+B;AAEnC,WAAO,UAAU,6BAA6B,EAAE,UAAU;AAAA;AAAA;;;ACP1D,IAAAC,oBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AACb;AAEA,WAAO,UAAU;AAAA;AAAA;;;ACJjB,IAAAC,oBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,oBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,oBAAA;AAAA;AAAA;AACA,WAAO,UAAU;AAAA;AAAA;;;ACDjB;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAC,wBAAA;AAAA;AAAA;AACA;AACA;AACA,QAAI,+BAA+B;AAEnC,WAAO,UAAU,6BAA6B,EAAE,aAAa;AAAA;AAAA;;;ACL7D,IAAAC,wBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,wBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,wBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,wBAAA;AAAA;AAAA;AACA,WAAO,UAAU;AAAA;AAAA;;;ACDjB;AAAA;AAAA;AACA,QAAI,OAAO;AACX,QAAI,OAAO;AACX,QAAI,WAAW;AACf,QAAI,cAAc;AAClB,QAAI,wBAAwB;AAC5B,QAAI,oBAAoB;AACxB,QAAI,gBAAgB;AACpB,QAAI,cAAc;AAClB,QAAI,oBAAoB;AACxB,QAAI,gBAAgB;AAEpB,QAAI,aAAa;AAEjB,QAAI,SAAS,SAAU,SAAS,QAAQ;AACtC,WAAK,UAAU;AACf,WAAK,SAAS;AAAA,IAChB;AAEA,QAAI,kBAAkB,OAAO;AAE7B,WAAO,UAAU,SAAU,UAAU,iBAAiB,SAAS;AAC7D,UAAI,OAAO,WAAW,QAAQ;AAC9B,UAAI,aAAa,CAAC,EAAE,WAAW,QAAQ;AACvC,UAAI,YAAY,CAAC,EAAE,WAAW,QAAQ;AACtC,UAAI,cAAc,CAAC,EAAE,WAAW,QAAQ;AACxC,UAAI,cAAc,CAAC,EAAE,WAAW,QAAQ;AACxC,UAAI,KAAK,KAAK,iBAAiB,IAAI;AACnC,UAAI,UAAU,QAAQ,OAAOC,SAAQ,QAAQC,OAAM;AAEnD,UAAI,OAAO,SAAU,WAAW;AAC9B,YAAI,YAAY;AAChB,mBAAW;AACX,YAAI,UAAW,eAAc,WAAW,QAAQ;AAChD,eAAO,IAAI,OAAO,MAAM,SAAS;AAAA,MACnC;AAEA,UAAI,SAAS,SAAUC,QAAO;AAC5B,YAAI,YAAY;AACd,mBAASA,MAAK;AACd,iBAAO,cAAc,GAAGA,OAAM,CAAC,GAAGA,OAAM,CAAC,GAAG,IAAI,IAAI,GAAGA,OAAM,CAAC,GAAGA,OAAM,CAAC,CAAC;AAAA,QAC3E;AAAE,eAAO,cAAc,GAAGA,QAAO,IAAI,IAAI,GAAGA,MAAK;AAAA,MACnD;AAEA,UAAI,WAAW;AACb,mBAAW,SAAS;AAAA,MACtB,WAAW,aAAa;AACtB,mBAAW;AAAA,MACb,OAAO;AACL,iBAAS,kBAAkB,QAAQ;AACnC,YAAI,CAAC,OAAQ,OAAM,IAAI,WAAW,YAAY,QAAQ,IAAI,kBAAkB;AAE5E,YAAI,sBAAsB,MAAM,GAAG;AACjC,eAAK,QAAQ,GAAGF,UAAS,kBAAkB,QAAQ,GAAGA,UAAS,OAAO,SAAS;AAC7E,qBAAS,OAAO,SAAS,KAAK,CAAC;AAC/B,gBAAI,UAAU,cAAc,iBAAiB,MAAM,EAAG,QAAO;AAAA,UAC/D;AAAE,iBAAO,IAAI,OAAO,KAAK;AAAA,QAC3B;AACA,mBAAW,YAAY,UAAU,MAAM;AAAA,MACzC;AAEA,MAAAC,QAAO,YAAY,SAAS,OAAO,SAAS;AAC5C,aAAO,EAAE,OAAO,KAAKA,OAAM,QAAQ,GAAG,MAAM;AAE1C,YAAI,QAAQ,KAAK;AACjB,YAAI;AACF,mBAAS,OAAO,KAAK;AAAA,QACvB,SAAS,OAAO;AACd,cAAI,SAAU,eAAc,UAAU,SAAS,KAAK;AAAA,cAC/C,OAAM;AAAA,QACb;AACA,YAAI,OAAO,UAAU,YAAY,UAAU,cAAc,iBAAiB,MAAM,EAAG,QAAO;AAAA,MAC5F;AAAE,aAAO,IAAI,OAAO,KAAK;AAAA,IAC3B;AAAA;AAAA;;;ACzEA;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,UAAU;AACd,QAAI,iBAAiB;AAIrB,MAAE,EAAE,QAAQ,UAAU,MAAM,KAAK,GAAG;AAAA,MAClC,aAAa,SAAS,YAAY,UAAU;AAC1C,YAAI,MAAM,CAAC;AACX,gBAAQ,UAAU,SAAU,GAAG,GAAG;AAChC,yBAAe,KAAK,GAAG,CAAC;AAAA,QAC1B,GAAG,EAAE,YAAY,KAAK,CAAC;AACvB,eAAO;AAAA,MACT;AAAA,IACF,CAAC;AAAA;AAAA;;;ACfD;AAAA;AAAA;AACA;AACA;AACA,QAAI,OAAO;AAEX,WAAO,UAAU,KAAK,OAAO;AAAA;AAAA;;;ACL7B,IAAAE,wBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AACb;AAEA,WAAO,UAAU;AAAA;AAAA;;;ACJjB,IAAAC,wBAAA;AAAA;AAAA;AAAA,WAAO,UAAU;AAAA;AAAA;;;ACAjB;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAI,QAAQ;AACZ,QAAI,cAAc;AAClB,QAAI,uBAAuB;AAC3B,QAAI,aAAa;AACjB,QAAI,kBAAkB;AACtB,QAAI,wBAAwB,wCAAsD;AAElF,QAAI,uBAAuB,YAAY,qBAAqB;AAC5D,QAAI,OAAO,YAAY,CAAC,EAAE,IAAI;AAI9B,QAAI,SAAS,eAAe,MAAM,WAAY;AAE5C,UAAI,IAAI,uBAAO,OAAO,IAAI;AAC1B,QAAE,CAAC,IAAI;AACP,aAAO,CAAC,qBAAqB,GAAG,CAAC;AAAA,IACnC,CAAC;AAGD,QAAI,eAAe,SAAU,YAAY;AACvC,aAAO,SAAU,IAAI;AACnB,YAAI,IAAI,gBAAgB,EAAE;AAC1B,YAAI,OAAO,WAAW,CAAC;AACvB,YAAI,gBAAgB,UAAU,qBAAqB,CAAC,MAAM;AAC1D,YAAIC,UAAS,KAAK;AAClB,YAAI,IAAI;AACR,YAAI,SAAS,CAAC;AACd,YAAI;AACJ,eAAOA,UAAS,GAAG;AACjB,gBAAM,KAAK,GAAG;AACd,cAAI,CAAC,gBAAgB,gBAAgB,OAAO,IAAI,qBAAqB,GAAG,GAAG,IAAI;AAC7E,iBAAK,QAAQ,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;AAAA,UAClD;AAAA,QACF;AACA,eAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO,UAAU;AAAA;AAAA;AAAA,MAGf,SAAS,aAAa,IAAI;AAAA;AAAA;AAAA,MAG1B,QAAQ,aAAa,KAAK;AAAA,IAC5B;AAAA;AAAA;;;AChDA;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,WAAW,0BAAwC;AAIvD,MAAE,EAAE,QAAQ,UAAU,MAAM,KAAK,GAAG;AAAA,MAClC,SAAS,SAAS,QAAQ,GAAG;AAC3B,eAAO,SAAS,CAAC;AAAA,MACnB;AAAA,IACF,CAAC;AAAA;AAAA;;;ACVD;AAAA;AAAA;AACA;AACA,QAAI,OAAO;AAEX,WAAO,UAAU,KAAK,OAAO;AAAA;AAAA;;;ACJ7B,IAAAC,mBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,mBAAA;AAAA;AAAA;AAAA,WAAO,UAAU;AAAA;AAAA;;;ACAjB;AAAA;AAAA;AACA;AACA,QAAI,4BAA4B;AAEhC,WAAO,UAAU,0BAA0B,SAAS,QAAQ;AAAA;AAAA;;;ACJ5D,IAAAC,kBAAA;AAAA;AAAA;AACA,QAAI,gBAAgB;AACpB,QAAI,SAAS;AAEb,QAAI,iBAAiB,MAAM;AAE3B,WAAO,UAAU,SAAU,IAAI;AAC7B,UAAI,MAAM,GAAG;AACb,aAAO,OAAO,kBAAmB,cAAc,gBAAgB,EAAE,KAAK,QAAQ,eAAe,SAAU,SAAS;AAAA,IAClH;AAAA;AAAA;;;ACTA,IAAAC,kBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,kBAAA;AAAA;AAAA;AAAA,WAAO,UAAU;AAAA;AAAA;;;ACAjB;AAAA;AAAA;AAEA,WAAO,UAAU;AAAA;AAAA;;;ACFjB;AAAA;AAAA;AACA,QAAI,cAAc;AAClB,QAAI,yBAAyB;AAC7B,QAAI,WAAW;AACf,QAAI,cAAc;AAElB,QAAIC,WAAU,YAAY,GAAG,OAAO;AACpC,QAAI,QAAQ,OAAO,OAAO,cAAc,IAAI;AAC5C,QAAI,QAAQ,OAAO,UAAU,cAAc,QAAQ,cAAc,KAAK;AAGtE,QAAI,eAAe,SAAU,MAAM;AACjC,aAAO,SAAU,OAAO;AACtB,YAAI,SAAS,SAAS,uBAAuB,KAAK,CAAC;AACnD,YAAI,OAAO,EAAG,UAASA,SAAQ,QAAQ,OAAO,EAAE;AAChD,YAAI,OAAO,EAAG,UAASA,SAAQ,QAAQ,OAAO,IAAI;AAClD,eAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO,UAAU;AAAA;AAAA;AAAA,MAGf,OAAO,aAAa,CAAC;AAAA;AAAA;AAAA,MAGrB,KAAK,aAAa,CAAC;AAAA;AAAA;AAAA,MAGnB,MAAM,aAAa,CAAC;AAAA,IACtB;AAAA;AAAA;;;AC9BA;AAAA;AAAA;AACA,QAAI,uBAAuB,wBAAsC;AACjE,QAAI,QAAQ;AACZ,QAAI,cAAc;AAElB,QAAI,MAAM;AAIV,WAAO,UAAU,SAAU,aAAa;AACtC,aAAO,MAAM,WAAY;AACvB,eAAO,CAAC,CAAC,YAAY,WAAW,EAAE,KAC7B,IAAI,WAAW,EAAE,MAAM,OACtB,wBAAwB,YAAY,WAAW,EAAE,SAAS;AAAA,MAClE,CAAC;AAAA,IACH;AAAA;AAAA;;;ACfA;AAAA;AAAA;AACA,QAAI,IAAI;AACR,QAAI,QAAQ,sBAAoC;AAChD,QAAI,yBAAyB;AAI7B,MAAE,EAAE,QAAQ,UAAU,OAAO,MAAM,QAAQ,uBAAuB,MAAM,EAAE,GAAG;AAAA,MAC3E,MAAM,SAASC,QAAO;AACpB,eAAO,MAAM,IAAI;AAAA,MACnB;AAAA,IACF,CAAC;AAAA;AAAA;;;ACXD;AAAA;AAAA;AACA;AACA,QAAI,4BAA4B;AAEhC,WAAO,UAAU,0BAA0B,UAAU,MAAM;AAAA;AAAA;;;ACJ3D,IAAAC,gBAAA;AAAA;AAAA;AACA,QAAI,gBAAgB;AACpB,QAAI,SAAS;AAEb,QAAI,kBAAkB,OAAO;AAE7B,WAAO,UAAU,SAAU,IAAI;AAC7B,UAAI,MAAM,GAAG;AACb,aAAO,OAAO,MAAM,YAAY,OAAO,mBACjC,cAAc,iBAAiB,EAAE,KAAK,QAAQ,gBAAgB,OAAQ,SAAS;AAAA,IACvF;AAAA;AAAA;;;ACVA,IAAAC,gBAAA;AAAA;AAAA;AACA,QAAI,SAAS;AAEb,WAAO,UAAU;AAAA;AAAA;;;ACHjB,IAAAC,gBAAA;AAAA;AAAA;AAAA,WAAO,UAAU;AAAA;AAAA;;;ACAjB,SAAgB,eAAAC,cAAa,UAAAC,SAAQ,YAAAC,iBAAgB;AACrD,SAAS,YAAoC;AAC7C,OAAO;AACP,SAAS,iBAAiB,mBAAmB;AAG7C;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA,wBAAAC;AAAA,EACA;AAAA,EACA;AAAA,OACK;;;ACbP,OAAOC,YAAW;;;ACkER,cAQF,YARE;AArDH,IAAM,OAAmC;AAAA,EAC9C,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,SAAS,EAAE,MAAM,QAAQ,OAAO,UAAU;AAAA,IAC1C,YAAY,EAAE,MAAM,YAAY,OAAO,aAAa;AAAA,IACpD,iBAAiB,EAAE,MAAM,QAAQ,OAAO,uBAAuB;AAAA,IAC/D,SAAS,EAAE,MAAM,QAAQ,OAAO,kBAAkB;AAAA,IAClD,QAAQ,EAAE,MAAM,QAAQ,OAAO,iBAAiB;AAAA,IAChD,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,QACP,EAAE,OAAO,YAAY,OAAO,WAAW;AAAA,QACvC,EAAE,OAAO,gBAAgB,OAAO,eAAe;AAAA,MACjD;AAAA,IACF;AAAA,IACA,WAAW,EAAE,MAAM,QAAQ,OAAO,+BAA+B;AAAA,EACnE;AAAA,EACA,cAAc;AAAA,IACZ,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,WAAW;AAAA,EACb;AAAA,EACA,QAAQ,CAAC;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAM;AACJ,UAAM,WAAW,WAAW;AAC5B,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,UAAU;AAAA,UACV,WAAW,aAAa;AAAA,UACxB,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,gBAAgB,WAAW,WAAW;AAAA,UACtC,SAAS;AAAA,UACT,iBAAiB,kBACb,OAAO,eAAe,MACtB;AAAA,UACJ,gBAAgB;AAAA,UAChB,oBAAoB;AAAA,UACpB,iBAAiB,kBAAkB,SAAY;AAAA,UAC/C,OAAO;AAAA,UACP,WAAW;AAAA,QACb;AAAA,QAEC;AAAA,6BACC;AAAA,YAAC;AAAA;AAAA,cACC,OAAO;AAAA,gBACL,UAAU;AAAA,gBACV,OAAO;AAAA,gBACP,YAAY;AAAA,cACd;AAAA;AAAA,UACF;AAAA,UAEF;AAAA,YAAC;AAAA;AAAA,cACC,OAAO;AAAA,gBACL,UAAU;AAAA,gBACV,UAAU;AAAA,gBACV,WAAW,WAAW,WAAW;AAAA,cACnC;AAAA,cAEA;AAAA,oCAAC,QAAG,OAAO,EAAE,QAAQ,YAAY,UAAU,UAAU,YAAY,IAAI,GAClE,mBACH;AAAA,gBACC,cACC,oBAAC,OAAE,OAAO,EAAE,QAAQ,YAAY,UAAU,UAAU,SAAS,KAAK,GAC/D,sBACH;AAAA,gBAED,WAAW,UACV;AAAA,kBAAC;AAAA;AAAA,oBACC,MAAM;AAAA,oBACN,OAAO;AAAA,sBACL,SAAS;AAAA,sBACT,SAAS;AAAA,sBACT,YAAY;AAAA,sBACZ,OAAO;AAAA,sBACP,cAAc;AAAA,sBACd,gBAAgB;AAAA,sBAChB,YAAY;AAAA,oBACd;AAAA,oBAEC;AAAA;AAAA,gBACH;AAAA;AAAA;AAAA,UAEJ;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;;;AC1EI,gBAAAC,YAAA;AAzBG,IAAM,WAA2C;AAAA,EACtD,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,SAAS;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,QACP,EAAE,OAAO,QAAQ,OAAO,OAAO;AAAA,QAC/B,EAAE,OAAO,UAAU,OAAO,SAAS;AAAA,QACnC,EAAE,OAAO,SAAS,OAAO,QAAQ;AAAA,MACnC;AAAA,IACF;AAAA,IACA,UAAU,EAAE,MAAM,QAAQ,OAAO,kBAAkB;AAAA,IACnD,SAAS,EAAE,MAAM,QAAQ,OAAO,gBAAgB;AAAA,EAClD;AAAA,EACA,cAAc;AAAA,IACZ,SAAS;AAAA,IACT,OAAO;AAAA,IACP,SAAS;AAAA,EACX;AAAA,EACA,QAAQ,CAAC,EAAE,SAAS,OAAO,UAAU,QAAQ,MAC3C,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,SAAS,WAAW;AAAA,QACpB,WAAW,SAAS;AAAA,QACpB;AAAA,QACA,QAAQ,WAAW,WAAW;AAAA,QAC9B,WAAW;AAAA,MACb;AAAA,MAEA,yBAAyB,EAAE,QAAQ,QAAQ;AAAA;AAAA,EAC7C;AAEJ;;;AC9CA,SAAS,gBAAsC;AA0CnC,gBAAAC,YAAA;AAlCL,IAAM,UAAyC;AAAA,EACpD,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,aAAa;AAAA,MACX,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,QACP,EAAE,OAAO,GAAG,OAAO,YAAY;AAAA,QAC/B,EAAE,OAAO,GAAG,OAAO,YAAY;AAAA,QAC/B,EAAE,OAAO,GAAG,OAAO,YAAY;AAAA,MACjC;AAAA,IACF;AAAA,IACA,KAAK,EAAE,MAAM,QAAQ,OAAO,mBAAmB;AAAA,IAC/C,SAAS,EAAE,MAAM,QAAQ,OAAO,gBAAgB;AAAA,EAClD;AAAA,EACA,cAAc;AAAA,IACZ,aAAa;AAAA,IACb,KAAK;AAAA,IACL,SAAS;AAAA,EACX;AAAA,EACA,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,QAAQ,UAAU,OAAO,MAAM;AAC/D,UAAM,OAAO,MAAM,KAAK,EAAE,QAAQ,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC;AAC5D,WACE,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,SAAS;AAAA,UACT,qBAAqB,UAAU,WAAW;AAAA,UAC1C;AAAA,UACA;AAAA,UACA,WAAW;AAAA,QACb;AAAA,QAEC,eAAK,IAAI,CAAC,MACT,gBAAAA,KAAC,SACC,0BAAAA,KAAC,YAAS,MAAM,UAAU,CAAC,IAAI,KADvB,CAEV,CACD;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;;;ACjDA;AAAA,EACE;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,OACK;AACP,SAAS,uBAAuB;AAEhC,OAAO,mBAAmB;AAC1B,OAAO,qBAAqB;AAC5B,OAAO,gBAAgB;AACvB,OAAO,yBAAyB;AAChC,OAAO,eAAe;AACtB,OAAO,WAAW;;;ACblB,sBAA2B;AAC3B,SAAS,gBAAgB,GAAG;AAC1B,UAAI,gBAAAC,SAAe,CAAC,EAAG,QAAO;AAChC;;;ACHA,oBAAoB;AACpB,iCAA+B;AAC/B,kBAAkC;AAClC,SAAS,sBAAsB,GAAG,GAAG;AACnC,MAAI,IAAI,QAAQ,IAAI,OAAO,eAAe,OAAO,cAAAC,eAAW,2BAAAC,SAAmB,CAAC,KAAK,EAAE,YAAY;AACnG,MAAI,QAAQ,GAAG;AACb,QAAI,GACF,GACA,GACA,GACA,IAAI,CAAC,GACL,IAAI,MACJ,IAAI;AACN,QAAI;AACF,UAAI,KAAK,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,MAAM,GAAG;AACrC,YAAI,OAAO,CAAC,MAAM,EAAG;AACrB,YAAI;AAAA,MACN,MAAO,QAAO,EAAE,KAAK,IAAI,EAAE,KAAK,CAAC,GAAG,cAAU,YAAAC,SAAsB,CAAC,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,WAAW,IAAI,IAAI,KAAG;AAAA,IACnH,SAASC,IAAG;AACV,UAAI,MAAI,IAAIA;AAAA,IACd,UAAE;AACA,UAAI;AACF,YAAI,CAAC,KAAK,QAAQ,EAAE,QAAQ,MAAM,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,GAAI;AAAA,MACzE,UAAE;AACA,YAAI,EAAG,OAAM;AAAA,MACf;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;;;AC7BA,mBAAmC;AACnC,kBAAwB;;;ACDxB,SAAS,kBAAkB,GAAG,GAAG;AAC/B,GAAC,QAAQ,KAAK,IAAI,EAAE,YAAY,IAAI,EAAE;AACtC,WAAS,IAAI,GAAG,IAAI,MAAM,CAAC,GAAG,IAAI,GAAG,IAAK,GAAE,CAAC,IAAI,EAAE,CAAC;AACpD,SAAO;AACT;;;ADDA,SAAS,4BAA4B,GAAG,GAAG;AACzC,MAAI,GAAG;AACL,QAAI;AACJ,QAAI,YAAY,OAAO,EAAG,QAAO,kBAAiB,GAAG,CAAC;AACtD,QAAI,QAAI,aAAAC,SAAuB,WAAW,CAAC,EAAE,SAAS,KAAK,CAAC,CAAC,EAAE,KAAK,UAAU,GAAG,EAAE;AACnF,WAAO,aAAa,KAAK,EAAE,gBAAgB,IAAI,EAAE,YAAY,OAAO,UAAU,KAAK,UAAU,QAAI,YAAAC,SAAY,CAAC,IAAI,gBAAgB,KAAK,2CAA2C,KAAK,CAAC,IAAI,kBAAiB,GAAG,CAAC,IAAI;AAAA,EACvN;AACF;;;AEVA,SAAS,mBAAmB;AAC1B,QAAM,IAAI,UAAU,2IAA2I;AACjK;;;ACEA,SAAS,eAAe,GAAG,GAAG;AAC5B,SAAO,gBAAe,CAAC,KAAK,sBAAqB,GAAG,CAAC,KAAK,4BAA2B,GAAG,CAAC,KAAK,iBAAgB;AAChH;;;ACNA,sCAA0C;AAC1C,IAAAC,mBAAqC;;;ACDrC,sBAAqC;AACrC,SAAS,8BAA8B,GAAG,GAAG;AAC3C,MAAI,QAAQ,EAAG,QAAO,CAAC;AACvB,MAAI,IAAI,CAAC;AACT,WAAS,KAAK,EAAG,KAAI,CAAC,EAAE,eAAe,KAAK,GAAG,CAAC,GAAG;AACjD,QAAI,WAAO,gBAAAC,SAAyB,CAAC,EAAE,KAAK,GAAG,CAAC,EAAG;AACnD,MAAE,CAAC,IAAI,EAAE,CAAC;AAAA,EACZ;AACA,SAAO;AACT;;;ADNA,SAAS,yBAAyB,GAAG,GAAG;AACtC,MAAI,QAAQ,EAAG,QAAO,CAAC;AACvB,MAAI,GACF,GACA,IAAI,8BAA6B,GAAG,CAAC;AACvC,MAAI,gCAAAC,SAA+B;AACjC,QAAI,QAAI,gCAAAA,SAA8B,CAAC;AACvC,SAAK,IAAI,GAAG,IAAI,EAAE,QAAQ,IAAK,KAAI,EAAE,CAAC,GAAG,WAAO,iBAAAC,SAAyB,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,qBAAqB,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAAA,EAC7I;AACA,SAAO;AACT;;;AEbA,IAAAC,gBAAmC;AACnC,oBAA2B;AAC3B,+BAAqC;AACrC,SAAS,uBAAuB,GAAG,GAAG;AACpC,SAAO,MAAM,QAAI,cAAAC,SAAuB,CAAC,EAAE,KAAK,GAAG,CAAC,QAAI,cAAAC,aAAe,yBAAAC,SAAyB,GAAG;AAAA,IACjG,KAAK;AAAA,MACH,WAAO,cAAAD,SAAe,CAAC;AAAA,IACzB;AAAA,EACF,CAAC,CAAC;AACJ;;;ACNA,yBAAwB;AACxB,SAAS,UAAU,aAAAE,kBAAiB;;;ACJpC,YAAYC,YAAW;AACvB,SAAS,cAAAC,aAAY,cAAAC,mBAAkB;;;ACDvC,IAAI,gBAAgB;AAyBpB,SAAS,YAAY,KAAK;AACxB,MAAI,IAAI,OAAO;AACb,WAAO,IAAI;AAAA,EACb;AAKA,WAAS,IAAI,GAAG,IAAI,SAAS,YAAY,QAAQ,KAAK;AACpD,QAAI,SAAS,YAAY,CAAC,EAAE,cAAc,KAAK;AAC7C,aAAO,SAAS,YAAY,CAAC;AAAA,IAC/B;AAAA,EACF;AAIA,SAAO;AACT;AAEA,SAAS,mBAAmB,SAAS;AACnC,MAAI,MAAM,SAAS,cAAc,OAAO;AACxC,MAAI,aAAa,gBAAgB,QAAQ,GAAG;AAE5C,MAAI,QAAQ,UAAU,QAAW;AAC/B,QAAI,aAAa,SAAS,QAAQ,KAAK;AAAA,EACzC;AAEA,MAAI,YAAY,SAAS,eAAe,EAAE,CAAC;AAC3C,MAAI,aAAa,UAAU,EAAE;AAC7B,SAAO;AACT;AAEA,IAAI,aAA0B,4BAAY;AAExC,WAASC,YAAW,SAAS;AAC3B,QAAI,QAAQ;AAEZ,SAAK,aAAa,SAAU,KAAK;AAC/B,UAAI;AAEJ,UAAI,MAAM,KAAK,WAAW,GAAG;AAC3B,YAAI,MAAM,gBAAgB;AACxB,mBAAS,MAAM,eAAe;AAAA,QAChC,WAAW,MAAM,SAAS;AACxB,mBAAS,MAAM,UAAU;AAAA,QAC3B,OAAO;AACL,mBAAS,MAAM;AAAA,QACjB;AAAA,MACF,OAAO;AACL,iBAAS,MAAM,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE;AAAA,MAC7C;AAEA,YAAM,UAAU,aAAa,KAAK,MAAM;AAExC,YAAM,KAAK,KAAK,GAAG;AAAA,IACrB;AAEA,SAAK,WAAW,QAAQ,WAAW,SAAY,CAAC,gBAAgB,QAAQ;AACxE,SAAK,OAAO,CAAC;AACb,SAAK,MAAM;AACX,SAAK,QAAQ,QAAQ;AAErB,SAAK,MAAM,QAAQ;AACnB,SAAK,YAAY,QAAQ;AACzB,SAAK,UAAU,QAAQ;AACvB,SAAK,iBAAiB,QAAQ;AAC9B,SAAK,SAAS;AAAA,EAChB;AAEA,MAAI,SAASA,YAAW;AAExB,SAAO,UAAU,SAAS,QAAQ,OAAO;AACvC,UAAM,QAAQ,KAAK,UAAU;AAAA,EAC/B;AAEA,SAAO,SAAS,SAAS,OAAO,MAAM;AAIpC,QAAI,KAAK,OAAO,KAAK,WAAW,OAAQ,OAAO,GAAG;AAChD,WAAK,WAAW,mBAAmB,IAAI,CAAC;AAAA,IAC1C;AAEA,QAAI,MAAM,KAAK,KAAK,KAAK,KAAK,SAAS,CAAC;AAExC,QAAI,KAAK,UAAU;AACjB,UAAI,QAAQ,YAAY,GAAG;AAE3B,UAAI;AAGF,cAAM,WAAW,MAAM,MAAM,SAAS,MAAM;AAAA,MAC9C,SAAS,GAAG;AAAA,MACZ;AAAA,IACF,OAAO;AACL,UAAI,YAAY,SAAS,eAAe,IAAI,CAAC;AAAA,IAC/C;AAEA,SAAK;AAAA,EACP;AAEA,SAAO,QAAQ,SAAS,QAAQ;AAC9B,SAAK,KAAK,QAAQ,SAAU,KAAK;AAC/B,UAAI;AAEJ,cAAQ,kBAAkB,IAAI,eAAe,OAAO,SAAS,gBAAgB,YAAY,GAAG;AAAA,IAC9F,CAAC;AACD,SAAK,OAAO,CAAC;AACb,SAAK,MAAM;AAAA,EACb;AAEA,SAAOA;AACT,GAAE;;;ACzIK,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,SAAS;AAEb,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,cAAc;AAIlB,IAAI,SAAS;AAMb,IAAI,YAAY;AAIhB,IAAI,QAAQ;;;AChBZ,IAAI,MAAM,KAAK;AAMf,IAAI,OAAO,OAAO;AAMlB,IAAI,SAAS,OAAO;AAOpB,SAAS,KAAM,OAAOC,SAAQ;AACpC,SAAO,OAAO,OAAO,CAAC,IAAI,QAAYA,WAAU,IAAK,OAAO,OAAO,CAAC,MAAM,IAAK,OAAO,OAAO,CAAC,MAAM,IAAK,OAAO,OAAO,CAAC,MAAM,IAAK,OAAO,OAAO,CAAC,IAAI;AACvJ;AAMO,SAAS,KAAM,OAAO;AAC5B,SAAO,MAAM,KAAK;AACnB;AAOO,SAAS,MAAO,OAAO,SAAS;AACtC,UAAQ,QAAQ,QAAQ,KAAK,KAAK,KAAK,MAAM,CAAC,IAAI;AACnD;AAQO,SAAS,QAAS,OAAO,SAAS,aAAa;AACrD,SAAO,MAAM,QAAQ,SAAS,WAAW;AAC1C;AAOO,SAAS,QAAS,OAAO,QAAQ;AACvC,SAAO,MAAM,QAAQ,MAAM;AAC5B;AAOO,SAAS,OAAQ,OAAO,OAAO;AACrC,SAAO,MAAM,WAAW,KAAK,IAAI;AAClC;AAQO,SAAS,OAAQ,OAAO,OAAO,KAAK;AAC1C,SAAO,MAAM,MAAM,OAAO,GAAG;AAC9B;AAMO,SAAS,OAAQ,OAAO;AAC9B,SAAO,MAAM;AACd;AAMO,SAAS,OAAQ,OAAO;AAC9B,SAAO,MAAM;AACd;AAOO,SAAS,OAAQ,OAAO,OAAO;AACrC,SAAO,MAAM,KAAK,KAAK,GAAG;AAC3B;AAOO,SAAS,QAAS,OAAO,UAAU;AACzC,SAAO,MAAM,IAAI,QAAQ,EAAE,KAAK,EAAE;AACnC;;;AChHO,IAAI,OAAO;AACX,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,aAAa;AAWjB,SAAS,KAAM,OAAO,MAAM,QAAQ,MAAM,OAAO,UAAUC,SAAQ;AACzE,SAAO,EAAC,OAAc,MAAY,QAAgB,MAAY,OAAc,UAAoB,MAAY,QAAgB,QAAQA,SAAQ,QAAQ,GAAE;AACvJ;AAOO,SAAS,KAAM,MAAM,OAAO;AAClC,SAAO,OAAO,KAAK,IAAI,MAAM,MAAM,IAAI,MAAM,MAAM,CAAC,GAAG,MAAM,EAAC,QAAQ,CAAC,KAAK,OAAM,GAAG,KAAK;AAC3F;AAKO,SAAS,OAAQ;AACvB,SAAO;AACR;AAKO,SAAS,OAAQ;AACvB,cAAY,WAAW,IAAI,OAAO,YAAY,EAAE,QAAQ,IAAI;AAE5D,MAAI,UAAU,cAAc;AAC3B,aAAS,GAAG;AAEb,SAAO;AACR;AAKO,SAAS,OAAQ;AACvB,cAAY,WAAW,SAAS,OAAO,YAAY,UAAU,IAAI;AAEjE,MAAI,UAAU,cAAc;AAC3B,aAAS,GAAG;AAEb,SAAO;AACR;AAKO,SAAS,OAAQ;AACvB,SAAO,OAAO,YAAY,QAAQ;AACnC;AAKO,SAAS,QAAS;AACxB,SAAO;AACR;AAOO,SAAS,MAAO,OAAO,KAAK;AAClC,SAAO,OAAO,YAAY,OAAO,GAAG;AACrC;AAMO,SAAS,MAAO,MAAM;AAC5B,UAAQ,MAAM;AAAA;AAAA,IAEb,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AACtC,aAAO;AAAA;AAAA,IAER,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA;AAAA,IAE3D,KAAK;AAAA,IAAI,KAAK;AAAA,IAAK,KAAK;AACvB,aAAO;AAAA;AAAA,IAER,KAAK;AACJ,aAAO;AAAA;AAAA,IAER,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAC/B,aAAO;AAAA;AAAA,IAER,KAAK;AAAA,IAAI,KAAK;AACb,aAAO;AAAA,EACT;AAEA,SAAO;AACR;AAMO,SAAS,MAAO,OAAO;AAC7B,SAAO,OAAO,SAAS,GAAG,SAAS,OAAO,aAAa,KAAK,GAAG,WAAW,GAAG,CAAC;AAC/E;AAMO,SAAS,QAAS,OAAO;AAC/B,SAAO,aAAa,IAAI;AACzB;AAMO,SAAS,QAAS,MAAM;AAC9B,SAAO,KAAK,MAAM,WAAW,GAAG,UAAU,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC;AACnG;AAcO,SAAS,WAAY,MAAM;AACjC,SAAO,YAAY,KAAK;AACvB,QAAI,YAAY;AACf,WAAK;AAAA;AAEL;AAEF,SAAO,MAAM,IAAI,IAAI,KAAK,MAAM,SAAS,IAAI,IAAI,KAAK;AACvD;AAwBO,SAAS,SAAU,OAAO,OAAO;AACvC,SAAO,EAAE,SAAS,KAAK;AAEtB,QAAI,YAAY,MAAM,YAAY,OAAQ,YAAY,MAAM,YAAY,MAAQ,YAAY,MAAM,YAAY;AAC7G;AAEF,SAAO,MAAM,OAAO,MAAM,KAAK,QAAQ,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,GAAG;AAC1E;AAMO,SAAS,UAAW,MAAM;AAChC,SAAO,KAAK;AACX,YAAQ,WAAW;AAAA;AAAA,MAElB,KAAK;AACJ,eAAO;AAAA;AAAA,MAER,KAAK;AAAA,MAAI,KAAK;AACb,YAAI,SAAS,MAAM,SAAS;AAC3B,oBAAU,SAAS;AACpB;AAAA;AAAA,MAED,KAAK;AACJ,YAAI,SAAS;AACZ,oBAAU,IAAI;AACf;AAAA;AAAA,MAED,KAAK;AACJ,aAAK;AACL;AAAA,IACF;AAED,SAAO;AACR;AAOO,SAAS,UAAW,MAAM,OAAO;AACvC,SAAO,KAAK;AAEX,QAAI,OAAO,cAAc,KAAK;AAC7B;AAAA,aAEQ,OAAO,cAAc,KAAK,MAAM,KAAK,MAAM;AACnD;AAEF,SAAO,OAAO,MAAM,OAAO,WAAW,CAAC,IAAI,MAAM,KAAK,SAAS,KAAK,OAAO,KAAK,CAAC;AAClF;AAMO,SAAS,WAAY,OAAO;AAClC,SAAO,CAAC,MAAM,KAAK,CAAC;AACnB,SAAK;AAEN,SAAO,MAAM,OAAO,QAAQ;AAC7B;;;AC7OO,SAAS,QAAS,OAAO;AAC/B,SAAO,QAAQ,MAAM,IAAI,MAAM,MAAM,MAAM,CAAC,EAAE,GAAG,QAAQ,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AACtF;AAcO,SAAS,MAAO,OAAO,MAAM,QAAQ,MAAM,OAAO,UAAU,QAAQ,QAAQ,cAAc;AAChG,MAAI,QAAQ;AACZ,MAAI,SAAS;AACb,MAAIC,UAAS;AACb,MAAI,SAAS;AACb,MAAI,WAAW;AACf,MAAI,WAAW;AACf,MAAI,WAAW;AACf,MAAI,WAAW;AACf,MAAI,YAAY;AAChB,MAAIC,aAAY;AAChB,MAAI,OAAO;AACX,MAAI,QAAQ;AACZ,MAAI,WAAW;AACf,MAAI,YAAY;AAChB,MAAIC,cAAa;AAEjB,SAAO;AACN,YAAQ,WAAWD,YAAWA,aAAY,KAAK,GAAG;AAAA;AAAA,MAEjD,KAAK;AACJ,YAAI,YAAY,OAAO,OAAOC,aAAYF,UAAS,CAAC,KAAK,IAAI;AAC5D,cAAI,QAAQE,eAAc,QAAQ,QAAQD,UAAS,GAAG,KAAK,KAAK,GAAG,KAAK,KAAK;AAC5E,wBAAY;AACb;AAAA,QACD;AAAA;AAAA,MAED,KAAK;AAAA,MAAI,KAAK;AAAA,MAAI,KAAK;AACtB,QAAAC,eAAc,QAAQD,UAAS;AAC/B;AAAA;AAAA,MAED,KAAK;AAAA,MAAG,KAAK;AAAA,MAAI,KAAK;AAAA,MAAI,KAAK;AAC9B,QAAAC,eAAc,WAAW,QAAQ;AACjC;AAAA;AAAA,MAED,KAAK;AACJ,QAAAA,eAAc,SAAS,MAAM,IAAI,GAAG,CAAC;AACrC;AAAA;AAAA,MAED,KAAK;AACJ,gBAAQ,KAAK,GAAG;AAAA,UACf,KAAK;AAAA,UAAI,KAAK;AACb,mBAAO,QAAQ,UAAU,KAAK,GAAG,MAAM,CAAC,GAAG,MAAM,MAAM,GAAG,YAAY;AACtE;AAAA,UACD;AACC,YAAAA,eAAc;AAAA,QAChB;AACA;AAAA;AAAA,MAED,KAAK,MAAM;AACV,eAAO,OAAO,IAAI,OAAOA,WAAU,IAAI;AAAA;AAAA,MAExC,KAAK,MAAM;AAAA,MAAU,KAAK;AAAA,MAAI,KAAK;AAClC,gBAAQD,YAAW;AAAA;AAAA,UAElB,KAAK;AAAA,UAAG,KAAK;AAAK,uBAAW;AAAA;AAAA,UAE7B,KAAK,KAAK;AAAQ,gBAAI,aAAa,GAAI,CAAAC,cAAa,QAAQA,aAAY,OAAO,EAAE;AAChF,gBAAI,WAAW,KAAM,OAAOA,WAAU,IAAIF;AACzC,qBAAO,WAAW,KAAK,YAAYE,cAAa,KAAK,MAAM,QAAQF,UAAS,CAAC,IAAI,YAAY,QAAQE,aAAY,KAAK,EAAE,IAAI,KAAK,MAAM,QAAQF,UAAS,CAAC,GAAG,YAAY;AACzK;AAAA;AAAA,UAED,KAAK;AAAI,YAAAE,eAAc;AAAA;AAAA,UAEvB;AACC,mBAAO,YAAY,QAAQA,aAAY,MAAM,QAAQ,OAAO,QAAQ,OAAO,QAAQ,MAAM,QAAQ,CAAC,GAAG,WAAW,CAAC,GAAGF,OAAM,GAAG,QAAQ;AAErI,gBAAIC,eAAc;AACjB,kBAAI,WAAW;AACd,sBAAMC,aAAY,MAAM,WAAW,WAAW,OAAO,UAAUF,SAAQ,QAAQ,QAAQ;AAAA;AAEvF,wBAAQ,WAAW,MAAM,OAAOE,aAAY,CAAC,MAAM,MAAM,MAAM,QAAQ;AAAA;AAAA,kBAEtE,KAAK;AAAA,kBAAK,KAAK;AAAA,kBAAK,KAAK;AAAA,kBAAK,KAAK;AAClC,0BAAM,OAAO,WAAW,WAAW,QAAQ,OAAO,QAAQ,OAAO,WAAW,WAAW,GAAG,GAAG,OAAO,QAAQ,MAAM,OAAO,QAAQ,CAAC,GAAGF,OAAM,GAAG,QAAQ,GAAG,OAAO,UAAUA,SAAQ,QAAQ,OAAO,QAAQ,QAAQ;AACjN;AAAA,kBACD;AACC,0BAAME,aAAY,WAAW,WAAW,WAAW,CAAC,EAAE,GAAG,UAAU,GAAG,QAAQ,QAAQ;AAAA,gBACxF;AAAA,QACJ;AAEA,gBAAQ,SAAS,WAAW,GAAG,WAAW,YAAY,GAAG,OAAOA,cAAa,IAAIF,UAAS;AAC1F;AAAA;AAAA,MAED,KAAK;AACJ,QAAAA,UAAS,IAAI,OAAOE,WAAU,GAAG,WAAW;AAAA,MAC7C;AACC,YAAI,WAAW;AACd,cAAID,cAAa;AAChB,cAAE;AAAA,mBACMA,cAAa,OAAO,cAAc,KAAK,KAAK,KAAK;AACzD;AAAA;AAEF,gBAAQC,eAAc,KAAKD,UAAS,GAAGA,aAAY,UAAU;AAAA;AAAA,UAE5D,KAAK;AACJ,wBAAY,SAAS,IAAI,KAAKC,eAAc,MAAM;AAClD;AAAA;AAAA,UAED,KAAK;AACJ,mBAAO,OAAO,KAAK,OAAOA,WAAU,IAAI,KAAK,WAAW,YAAY;AACpE;AAAA;AAAA,UAED,KAAK;AAEJ,gBAAI,KAAK,MAAM;AACd,cAAAA,eAAc,QAAQ,KAAK,CAAC;AAE7B,qBAAS,KAAK,GAAG,SAASF,UAAS,OAAO,OAAOE,eAAc,WAAW,MAAM,CAAC,CAAC,GAAGD;AACrF;AAAA;AAAA,UAED,KAAK;AACJ,gBAAI,aAAa,MAAM,OAAOC,WAAU,KAAK;AAC5C,yBAAW;AAAA,QACd;AAAA,IACF;AAED,SAAO;AACR;AAgBO,SAAS,QAAS,OAAO,MAAM,QAAQ,OAAO,QAAQ,OAAO,QAAQ,MAAM,OAAO,UAAUF,SAAQ;AAC1G,MAAI,OAAO,SAAS;AACpB,MAAI,OAAO,WAAW,IAAI,QAAQ,CAAC,EAAE;AACrC,MAAI,OAAO,OAAO,IAAI;AAEtB,WAAS,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,OAAO,EAAE;AAC1C,aAAS,IAAI,GAAG,IAAI,OAAO,OAAO,OAAO,GAAG,OAAO,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,IAAI,MAAM,EAAE;AAC9F,UAAI,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,MAAM,IAAI,QAAQ,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC;AACnE,cAAM,GAAG,IAAI;AAEhB,SAAO,KAAK,OAAO,MAAM,QAAQ,WAAW,IAAI,UAAU,MAAM,OAAO,UAAUA,OAAM;AACxF;AAQO,SAAS,QAAS,OAAO,MAAM,QAAQ;AAC7C,SAAO,KAAK,OAAO,MAAM,QAAQ,SAAS,KAAK,KAAK,CAAC,GAAG,OAAO,OAAO,GAAG,EAAE,GAAG,CAAC;AAChF;AASO,SAAS,YAAa,OAAO,MAAM,QAAQA,SAAQ;AACzD,SAAO,KAAK,OAAO,MAAM,QAAQ,aAAa,OAAO,OAAO,GAAGA,OAAM,GAAG,OAAO,OAAOA,UAAS,GAAG,EAAE,GAAGA,OAAM;AAC9G;;;ACtLO,SAAS,UAAW,UAAU,UAAU;AAC9C,MAAI,SAAS;AACb,MAAIG,UAAS,OAAO,QAAQ;AAE5B,WAAS,IAAI,GAAG,IAAIA,SAAQ;AAC3B,cAAU,SAAS,SAAS,CAAC,GAAG,GAAG,UAAU,QAAQ,KAAK;AAE3D,SAAO;AACR;AASO,SAAS,UAAW,SAAS,OAAO,UAAU,UAAU;AAC9D,UAAQ,QAAQ,MAAM;AAAA,IACrB,KAAK;AAAO,UAAI,QAAQ,SAAS,OAAQ;AAAA,IACzC,KAAK;AAAA,IAAQ,KAAK;AAAa,aAAO,QAAQ,SAAS,QAAQ,UAAU,QAAQ;AAAA,IACjF,KAAK;AAAS,aAAO;AAAA,IACrB,KAAK;AAAW,aAAO,QAAQ,SAAS,QAAQ,QAAQ,MAAM,UAAU,QAAQ,UAAU,QAAQ,IAAI;AAAA,IACtG,KAAK;AAAS,cAAQ,QAAQ,QAAQ,MAAM,KAAK,GAAG;AAAA,EACrD;AAEA,SAAO,OAAO,WAAW,UAAU,QAAQ,UAAU,QAAQ,CAAC,IAAI,QAAQ,SAAS,QAAQ,QAAQ,MAAM,WAAW,MAAM;AAC3H;;;ACzBO,SAAS,WAAY,YAAY;AACvC,MAAIC,UAAS,OAAO,UAAU;AAE9B,SAAO,SAAU,SAAS,OAAO,UAAU,UAAU;AACpD,QAAI,SAAS;AAEb,aAAS,IAAI,GAAG,IAAIA,SAAQ;AAC3B,gBAAU,WAAW,CAAC,EAAE,SAAS,OAAO,UAAU,QAAQ,KAAK;AAEhE,WAAO;AAAA,EACR;AACD;AAMO,SAAS,UAAW,UAAU;AACpC,SAAO,SAAU,SAAS;AACzB,QAAI,CAAC,QAAQ;AACZ,UAAI,UAAU,QAAQ;AACrB,iBAAS,OAAO;AAAA;AAAA,EACnB;AACD;;;ACjCA,IAAI,cAAc,SAASC,aAAY,MAAM;AAC3C,MAAI,QAAQ,oBAAI,QAAQ;AACxB,SAAO,SAAU,KAAK;AACpB,QAAI,MAAM,IAAI,GAAG,GAAG;AAGlB,aAAO,MAAM,IAAI,GAAG;AAAA,IACtB;AAEA,QAAI,MAAM,KAAK,GAAG;AAClB,UAAM,IAAI,KAAK,GAAG;AAClB,WAAO;AAAA,EACT;AACF;;;ACbA,SAAS,QAAQ,IAAI;AACnB,MAAI,QAAQ,uBAAO,OAAO,IAAI;AAC9B,SAAO,SAAU,KAAK;AACpB,QAAI,MAAM,GAAG,MAAM,OAAW,OAAM,GAAG,IAAI,GAAG,GAAG;AACjD,WAAO,MAAM,GAAG;AAAA,EAClB;AACF;;;ACDA,IAAI,YAAY,OAAO,aAAa;AAEpC,IAAI,8BAA8B,SAASC,6BAA4B,OAAO,QAAQ,OAAO;AAC3F,MAAI,WAAW;AACf,MAAIC,aAAY;AAEhB,SAAO,MAAM;AACX,eAAWA;AACX,IAAAA,aAAY,KAAK;AAEjB,QAAI,aAAa,MAAMA,eAAc,IAAI;AACvC,aAAO,KAAK,IAAI;AAAA,IAClB;AAEA,QAAI,MAAMA,UAAS,GAAG;AACpB;AAAA,IACF;AAEA,SAAK;AAAA,EACP;AAEA,SAAO,MAAM,OAAO,QAAQ;AAC9B;AAEA,IAAI,UAAU,SAASC,SAAQ,QAAQ,QAAQ;AAE7C,MAAI,QAAQ;AACZ,MAAID,aAAY;AAEhB,KAAG;AACD,YAAQ,MAAMA,UAAS,GAAG;AAAA,MACxB,KAAK;AAEH,YAAIA,eAAc,MAAM,KAAK,MAAM,IAAI;AAKrC,iBAAO,KAAK,IAAI;AAAA,QAClB;AAEA,eAAO,KAAK,KAAK,4BAA4B,WAAW,GAAG,QAAQ,KAAK;AACxE;AAAA,MAEF,KAAK;AACH,eAAO,KAAK,KAAK,QAAQA,UAAS;AAClC;AAAA,MAEF,KAAK;AAEH,YAAIA,eAAc,IAAI;AAEpB,iBAAO,EAAE,KAAK,IAAI,KAAK,MAAM,KAAK,QAAQ;AAC1C,iBAAO,KAAK,IAAI,OAAO,KAAK,EAAE;AAC9B;AAAA,QACF;AAAA;AAAA,MAIF;AACE,eAAO,KAAK,KAAK,KAAKA,UAAS;AAAA,IACnC;AAAA,EACF,SAASA,aAAY,KAAK;AAE1B,SAAO;AACT;AAEA,IAAI,WAAW,SAASE,UAAS,OAAO,QAAQ;AAC9C,SAAO,QAAQ,QAAQ,MAAM,KAAK,GAAG,MAAM,CAAC;AAC9C;AAGA,IAAI,gBAA+B,oBAAI,QAAQ;AAC/C,IAAI,SAAS,SAASC,QAAO,SAAS;AACpC,MAAI,QAAQ,SAAS,UAAU,CAAC,QAAQ;AAAA;AAAA,EAExC,QAAQ,SAAS,GAAG;AAClB;AAAA,EACF;AAEA,MAAI,QAAQ,QAAQ;AACpB,MAAI,SAAS,QAAQ;AACrB,MAAI,iBAAiB,QAAQ,WAAW,OAAO,UAAU,QAAQ,SAAS,OAAO;AAEjF,SAAO,OAAO,SAAS,QAAQ;AAC7B,aAAS,OAAO;AAChB,QAAI,CAAC,OAAQ;AAAA,EACf;AAGA,MAAI,QAAQ,MAAM,WAAW,KAAK,MAAM,WAAW,CAAC,MAAM,MAEvD,CAAC,cAAc,IAAI,MAAM,GAAG;AAC7B;AAAA,EACF;AAIA,MAAI,gBAAgB;AAClB;AAAA,EACF;AAEA,gBAAc,IAAI,SAAS,IAAI;AAC/B,MAAI,SAAS,CAAC;AACd,MAAI,QAAQ,SAAS,OAAO,MAAM;AAClC,MAAI,cAAc,OAAO;AAEzB,WAAS,IAAI,GAAG,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AAC5C,aAAS,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK,KAAK;AAChD,cAAQ,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,MAAM,CAAC,EAAE,QAAQ,QAAQ,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,MAAM,MAAM,CAAC;AAAA,IAC1G;AAAA,EACF;AACF;AACA,IAAI,cAAc,SAASC,aAAY,SAAS;AAC9C,MAAI,QAAQ,SAAS,QAAQ;AAC3B,QAAI,QAAQ,QAAQ;AAEpB;AAAA;AAAA,MACA,MAAM,WAAW,CAAC,MAAM;AAAA,MACxB,MAAM,WAAW,CAAC,MAAM;AAAA,MAAI;AAE1B,cAAQ,QAAQ,IAAI;AACpB,cAAQ,QAAQ;AAAA,IAClB;AAAA,EACF;AACF;AAIA,SAAS,OAAO,OAAOC,SAAQ;AAC7B,UAAQ,KAAK,OAAOA,OAAM,GAAG;AAAA;AAAA,IAE3B,KAAK;AACH,aAAO,SAAS,WAAW,QAAQ;AAAA;AAAA,IAGrC,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA;AAAA,IAEL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO,SAAS,QAAQ;AAAA;AAAA,IAG1B,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO,SAAS,QAAQ,MAAM,QAAQ,KAAK,QAAQ;AAAA;AAAA,IAGrD,KAAK;AAAA,IACL,KAAK;AACH,aAAO,SAAS,QAAQ,KAAK,QAAQ;AAAA;AAAA,IAGvC,KAAK;AACH,aAAO,SAAS,QAAQ,KAAK,UAAU,QAAQ;AAAA;AAAA,IAGjD,KAAK;AACH,aAAO,SAAS,QAAQ,QAAQ,OAAO,kBAAkB,SAAS,aAAa,KAAK,WAAW,IAAI;AAAA;AAAA,IAGrG,KAAK;AACH,aAAO,SAAS,QAAQ,KAAK,eAAe,QAAQ,OAAO,eAAe,EAAE,IAAI;AAAA;AAAA,IAGlF,KAAK;AACH,aAAO,SAAS,QAAQ,KAAK,mBAAmB,QAAQ,OAAO,6BAA6B,EAAE,IAAI;AAAA;AAAA,IAGpG,KAAK;AACH,aAAO,SAAS,QAAQ,KAAK,QAAQ,OAAO,UAAU,UAAU,IAAI;AAAA;AAAA,IAGtE,KAAK;AACH,aAAO,SAAS,QAAQ,KAAK,QAAQ,OAAO,SAAS,gBAAgB,IAAI;AAAA;AAAA,IAG3E,KAAK;AACH,aAAO,SAAS,SAAS,QAAQ,OAAO,SAAS,EAAE,IAAI,SAAS,QAAQ,KAAK,QAAQ,OAAO,QAAQ,UAAU,IAAI;AAAA;AAAA,IAGpH,KAAK;AACH,aAAO,SAAS,QAAQ,OAAO,sBAAsB,OAAO,SAAS,IAAI,IAAI;AAAA;AAAA,IAG/E,KAAK;AACH,aAAO,QAAQ,QAAQ,QAAQ,OAAO,gBAAgB,SAAS,IAAI,GAAG,eAAe,SAAS,IAAI,GAAG,OAAO,EAAE,IAAI;AAAA;AAAA,IAGpH,KAAK;AAAA,IACL,KAAK;AACH,aAAO,QAAQ,OAAO,qBAAqB,SAAS,QAAa;AAAA;AAAA,IAGnE,KAAK;AACH,aAAO,QAAQ,QAAQ,OAAO,qBAAqB,SAAS,gBAAgB,KAAK,cAAc,GAAG,cAAc,SAAS,IAAI,SAAS,QAAQ;AAAA;AAAA,IAGhJ,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO,QAAQ,OAAO,mBAAmB,SAAS,MAAM,IAAI;AAAA;AAAA,IAG9D,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAEH,UAAI,OAAO,KAAK,IAAI,IAAIA,UAAS,EAAG,SAAQ,OAAO,OAAOA,UAAS,CAAC,GAAG;AAAA;AAAA,QAErE,KAAK;AAEH,cAAI,OAAO,OAAOA,UAAS,CAAC,MAAM,GAAI;AAAA;AAAA,QAGxC,KAAK;AACH,iBAAO,QAAQ,OAAO,oBAAoB,OAAO,SAAS,YAAiB,OAAO,OAAO,OAAOA,UAAS,CAAC,KAAK,MAAM,OAAO,QAAQ,IAAI;AAAA;AAAA,QAG1I,KAAK;AACH,iBAAO,CAAC,QAAQ,OAAO,SAAS,IAAI,OAAO,QAAQ,OAAO,WAAW,gBAAgB,GAAGA,OAAM,IAAI,QAAQ;AAAA,MAC9G;AACA;AAAA;AAAA,IAGF,KAAK;AAEH,UAAI,OAAO,OAAOA,UAAS,CAAC,MAAM,IAAK;AAAA;AAAA,IAGzC,KAAK;AACH,cAAQ,OAAO,OAAO,OAAO,KAAK,IAAI,KAAK,CAAC,QAAQ,OAAO,YAAY,KAAK,GAAG,GAAG;AAAA;AAAA,QAEhF,KAAK;AACH,iBAAO,QAAQ,OAAO,KAAK,MAAM,MAAM,IAAI;AAAA;AAAA,QAG7C,KAAK;AACH,iBAAO,QAAQ,OAAO,yBAAyB,OAAO,UAAU,OAAO,OAAO,EAAE,MAAM,KAAK,YAAY,MAAM,YAAiB,SAAS,WAAgB,KAAK,SAAS,IAAI;AAAA,MAC7K;AAEA;AAAA;AAAA,IAGF,KAAK;AACH,cAAQ,OAAO,OAAOA,UAAS,EAAE,GAAG;AAAA;AAAA,QAElC,KAAK;AACH,iBAAO,SAAS,QAAQ,KAAK,QAAQ,OAAO,sBAAsB,IAAI,IAAI;AAAA;AAAA,QAG5E,KAAK;AACH,iBAAO,SAAS,QAAQ,KAAK,QAAQ,OAAO,sBAAsB,OAAO,IAAI;AAAA;AAAA,QAG/E,KAAK;AACH,iBAAO,SAAS,QAAQ,KAAK,QAAQ,OAAO,sBAAsB,IAAI,IAAI;AAAA,MAC9E;AAEA,aAAO,SAAS,QAAQ,KAAK,QAAQ;AAAA,EACzC;AAEA,SAAO;AACT;AAEA,IAAI,WAAW,SAASC,UAAS,SAAS,OAAO,UAAU,UAAU;AACnE,MAAI,QAAQ,SAAS;AAAI,QAAI,CAAC,QAAQ,QAAQ,EAAG,SAAQ,QAAQ,MAAM;AAAA,MACrE,KAAK;AACH,gBAAQ,QAAQ,IAAI,OAAO,QAAQ,OAAO,QAAQ,MAAM;AACxD;AAAA,MAEF,KAAK;AACH,eAAO,UAAU,CAAC,KAAK,SAAS;AAAA,UAC9B,OAAO,QAAQ,QAAQ,OAAO,KAAK,MAAM,MAAM;AAAA,QACjD,CAAC,CAAC,GAAG,QAAQ;AAAA,MAEf,KAAK;AACH,YAAI,QAAQ,OAAQ,QAAO,QAAQ,QAAQ,OAAO,SAAU,OAAO;AACjE,kBAAQ,MAAM,OAAO,uBAAuB,GAAG;AAAA;AAAA,YAE7C,KAAK;AAAA,YACL,KAAK;AACH,qBAAO,UAAU,CAAC,KAAK,SAAS;AAAA,gBAC9B,OAAO,CAAC,QAAQ,OAAO,eAAe,MAAM,MAAM,IAAI,CAAC;AAAA,cACzD,CAAC,CAAC,GAAG,QAAQ;AAAA;AAAA,YAGf,KAAK;AACH,qBAAO,UAAU,CAAC,KAAK,SAAS;AAAA,gBAC9B,OAAO,CAAC,QAAQ,OAAO,cAAc,MAAM,SAAS,UAAU,CAAC;AAAA,cACjE,CAAC,GAAG,KAAK,SAAS;AAAA,gBAChB,OAAO,CAAC,QAAQ,OAAO,cAAc,MAAM,MAAM,IAAI,CAAC;AAAA,cACxD,CAAC,GAAG,KAAK,SAAS;AAAA,gBAChB,OAAO,CAAC,QAAQ,OAAO,cAAc,KAAK,UAAU,CAAC;AAAA,cACvD,CAAC,CAAC,GAAG,QAAQ;AAAA,UACjB;AAEA,iBAAO;AAAA,QACT,CAAC;AAAA,IACL;AAAA;AACF;AAEA,IAAI,uBAAuB,YAAY,SAAY,YAAY,WAAY;AACzE,SAAO,QAAQ,WAAY;AACzB,WAAO,CAAC;AAAA,EACV,CAAC;AACH,CAAC;AACD,IAAI,uBAAuB,CAAC,QAAQ;AAEpC,IAAI,cAAc,SAASC,aAAY,SAAS;AAC9C,MAAI,MAAM,QAAQ;AAElB,MAAI,aAAa,QAAQ,OAAO;AAC9B,QAAI,YAAY,SAAS,iBAAiB,mCAAmC;AAK7E,UAAM,UAAU,QAAQ,KAAK,WAAW,SAAUC,OAAM;AAOtD,UAAI,uBAAuBA,MAAK,aAAa,cAAc;AAE3D,UAAI,qBAAqB,QAAQ,GAAG,MAAM,IAAI;AAC5C;AAAA,MACF;AAEA,eAAS,KAAK,YAAYA,KAAI;AAC9B,MAAAA,MAAK,aAAa,UAAU,EAAE;AAAA,IAChC,CAAC;AAAA,EACH;AAEA,MAAI,gBAAgB,QAAQ,iBAAiB;AAE7C,MAAI,WAAW,CAAC;AAChB,MAAI;AACJ,MAAI,iBAAiB,CAAC;AAEtB,MAAI,WAAW;AACb,gBAAY,QAAQ,aAAa,SAAS;AAC1C,UAAM,UAAU,QAAQ;AAAA;AAAA;AAAA,MAExB,SAAS,iBAAiB,0BAA2B,MAAM,KAAM;AAAA,MAAG,SAAUA,OAAM;AAClF,YAAI,SAASA,MAAK,aAAa,cAAc,EAAE,MAAM,GAAG;AAExD,iBAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,mBAAS,OAAO,CAAC,CAAC,IAAI;AAAA,QACxB;AAEA,uBAAe,KAAKA,KAAI;AAAA,MAC1B;AAAA,IAAC;AAAA,EACH;AAEA,MAAI;AAEJ,MAAI,qBAAqB,CAAC,QAAQ,WAAW;AAE7C,MAAI,CAAC,sBAAsB;AACzB,QAAI;AACJ,QAAI,oBAAoB,CAAC,WAAW,UAAU,SAAU,MAAM;AAC5D,mBAAa,OAAO,IAAI;AAAA,IAC1B,CAAC,CAAC;AACF,QAAI,aAAa,WAAW,mBAAmB,OAAO,eAAe,iBAAiB,CAAC;AAEvF,QAAI,SAAS,SAASC,QAAO,QAAQ;AACnC,aAAO,UAAU,QAAQ,MAAM,GAAG,UAAU;AAAA,IAC9C;AAEA,cAAU,SAAS,OAAO,UAAU,YAAY,OAAO,aAAa;AAClE,qBAAe;AAEf,aAAO,WAAW,WAAW,MAAM,WAAW,SAAS,MAAM,WAAW,MAAM;AAE9E,UAAI,aAAa;AACf,cAAM,SAAS,WAAW,IAAI,IAAI;AAAA,MACpC;AAAA,IACF;AAAA,EACF,OAAO;AACL,QAAI,qBAAqB,CAAC,SAAS;AAEnC,QAAI,cAAc,WAAW,mBAAmB,OAAO,eAAe,kBAAkB,CAAC;AAEzF,QAAI,UAAU,SAASC,SAAQ,QAAQ;AACrC,aAAO,UAAU,QAAQ,MAAM,GAAG,WAAW;AAAA,IAC/C;AAEA,QAAI,oBAAoB,qBAAqB,aAAa,EAAE,GAAG;AAE/D,QAAIR,YAAW,SAASA,UAAS,UAAU,YAAY;AACrD,UAAI,OAAO,WAAW;AAEtB,UAAI,kBAAkB,IAAI,MAAM,QAAW;AACzC,0BAAkB,IAAI,IAAI,QAAQ,WAAW,WAAW,MAAM,WAAW,SAAS,MAAM,WAAW,MAAM;AAAA,MAC3G;AAEA,aAAO,kBAAkB,IAAI;AAAA,IAC/B;AAEA,cAAU,SAASS,SAAQ,UAAU,YAAY,OAAO,aAAa;AACnE,UAAI,OAAO,WAAW;AACtB,UAAI,QAAQT,UAAS,UAAU,UAAU;AAEzC,UAAI,MAAM,WAAW,QAAW;AAI9B,YAAI,aAAa;AACf,gBAAM,SAAS,IAAI,IAAI;AAAA,QACzB;AAEA,eAAO;AAAA,MACT,OAAO;AAQL,YAAI,aAAa;AACf,gBAAM,SAAS,IAAI,IAAI;AAAA,QACzB,OAAO;AACL,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,MAAI,QAAQ;AAAA,IACV;AAAA,IACA,OAAO,IAAI,WAAW;AAAA,MACpB;AAAA,MACA;AAAA,MACA,OAAO,QAAQ;AAAA,MACf,QAAQ,QAAQ;AAAA,MAChB,SAAS,QAAQ;AAAA,MACjB,gBAAgB,QAAQ;AAAA,IAC1B,CAAC;AAAA,IACD,OAAO,QAAQ;AAAA,IACf;AAAA,IACA,YAAY,CAAC;AAAA,IACb,QAAQ;AAAA,EACV;AACA,QAAM,MAAM,QAAQ,cAAc;AAClC,SAAO;AACT;;;AC3eA,IAAIU,aAAY,OAAO,aAAa;AAEpC,SAAS,oBAAoB,YAAY,kBAAkB,YAAY;AACrE,MAAI,eAAe;AACnB,aAAW,MAAM,GAAG,EAAE,QAAQ,SAAU,WAAW;AACjD,QAAI,WAAW,SAAS,MAAM,QAAW;AACvC,uBAAiB,KAAK,WAAW,SAAS,IAAI,GAAG;AAAA,IACnD,WAAW,WAAW;AACpB,sBAAgB,YAAY;AAAA,IAC9B;AAAA,EACF,CAAC;AACD,SAAO;AACT;AACA,IAAI,iBAAiB,SAASC,gBAAe,OAAO,YAAY,aAAa;AAC3E,MAAI,YAAY,MAAM,MAAM,MAAM,WAAW;AAE7C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAKC,gBAAgB;AAAA;AAAA;AAAA;AAAA,IAIjBD,eAAc,SAAS,MAAM,WAAW,WAAc,MAAM,WAAW,SAAS,MAAM;AAAA,IAAW;AAC/F,UAAM,WAAW,SAAS,IAAI,WAAW;AAAA,EAC3C;AACF;AACA,IAAI,eAAe,SAASE,cAAa,OAAO,YAAY,aAAa;AACvE,iBAAe,OAAO,YAAY,WAAW;AAC7C,MAAI,YAAY,MAAM,MAAM,MAAM,WAAW;AAE7C,MAAI,MAAM,SAAS,WAAW,IAAI,MAAM,QAAW;AACjD,QAAI,eAAe;AACnB,QAAI,UAAU;AAEd,OAAG;AACD,UAAI,cAAc,MAAM,OAAO,eAAe,UAAU,MAAM,YAAY,IAAI,SAAS,MAAM,OAAO,IAAI;AAExG,UAAI,CAACF,cAAa,gBAAgB,QAAW;AAC3C,wBAAgB;AAAA,MAClB;AAEA,gBAAU,QAAQ;AAAA,IACpB,SAAS,YAAY;AAErB,QAAI,CAACA,cAAa,aAAa,WAAW,GAAG;AAC3C,aAAO;AAAA,IACT;AAAA,EACF;AACF;;;AChDA,SAAS,QAAQ,KAAK;AAMpB,MAAI,IAAI;AAER,MAAI,GACA,IAAI,GACJ,MAAM,IAAI;AAEd,SAAO,OAAO,GAAG,EAAE,GAAG,OAAO,GAAG;AAC9B,QAAI,IAAI,WAAW,CAAC,IAAI,OAAQ,IAAI,WAAW,EAAE,CAAC,IAAI,QAAS,KAAK,IAAI,WAAW,EAAE,CAAC,IAAI,QAAS,MAAM,IAAI,WAAW,EAAE,CAAC,IAAI,QAAS;AACxI;AAAA,KAEC,IAAI,SAAU,eAAe,MAAM,MAAM,SAAU;AACpD;AAAA,IAEA,MAAM;AACN;AAAA,KAEC,IAAI,SAAU,eAAe,MAAM,MAAM,SAAU;AAAA,KAEnD,IAAI,SAAU,eAAe,MAAM,MAAM,SAAU;AAAA,EACtD;AAGA,UAAQ,KAAK;AAAA,IACX,KAAK;AACH,YAAM,IAAI,WAAW,IAAI,CAAC,IAAI,QAAS;AAAA,IAEzC,KAAK;AACH,YAAM,IAAI,WAAW,IAAI,CAAC,IAAI,QAAS;AAAA,IAEzC,KAAK;AACH,WAAK,IAAI,WAAW,CAAC,IAAI;AACzB;AAAA,OAEC,IAAI,SAAU,eAAe,MAAM,MAAM,SAAU;AAAA,EACxD;AAIA,OAAK,MAAM;AACX;AAAA,GAEC,IAAI,SAAU,eAAe,MAAM,MAAM,SAAU;AACpD,WAAS,IAAI,MAAM,QAAQ,GAAG,SAAS,EAAE;AAC3C;;;ACpDA,IAAI,eAAe;AAAA,EACjB,yBAAyB;AAAA,EACzB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,SAAS;AAAA,EACT,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,SAAS;AAAA,EACT,MAAM;AAAA,EACN,UAAU;AAAA,EACV,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,WAAW;AAAA,EACX,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,eAAe;AAAA,EACf,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,iBAAiB;AAAA;AAAA,EAEjB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,aAAa;AACf;;;AC7CA,IAAIG,iBAAgB;AAEpB,IAAI,iBAAiB;AACrB,IAAI,iBAAiB;AAErB,IAAI,mBAAmB,SAASC,kBAAiB,UAAU;AACzD,SAAO,SAAS,WAAW,CAAC,MAAM;AACpC;AAEA,IAAI,qBAAqB,SAASC,oBAAmB,OAAO;AAC1D,SAAO,SAAS,QAAQ,OAAO,UAAU;AAC3C;AAEA,IAAI,mBAAkC,wBAAQ,SAAU,WAAW;AACjE,SAAO,iBAAiB,SAAS,IAAI,YAAY,UAAU,QAAQ,gBAAgB,KAAK,EAAE,YAAY;AACxG,CAAC;AAED,IAAI,oBAAoB,SAASC,mBAAkB,KAAK,OAAO;AAC7D,UAAQ,KAAK;AAAA,IACX,KAAK;AAAA,IACL,KAAK,iBACH;AACE,UAAI,OAAO,UAAU,UAAU;AAC7B,eAAO,MAAM,QAAQ,gBAAgB,SAAUC,QAAO,IAAI,IAAI;AAC5D,mBAAS;AAAA,YACP,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,MAAM;AAAA,UACR;AACA,iBAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACJ;AAEA,MAAI,aAAS,GAAG,MAAM,KAAK,CAAC,iBAAiB,GAAG,KAAK,OAAO,UAAU,YAAY,UAAU,GAAG;AAC7F,WAAO,QAAQ;AAAA,EACjB;AAEA,SAAO;AACT;AAEA,IAAI,6BAA6B;AAEjC,SAAS,oBAAoB,aAAa,YAAY,eAAe;AACnE,MAAI,iBAAiB,MAAM;AACzB,WAAO;AAAA,EACT;AAEA,MAAI,oBAAoB;AAExB,MAAI,kBAAkB,qBAAqB,QAAW;AAEpD,WAAO;AAAA,EACT;AAEA,UAAQ,OAAO,eAAe;AAAA,IAC5B,KAAK,WACH;AACE,aAAO;AAAA,IACT;AAAA,IAEF,KAAK,UACH;AACE,UAAIC,aAAY;AAEhB,UAAIA,WAAU,SAAS,GAAG;AACxB,iBAAS;AAAA,UACP,MAAMA,WAAU;AAAA,UAChB,QAAQA,WAAU;AAAA,UAClB,MAAM;AAAA,QACR;AACA,eAAOA,WAAU;AAAA,MACnB;AAEA,UAAI,mBAAmB;AAEvB,UAAI,iBAAiB,WAAW,QAAW;AACzC,YAAIC,QAAO,iBAAiB;AAE5B,YAAIA,UAAS,QAAW;AAGtB,iBAAOA,UAAS,QAAW;AACzB,qBAAS;AAAA,cACP,MAAMA,MAAK;AAAA,cACX,QAAQA,MAAK;AAAA,cACb,MAAM;AAAA,YACR;AACA,YAAAA,QAAOA,MAAK;AAAA,UACd;AAAA,QACF;AAEA,YAAI,SAAS,iBAAiB,SAAS;AACvC,eAAO;AAAA,MACT;AAEA,aAAO,uBAAuB,aAAa,YAAY,aAAa;AAAA,IACtE;AAAA,IAEF,KAAK,YACH;AACE,UAAI,gBAAgB,QAAW;AAC7B,YAAI,iBAAiB;AACrB,YAAI,SAAS,cAAc,WAAW;AACtC,iBAAS;AACT,eAAO,oBAAoB,aAAa,YAAY,MAAM;AAAA,MAC5D;AAEA;AAAA,IACF;AAAA,EACJ;AAGA,MAAI,WAAW;AAEf,MAAI,cAAc,MAAM;AACtB,WAAO;AAAA,EACT;AAEA,MAAI,SAAS,WAAW,QAAQ;AAChC,SAAO,WAAW,SAAY,SAAS;AACzC;AAEA,SAAS,uBAAuB,aAAa,YAAY,KAAK;AAC5D,MAAI,SAAS;AAEb,MAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,aAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AACnC,gBAAU,oBAAoB,aAAa,YAAY,IAAI,CAAC,CAAC,IAAI;AAAA,IACnE;AAAA,EACF,OAAO;AACL,aAAS,OAAO,KAAK;AACnB,UAAI,QAAQ,IAAI,GAAG;AAEnB,UAAI,OAAO,UAAU,UAAU;AAC7B,YAAI,WAAW;AAEf,YAAI,cAAc,QAAQ,WAAW,QAAQ,MAAM,QAAW;AAC5D,oBAAU,MAAM,MAAM,WAAW,QAAQ,IAAI;AAAA,QAC/C,WAAW,mBAAmB,QAAQ,GAAG;AACvC,oBAAU,iBAAiB,GAAG,IAAI,MAAM,kBAAkB,KAAK,QAAQ,IAAI;AAAA,QAC7E;AAAA,MACF,OAAO;AACL,YAAI,QAAQ,2BAA2BN,gBAAe;AACpD,gBAAM,IAAI,MAAM,0BAA0B;AAAA,QAC5C;AAEA,YAAI,MAAM,QAAQ,KAAK,KAAK,OAAO,MAAM,CAAC,MAAM,aAAa,cAAc,QAAQ,WAAW,MAAM,CAAC,CAAC,MAAM,SAAY;AACtH,mBAAS,KAAK,GAAG,KAAK,MAAM,QAAQ,MAAM;AACxC,gBAAI,mBAAmB,MAAM,EAAE,CAAC,GAAG;AACjC,wBAAU,iBAAiB,GAAG,IAAI,MAAM,kBAAkB,KAAK,MAAM,EAAE,CAAC,IAAI;AAAA,YAC9E;AAAA,UACF;AAAA,QACF,OAAO;AACL,cAAI,eAAe,oBAAoB,aAAa,YAAY,KAAK;AAErE,kBAAQ,KAAK;AAAA,YACX,KAAK;AAAA,YACL,KAAK,iBACH;AACE,wBAAU,iBAAiB,GAAG,IAAI,MAAM,eAAe;AACvD;AAAA,YACF;AAAA,YAEF,SACE;AAEE,wBAAU,MAAM,MAAM,eAAe;AAAA,YACvC;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAEA,IAAI,eAAe;AAGnB,IAAI;AACJ,SAAS,gBAAgB,MAAM,YAAY,aAAa;AACtD,MAAI,KAAK,WAAW,KAAK,OAAO,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,MAAM,QAAQ,KAAK,CAAC,EAAE,WAAW,QAAW;AACxG,WAAO,KAAK,CAAC;AAAA,EACf;AAEA,MAAI,aAAa;AACjB,MAAI,SAAS;AACb,WAAS;AACT,MAAI,UAAU,KAAK,CAAC;AAEpB,MAAI,WAAW,QAAQ,QAAQ,QAAQ,QAAW;AAChD,iBAAa;AACb,cAAU,oBAAoB,aAAa,YAAY,OAAO;AAAA,EAChE,OAAO;AACL,QAAI,uBAAuB;AAE3B,cAAU,qBAAqB,CAAC;AAAA,EAClC;AAGA,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,cAAU,oBAAoB,aAAa,YAAY,KAAK,CAAC,CAAC;AAE9D,QAAI,YAAY;AACd,UAAI,qBAAqB;AAEzB,gBAAU,mBAAmB,CAAC;AAAA,IAChC;AAAA,EACF;AAGA,eAAa,YAAY;AACzB,MAAI,iBAAiB;AACrB,MAAII;AAEJ,UAAQA,SAAQ,aAAa,KAAK,MAAM,OAAO,MAAM;AACnD,sBAAkB,MAAMA,OAAM,CAAC;AAAA,EACjC;AAEA,MAAI,OAAO,QAAW,MAAM,IAAI;AAEhC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,MAAM;AAAA,EACR;AACF;;;ACzOA,YAAY,WAAW;AAEvB,IAAIG,aAAY,OAAO,aAAa;AAEpC,IAAI,eAAe,SAASC,cAAa,QAAQ;AAC/C,SAAO,OAAO;AAChB;AAEA,IAAIC,sBAA2B,8BAAmC,8BAA6B;AAC/F,IAAI,2CAA2C,CAACF,aAAY,eAAeE,uBAAsB;;;AfCjG,IAAIC,iBAAgB;AAEpB,IAAIC,aAAY,OAAO,aAAa;AAEpC,IAAI,sBAAqC,gBAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM/C,OAAO,gBAAgB,cAA6B,4BAAY;AAAA,IAC9D,KAAK;AAAA,EACP,CAAC,IAAI;AAAI;AAET,IAAI,gBAAgB,oBAAoB;AAKxC,IAAI,mBAAmB,SAASC,kBAAiB,MAAM;AACrD,SAAoB,gBAAAC,YAAW,SAAU,OAAO,KAAK;AAEnD,QAAI,QAAQC,YAAW,mBAAmB;AAC1C,WAAO,KAAK,OAAO,OAAO,GAAG;AAAA,EAC/B,CAAC;AACH;AAEA,IAAI,CAACC,YAAW;AACd,qBAAmB,SAASH,kBAAiB,MAAM;AACjD,WAAO,SAAU,OAAO;AACtB,UAAI,QAAQE,YAAW,mBAAmB;AAE1C,UAAI,UAAU,MAAM;AAMlB,gBAAQ,YAAY;AAAA,UAClB,KAAK;AAAA,QACP,CAAC;AACD,eAAoB,gBAAM,qBAAc,oBAAoB,UAAU;AAAA,UACpE,OAAO;AAAA,QACT,GAAG,KAAK,OAAO,KAAK,CAAC;AAAA,MACvB,OAAO;AACL,eAAO,KAAK,OAAO,KAAK;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAI,eAA8B,gBAAM,qBAAc,CAAC,CAAC;AA6CxD,IAAI,SAAS,CAAC,EAAE;AAEhB,IAAI,eAAe;AACnB,IAAI,qBAAqB,SAASE,oBAAmB,MAAM,OAAO;AAEhE,MAAI,WAAW,CAAC;AAEhB,WAAS,QAAQ,OAAO;AACtB,QAAI,OAAO,KAAK,OAAO,IAAI,GAAG;AAC5B,eAAS,IAAI,IAAI,MAAM,IAAI;AAAA,IAC7B;AAAA,EACF;AAEA,WAAS,YAAY,IAAI;AAEzB,SAAO;AACT;AAEA,IAAI,YAAY,SAASC,WAAU,MAAM;AACvC,MAAI,QAAQ,KAAK,OACb,aAAa,KAAK,YAClB,cAAc,KAAK;AACvB,iBAAe,OAAO,YAAY,WAAW;AAC7C,MAAI,QAAQ,yCAAyC,WAAY;AAC/D,WAAO,aAAa,OAAO,YAAY,WAAW;AAAA,EACpD,CAAC;AAED,MAAI,CAACC,cAAa,UAAU,QAAW;AACrC,QAAI;AAEJ,QAAI,kBAAkB,WAAW;AACjC,QAAIC,QAAO,WAAW;AAEtB,WAAOA,UAAS,QAAW;AACzB,yBAAmB,MAAMA,MAAK;AAC9B,MAAAA,QAAOA,MAAK;AAAA,IACd;AAEA,WAAoB,gBAAM,qBAAc,UAAU,QAAQ,CAAC,GAAG,MAAM,cAAc,IAAI,MAAM,MAAM,MAAM,iBAAiB,MAAM,0BAA0B;AAAA,MACvJ,QAAQ;AAAA,IACV,GAAG,MAAM,QAAQ,MAAM,MAAM,OAAO,MAAM;AAAA,EAC5C;AAEA,SAAO;AACT;AAEA,IAAI,UAAyB,iCAAiB,SAAU,OAAO,OAAO,KAAK;AACzE,MAAI,UAAU,MAAM;AAIpB,MAAI,OAAO,YAAY,YAAY,MAAM,WAAW,OAAO,MAAM,QAAW;AAC1E,cAAU,MAAM,WAAW,OAAO;AAAA,EACpC;AAEA,MAAI,mBAAmB,MAAM,YAAY;AACzC,MAAI,mBAAmB,CAAC,OAAO;AAC/B,MAAI,YAAY;AAEhB,MAAI,OAAO,MAAM,cAAc,UAAU;AACvC,gBAAY,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,SAAS;AAAA,EACrF,WAAW,MAAM,aAAa,MAAM;AAClC,gBAAY,MAAM,YAAY;AAAA,EAChC;AAEA,MAAI,aAAa,gBAAgB,kBAAkB,QAAiB,kBAAW,YAAY,CAAC;AAE5F,eAAa,MAAM,MAAM,MAAM,WAAW;AAC1C,MAAI,WAAW,CAAC;AAEhB,WAAS,SAAS,OAAO;AACvB,QAAI,OAAO,KAAK,OAAO,KAAK,KAAK,UAAU,SAAS,UAAU,gBAAiB,CAACC,gBAAiB;AAC/F,eAAS,KAAK,IAAI,MAAM,KAAK;AAAA,IAC/B;AAAA,EACF;AAEA,WAAS,YAAY;AAErB,MAAI,KAAK;AACP,aAAS,MAAM;AAAA,EACjB;AAEA,SAAoB,gBAAM,qBAAoB,iBAAU,MAAmB,gBAAM,qBAAc,WAAW;AAAA,IACxG;AAAA,IACA;AAAA,IACA,aAAa,OAAO,qBAAqB;AAAA,EAC3C,CAAC,GAAgB,gBAAM,qBAAc,kBAAkB,QAAQ,CAAC;AAClE,CAAC;AAED,IAAI,YAAY;;;AgBjMhB,YAAYC,YAAW;AAKvB,IAAAC,kBAAO;AAGP,qCAAO;AAEP,IAAIC,OAAM,SAASA,KAAI,MAAM,OAAO;AAElC,MAAI,OAAO;AAEX,MAAI,SAAS,QAAQ,CAAC,OAAO,KAAK,OAAO,KAAK,GAAG;AAC/C,WAAa,qBAAc,MAAM,QAAW,IAAI;AAAA,EAClD;AAEA,MAAI,aAAa,KAAK;AACtB,MAAI,wBAAwB,IAAI,MAAM,UAAU;AAChD,wBAAsB,CAAC,IAAI;AAC3B,wBAAsB,CAAC,IAAI,mBAAmB,MAAM,KAAK;AAEzD,WAAS,IAAI,GAAG,IAAI,YAAY,KAAK;AACnC,0BAAsB,CAAC,IAAI,KAAK,CAAC;AAAA,EACnC;AAEA,SAAa,qBAAc,MAAM,MAAM,qBAAqB;AAC9D;AAAA,CAEC,SAAU,MAAM;AACf,MAAI;AAEJ,EAAC,0BAAU,MAAM;AAAA,EAAC,GAAG,QAAQ,MAAM,KAAK,QAAQ,KAAK,MAAM,CAAC,GAAG;AACjE,GAAGA,SAAQA,OAAM,CAAC,EAAE;AAkGpB,SAAS,MAAM;AACb,WAAS,OAAO,UAAU,QAAQ,OAAO,IAAI,MAAM,IAAI,GAAG,OAAO,GAAG,OAAO,MAAM,QAAQ;AACvF,SAAK,IAAI,IAAI,UAAU,IAAI;AAAA,EAC7B;AAEA,SAAO,gBAAgB,IAAI;AAC7B;AAEA,SAAS,YAAY;AACnB,MAAI,aAAa,IAAI,MAAM,QAAQ,SAAS;AAC5C,MAAI,OAAO,eAAe,WAAW;AACrC,SAAO;AAAA,IACL;AAAA,IACA,QAAQ,gBAAgB,OAAO,MAAM,WAAW,SAAS;AAAA,IACzD,MAAM;AAAA,IACN,UAAU,SAAS,WAAW;AAC5B,aAAO,UAAU,KAAK,OAAO,MAAM,KAAK,SAAS;AAAA,IACnD;AAAA,EACF;AACF;;;AjBnJA,SAAS,gBAAAC,qBAAoB;AAC7B,OAAO,UAAU;;;AkBPjB,kBAAyB;AACzB,IAAAC,mCAA0C;AAC1C,IAAAC,iBAAoC;AACpC,yCAA6C;AAC7C,sBAAqC;AACrC,0CAA8C;AAC9C,IAAAC,4BAAqC;AACrC,IAAAC,0BAAmC;;;ACPnC,6BAAmC;;;ACAnC,IAAAC,iBAAoB;AACpB,sBAA6B;AAC7B,SAAS,QAAQ,GAAG;AAClB;AAEA,SAAO,UAAU,cAAc,OAAO,eAAAC,WAAW,YAAY,OAAO,gBAAAC,UAAmB,SAAUC,IAAG;AAClG,WAAO,OAAOA;AAAA,EAChB,IAAI,SAAUA,IAAG;AACf,WAAOA,MAAK,cAAc,OAAO,eAAAF,WAAWE,GAAE,gBAAgB,eAAAF,WAAWE,OAAM,eAAAF,QAAQ,YAAY,WAAW,OAAOE;AAAA,EACvH,GAAG,QAAQ,CAAC;AACd;;;ACTA,0BAAgC;AAChC,SAAS,YAAY,GAAG,GAAG;AACzB,MAAI,YAAY,QAAQ,CAAC,KAAK,CAAC,EAAG,QAAO;AACzC,MAAI,IAAI,EAAE,oBAAAC,OAAmB;AAC7B,MAAI,WAAW,GAAG;AAChB,QAAI,IAAI,EAAE,KAAK,GAAG,KAAK,SAAS;AAChC,QAAI,YAAY,QAAQ,CAAC,EAAG,QAAO;AACnC,UAAM,IAAI,UAAU,8CAA8C;AAAA,EACpE;AACA,UAAQ,aAAa,IAAI,SAAS,QAAQ,CAAC;AAC7C;;;ACTA,SAAS,cAAc,GAAG;AACxB,MAAI,IAAI,YAAY,GAAG,QAAQ;AAC/B,SAAO,YAAY,QAAQ,CAAC,IAAI,IAAI,IAAI;AAC1C;;;AHHA,SAAS,gBAAgB,GAAG,GAAG,GAAG;AAChC,UAAQ,IAAI,cAAc,CAAC,MAAM,QAAI,uBAAAC,SAAuB,GAAG,GAAG;AAAA,IAChE,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,UAAU;AAAA,EACZ,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG;AACjB;;;AIRA,0BAAgC;AAChC,oBAAoC;AACpC,qBAA4B;AAE5B,oBAAoC;AAEpC,kBAAkC;AADlC,SAAS,iBAAiB;AAG1B,IAAM,eAAe;AACrB,SAAS,qBAAqB,KAAK;AACjC,MAAI;AACJ,aAAO,oBAAAC,aAAoB,cAAAC,SAAwB,eAAW,eAAAC,SAAgB,GAAG,CAAC,EAAE,KAAK,UAAU,UAAQ;AACzG,QAAI,QAAQ,eAAe,MAAM,CAAC,GAChC,gBAAgB,MAAM,CAAC;AACzB,WAAO,aAAa,KAAK,aAAa;AAAA,EACxC,CAAC,CAAC;AACJ;AA+BA,IAAM,eAAe,QAAQ,IAAI,aAAa;AAmI9C,IAAM,YAAY,CAAC,EAAE,OAAO,WAAW,eAAe,OAAO,YAAY,OAAO,SAAS;AAEzF,IAAM,kBAAkB,YAAY,OAAO,cAAc,CAAC;;;ALzK1D,SAAS,oBAAoB;;;AMZ7B,YAAY,qBAAqB;AAEjC,OAAO;AAEP,IAAAC,kBAAO;AAGP,IAAAC,kCAAO;AAMP,IAAIC,OAAM,SAASA,KAAI,MAAM,OAAO,KAAK;AACvC,MAAI,CAAC,OAAO,KAAK,OAAO,KAAK,GAAG;AAC9B,WAAuB,oBAAI,MAAM,OAAO,GAAG;AAAA,EAC7C;AAEA,SAAuB,oBAAI,WAAS,mBAAmB,MAAM,KAAK,GAAG,GAAG;AAC1E;AACA,IAAIC,QAAO,SAASA,MAAK,MAAM,OAAO,KAAK;AACzC,MAAI,CAAC,OAAO,KAAK,OAAO,KAAK,GAAG;AAC9B,WAAuB,qBAAK,MAAM,OAAO,GAAG;AAAA,EAC9C;AAEA,SAAuB,qBAAK,WAAS,mBAAmB,MAAM,KAAK,GAAG,GAAG;AAC3E;;;ANVA,IAAM,eAAe,eAAa;AAChC,UAAQ,WAAW;AAAA,IACjB,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AACA,IAAM,YAAY,WAAS;AACzB,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aAAO,aAAa;AAAA,IACtB,KAAK;AACH,aAAO,aAAa;AAAA,IACtB,KAAK;AACH,aAAO,aAAa;AAAA,IACtB,KAAK;AACH,aAAO,aAAa;AAAA,IACtB,KAAK;AACH,aAAO,aAAa;AAAA,IACtB,KAAK;AACH,aAAO,aAAa;AAAA,IACtB,KAAK;AACH,aAAO,aAAa;AAAA,IACtB;AACE,aAAO;AAAA,EACX;AACF;AAQA,IAAM,YAAY,WAAsB,oBAAI,6BAA6B,aAAa,MAAM,UAAU,GAAG,qBAAqB,MAAM,gBAAgB,uBAAuB,UAAU,MAAM,KAAK,GAAG,kBAAkB,QAAQ,IAAI,aAAa,eAAe,KAAK,sBAAsB,QAAQ,IAAI,aAAa,eAAe,KAAK,qtEAAqtE;AAC1hF,IAAI,cAAc;AAElB,IAAM,YAAY,CAAC,SAAS,cAAc,gBAAgB;AAC1D,SAAS,QAAQ,GAAG,GAAG;AAAE,MAAI,QAAI,YAAAC,SAAa,CAAC;AAAG,MAAI,iCAAAC,SAA+B;AAAE,QAAI,QAAI,iCAAAA,SAA8B,CAAC;AAAG,UAAM,QAAI,eAAAC,SAAwB,CAAC,EAAE,KAAK,GAAG,SAAUC,IAAG;AAAE,iBAAO,mCAAAC,SAAiC,GAAGD,EAAC,EAAE;AAAA,IAAY,CAAC,IAAI,EAAE,KAAK,MAAM,GAAG,CAAC;AAAA,EAAG;AAAE,SAAO;AAAG;AAC5R,SAAS,cAAc,GAAG;AAAE,WAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AAAE,QAAI,UAAU;AAAW,QAAI,IAAI,QAAQ,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC;AAAG,QAAI,QAAI,gBAAAE,SAAyB,WAAW,QAAQ,OAAO,CAAC,GAAG,IAAE,CAAC,EAAE,KAAK,UAAU,SAAUF,IAAG;AAAE,sBAAgB,GAAGA,IAAG,EAAEA,EAAC,CAAC;AAAA,IAAG,CAAC,IAAI,oCAAAG,cAAoC,0BAAAC,SAAyB,OAAG,oCAAAD,SAAkC,CAAC,CAAC,QAAI,gBAAAD,SAAyB,YAAY,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,SAAUF,IAAG;AAAE,kCAAAK,SAAuB,GAAGL,QAAG,mCAAAC,SAAiC,GAAGD,EAAC,CAAC;AAAA,IAAG,CAAC;AAAA,EAAG;AAAE,SAAO;AAAG;AAC9iB,IAAM,SAAS,UAAQ;AACrB,MAAI,aAAa,KAAK,OACpB,QAAQ,eAAe,SAAS,MAAM,YACtC,kBAAkB,KAAK,YACvB,aAAa,oBAAoB,SAAS,eAAe,iBACzD,sBAAsB,KAAK,gBAC3B,iBAAiB,wBAAwB,SAAS,eAAe,qBACjE,QAAQ,yBAAyB,MAAM,SAAS;AAClD,SAAOM,KAAI,QAAQ,cAAc,cAAc;AAAA,IAC7C,KAAK,YAAY,cAAc;AAAA,MAC7B;AAAA,MACA;AAAA,MACA;AAAA,IACF,GAAG,KAAK,CAAC;AAAA,EACX,GAAG,qBAAqB,cAAc;AAAA,IACpC;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG;AAAA,IACf,UAAU,MAAM;AAAA,EAClB,CAAC,CAAC;AACJ;AACA,OAAO,cAAc;AACrB,IAAI,WAAW;;;AlBvEf,IAAMC,aAAY,CAAC,SAAS,kBAAkB;AAC9C,IAAI;AACJ,IAAM,aAAa;AACnB,IAAM,cAAc;AACpB,IAAM,OAAO,UAAU,oBAAoB,kBAAkB,uBAAuB,CAAC,gGAAgG,CAAC,EAAE;AACxL,IAAM,eAAe;AAAA,EACnB,GAAG;AAAA,EACH,GAAG;AACL;AACA,IAAM,iBAAiB;AACvB,IAAM,iBAAiB,UAAQ;AAC7B,MAAI,aAAa,KAAK,OACpB,QAAQ,eAAe,SAAS,MAAM,YACtC,wBAAwB,KAAK,kBAC7B,mBAAmB,0BAA0B,SAAS,MAAO,uBAC7D,QAAQ,yBAAyB,MAAMA,UAAS;AAClD,QAAM,YAAY,SAAS,KAAK,GAC9B,aAAa,eAAe,WAAW,CAAC,GACxC,cAAc,WAAW,CAAC,GAC1B,iBAAiB,WAAW,CAAC;AAC/B,QAAM,OAAO,aAAa,KAAK;AAC/B,EAAAC,WAAU,MAAM;AACd,UAAM,0BAAsB,mBAAAC,SAAY,MAAM,eAAe,IAAI,GAAG,gBAAgB;AACpF,WAAO,MAAM,aAAa,mBAAmB;AAAA,EAC/C,GAAG,CAAC,gBAAgB,CAAC;AACrB,MAAI,CAAC,gBAAgB,qBAAqB,QAAQ,qBAAqB,SAAS,mBAAmB,KAAK,EAAG,QAAO;AAClH,SAAOC,MAAK,UAAQ;AAAA,IAClB,YAAY;AAAA,IACZ,UAAU,CAACC,KAAI,OAAO;AAAA,MACpB,KAAkB,oBAAI,UAAU,MAAM,YAAY,MAAM,OAAO,QAAQ,IAAI,aAAa,eAAe,KAAK,2BAA2B,QAAQ,IAAI,aAAa,eAAe,KAAK,q+HAAq+H;AAAA,MACzpI,UAAUD,MAAK,OAAO;AAAA,QACpB,KAAkB,oBAAI,UAAU,MAAM,YAAY,MAAM,OAAO,QAAQ,IAAI,aAAa,eAAe,KAAK,2BAA2B,QAAQ,IAAI,aAAa,eAAe,KAAK,q+HAAq+H;AAAA,QACzpI,SAAS;AAAA,QACT,UAAU,CAACC,KAAI,QAAQ;AAAA,UACrB,KAAkB,oBAAI,SAASC,cAAa,gBAAgB,mBAAmB,QAAQ,IAAI,aAAa,eAAe,KAAK,2BAA2B,QAAQ,IAAI,aAAa,eAAe,KAAK,q+HAAq+H;AAAA,UACzqI,GAAG;AAAA,QACL,CAAC,GAAGD,KAAI,QAAQ;AAAA,UACd,KAAkB,oBAAI,cAAc,MAAM,+BAA+BC,cAAa,cAAc,sBAAsB,gBAAgB,KAAK,gBAAgB,SAAS,QAAQ,IAAI,aAAa,eAAe,KAAK,2BAA2B,QAAQ,IAAI,aAAa,eAAe,KAAK,q+HAAq+H;AAAA,UAClwI,GAAG;AAAA,QACL,CAAC,CAAC;AAAA,MACJ,CAAC;AAAA,IACH,CAAC,GAAG,MAAM,YAAYD,KAAI,KAAK,QAAQ;AAAA,MACrC,MAAM;AAAA,MACN,UAAU,MAAM;AAAA,IAClB,CAAC,CAAC;AAAA,EACJ,CAAC;AACH;AACA,eAAe,cAAc;AAC7B,IAAI,mBAAmB;;;AV5CvB,OAAO,cAAc;AACrB,OAAOE,WAAU;AACjB,SAAS,iBAAiB;AA+DlB,SAwDQ,YAAAC,WA/CN,OAAAC,MATF,QAAAC,aAAA;AAlDR,IAAM,cAA0C,CAAC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,MAAM,OAAO,IAAIC,UAAsB,IAAI;AAClD,QAAM,CAAC,OAAO,QAAQ,IAAIA,UAAS,EAAE;AACrC,QAAM,CAAC,aAAa,cAAc,IAAIA,UAAS,EAAE;AACjD,QAAM,CAAC,UAAU,WAAW,IAAIA,UAAS,KAAK;AAC9C,QAAM,WAAWC,QAAyB,IAAI;AAE9C,QAAM,aAAa,CAAC,MAAY;AAC9B,YAAQ,CAAC;AACT,QAAI,CAAC,MAAO,UAAS,EAAE,IAAI;AAAA,EAC7B;AAEA,QAAM,aAAa,CAAC,MAAuB;AACzC,MAAE,eAAe;AACjB,gBAAY,KAAK;AACjB,UAAM,IAAI,EAAE,aAAa,MAAM,CAAC;AAChC,QAAI,EAAG,YAAW,CAAC;AAAA,EACrB;AAEA,SACE,gBAAAH;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,UAAU;AAAA,QACV,OAAO;AAAA,QACP,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,gBAAgB;AAAA,MAClB;AAAA,MACA,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,iBAAiB,QAAQ;AAAA,MAExD,0BAAAC;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL,YAAY;AAAA,YACZ,cAAc;AAAA,YACd,OAAO;AAAA,YACP,UAAU;AAAA,YACV,WAAW;AAAA,YACX,SAAS;AAAA,YACT,eAAe;AAAA,YACf,WAAW;AAAA,UACb;AAAA,UAGA;AAAA,4BAAAA;AAAA,cAAC;AAAA;AAAA,gBACC,OAAO;AAAA,kBACL,SAAS;AAAA,kBACT,YAAY;AAAA,kBACZ,gBAAgB;AAAA,kBAChB,SAAS;AAAA,kBACT,cAAc;AAAA,gBAChB;AAAA,gBAEA;AAAA,kCAAAD,KAACF,MAAK,aAAL,EAAiB,IAAG,MAAK,QAAM,MAAC,2BAAa;AAAA,kBAC9C,gBAAAE;AAAA,oBAAC;AAAA;AAAA,sBACC,MAAM,gBAAAA,KAAC,aAAU;AAAA,sBACjB,OAAM;AAAA,sBACN,SAAS;AAAA,sBACT,MAAK;AAAA;AAAA,kBACP;AAAA;AAAA;AAAA,YACF;AAAA,YAGA,gBAAAA,KAAC,SAAI,OAAO,EAAE,MAAM,GAAG,UAAU,QAAQ,SAAS,OAAO,GACvD,0BAAAC,MAAC,SAAS,OAAT,EAAe,OAAM,KACpB;AAAA,8BAAAA,MAAC,SAAS,OAAT,EAAe,OAAM,MACpB;AAAA,gCAAAD,KAAC,SAAM,SAAQ,gBAAe,mBAAK;AAAA,gBACnC,gBAAAA;AAAA,kBAAC;AAAA;AAAA,oBACC,IAAG;AAAA,oBACH,OAAO;AAAA,oBACP,UAAU,CAAC,MAAM,SAAS,EAAE,OAAO,KAAK;AAAA,oBACxC,aAAY;AAAA;AAAA,gBACd;AAAA,iBACF;AAAA,cACA,gBAAAC,MAAC,SAAS,OAAT,EAAe,OAAM,MACpB;AAAA,gCAAAD,KAAC,SAAM,SAAQ,sBAAqB,yBAAW;AAAA,gBAC/C,gBAAAA;AAAA,kBAAC;AAAA;AAAA,oBACC,IAAG;AAAA,oBACH,OAAO;AAAA,oBACP,UAAU,CAAC,MAAM,eAAe,EAAE,OAAO,KAAK;AAAA,oBAC9C,aAAY;AAAA;AAAA,gBACd;AAAA,iBACF;AAAA,cACA,gBAAAC;AAAA,gBAAC;AAAA;AAAA,kBACC,OAAO;AAAA,oBACL,QAAQ,WAAW,uBAAuB;AAAA,oBAC1C,cAAc;AAAA,oBACd,SAAS;AAAA,oBACT,WAAW;AAAA,oBACX,QAAQ;AAAA,oBACR,OAAO,WAAW,YAAY;AAAA,oBAC9B,UAAU;AAAA,oBACV,YAAY;AAAA,kBACd;AAAA,kBACA,SAAS,MAAM,SAAS,SAAS,MAAM;AAAA,kBACvC,YAAY,CAAC,MAAM;AAAE,sBAAE,eAAe;AAAG,gCAAY,IAAI;AAAA,kBAAG;AAAA,kBAC5D,aAAa,MAAM,YAAY,KAAK;AAAA,kBACpC,QAAQ;AAAA,kBAEP;AAAA,2BACC,gBAAAA,MAAAF,WAAA,EACE;AAAA,sCAAAE,MAAC,SAAI;AAAA;AAAA,wBAAI,KAAK;AAAA,yBAAK;AAAA,sBACnB,gBAAAA,MAAC,SAAI,OAAO,EAAE,UAAU,QAAQ,WAAW,OAAO,OAAO,UAAU,GAC/D;AAAA,8BAAK,OAAO,MAAM,QAAQ,CAAC;AAAA,wBAAE;AAAA,yBACjC;AAAA,uBACF,IAEA,gBAAAD,KAAC,SAAI,6DAA4C;AAAA,oBAEnD,gBAAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,KAAK;AAAA,wBACL,MAAK;AAAA,wBACL,QAAO;AAAA,wBACP,OAAO,EAAE,SAAS,OAAO;AAAA,wBACzB,UAAU,CAAC,MAAM;AACf,gCAAM,IAAI,EAAE,OAAO,QAAQ,CAAC;AAC5B,8BAAI,EAAG,YAAW,CAAC;AAAA,wBACrB;AAAA;AAAA,oBACF;AAAA;AAAA;AAAA,cACF;AAAA,cACC,SAAS,gBAAAA,KAACF,MAAK,MAAL,EAAU,MAAK,YAAY,iBAAM;AAAA,eAC9C,GACF;AAAA,YAGA,gBAAAG;AAAA,cAAC;AAAA;AAAA,gBACC,OAAO;AAAA,kBACL,SAAS;AAAA,kBACT,gBAAgB;AAAA,kBAChB,YAAY;AAAA,kBACZ,SAAS;AAAA,kBACT,WAAW;AAAA,kBACX,KAAK;AAAA,gBACP;AAAA,gBAEA;AAAA,kCAAAD,KAACF,MAAK,QAAL,EAAY,MAAK,aAAY,UAAQ,MACnC,gBAAM,QAAQ,oBACjB;AAAA,kBACA,gBAAAG,MAAC,SAAS,QAAT,EAAgB,OAAM,KACrB;AAAA,oCAAAD,KAAC,mBAAgB,OAAM,UAAS,SAAS,SAAS;AAAA,oBAClD,gBAAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,OAAO,YAAY,oBAAe;AAAA,wBAClC,YAAY,CAAC,QAAQ;AAAA,wBACrB,SAAS,MAAM,QAAQ,SAAS,MAAM,OAAO,WAAW;AAAA;AAAA,oBAC1D;AAAA,qBACF;AAAA;AAAA;AAAA,YACF;AAAA;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;AAiBA,IAAM,eAA4C,CAAC;AAAA,EACjD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,UAAU,WAAW,IAAIE,UAA2B,IAAI;AAE/D,QAAM,gBAAgB,MAAM;AAC1B,QAAI,SAAU,UAAS,QAAQ;AAAA,EACjC;AAEA,SACE,gBAAAF;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,UAAU;AAAA,QACV,OAAO;AAAA,QACP,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,gBAAgB;AAAA,MAClB;AAAA,MACA,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,iBAAiB,QAAQ;AAAA,MAExD,0BAAAC;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL,YAAY;AAAA,YACZ,cAAc;AAAA,YACd,OAAO;AAAA,YACP,UAAU;AAAA,YACV,WAAW;AAAA,YACX,SAAS;AAAA,YACT,eAAe;AAAA,YACf,WAAW;AAAA,UACb;AAAA,UAGA;AAAA,4BAAAA;AAAA,cAAC;AAAA;AAAA,gBACC,OAAO;AAAA,kBACL,SAAS;AAAA,kBACT,YAAY;AAAA,kBACZ,gBAAgB;AAAA,kBAChB,SAAS;AAAA,kBACT,cAAc;AAAA,gBAChB;AAAA,gBAEA;AAAA,kCAAAD,KAACF,MAAK,aAAL,EAAiB,IAAG,MAAK,QAAM,MAAC,uCAAyB;AAAA,kBAC1D,gBAAAE;AAAA,oBAAC;AAAA;AAAA,sBACC,MAAM,gBAAAA,KAAC,aAAU;AAAA,sBACjB,OAAM;AAAA,sBACN,SAAS;AAAA,sBACT,MAAK;AAAA;AAAA,kBACP;AAAA;AAAA;AAAA,YACF;AAAA,YAGA,gBAAAC,MAAC,SAAI,OAAO,EAAE,MAAM,GAAG,UAAU,QAAQ,SAAS,OAAO,GACtD;AAAA,wBACC,gBAAAD,KAAC,SAAI,OAAO,EAAE,SAAS,QAAQ,gBAAgB,UAAU,SAAS,OAAO,GACvE,0BAAAA,KAAC,oBAAe,GAClB,IACE,MAAM,WAAW,IACnB,gBAAAA,KAACF,MAAK,MAAL,EAAU,MAAK,aAAY,6BAAe,IAE3C,gBAAAG,MAAC,SAAS,OAAT,EAAe,OAAM,KACpB;AAAA,gCAAAD;AAAA,kBAAC;AAAA;AAAA,oBACC,OAAO;AAAA,sBACL,SAAS;AAAA,sBACT,qBAAqB;AAAA,sBACrB,KAAK;AAAA,oBACP;AAAA,oBAEC,gBAAM,IAAI,CAAC,SACV,gBAAAC;AAAA,sBAAC;AAAA;AAAA,wBAEC,OAAO;AAAA,0BACL,SAAS;AAAA,0BACT,eAAe;AAAA,0BACf,YAAY;AAAA,0BACZ,QAAQ;AAAA,0BACR,QAAQ,aAAa,UAAU,QAAQ,KAAK,MAAM,YAAY,aAAa;AAAA,0BAC3E,cAAc;AAAA,0BACd,SAAS;AAAA,0BACT,YAAY,UAAU,QAAQ,KAAK,MAAM,0BAA0B;AAAA,wBACrE;AAAA,wBACA,SAAS,MAAM,YAAY,IAAI;AAAA,wBAC/B,OAAO,KAAK,SAAS,KAAK;AAAA,wBAEzB;AAAA,+BAAK,UACJ,gBAAAD;AAAA,4BAAC;AAAA;AAAA,8BACC,KAAK,KAAK;AAAA,8BACV,KAAK,KAAK;AAAA,8BACV,OAAO,EAAE,OAAO,QAAQ,QAAQ,QAAQ,WAAW,SAAS,cAAc,OAAO,YAAY,UAAU;AAAA;AAAA,0BACzG,IAEA,gBAAAA;AAAA,4BAAC;AAAA;AAAA,8BACC,OAAO;AAAA,gCACL,OAAO;AAAA,gCACP,QAAQ;AAAA,gCACR,cAAc;AAAA,gCACd,YAAY;AAAA,gCACZ,SAAS;AAAA,gCACT,YAAY;AAAA,gCACZ,gBAAgB;AAAA,gCAChB,UAAU;AAAA,8BACZ;AAAA,8BACD;AAAA;AAAA,0BAED;AAAA,0BAEF,gBAAAA;AAAA,4BAAC;AAAA;AAAA,8BACC,OAAO;AAAA,gCACL,WAAW;AAAA,gCACX,UAAU;AAAA,gCACV,WAAW;AAAA,gCACX,UAAU;AAAA,gCACV,UAAU;AAAA,gCACV,cAAc;AAAA,gCACd,YAAY;AAAA,gCACZ,OAAO;AAAA,8BACT;AAAA,8BAEC,eAAK,SAAS,KAAK;AAAA;AAAA,0BACtB;AAAA;AAAA;AAAA,sBAjDK,KAAK;AAAA,oBAkDZ,CACD;AAAA;AAAA,gBACH;AAAA,gBAEC,WAAW,aAAa,KACvB,gBAAAC,MAAC,SAAS,QAAT,EAAgB,YAAW,UAAS,gBAAe,UAAS,OAAM,KACjE;AAAA,kCAAAD;AAAA,oBAAC;AAAA;AAAA,sBACC,OAAM;AAAA,sBACN,YAAY,WAAW,eAAe;AAAA,sBACtC,SAAS;AAAA,sBACT,MAAK;AAAA;AAAA,kBACP;AAAA,kBACA,gBAAAC,MAACH,MAAK,QAAL,EAAY,MAAK,aACf;AAAA,+BAAW;AAAA,oBAAY;AAAA,oBAAI,WAAW;AAAA,qBACzC;AAAA,kBACA,gBAAAE;AAAA,oBAAC;AAAA;AAAA,sBACC,OAAM;AAAA,sBACN,YAAY,WAAW,eAAe,WAAW;AAAA,sBACjD,SAAS;AAAA,sBACT,MAAK;AAAA;AAAA,kBACP;AAAA,mBACF;AAAA,iBAEJ;AAAA,cAED,SAAS,gBAAAA,KAACF,MAAK,MAAL,EAAU,MAAK,YAAY,iBAAM;AAAA,eAC9C;AAAA,YAGA,gBAAAG;AAAA,cAAC;AAAA;AAAA,gBACC,OAAO;AAAA,kBACL,SAAS;AAAA,kBACT,gBAAgB;AAAA,kBAChB,YAAY;AAAA,kBACZ,SAAS;AAAA,kBACT,WAAW;AAAA,kBACX,KAAK;AAAA,gBACP;AAAA,gBAEA;AAAA,kCAAAD,KAACF,MAAK,QAAL,EAAY,MAAK,aAAY,UAAQ,MACnC,qBAAY,SAAS,SAAS,SAAS,OAAQ,oBAClD;AAAA,kBACA,gBAAAG,MAAC,SAAS,QAAT,EAAgB,OAAM,KACrB;AAAA,oCAAAD,KAAC,mBAAgB,OAAM,UAAS,SAAS,SAAS;AAAA,oBAClD,gBAAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,OAAM;AAAA,wBACN,YAAY,CAAC;AAAA,wBACb,SAAS;AAAA;AAAA,oBACX;AAAA,qBACF;AAAA;AAAA;AAAA,YACF;AAAA;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;AAaO,IAAM,mBAAoD,CAAC;AAAA,EAChE;AAAA,EACA;AAAA,EACA,aAAa;AACf,MAAM;AACJ,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,gBAAgB;AAEpB,QAAM,CAAC,YAAY,aAAa,IAAIE,UAAS,KAAK;AAClD,QAAM,CAAC,aAAa,cAAc,IAAIA,UAAS,KAAK;AAEpD,QAAM,aAAa,aAAa,CAAC,OAAO,QAAQ,OAAO,OAAO,QAAQ,KAAK,IAAI,CAAC;AAEhF,QAAM,cAAc,YAAY,MAAM;AACpC,SAAK,WAAW,YAAY,GAAG,EAAE;AACjC,mBAAe,IAAI;AAAA,EACrB,GAAG,CAAC,YAAY,UAAU,CAAC;AAE3B,QAAM,eAAe;AAAA,IACnB,OAAO,MAAY,OAAe,gBAAwB;AACxD,YAAM,YAAY,MAAM,WAAW,MAAM,OAAO,WAAW;AAC3D,eAAS,UAAU,GAAG;AACtB,oBAAc,KAAK;AAAA,IACrB;AAAA,IACA,CAAC,YAAY,QAAQ;AAAA,EACvB;AAEA,QAAM,eAAe;AAAA,IACnB,CAAC,SAAoB;AACnB,eAAS,KAAK,GAAG;AACjB,qBAAe,KAAK;AAAA,IACtB;AAAA,IACA,CAAC,QAAQ;AAAA,EACX;AAGA,EAAAE,WAAU,MAAM;AACd,UAAM,QAAQ,CAAC,MAAqB;AAClC,UAAI,EAAE,QAAQ,UAAU;AACtB,sBAAc,KAAK;AACnB,uBAAe,KAAK;AAAA,MACtB;AAAA,IACF;AACA,WAAO,iBAAiB,WAAW,KAAK;AACxC,WAAO,MAAM,OAAO,oBAAoB,WAAW,KAAK;AAAA,EAC1D,GAAG,CAAC,CAAC;AAEL,SACE,gBAAAH,MAAC,SAAS,OAAT,EAAe,OAAM,KACnB;AAAA,YACC,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,KAAK;AAAA,UACL,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,cAAc;AAAA,UACd,YAAY;AAAA,QACd;AAAA,QAEA;AAAA,0BAAAD;AAAA,YAAC;AAAA;AAAA,cACC,KAAK;AAAA,cACL,KAAI;AAAA,cACJ,OAAO,EAAE,OAAO,QAAQ,QAAQ,QAAQ,WAAW,SAAS,cAAc,OAAO,YAAY,EAAE;AAAA;AAAA,UACjG;AAAA,UACA,gBAAAA,KAAC,SAAI,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,GACjC,0BAAAA,KAACF,MAAK,QAAL,EAAY,MAAK,aAAY,UAAQ,MAAE,iBAAM,GAChD;AAAA,UACA,gBAAAE,KAAC,cAAW,MAAK,YAAW,OAAM,UAAS,SAAS,MAAM,SAAS,EAAE,GAAG;AAAA;AAAA;AAAA,IAC1E,IAEA,gBAAAA,KAACF,MAAK,QAAL,EAAY,MAAK,aAAY,+BAAiB;AAAA,IAGjD,gBAAAG,MAAC,SAAS,QAAT,EAAgB,OAAM,KACrB;AAAA,sBAAAD,KAAC,mBAAgB,OAAM,UAAS,SAAS,MAAM,cAAc,IAAI,GAAG;AAAA,MACpE,gBAAAA,KAAC,iBAAc,OAAM,iBAAgB,SAAS,aAAa;AAAA,OAC7D;AAAA,IAEC,cACC,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,UAAU,CAAC,MAAM,OAAO,SAAS,KAAK,aAAa,MAAM,OAAO,IAAI;AAAA,QACpE,SAAS,MAAM,cAAc,KAAK;AAAA;AAAA,IACpC;AAAA,IAGD,eACC,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,YAAY,MAAM,KAAK,aAAa,UAAU;AAAA,QAC9C,YAAY,MAAM,KAAK,iBAAiB,UAAU;AAAA,QAClD,UAAU;AAAA,QACV,SAAS,MAAM,eAAe,KAAK;AAAA;AAAA,IACrC;AAAA,KAEJ;AAEJ;;;AmCzeQ,gBAAAK,OAuCJ,QAAAC,aAvCI;AAPD,IAAM,QAAqC;AAAA,EAChD,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,KAAK;AAAA,MACH,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ,CAAC,EAAE,OAAO,SAAS,MACzB,gBAAAD;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA,YAAY;AAAA;AAAA,MACd;AAAA,IAEJ;AAAA,IACA,KAAK,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IACvC,SAAS,EAAE,MAAM,QAAQ,OAAO,UAAU;AAAA,IAC1C,OAAO,EAAE,MAAM,QAAQ,OAAO,yBAAyB;AAAA,IACvD,QAAQ,EAAE,MAAM,QAAQ,OAAO,2BAA2B;AAAA,IAC1D,WAAW;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,QACP,EAAE,OAAO,SAAS,OAAO,QAAQ;AAAA,QACjC,EAAE,OAAO,WAAW,OAAO,UAAU;AAAA,QACrC,EAAE,OAAO,QAAQ,OAAO,OAAO;AAAA,MACjC;AAAA,IACF;AAAA,IACA,cAAc,EAAE,MAAM,QAAQ,OAAO,sBAAsB;AAAA,IAC3D,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,QACP,EAAE,OAAO,QAAQ,OAAO,OAAO;AAAA,QAC/B,EAAE,OAAO,UAAU,OAAO,SAAS;AAAA,QACnC,EAAE,OAAO,SAAS,OAAO,QAAQ;AAAA,MACnC;AAAA,IACF;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACZ,KAAK;AAAA,IACL,KAAK;AAAA,IACL,OAAO;AAAA,IACP,WAAW;AAAA,IACX,OAAO;AAAA,EACT;AAAA,EACA,QAAQ,CAAC,EAAE,KAAK,KAAK,SAAS,OAAO,QAAQ,WAAW,cAAc,MAAM,MAC1E,gBAAAC;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,WAAW,SAAS;AAAA,QACpB,WAAW;AAAA,MACb;AAAA,MAEC;AAAA,cACC,gBAAAD;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,KAAK,OAAO;AAAA,YACZ,OAAO;AAAA,cACL,OAAO,SAAS;AAAA,cAChB;AAAA,cACA,WAAW,aAAa;AAAA,cACxB;AAAA,cACA,SAAS;AAAA,cACT,UAAU;AAAA,YACZ;AAAA;AAAA,QACF,IAEA,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,cACL,OAAO,SAAS;AAAA,cAChB,QAAQ,UAAU;AAAA,cAClB,YAAY;AAAA,cACZ,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,gBAAgB;AAAA,cAChB,OAAO;AAAA,cACP,UAAU;AAAA,cACV;AAAA,YACF;AAAA,YACD;AAAA;AAAA,QAED;AAAA,QAED,WACC,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAO,EAAE,WAAW,OAAO,UAAU,QAAQ,OAAO,OAAO;AAAA,YAE1D;AAAA;AAAA,QACH;AAAA;AAAA;AAAA,EAEJ;AAEJ;;;ACtCM,gBAAAE,aAAA;AA1DN,IAAM,iBAAsD;AAAA,EAC1D,SAAS,EAAE,YAAY,WAAW,OAAO,QAAQ,QAAQ,oBAAoB;AAAA,EAC7E,WAAW,EAAE,YAAY,WAAW,OAAO,QAAQ,QAAQ,oBAAoB;AAAA,EAC/E,SAAS,EAAE,YAAY,eAAe,OAAO,WAAW,QAAQ,oBAAoB;AACtF;AAEA,IAAM,cAAmD;AAAA,EACvD,IAAI,EAAE,SAAS,YAAY,UAAU,OAAO;AAAA,EAC5C,IAAI,EAAE,SAAS,aAAa,UAAU,OAAO;AAAA,EAC7C,IAAI,EAAE,SAAS,aAAa,UAAU,OAAO;AAC/C;AAEO,IAAM,SAAuC;AAAA,EAClD,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,OAAO,eAAe;AAAA,IAC7C,MAAM,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IACxC,SAAS;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,QACP,EAAE,OAAO,WAAW,OAAO,UAAU;AAAA,QACrC,EAAE,OAAO,aAAa,OAAO,YAAY;AAAA,QACzC,EAAE,OAAO,WAAW,OAAO,UAAU;AAAA,MACvC;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,QACP,EAAE,OAAO,MAAM,OAAO,QAAQ;AAAA,QAC9B,EAAE,OAAO,MAAM,OAAO,SAAS;AAAA,QAC/B,EAAE,OAAO,MAAM,OAAO,QAAQ;AAAA,MAChC;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,QACP,EAAE,OAAO,QAAQ,OAAO,OAAO;AAAA,QAC/B,EAAE,OAAO,UAAU,OAAO,SAAS;AAAA,QACnC,EAAE,OAAO,SAAS,OAAO,QAAQ;AAAA,MACnC;AAAA,IACF;AAAA,IACA,cAAc,EAAE,MAAM,SAAS,OAAO,mBAAmB,SAAS;AAAA,MAChE,EAAE,OAAO,MAAM,OAAO,MAAM;AAAA,MAC5B,EAAE,OAAO,OAAO,OAAO,KAAK;AAAA,IAC9B,EAAC;AAAA,EACH;AAAA,EACA,cAAc;AAAA,IACZ,OAAO;AAAA,IACP,SAAS;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,IACP,cAAc;AAAA,EAChB;AAAA,EACA,QAAQ,CAAC,EAAE,OAAO,MAAM,UAAU,WAAW,OAAO,MAAM,QAAQ,QAAQ,aAAa,MACrF,gBAAAA,MAAC,SAAI,OAAO,EAAE,SAAS,aAAa,WAAW,OAAO,WAAW,aAAa,GAC5E,0BAAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,QAAQ;AAAA,MACd,QAAQ,eAAe,WAAW;AAAA,MAClC,KAAK,eAAe,wBAAwB;AAAA,MAC5C,OAAO;AAAA,QACL,SAAS;AAAA,QACT,cAAc;AAAA,QACd,gBAAgB;AAAA,QAChB,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,GAAG,eAAe,OAAO;AAAA,QACzB,GAAG,YAAY,IAAI;AAAA,MACrB;AAAA,MAEC;AAAA;AAAA,EACH,GACF;AAEJ;;;ACtCQ,gBAAAC,OAUE,QAAAC,aAVF;AArCD,IAAM,OAAmC;AAAA,EAC9C,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,OAAO,QAAQ;AAAA,IACtC,MAAM,EAAE,MAAM,YAAY,OAAO,YAAY;AAAA,IAC7C,UAAU,EAAE,MAAM,QAAQ,OAAO,YAAY;AAAA,IAC7C,SAAS,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC3C,QAAQ,EAAE,MAAM,QAAQ,OAAO,UAAU;AAAA,IACzC,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,QACP,EAAE,OAAO,MAAM,OAAO,MAAM;AAAA,QAC5B,EAAE,OAAO,OAAO,OAAO,KAAK;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,cAAc,EAAE,MAAM,QAAQ,OAAO,sBAAsB;AAAA,EAC7D;AAAA,EACA,cAAc;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,cAAc;AAAA,EAChB;AAAA,EACA,QAAQ,CAAC,EAAE,OAAO,MAAM,UAAU,SAAS,QAAQ,QAAQ,aAAa,MACtE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,cAAc,gBAAgB;AAAA,QAC9B,UAAU;AAAA,QACV,WAAW,SAAS,+BAA+B;AAAA,QACnD,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,WAAW;AAAA,MACb;AAAA,MAEC;AAAA,oBACC,gBAAAD;AAAA,UAAC;AAAA;AAAA,YACC,KAAK;AAAA,YACL,KAAK;AAAA,YACL,OAAO,EAAE,OAAO,QAAQ,QAAQ,SAAS,WAAW,SAAS,SAAS,QAAQ;AAAA;AAAA,QAChF;AAAA,QAEF,gBAAAC,MAAC,SAAI,OAAO,EAAE,SAAS,OAAO,GAC5B;AAAA,0BAAAD,MAAC,QAAG,OAAO,EAAE,QAAQ,WAAW,UAAU,SAAS,GAAI,iBAAM;AAAA,UAC5D,QAAQ,gBAAAA,MAAC,OAAE,OAAO,EAAE,QAAQ,YAAY,OAAO,QAAQ,UAAU,OAAO,GAAI,gBAAK;AAAA,UACjF,WAAW,UACV,gBAAAC;AAAA,YAAC;AAAA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,gBACL,OAAO;AAAA,gBACP,YAAY;AAAA,gBACZ,gBAAgB;AAAA,gBAChB,UAAU;AAAA,cACZ;AAAA,cAEC;AAAA;AAAA,gBAAQ;AAAA;AAAA;AAAA,UACX;AAAA,WAEJ;AAAA;AAAA;AAAA,EACF;AAEJ;;;ACpCQ,gBAAAC,aAAA;AA9BD,IAAM,SAAuC;AAAA,EAClD,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,QAAQ,EAAE,MAAM,QAAQ,OAAO,0BAA0B;AAAA,IACzD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,QACP,EAAE,OAAO,MAAM,OAAO,MAAM;AAAA,QAC5B,EAAE,OAAO,OAAO,OAAO,KAAK;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,WAAW,EAAE,MAAM,QAAQ,OAAO,yBAAyB;AAAA,EAC7D;AAAA,EACA,cAAc;AAAA,IACZ,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,EACb;AAAA,EACA,QAAQ,CAAC,EAAE,SAAS,QAAQ,WAAW,OAAO,YAAY,UAAU,MAClE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,WAAW;AAAA,MACb;AAAA,MAEC,sBACC,gBAAAA,MAAC,QAAG,OAAO,EAAE,OAAO,QAAQ,QAAQ,QAAQ,WAAW,aAAa,SAAS,GAAG,GAAG;AAAA;AAAA,EAEvF;AAEJ;;;ACzCA,SAAS,qBAAqB;;;ACD9B,OAAOC,YAAW;AAClB,OAAOC,gBAAe;AACtB,OAAO,iBAAiB;AACxB,OAAOC,iBAAgB;AACvB,OAAOC,sBAAqB;AAC5B,OAAOC,eAAc;AACrB,SAAS,cAAc,qBAAqB;AA8DtC,SACE,OAAAC,OADF,QAAAC,aAAA;AAtCN,IAAM,eAAe;AAAA,EACnB,EAAE,OAAO,kBAAkB,OAAO,iBAAiB;AAAA,EACnD,EAAE,OAAO,mBAAmB,OAAO,kBAAkB;AACvD;AAEA,IAAM,cAA+B,EAAE,MAAM,kBAAkB,MAAM,CAAC,EAAE,EAAE;AAMnE,IAAM,kBAAkD,CAAC;AAAA,EAC9D;AAAA,EACA;AACF,MAAM;AACJ,QAAM,UAA2B,SAAS;AAE1C,QAAM,wBAAwB,CAAC,MAA2C;AACxE,aAAS,EAAE,GAAG,SAAS,MAAM,CAAC,EAAE,OAAO,KAAK,EAAE,CAAC;AAAA,EACjD;AAEA,QAAM,uBAAuB,CAAC,OAAe,QAAgB;AAC3D,UAAM,UAAU,CAAC,GAAG,QAAQ,IAAI;AAChC,YAAQ,KAAK,IAAI;AACjB,aAAS,EAAE,GAAG,SAAS,MAAM,QAAQ,CAAC;AAAA,EACxC;AAEA,QAAM,SAAS,MAAM;AACnB,aAAS,EAAE,GAAG,SAAS,MAAM,CAAC,GAAG,QAAQ,MAAM,EAAE,EAAE,CAAC;AAAA,EACtD;AAEA,QAAM,YAAY,CAAC,UAAkB;AACnC,UAAM,UAAU,QAAQ,KAAK,OAAO,CAAC,GAAG,MAAM,MAAM,KAAK;AACzD,aAAS,EAAE,GAAG,SAAS,MAAM,QAAQ,SAAS,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;AAAA,EACpE;AAEA,SACE,gBAAAA,MAACF,UAAS,OAAT,EAAe,OAAM,KACpB;AAAA,oBAAAE,MAACF,UAAS,OAAT,EAAe,OAAM,MACpB;AAAA,sBAAAC,MAACL,QAAA,EAAM,SAAQ,mBAAkB,6BAAe;AAAA,MAChD,gBAAAK;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH,MAAK;AAAA,UACL,OAAO,QAAQ;AAAA,UACf,SAAS;AAAA,UACT,UAAU,CAAC,MAAM;AACf,kBAAM,UAAU,EAAE,OAAO;AACzB,qBAAS,EAAE,MAAM,SAAS,MAAM,YAAY,mBAAmB,CAAC,QAAQ,KAAK,CAAC,KAAK,EAAE,IAAI,QAAQ,KAAK,CAAC;AAAA,UACzG;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAEC,QAAQ,SAAS,mBAChB,gBAAAC,MAACF,UAAS,OAAT,EAAe,OAAM,MACpB;AAAA,sBAAAC,MAACL,QAAA,EAAM,SAAQ,kBAAiB,iBAAG;AAAA,MACnC,gBAAAK;AAAA,QAACJ;AAAA,QAAA;AAAA,UACC,IAAG;AAAA,UACH,aAAY;AAAA,UACZ,OAAO,QAAQ,KAAK,CAAC,KAAK;AAAA,UAC1B,UAAU;AAAA;AAAA,MACZ;AAAA,OACF,IAEA,gBAAAK,MAACF,UAAS,OAAT,EAAe,OAAM,MACpB;AAAA,sBAAAC,MAACL,QAAA,EAAM,kBAAI;AAAA,MACX,gBAAAM,MAACF,UAAS,OAAT,EAAe,OAAM,MACnB;AAAA,gBAAQ,KAAK,IAAI,CAAC,KAAK,MACtB,gBAAAE,MAACF,UAAS,QAAT,EAAwB,OAAM,MAAK,YAAW,UAC7C;AAAA,0BAAAC,MAAC,SAAI,OAAO,EAAE,MAAM,EAAE,GACpB,0BAAAA;AAAA,YAACJ;AAAA,YAAA;AAAA,cACC,aAAa,OAAO,IAAI,CAAC;AAAA,cACzB,OAAO;AAAA,cACP,UAAU,CAAC,MAAM,qBAAqB,GAAG,EAAE,OAAO,KAAK;AAAA;AAAA,UACzD,GACF;AAAA,UACA,gBAAAI;AAAA,YAACH;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,OAAM;AAAA,cACN,MAAM,gBAAAG,MAAC,iBAAc;AAAA,cACrB,SAAS,MAAM,UAAU,CAAC;AAAA;AAAA,UAC5B;AAAA,aAboB,CActB,CACD;AAAA,QACD,gBAAAA;AAAA,UAACF;AAAA,UAAA;AAAA,YACC,OAAM;AAAA,YACN,UAAU,gBAAAE,MAAC,gBAAa;AAAA,YACxB,SAAS;AAAA,YACT,MAAK;AAAA;AAAA,QACP;AAAA,SACF;AAAA,OACF;AAAA,KAEJ;AAEJ;;;AD1CU,gBAAAE,OA+CJ,QAAAC,aA/CI;AAvDV,IAAM,mBAAmB,CAAC,SAA0C;AAClE,MAAI,CAAC,KAAM,QAAO;AAClB,SAAO,KAAK,IAAI,KAAK,KAAK,OAAO,KAAK,OAAO,OAAO,IAAI,EAAE,CAAC,KAAK;AAClE;AAEA,IAAM,cAAc,CAClB,YACA,cACA,mBACW;AACX,QAAM,SAAS,aAAa,KAAK,IAAI,IAAI,cAAc;AACvD,SAAO,GAAG,YAAY,IAAI,OAAO,QAAQ,cAAc,CAAC;AAC1D;AAMA,IAAM,sBAAoD,CAAC;AAAA,EACzD;AAAA,EACA;AACF,MAAM;AAEJ,QAAM,iBAAiB,YAAY,gBAAgB;AACnD,QAAM,EAAE,MAAM,aAAa,SAAS,MAAM,IAAI;AAAA,IAC5C,iBAAiB,SAAY,YAAY;AAAA,IACzC,iBAAiB,CAAC,IAAK,YAAY,QAAQ,CAAC;AAAA,EAC9C;AAEA,QAAM,OAAO,iBAAiB,WAAW,eAAe;AAGxD,QAAM,UAAoC,OACtC,MAAM,QAAQ,IAAI,IACf,KAAK,CAAC,KAA2B,OACjC,OACH;AAEJ,QAAM,WAAW,SAAS,eAAe,SAAS,CAAC,GAAG;AACtD,QAAM,aAAa,SAAS,eAAe,SAAS,CAAC,GAAG;AACxD,QAAM,cAAc,iBAAiB,SAAS,IAAI;AAElD,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,SAAS;AAAA,QACT,KAAK;AAAA,QACL,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,YAAY;AAAA,MACd;AAAA,MAGA;AAAA,wBAAAD,MAAC,SAAI,OAAO,EAAE,YAAY,GAAG,OAAO,QAAQ,GACzC,oBACC,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,cACL,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,YAAY;AAAA,cACZ,cAAc;AAAA,cACd,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,gBAAgB;AAAA,cAChB,OAAO;AAAA,cACP,UAAU;AAAA,YACZ;AAAA,YACD;AAAA;AAAA,QAED,IACE,WACF,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACC,KAAK;AAAA,YACL,KAAK;AAAA,YACL,OAAO;AAAA,cACL,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,WAAW;AAAA,cACX,cAAc;AAAA,cACd,SAAS;AAAA,YACX;AAAA;AAAA,QACF,IAEA,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,cACL,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,YAAY;AAAA,cACZ,cAAc;AAAA,cACd,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,gBAAgB;AAAA,cAChB,OAAO;AAAA,cACP,UAAU;AAAA,YACZ;AAAA,YAEC,kBAAQ,0BAA0B;AAAA;AAAA,QACrC,GAEJ;AAAA,QAGA,gBAAAC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,cACL,SAAS;AAAA,cACT,eAAe;AAAA,cACf,KAAK;AAAA,cACL,MAAM;AAAA,cACN,UAAU;AAAA,YACZ;AAAA,YAEC;AAAA,yBACC,gBAAAD,MAAC,SAAI,yBAAyB,EAAE,QAAQ,SAAS,GAAG,IAEpD,gBAAAA,MAAC,SAAI,OAAO,EAAE,OAAO,WAAW,UAAU,OAAO,GAAG,4BAEpD;AAAA,cAGD,cACC,gBAAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,OAAO;AAAA,oBACL,UAAU;AAAA,oBACV,YAAY;AAAA,oBACZ,OAAO;AAAA,kBACT;AAAA,kBAEC;AAAA,oBACC,WAAW;AAAA,oBACX,WAAW;AAAA,oBACX,WAAW;AAAA,kBACb;AAAA;AAAA,cACF;AAAA;AAAA;AAAA,QAEJ;AAAA;AAAA;AAAA,EACF;AAEJ;AAMO,IAAM,gBAAqD;AAAA,EAChE,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,YAAY;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ,CAAC,EAAE,OAAO,SAAS,MACzB,gBAAAA,MAAC,mBAAgB,OAAc,UAAoB;AAAA,IAEvD;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACZ,YAAY,EAAE,MAAM,kBAAkB,MAAM,CAAC,EAAE,EAAE;AAAA,IACjD,UAAU;AAAA,EACZ;AAAA,EACA,QAAQ,CAAC,UAAU,gBAAAA,MAAC,uBAAqB,GAAG,OAAO;AACrD;;;AE5KQ,gBAAAE,OA0CF,QAAAC,cA1CE;AATD,IAAM,aAA+C;AAAA,EAC1D,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,OAAO,QAAQ;AAAA,IACtC,UAAU,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC5C,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ,CAAC,EAAE,OAAO,SAAS,MACzB,gBAAAD,MAAC,oBAAiB,OAAO,SAAS,IAAI,UAAoB;AAAA,IAE9D;AAAA,EACF;AAAA,EACA,cAAc,EAAE,OAAO,IAAI,UAAU,IAAI,OAAO,GAAG;AAAA,EACnD,QAAQ,CAAC,EAAE,OAAO,UAAU,MAAM,MAChC,gBAAAC;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,UAAU;AAAA,QACV,OAAO;AAAA,QACP,eAAe;AAAA,QACf,UAAU;AAAA,QACV,iBAAiB;AAAA,MACnB;AAAA,MAEC;AAAA,iBACC,gBAAAD;AAAA,UAAC;AAAA;AAAA,YACC,KAAK;AAAA,YACL,KAAK,SAAS;AAAA,YACd,OAAO;AAAA,cACL,UAAU;AAAA,cACV,KAAK;AAAA,cACL,MAAM;AAAA,cACN,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,WAAW;AAAA,cACX,gBAAgB;AAAA,YAClB;AAAA;AAAA,QACF;AAAA,QAGF,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,cACL,UAAU;AAAA,cACV,KAAK;AAAA,cACL,MAAM;AAAA,cACN,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,YAAY;AAAA,cACZ,QAAQ;AAAA,YACV;AAAA;AAAA,QACF;AAAA,QACA,gBAAAC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,cACL,UAAU;AAAA,cACV,KAAK;AAAA,cACL,MAAM;AAAA,cACN,WAAW;AAAA,cACX,WAAW;AAAA,cACX,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,SAAS;AAAA,cACT,UAAU;AAAA,YACZ;AAAA,YAEC;AAAA,uBACC,gBAAAD;AAAA,gBAAC;AAAA;AAAA,kBACC,OAAO;AAAA,oBACL,UAAU;AAAA,oBACV,YAAY;AAAA,oBACZ,QAAQ;AAAA,oBACR,YAAY;AAAA,kBACd;AAAA,kBAEC;AAAA;AAAA,cACH;AAAA,cAED,YACC,gBAAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,OAAO;AAAA,oBACL,UAAU;AAAA,oBACV,QAAQ;AAAA,oBACR,YAAY;AAAA,oBACZ,SAAS;AAAA,kBACX;AAAA,kBAEC;AAAA;AAAA,cACH;AAAA;AAAA;AAAA,QAEJ;AAAA;AAAA;AAAA,EACF;AAEJ;;;ACvFyB,qBAAAE,WAAA,OAAAC,aAAA;AAPlB,IAAM,YAA6C;AAAA,EACxD,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,SAAS,EAAE,MAAM,YAAY,OAAO,iBAAiB;AAAA,EACvD;AAAA,EACA,cAAc,EAAE,SAAS,GAAG;AAAA,EAC5B,QAAQ,CAAC,EAAE,QAAQ,MAAM;AACvB,QAAI,CAAC,QAAS,QAAO,gBAAAA,MAAAD,WAAA,EAAE;AACvB,WACE,gBAAAC;AAAA,MAAC;AAAA;AAAA,QACC,yBAAyB,EAAE,QAAQ,QAAQ;AAAA,QAC3C,OAAO;AAAA,UACL,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,OAAO;AAAA,QACT;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;;;ACbI,gBAAAC,OAkDM,QAAAC,cAlDN;AAJJ,IAAM,WAAW,CAAC,WAAmB;AAAA,EACnC,MAAM;AAAA,EACN;AAAA,EACA,QAAQ,CAAC,EAAE,OAAO,SAAS,MACzB,gBAAAD,MAAC,oBAAiB,OAAO,SAAS,IAAI,UAAoB;AAE9D;AAEO,IAAM,eAAmD;AAAA,EAC9D,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,gBAAgB,SAAS,kBAAkB;AAAA,IAC3C,gBAAgB,EAAE,MAAM,QAAQ,OAAO,mBAAmB;AAAA,IAC1D,eAAe,EAAE,MAAM,QAAQ,OAAO,kBAAkB;AAAA,IACxD,gBAAgB,SAAS,kBAAkB;AAAA,IAC3C,gBAAgB,EAAE,MAAM,QAAQ,OAAO,mBAAmB;AAAA,IAC1D,eAAe,EAAE,MAAM,QAAQ,OAAO,kBAAkB;AAAA,IACxD,gBAAgB,SAAS,kBAAkB;AAAA,IAC3C,gBAAgB,EAAE,MAAM,QAAQ,OAAO,mBAAmB;AAAA,IAC1D,eAAe,EAAE,MAAM,QAAQ,OAAO,kBAAkB;AAAA,IACxD,gBAAgB,SAAS,kBAAkB;AAAA,IAC3C,gBAAgB,EAAE,MAAM,QAAQ,OAAO,mBAAmB;AAAA,IAC1D,eAAe,EAAE,MAAM,QAAQ,OAAO,kBAAkB;AAAA,EAC1D;AAAA,EACA,cAAc;AAAA,IACZ,gBAAgB;AAAA,IAAI,gBAAgB;AAAA,IAAI,eAAe;AAAA,IACvD,gBAAgB;AAAA,IAAI,gBAAgB;AAAA,IAAI,eAAe;AAAA,IACvD,gBAAgB;AAAA,IAAI,gBAAgB;AAAA,IAAI,eAAe;AAAA,IACvD,gBAAgB;AAAA,IAAI,gBAAgB;AAAA,IAAI,eAAe;AAAA,EACzD;AAAA,EACA,QAAQ,CAAC,UAAU;AACjB,UAAM,aAAa;AAAA,MACjB,CAAC,MAAM,gBAAgB,MAAM,gBAAgB,MAAM,aAAa;AAAA,MAChE,CAAC,MAAM,gBAAgB,MAAM,gBAAgB,MAAM,aAAa;AAAA,MAChE,CAAC,MAAM,gBAAgB,MAAM,gBAAgB,MAAM,aAAa;AAAA,MAChE,CAAC,MAAM,gBAAgB,MAAM,gBAAgB,MAAM,aAAa;AAAA,IAClE,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,IAAI,MAAM,SAAS,IAAI;AAE3C,QAAI,WAAW,WAAW,EAAG,QAC3B,gBAAAA,MAAC,SAAI,OAAO,EAAE,SAAS,QAAQ,WAAW,UAAU,OAAO,QAAQ,UAAU,OAAO,GAAG,sCAEvF;AAGF,WACE,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,SAAS;AAAA,UACT,qBAAqB;AAAA,UACrB,KAAK;AAAA,UACL,SAAS;AAAA,QACX;AAAA,QAEC,qBAAW,IAAI,CAAC,CAAC,OAAO,OAAO,IAAI,GAAG,MACrC,gBAAAC;AAAA,UAAC;AAAA;AAAA,YAEC,MAAM;AAAA,YACN,OAAO;AAAA,cACL,SAAS;AAAA,cACT,WAAW;AAAA,cACX,gBAAgB;AAAA,cAChB,OAAO;AAAA,cACP,cAAc;AAAA,cACd,UAAU;AAAA,cACV,WAAW;AAAA,YACb;AAAA,YAEA;AAAA,8BAAAD,MAAC,SAAI,OAAO,EAAE,aAAa,KAAK,YAAY,WAAW,UAAU,SAAS,GACvE,mBACC,gBAAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,KAAK;AAAA,kBACL,KAAK;AAAA,kBACL,OAAO,EAAE,OAAO,QAAQ,QAAQ,QAAQ,WAAW,QAAQ;AAAA;AAAA,cAC7D,GAEJ;AAAA,cACA,gBAAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,OAAO;AAAA,oBACL,SAAS;AAAA,oBACT,SAAS;AAAA,oBACT,YAAY;AAAA,oBACZ,OAAO;AAAA,kBACT;AAAA,kBAEC;AAAA;AAAA,cACH;AAAA;AAAA;AAAA,UA9BK;AAAA,QA+BP,CACD;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;;;ACnFuC,gBAAAE,OAkCjC,QAAAC,cAlCiC;AAPhC,IAAM,eAAmD;AAAA,EAC9D,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,OAAO,QAAQ;AAAA,IACtC,UAAU,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC5C,OAAO;AAAA,MACL,MAAM;AAAA,MAAU,OAAO;AAAA,MACvB,QAAQ,CAAC,EAAE,OAAO,SAAS,MAAM,gBAAAD,MAAC,oBAAiB,OAAO,SAAS,IAAI,UAAoB;AAAA,IAC7F;AAAA,IACA,SAAS,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC3C,SAAS,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,EAC7C;AAAA,EACA,cAAc,EAAE,OAAO,IAAI,UAAU,IAAI,OAAO,IAAI,SAAS,IAAI,SAAS,GAAG;AAAA,EAC7E,QAAQ,CAAC,EAAE,OAAO,UAAU,OAAO,SAAS,QAAQ,MAClD,gBAAAC;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,UAAU;AAAA,QACV,WAAW;AAAA,QACX,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,YAAY;AAAA,QACZ,cAAc;AAAA,QACd,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MAEC;AAAA,iBACC,gBAAAD;AAAA,UAAC;AAAA;AAAA,YACC,KAAK;AAAA,YACL,KAAK,SAAS;AAAA,YACd,OAAO;AAAA,cACL,UAAU;AAAA,cACV,KAAK;AAAA,cAAG,MAAM;AAAA,cACd,OAAO;AAAA,cAAQ,QAAQ;AAAA,cACvB,WAAW;AAAA,cACX,SAAS;AAAA,YACX;AAAA;AAAA,QACF;AAAA,QAEF,gBAAAA,MAAC,SAAI,OAAO,EAAE,UAAU,YAAY,OAAO,GAAG,YAAY,mBAAmB,GAAG;AAAA,QAChF,gBAAAC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,cACL,UAAU;AAAA,cACV,QAAQ;AAAA,cACR,WAAW;AAAA,cACX,SAAS;AAAA,cACT,OAAO;AAAA,cACP,YAAY;AAAA,YACd;AAAA,YAEC;AAAA,uBAAS,gBAAAD,MAAC,QAAG,OAAO,EAAE,UAAU,UAAU,cAAc,SAAS,GAAI,iBAAM;AAAA,cAC3E,YAAY,gBAAAA,MAAC,OAAE,OAAO,EAAE,UAAU,UAAU,cAAc,OAAO,GAAI,oBAAS;AAAA,cAC9E,WAAW,WACV,gBAAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,MAAM;AAAA,kBACN,OAAO;AAAA,oBACL,SAAS;AAAA,oBACT,YAAY;AAAA,oBACZ,OAAO;AAAA,oBACP,SAAS;AAAA,oBACT,cAAc;AAAA,oBACd,gBAAgB;AAAA,oBAChB,YAAY;AAAA,kBACd;AAAA,kBAEC;AAAA;AAAA,cACH;AAAA;AAAA;AAAA,QAEJ;AAAA;AAAA;AAAA,EACF;AAEJ;;;AChE+C,qBAAAE,WAAA,OAAAC,OAEzC,QAAAC,cAFyC;AAVxC,IAAM,sBAAiE;AAAA,EAC5E,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,OAAO,QAAQ;AAAA,IACtC,SAAS,EAAE,MAAM,QAAQ,OAAO,UAAU;AAAA,IAC1C,SAAS,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC3C,SAAS,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,EAC7C;AAAA,EACA,cAAc,EAAE,OAAO,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,GAAG;AAAA,EACjE,QAAQ,CAAC,EAAE,OAAO,SAAS,SAAS,QAAQ,MAAM;AAChD,QAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAS,QAAO,gBAAAD,MAAAD,WAAA,EAAE;AAC7C,WACE,gBAAAE;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,cAAc;AAAA,UACd,cAAc;AAAA,UACd,UAAU;AAAA,QACZ;AAAA,QAEC;AAAA,mBACC,gBAAAD,MAAC,SAAI,OAAO,EAAE,YAAY,KAAK,OAAO,WAAW,cAAc,UAAU,GACtE,iBACH;AAAA,UAED,WAAW,gBAAAA,MAAC,OAAE,OAAO,EAAE,QAAQ,gBAAgB,OAAO,OAAO,GAAI,mBAAQ;AAAA,UACzE,WAAW,WACV,gBAAAA,MAAC,OAAE,MAAM,SAAS,OAAO,EAAE,OAAO,WAAW,YAAY,KAAK,gBAAgB,OAAO,GAClF,mBACH;AAAA;AAAA;AAAA,IAEJ;AAAA,EAEJ;AACF;;;AC9CA,SAAgB,aAAAE,YAAW,YAAAC,iBAAgB;AAsCvC,SAUe,OAAAC,OAVf,QAAAC,cAAA;AA1BJ,IAAM,eAAe,CAAC,YAA4B;AAChD,MAAI,CAAC,QAAS,QAAO;AACrB,QAAM,MAAM,IAAI,KAAK,OAAO;AAC5B,QAAM,MAAM,oBAAI,KAAK;AACrB,MAAI,OAAO,IAAK,QAAO;AACvB,QAAM,OAAO,IAAI,QAAQ,IAAI,IAAI,QAAQ;AACzC,QAAM,IAAI,KAAK,MAAM,OAAO,KAAU;AACtC,QAAM,IAAI,KAAK,MAAO,OAAO,QAAc,IAAS;AACpD,QAAM,IAAI,KAAK,MAAO,OAAO,OAAa,GAAM;AAChD,QAAM,IAAI,KAAK,MAAO,OAAO,MAAU,GAAK;AAC5C,MAAI,IAAI,EAAG,QAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;AAClC,MAAI,IAAI,EAAG,QAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;AAClC,SAAO,GAAG,CAAC,KAAK,CAAC;AACnB;AAEA,IAAM,kBAAkD,CAAC;AAAA,EACvD;AAAA,EAAU;AAAA,EAAS;AAAA,EAAS;AAAA,EAAS;AAAA,EAAS;AAChD,MAAM;AACJ,QAAM,CAAC,UAAU,WAAW,IAAIF,UAAS,MAAM,aAAa,OAAO,CAAC;AACpE,EAAAD,WAAU,MAAM;AACd,QAAI,CAAC,QAAS;AACd,UAAM,KAAK,YAAY,MAAM,YAAY,aAAa,OAAO,CAAC,GAAG,GAAI;AACrE,WAAO,MAAM,cAAc,EAAE;AAAA,EAC/B,GAAG,CAAC,OAAO,CAAC;AAEZ,SACE,gBAAAG;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,YAAY,cAAc;AAAA,QAC1B,OAAO;AAAA,QACP,SAAS;AAAA,QACT,WAAW;AAAA,QACX,cAAc;AAAA,QACd,QAAQ;AAAA,MACV;AAAA,MAEC;AAAA,oBAAY,gBAAAD,MAAC,QAAG,OAAO,EAAE,UAAU,WAAW,cAAc,SAAS,GAAI,oBAAS;AAAA,QAClF,WAAW,gBAAAA,MAAC,OAAE,OAAO,EAAE,UAAU,QAAQ,SAAS,KAAK,cAAc,OAAO,GAAI,mBAAQ;AAAA,QACxF,YACC,gBAAAA,MAAC,OAAE,OAAO,EAAE,UAAU,WAAW,YAAY,KAAK,QAAQ,cAAc,eAAe,SAAS,GAC7F,oBACH;AAAA,QAED,WAAW,WACV,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,cACL,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,OAAO;AAAA,cACP,SAAS;AAAA,cACT,cAAc;AAAA,cACd,gBAAgB;AAAA,cAChB,YAAY;AAAA,YACd;AAAA,YAEC;AAAA;AAAA,QACH;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEO,IAAM,kBAAyD;AAAA,EACpE,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,UAAU,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC5C,SAAS,EAAE,MAAM,QAAQ,OAAO,UAAU;AAAA,IAC1C,SAAS,EAAE,MAAM,QAAQ,OAAO,2CAA2C;AAAA,IAC3E,SAAS,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC3C,SAAS,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC3C,YAAY,EAAE,MAAM,QAAQ,OAAO,mBAAmB;AAAA,EACxD;AAAA,EACA,cAAc;AAAA,IACZ,UAAU;AAAA,IAAI,SAAS;AAAA,IAAI,SAAS;AAAA,IAAI,SAAS;AAAA,IAAI,SAAS;AAAA,IAAI,YAAY;AAAA,EAChF;AAAA,EACA,QAAQ,CAAC,UAAU,gBAAAA,MAAC,mBAAiB,GAAG,OAAO;AACjD;;;ACvFA,SAAS,iBAAAE,sBAAqB;;;ACAvB,IAAM,mBAAmB,CAAC,QAAgD;AAC/E,MAAI,CAAC,IAAK,QAAO;AACjB,SAAO,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,OAAO,OAAO,GAAG,EAAE,CAAC,KAAK;AAC/D;AAEO,IAAMC,eAAc,CACzB,YACA,eAAe,OACf,iBAAiB,MACN;AACX,QAAM,SAAS,aAAa,KAAK,IAAI,IAAI,cAAc;AACvD,SAAO,IAAI,KAAK,aAAa,SAAS;AAAA,IACpC,OAAO;AAAA,IACP,UAAU;AAAA,EACZ,CAAC,EAAE,OAAO,MAAM;AAClB;AAEO,IAAM,gBAAgB,CAC3B,YACgF;AAChF,QAAM,IAAI;AACV,SAAO,GAAG,eAAe,SAAS,CAAC,GAAG,SAAS;AACjD;AAEO,IAAM,kBAAkB,CAAC,YAAoC;AAClE,QAAM,IAAI;AACV,SAAO,GAAG,eAAe,SAAS,CAAC,GAAG,OAAO;AAC/C;AAOO,IAAM,iBAAiB,CAAC,YAA6B;AAC1D,QAAM,IAAI;AACV,SAAO,iBAAiB,GAAG,IAAI,KAAK,GAAG,MAAM;AAC/C;;;ADbgB,gBAAAC,OAgBF,QAAAC,cAhBE;AAdhB,IAAM,kBAAiD,CAAC,EAAE,OAAO,UAAU,QAAQ,MAAM;AACvF,QAAM,iBAAiB,UAAU,gBAAgB;AACjD,QAAM,EAAE,MAAM,aAAa,QAAQ,IAAIC;AAAA,IACrC,iBAAiB,SAAY,UAAU;AAAA,IACvC,iBAAiB,CAAC,IAAK,UAAU,QAAQ,CAAC;AAAA,EAC5C;AACA,QAAM,QAAmB,iBACpB,MAAM,QAAQ,SAAS,YAAY,IAAI,SAAS,eAAe,CAAC,IAChE,MAAM,QAAQ,WAAW,IAAI,cAAc,CAAC;AAEjD,MAAI,CAAC,WAAW,MAAM,WAAW,EAAG,QAAO;AAE3C,SACE,gBAAAD,OAAC,SAAI,OAAO,EAAE,SAAS,UAAU,WAAW,iBAAiB,GAC1D;AAAA,aAAS,gBAAAD,MAAC,QAAG,OAAO,EAAE,UAAU,UAAU,cAAc,UAAU,OAAO,OAAO,GAAI,mBAAS,8BAA6B;AAAA,IAC1H,WAAW,gBAAAA,MAAC,SAAI,OAAO,EAAE,OAAO,QAAQ,SAAS,OAAO,GAAG,2BAAQ;AAAA,IACnE,MAAM,SAAS,KACd,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,SAAS;AAAA,UACT,qBAAqB;AAAA,UACrB,KAAK;AAAA,QACP;AAAA,QAEC,gBAAM,IAAI,CAAC,SAAS,MAAM;AACzB,gBAAM,OAAO,iBAAkB,SAAiB,IAAI;AACpD,gBAAM,WAAW,gBAAgB,OAAO;AACxC,gBAAM,WAAW,cAAc,OAAO;AACtC,gBAAM,OAAO,eAAe,OAAO;AACnC,iBACE,gBAAAC;AAAA,YAAC;AAAA;AAAA,cAEC,MAAM;AAAA,cACN,OAAO;AAAA,gBACL,WAAW;AAAA,gBACX,gBAAgB;AAAA,gBAChB,OAAO;AAAA,gBACP,SAAS;AAAA,gBACT,cAAc;AAAA,gBACd,QAAQ;AAAA,cACV;AAAA,cAEA;AAAA,gCAAAD,MAAC,SAAI,OAAO,EAAE,QAAQ,SAAS,cAAc,WAAW,SAAS,QAAQ,YAAY,UAAU,gBAAgB,UAAU,YAAY,WAAW,cAAc,MAAM,GACjK,qBACG,gBAAAA,MAAC,SAAI,KAAK,UAAU,KAAK,MAAM,OAAO,EAAE,UAAU,QAAQ,WAAW,QAAQ,WAAW,UAAU,GAAG,IACrG,MAEN;AAAA,gBACA,gBAAAA,MAAC,SAAI,OAAO,EAAE,YAAY,KAAK,UAAU,WAAW,cAAc,UAAU,GAAI,gBAAK;AAAA,gBACpF,YACC,gBAAAA,MAAC,SAAI,OAAO,EAAE,UAAU,UAAU,OAAO,WAAW,YAAY,OAAO,GACpE,UAAAG,aAAY,SAAS,YAAY,SAAS,cAAc,SAAS,cAAc,GAClF;AAAA;AAAA;AAAA,YArBI,SAAiB,MAAM;AAAA,UAuB/B;AAAA,QAEJ,CAAC;AAAA;AAAA,IACH;AAAA,IAED,WACC,gBAAAH,MAAC,OAAE,MAAK,KAAI,OAAO,EAAE,SAAS,gBAAgB,WAAW,QAAQ,OAAO,WAAW,YAAY,KAAK,gBAAgB,OAAO,GACxH,mBACH;AAAA,KAEJ;AAEJ;AAEO,IAAM,iBAAuD;AAAA,EAClE,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,OAAO,QAAQ;AAAA,IACtC,UAAU;AAAA,MACR,MAAM;AAAA,MAAU,OAAO;AAAA,MACvB,QAAQ,CAAC,EAAE,OAAO,SAAS,MAAM,gBAAAA,MAAC,mBAAgB,OAAc,UAAoB;AAAA,IACtF;AAAA,IACA,SAAS,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,EAC7C;AAAA,EACA,cAAc;AAAA,IACZ,OAAO;AAAA,IACP,UAAU,EAAE,MAAM,mBAAmB,MAAM,CAAC,EAAE,EAAE;AAAA,IAChD,SAAS;AAAA,EACX;AAAA,EACA,QAAQ,CAAC,UAAU,gBAAAA,MAAC,mBAAiB,GAAG,OAAO;AACjD;;;AEhFyB,qBAAAI,WAAA,OAAAC,aAAA;AARlB,IAAM,kBAAyD;AAAA,EACpE,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,SAAS,EAAE,MAAM,QAAQ,OAAO,kCAAkC;AAAA,IAClE,WAAW,EAAE,MAAM,QAAQ,OAAO,6BAA6B;AAAA,EACjE;AAAA,EACA,cAAc,EAAE,SAAS,oCAAoC,WAAW,GAAG;AAAA,EAC3E,QAAQ,CAAC,EAAE,SAAS,UAAU,MAAM;AAClC,QAAI,CAAC,QAAS,QAAO,gBAAAA,MAAAD,WAAA,EAAE;AACvB,UAAM,OAAO,YACT,QAAQ,QAAQ,UAAU,IAAI,SAAS,EAAE,IACzC;AACJ,WACE,gBAAAC;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,cAAc;AAAA,UACd,UAAU;AAAA,UACV,OAAO;AAAA,QACT;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;;;ACRM,gBAAAC,aAAA;AAlBC,IAAM,UAAyC;AAAA,EACpD,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,WAAW;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,QACP,EAAE,OAAO,SAAS,OAAO,QAAQ;AAAA,QACjC,EAAE,OAAO,UAAU,OAAO,SAAS;AAAA,QACnC,EAAE,OAAO,UAAU,OAAO,SAAS;AAAA,MACrC;AAAA,IACF;AAAA,IACA,SAAS,EAAE,MAAM,QAAQ,OAAO,eAAe;AAAA,EACjD;AAAA,EACA,cAAc,EAAE,WAAW,SAAS,SAAS,KAAK;AAAA,EAClD,QAAQ,CAAC,EAAE,WAAW,QAAQ,MAAM;AAClC,UAAM,IAAI,SAAS,SAAS,EAAE,KAAK;AACnC,WACE,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,QAAQ;AAAA,UACR,WAAW,OAAO,SAAS;AAAA,UAC3B,QAAQ,GAAG,IAAI,CAAC;AAAA,QAClB;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;;;AClBuC,gBAAAC,OASnC,QAAAC,cATmC;AALhC,IAAM,aAA+C;AAAA,EAC1D,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,OAAO;AAAA,MACL,MAAM;AAAA,MAAU,OAAO;AAAA,MACvB,QAAQ,CAAC,EAAE,OAAO,SAAS,MAAM,gBAAAD,MAAC,oBAAiB,OAAO,SAAS,IAAI,UAAoB;AAAA,IAC7F;AAAA,IACA,OAAO,EAAE,MAAM,QAAQ,OAAO,QAAQ;AAAA,IACtC,aAAa,EAAE,MAAM,QAAQ,OAAO,cAAc;AAAA,IAClD,SAAS,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC3C,SAAS,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,EAC7C;AAAA,EACA,cAAc,EAAE,OAAO,IAAI,OAAO,IAAI,aAAa,IAAI,SAAS,IAAI,SAAS,GAAG;AAAA,EAChF,QAAQ,CAAC,EAAE,OAAO,OAAO,aAAa,SAAS,QAAQ,MACrD,gBAAAC,OAAC,SAAI,OAAO,EAAE,WAAW,UAAU,SAAS,YAAY,GACrD;AAAA,aACC,gBAAAD;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,KAAK,SAAS;AAAA,QACd,OAAO,EAAE,UAAU,SAAS,QAAQ,QAAQ,cAAc,UAAU,SAAS,IAAI;AAAA;AAAA,IACnF;AAAA,IAED,SAAS,gBAAAA,MAAC,QAAG,OAAO,EAAE,UAAU,UAAU,OAAO,QAAQ,cAAc,SAAS,GAAI,iBAAM;AAAA,IAC1F,eACC,gBAAAA,MAAC,OAAE,OAAO,EAAE,OAAO,QAAQ,cAAc,UAAU,UAAU,SAAS,QAAQ,gBAAgB,GAC3F,uBACH;AAAA,IAED,WAAW,WACV,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,UACL,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,OAAO;AAAA,UACP,SAAS;AAAA,UACT,cAAc;AAAA,UACd,gBAAgB;AAAA,UAChB,YAAY;AAAA,QACd;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,KAEJ;AAEJ;;;AC1DA,SAAgB,YAAAE,iBAAgB;AAqB5B,gBAAAC,OAOM,QAAAC,cAPN;AAXJ,IAAM,YAAyC,CAAC,UAAU;AACxD,QAAM,QAAQ;AAAA,IACZ,CAAC,MAAM,WAAW,MAAM,OAAO;AAAA,IAC/B,CAAC,MAAM,WAAW,MAAM,OAAO;AAAA,IAC/B,CAAC,MAAM,WAAW,MAAM,OAAO;AAAA,IAC/B,CAAC,MAAM,WAAW,MAAM,OAAO;AAAA,EACjC,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AAEnB,QAAM,CAAC,MAAM,OAAO,IAAIF,UAAwB,IAAI;AAEpD,MAAI,MAAM,WAAW,EAAG,QACtB,gBAAAC,MAAC,SAAI,OAAO,EAAE,SAAS,QAAQ,OAAO,QAAQ,UAAU,OAAO,GAAG,qCAAuB;AAG3F,SACE,gBAAAA,MAAC,SAAI,OAAO,EAAE,QAAQ,kBAAkB,cAAc,OAAO,UAAU,SAAS,GAC7E,gBAAM,IAAI,CAAC,CAAC,UAAU,MAAM,GAAG,MAC9B,gBAAAC,OAAC,SAAY,OAAO,EAAE,cAAc,IAAI,MAAM,SAAS,IAAI,mBAAmB,OAAO,GACnF;AAAA,oBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM,QAAQ,SAAS,IAAI,OAAO,CAAC;AAAA,QAC5C,OAAO;AAAA,UACL,OAAO;AAAA,UACP,SAAS;AAAA,UACT,WAAW;AAAA,UACX,YAAY;AAAA,UACZ,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,gBAAgB;AAAA,UAChB,YAAY;AAAA,QACd;AAAA,QAEC;AAAA;AAAA,UACD,gBAAAD,MAAC,UAAK,OAAO,EAAE,UAAU,UAAU,YAAY,EAAE,GAAI,mBAAS,IAAI,WAAM,KAAI;AAAA;AAAA;AAAA,IAC9E;AAAA,IACC,SAAS,KAAK,UACb,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,yBAAyB,EAAE,QAAQ,OAAO;AAAA,QAC1C,OAAO;AAAA,UACL,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,OAAO;AAAA,QACT;AAAA;AAAA,IACF;AAAA,OA9BM,CAgCV,CACD,GACH;AAEJ;AAEO,IAAM,eAAmD;AAAA,EAC9D,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,WAAW,EAAE,MAAM,QAAQ,OAAO,aAAa;AAAA,IAC/C,SAAS,EAAE,MAAM,YAAY,OAAO,kBAAkB;AAAA,IACtD,WAAW,EAAE,MAAM,QAAQ,OAAO,aAAa;AAAA,IAC/C,SAAS,EAAE,MAAM,YAAY,OAAO,kBAAkB;AAAA,IACtD,WAAW,EAAE,MAAM,QAAQ,OAAO,aAAa;AAAA,IAC/C,SAAS,EAAE,MAAM,YAAY,OAAO,kBAAkB;AAAA,IACtD,WAAW,EAAE,MAAM,QAAQ,OAAO,aAAa;AAAA,IAC/C,SAAS,EAAE,MAAM,YAAY,OAAO,kBAAkB;AAAA,EACxD;AAAA,EACA,cAAc;AAAA,IACZ,WAAW;AAAA,IAAI,SAAS;AAAA,IACxB,WAAW;AAAA,IAAI,SAAS;AAAA,IACxB,WAAW;AAAA,IAAI,SAAS;AAAA,IACxB,WAAW;AAAA,IAAI,SAAS;AAAA,EAC1B;AAAA,EACA,QAAQ,CAAC,UAAU,gBAAAA,MAAC,aAAW,GAAG,OAAO;AAC3C;;;AC9DM,SAYQ,OAAAE,OAZR,QAAAC,cAAA;AAZC,IAAM,cAAiD;AAAA,EAC5D,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,SAAS,EAAE,MAAM,YAAY,OAAO,kBAAkB;AAAA,IACtD,SAAS,EAAE,MAAM,YAAY,OAAO,kBAAkB;AAAA,IACtD,SAAS,EAAE,MAAM,YAAY,OAAO,kBAAkB;AAAA,IACtD,WAAW,EAAE,MAAM,QAAQ,OAAO,iBAAiB;AAAA,EACrD;AAAA,EACA,cAAc,EAAE,SAAS,IAAI,SAAS,IAAI,SAAS,IAAI,WAAW,GAAG;AAAA,EACrE,QAAQ,CAAC,EAAE,SAAS,SAAS,SAAS,UAAU,MAAM;AACpD,UAAM,UAAU,CAAC,SAAS,SAAS,OAAO,EAAE,OAAO,OAAO;AAC1D,WACE,gBAAAA,OAAC,YAAO,OAAO,EAAE,YAAY,QAAQ,OAAO,QAAQ,SAAS,aAAa,WAAW,OAAO,GACzF;AAAA,cAAQ,SAAS,KAChB,gBAAAD;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL,SAAS;AAAA,YACT,qBAAqB,UAAU,QAAQ,MAAM;AAAA,YAC7C,KAAK;AAAA,YACL,UAAU;AAAA,YACV,QAAQ;AAAA,UACV;AAAA,UAEC,kBAAQ,IAAI,CAAC,MAAM,MAClB,gBAAAA;AAAA,YAAC;AAAA;AAAA,cAEC,yBAAyB,EAAE,QAAQ,KAAK;AAAA,cACxC,OAAO,EAAE,UAAU,UAAU,YAAY,IAAI;AAAA;AAAA,YAFxC;AAAA,UAGP,CACD;AAAA;AAAA,MACH;AAAA,MAED,aACC,gBAAAA,MAAC,OAAE,OAAO,EAAE,WAAW,UAAU,UAAU,WAAW,OAAO,QAAQ,QAAQ,EAAE,GAC5E,qBACH;AAAA,OAEJ;AAAA,EAEJ;AACF;;;ACnCuC,gBAAAE,OAoBjC,QAAAC,cApBiC;AALhC,IAAM,aAA+C;AAAA,EAC1D,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,OAAO;AAAA,MACL,MAAM;AAAA,MAAU,OAAO;AAAA,MACvB,QAAQ,CAAC,EAAE,OAAO,SAAS,MAAM,gBAAAD,MAAC,oBAAiB,OAAO,SAAS,IAAI,UAAoB;AAAA,IAC7F;AAAA,IACA,SAAS,EAAE,MAAM,QAAQ,OAAO,UAAU;AAAA,IAC1C,MAAM,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,EAC1C;AAAA,EACA,cAAc,EAAE,OAAO,IAAI,SAAS,IAAI,MAAM,GAAG;AAAA,EACjD,QAAQ,CAAC,EAAE,OAAO,SAAS,KAAK,MAAM;AACpC,QAAI,CAAC,MAAO,QACV,gBAAAA,MAAC,SAAI,OAAO,EAAE,SAAS,QAAQ,WAAW,UAAU,OAAO,QAAQ,YAAY,WAAW,cAAc,MAAM,GAAG,+BAEjH;AAEF,UAAM,MACJ,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,KAAK,WAAW;AAAA,QAChB,OAAO,EAAE,UAAU,QAAQ,QAAQ,QAAQ,cAAc,MAAM;AAAA;AAAA,IACjE;AAEF,WACE,gBAAAC,OAAC,YAAO,OAAO,EAAE,QAAQ,UAAU,WAAW,SAAS,GACpD;AAAA,aAAO,gBAAAD,MAAC,OAAE,MAAM,MAAM,OAAO,EAAE,SAAS,eAAe,GAAI,eAAI,IAAO;AAAA,MACtE,WACC,gBAAAA,MAAC,gBAAW,OAAO,EAAE,WAAW,UAAU,UAAU,UAAU,OAAO,OAAO,GACzE,mBACH;AAAA,OAEJ;AAAA,EAEJ;AACF;;;ACfgB,gBAAAE,OAEV,QAAAC,cAFU;AApBT,IAAM,mBAA2D;AAAA,EACtE,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,OAAO,QAAQ;AAAA,IACtC,UAAU,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC5C,SAAS,EAAE,MAAM,QAAQ,OAAO,cAAc;AAAA,IAC9C,aAAa,EAAE,MAAM,QAAQ,OAAO,oBAAoB;AAAA,EAC1D;AAAA,EACA,cAAc,EAAE,OAAO,IAAI,UAAU,IAAI,SAAS,aAAa,aAAa,mBAAmB;AAAA,EAC/F,QAAQ,CAAC,EAAE,OAAO,UAAU,SAAS,YAAY,MAC/C,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,WAAW;AAAA,QACX,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,cAAc;AAAA,QACd,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MAEC;AAAA,iBAAS,gBAAAD,MAAC,QAAG,OAAO,EAAE,UAAU,UAAU,cAAc,UAAU,OAAO,OAAO,GAAI,iBAAM;AAAA,QAC1F,YAAY,gBAAAA,MAAC,OAAE,OAAO,EAAE,UAAU,WAAW,OAAO,QAAQ,cAAc,SAAS,GAAI,oBAAS;AAAA,QACjG,gBAAAC;AAAA,UAAC;AAAA;AAAA,YACC,UAAU,CAAC,MAAM,EAAE,eAAe;AAAA,YAClC,OAAO,EAAE,SAAS,QAAQ,KAAK,UAAU,UAAU,QAAQ,gBAAgB,SAAS;AAAA,YAEpF;AAAA,8BAAAD;AAAA,gBAAC;AAAA;AAAA,kBACC,MAAK;AAAA,kBACL;AAAA,kBACA,cAAW;AAAA,kBACX,OAAO;AAAA,oBACL,SAAS;AAAA,oBACT,QAAQ;AAAA,oBACR,cAAc;AAAA,oBACd,UAAU;AAAA,oBACV,UAAU;AAAA,kBACZ;AAAA;AAAA,cACF;AAAA,cACA,gBAAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,MAAK;AAAA,kBACL,OAAO;AAAA,oBACL,SAAS;AAAA,oBACT,YAAY;AAAA,oBACZ,OAAO;AAAA,oBACP,QAAQ;AAAA,oBACR,cAAc;AAAA,oBACd,YAAY;AAAA,oBACZ,QAAQ;AAAA,kBACV;AAAA,kBAEC,qBAAW;AAAA;AAAA,cACd;AAAA;AAAA;AAAA,QACF;AAAA;AAAA;AAAA,EACF;AAEJ;;;AC/DA,SAAS,iBAAAE,sBAAqB;AA+CxB,SACY,OAAAC,OADZ,QAAAC,cAAA;AAjCN,IAAM,sBAAoD,CAAC;AAAA,EACzD;AAAA,EAAO;AAAA,EAAa;AAAA,EAAS;AAAA,EAAS;AAAA,EAAS;AAAA,EAAe;AAChE,MAAM;AACJ,QAAM,iBAAiB,SAAS,gBAAgB;AAChD,QAAM,EAAE,MAAM,aAAa,QAAQ,IAAIC;AAAA,IACrC,iBAAiB,SAAY,SAAS;AAAA,IACtC,iBAAiB,CAAC,IAAK,SAAS,QAAQ,CAAC;AAAA,EAC3C;AACA,QAAM,MAAM,iBAAiB,QAAQ,eAAe;AACpD,QAAM,IAAI;AAEV,QAAM,OAAO,iBAAiB,GAAG,IAAI;AACrC,QAAM,eAAe,iBAAiB,GAAG,WAAW;AACpD,QAAM,WAAW,GAAG,eAAe,SAAS,CAAC,GAAG;AAChD,QAAM,MAAM,GAAG,eAAe;AAC9B,QAAM,WAAW,cAAc,CAAC;AAEhC,SACE,gBAAAD;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,WAAW;AAAA,QACX,iBAAiB,cAAc;AAAA,QAC/B,SAAS;AAAA,QACT,cAAc;AAAA,QACd,QAAQ;AAAA,QACR,KAAK;AAAA,QACL,eAAe,gBAAgB,gBAAgB;AAAA,QAC/C,UAAU;AAAA,MACZ;AAAA,MAGA;AAAA,wBAAAA,OAAC,SAAI,OAAO,EAAE,MAAM,GAAG,UAAU,QAAQ,GACtC;AAAA,mBAAS,gBAAAD,MAAC,QAAG,OAAO,EAAE,UAAU,QAAQ,YAAY,QAAQ,cAAc,QAAQ,OAAO,OAAO,GAAI,iBAAM;AAAA,UAC1G,eACC,gBAAAA;AAAA,YAAC;AAAA;AAAA,cACC,yBAAyB,EAAE,QAAQ,YAAY;AAAA,cAC/C,OAAO,EAAE,cAAc,QAAQ,OAAO,QAAQ,YAAY,IAAI;AAAA;AAAA,UAChE;AAAA,UAED,WAAW,WACV,gBAAAA;AAAA,YAAC;AAAA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,gBACL,SAAS;AAAA,gBACT,iBAAiB;AAAA,gBACjB,OAAO;AAAA,gBACP,SAAS;AAAA,gBACT,cAAc;AAAA,gBACd,gBAAgB;AAAA,gBAChB,YAAY;AAAA,cACd;AAAA,cAEC;AAAA;AAAA,UACH;AAAA,WAEJ;AAAA,QAGA,gBAAAC,OAAC,SAAI,OAAO,EAAE,MAAM,GAAG,UAAU,SAAS,SAAS,QAAQ,eAAe,UAAU,YAAY,SAAS,GACtG;AAAA,qBAAW,gBAAAD,MAAC,SAAI,OAAO,EAAE,OAAO,QAAQ,SAAS,OAAO,GAAG,mCAAgB;AAAA,UAC3E,QAAQ,gBAAAA,MAAC,QAAG,OAAO,EAAE,UAAU,UAAU,YAAY,KAAK,cAAc,UAAU,WAAW,SAAS,GAAI,gBAAK;AAAA,UAC/G,gBAAgB,gBAAAA,MAAC,OAAE,OAAO,EAAE,UAAU,UAAU,OAAO,QAAQ,WAAW,UAAU,cAAc,QAAQ,WAAW,SAAS,GAAI,wBAAa;AAAA,UAC/I,YACC,gBAAAA;AAAA,YAAC;AAAA;AAAA,cACC,KAAK;AAAA,cACL,KAAK,QAAQ;AAAA,cACb,OAAO,EAAE,UAAU,QAAQ,WAAW,SAAS,WAAW,SAAS,cAAc,OAAO,cAAc,QAAQ,WAAW,6BAA6B;AAAA;AAAA,UACxJ;AAAA,UAED,YACC,gBAAAA;AAAA,YAAC;AAAA;AAAA,cACC,OAAO;AAAA,gBACL,UAAU;AAAA,gBACV,YAAY;AAAA,gBACZ,OAAO;AAAA,gBACP,YAAY;AAAA,gBACZ,SAAS;AAAA,gBACT,cAAc;AAAA,gBACd,cAAc;AAAA,cAChB;AAAA,cAEC,UAAAG,aAAY,SAAS,YAAY,SAAS,cAAc,SAAS,cAAc;AAAA;AAAA,UAClF;AAAA,UAED,OACC,gBAAAF,OAAC,UAAK,OAAO,EAAE,UAAU,WAAW,OAAO,QAAQ,YAAY,yBAAyB,SAAS,mBAAmB,cAAc,MAAM,GAAG;AAAA;AAAA,YACnI;AAAA,aACR;AAAA,UAED,CAAC,WAAW,CAAC,KACZ,gBAAAD,MAAC,SAAI,OAAO,EAAE,OAAO,QAAQ,UAAU,QAAQ,SAAS,QAAQ,WAAW,SAAS,GAAG,iCAAmB;AAAA,WAE9G;AAAA;AAAA;AAAA,EACF;AAEJ;AAEO,IAAM,gBAAqD;AAAA,EAChE,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,OAAO,QAAQ;AAAA,IACtC,aAAa,EAAE,MAAM,YAAY,OAAO,qBAAqB;AAAA,IAC7D,SAAS,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC3C,SAAS,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC3C,SAAS;AAAA,MACP,MAAM;AAAA,MAAU,OAAO;AAAA,MACvB,QAAQ,CAAC,EAAE,OAAO,SAAS,MAAM,gBAAAA,MAAC,mBAAgB,OAAc,UAAoB;AAAA,IACtF;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,MAAS,OAAO;AAAA,MACtB,SAAS;AAAA,QACP,EAAE,OAAO,OAAO,OAAO,mBAAmB;AAAA,QAC1C,EAAE,OAAO,MAAM,OAAO,kBAAkB;AAAA,MAC1C;AAAA,IACF;AAAA,IACA,YAAY,EAAE,MAAM,QAAQ,OAAO,mBAAmB;AAAA,EACxD;AAAA,EACA,cAAc;AAAA,IACZ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,SAAS;AAAA,IACT,SAAS;AAAA,IACT,SAAS,EAAE,MAAM,kBAAkB,MAAM,CAAC,EAAE,EAAE;AAAA,IAC9C,eAAe;AAAA,IACf,YAAY;AAAA,EACd;AAAA,EACA,QAAQ,CAAC,UAAU,gBAAAA,MAAC,uBAAqB,GAAG,OAAO;AACrD;;;ACjII,SAEI,OAAAI,OAFJ,QAAAC,cAAA;AARG,IAAM,oBAA6D;AAAA,EACxE,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,OAAO,QAAQ;AAAA,IACtC,aAAa,EAAE,MAAM,YAAY,OAAO,qBAAqB;AAAA,EAC/D;AAAA,EACA,cAAc,EAAE,OAAO,IAAI,aAAa,GAAG;AAAA,EAC3C,QAAQ,CAAC,EAAE,OAAO,YAAY,MAC5B,gBAAAA,OAAC,SAAI,OAAO,EAAE,cAAc,QAAQ,SAAS,SAAS,GACnD;AAAA,aACC,gBAAAD,MAAC,QAAG,OAAO,EAAE,UAAU,QAAQ,YAAY,QAAQ,OAAO,QAAQ,cAAc,UAAU,GACvF,iBACH;AAAA,IAED,eACC,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,yBAAyB,EAAE,QAAQ,YAAY;AAAA,QAC/C,OAAO,EAAE,UAAU,QAAQ,OAAO,QAAQ,YAAY,KAAK,UAAU,QAAQ;AAAA;AAAA,IAC/E;AAAA,KAEJ;AAEJ;;;AC5BA,SAAS,iBAAAE,sBAAqB;AAuBtB,SACY,OAAAC,OADZ,QAAAC,cAAA;AAbR,IAAM,sBAAoD,CAAC,EAAE,OAAO,UAAU,SAAS,MAAM;AAC3F,QAAM,iBAAiB,UAAU,gBAAgB;AACjD,QAAM,EAAE,MAAM,aAAa,QAAQ,IAAIC;AAAA,IACrC,iBAAiB,SAAY,UAAU;AAAA,IACvC,iBAAiB,CAAC,IAAK,UAAU,QAAQ,CAAC;AAAA,EAC5C;AACA,QAAM,QAAmB,iBACpB,MAAM,QAAQ,SAAS,YAAY,IAAI,SAAS,eAAe,CAAC,IAChE,MAAM,QAAQ,WAAW,IAAI,cAAc,CAAC;AAEjD,SACE,gBAAAD,OAAC,SAAI,OAAO,EAAE,SAAS,SAAS,GAC5B;AAAA,cAAS,aACT,gBAAAA,OAAC,SAAI,OAAO,EAAE,WAAW,UAAU,cAAc,SAAS,GACvD;AAAA,eAAS,gBAAAD,MAAC,QAAG,OAAO,EAAE,UAAU,QAAQ,YAAY,QAAQ,OAAO,QAAQ,cAAc,SAAS,GAAI,iBAAM;AAAA,MAC5G,YAAY,gBAAAA,MAAC,OAAE,OAAO,EAAE,UAAU,UAAU,OAAO,QAAQ,QAAQ,EAAE,GAAI,oBAAS;AAAA,OACrF;AAAA,IAED,WAAW,gBAAAA,MAAC,SAAI,OAAO,EAAE,WAAW,UAAU,OAAO,QAAQ,SAAS,OAAO,GAAG,oCAAiB;AAAA,IACjG,CAAC,WAAW,MAAM,WAAW,KAC5B,gBAAAA,MAAC,SAAI,OAAO,EAAE,WAAW,UAAU,OAAO,QAAQ,SAAS,QAAQ,UAAU,OAAO,GAAG,oCAAsB;AAAA,IAE9G,MAAM,SAAS,KACd,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,SAAS;AAAA,UACT,KAAK;AAAA,UACL,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,eAAe;AAAA,QACjB;AAAA,QAEC,gBAAM,IAAI,CAAC,SAAS,MAAM;AACzB,gBAAM,OAAO,iBAAkB,SAAiB,IAAI;AACpD,gBAAM,OAAO,iBAAkB,SAAiB,WAAW;AAC3D,gBAAM,WAAW,gBAAgB,OAAO;AACxC,gBAAM,WAAW,cAAc,OAAO;AACtC,gBAAM,OAAO,eAAe,OAAO;AACnC,iBACE,gBAAAC;AAAA,YAAC;AAAA;AAAA,cAEC,MAAM;AAAA,cACN,OAAO;AAAA,gBACL,MAAM;AAAA,gBACN,YAAY;AAAA,gBACZ,cAAc;AAAA,gBACd,WAAW;AAAA,gBACX,UAAU;AAAA,gBACV,gBAAgB;AAAA,gBAChB,OAAO;AAAA,gBACP,iBAAiB;AAAA,cACnB;AAAA,cAEA;AAAA,gCAAAD,MAAC,SAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,SAAS,YAAY,WAAW,SAAS,QAAQ,YAAY,UAAU,gBAAgB,UAAU,UAAU,SAAS,GACtJ,qBACG,gBAAAA,MAAC,SAAI,KAAK,UAAU,KAAK,MAAM,OAAO,EAAE,OAAO,QAAQ,QAAQ,QAAQ,WAAW,UAAU,GAAG,IAC/F,gBAAAA,MAAC,UAAK,OAAO,EAAE,OAAO,QAAQ,UAAU,UAAU,GAAG,sBAAQ,GAEnE;AAAA,gBACA,gBAAAC,OAAC,SAAI,OAAO,EAAE,SAAS,SAAS,GAC9B;AAAA,kCAAAD,MAAC,QAAG,OAAO,EAAE,UAAU,UAAU,YAAY,KAAK,OAAO,QAAQ,cAAc,UAAU,YAAY,IAAI,GAAI,gBAAK;AAAA,kBACjH,QACC,gBAAAA,MAAC,OAAE,OAAO,EAAE,UAAU,UAAU,OAAO,QAAQ,cAAc,QAAQ,SAAS,eAAe,iBAAiB,GAAG,iBAAiB,YAAY,UAAU,SAAS,GAC9J,gBACH;AAAA,kBAED,YACC,gBAAAA,MAAC,SAAI,OAAO,EAAE,UAAU,UAAU,YAAY,QAAQ,OAAO,UAAU,GACpE,UAAAG,aAAY,SAAS,YAAY,SAAS,cAAc,SAAS,cAAc,GAClF;AAAA,mBAEJ;AAAA;AAAA;AAAA,YA/BM,SAAiB,MAAM;AAAA,UAgC/B;AAAA,QAEJ,CAAC;AAAA;AAAA,IACH;AAAA,KAEJ;AAEJ;AAEO,IAAM,gBAAqD;AAAA,EAChE,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,OAAO,QAAQ;AAAA,IACtC,UAAU,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC5C,UAAU;AAAA,MACR,MAAM;AAAA,MAAU,OAAO;AAAA,MACvB,QAAQ,CAAC,EAAE,OAAO,SAAS,MAAM,gBAAAH,MAAC,mBAAgB,OAAc,UAAoB;AAAA,IACtF;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACZ,OAAO;AAAA,IACP,UAAU;AAAA,IACV,UAAU,EAAE,MAAM,mBAAmB,MAAM,CAAC,EAAE,EAAE;AAAA,EAClD;AAAA,EACA,QAAQ,CAAC,UAAU,gBAAAA,MAAC,uBAAqB,GAAG,OAAO;AACrD;;;AC3FuC,gBAAAI,OA6BjC,QAAAC,cA7BiC;AALhC,IAAM,oBAA6D;AAAA,EACxE,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,OAAO;AAAA,MACL,MAAM;AAAA,MAAU,OAAO;AAAA,MACvB,QAAQ,CAAC,EAAE,OAAO,SAAS,MAAM,gBAAAD,MAAC,oBAAiB,OAAO,SAAS,IAAI,UAAoB;AAAA,IAC7F;AAAA,IACA,OAAO,EAAE,MAAM,QAAQ,OAAO,QAAQ;AAAA,IACtC,UAAU,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC5C,SAAS,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC3C,SAAS,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC3C,YAAY,EAAE,MAAM,QAAQ,OAAO,mBAAmB;AAAA,EACxD;AAAA,EACA,cAAc,EAAE,OAAO,IAAI,OAAO,IAAI,UAAU,IAAI,SAAS,IAAI,SAAS,IAAI,YAAY,UAAU;AAAA,EACpG,QAAQ,CAAC,EAAE,OAAO,OAAO,UAAU,SAAS,SAAS,WAAW,MAC9D,gBAAAC;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,WAAW;AAAA,QACX,iBAAiB,cAAc;AAAA,QAC/B,SAAS;AAAA,QACT,cAAc;AAAA,QACd,QAAQ;AAAA,QACR,KAAK;AAAA,QACL,UAAU;AAAA,MACZ;AAAA,MAEC;AAAA,iBACC,gBAAAD,MAAC,SAAI,OAAO,EAAE,MAAM,YAAY,UAAU,MAAM,GAC9C,0BAAAA,MAAC,SAAI,KAAK,OAAO,KAAK,SAAS,SAAS,OAAO,EAAE,UAAU,QAAQ,QAAQ,QAAQ,cAAc,MAAM,GAAG,GAC5G;AAAA,QAEF,gBAAAC,OAAC,SAAI,OAAO,EAAE,MAAM,GAAG,UAAU,QAAQ,GACtC;AAAA,mBAAS,gBAAAD,MAAC,QAAG,OAAO,EAAE,UAAU,WAAW,YAAY,QAAQ,cAAc,UAAU,OAAO,OAAO,GAAI,iBAAM;AAAA,UAC/G,YAAY,gBAAAA,MAAC,OAAE,OAAO,EAAE,UAAU,QAAQ,OAAO,QAAQ,cAAc,OAAO,GAAI,oBAAS;AAAA,UAC3F,WAAW,WACV,gBAAAA;AAAA,YAAC;AAAA;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,gBACL,SAAS;AAAA,gBACT,iBAAiB;AAAA,gBACjB,OAAO;AAAA,gBACP,SAAS;AAAA,gBACT,cAAc;AAAA,gBACd,gBAAgB;AAAA,gBAChB,YAAY;AAAA,cACd;AAAA,cAEC;AAAA;AAAA,UACH;AAAA,WAEJ;AAAA;AAAA;AAAA,EACF;AAEJ;;;ACnEA,SAAS,iBAAAE,sBAAqB;AAyBtB,SACY,OAAAC,OADZ,QAAAC,cAAA;AAfR,IAAM,wBAA8D,CAAC,EAAE,OAAO,UAAU,SAAS,MAAM;AACrG,QAAM,iBAAiB,UAAU,gBAAgB;AACjD,QAAM,EAAE,MAAM,aAAa,QAAQ,IAAIC;AAAA,IACrC,iBAAiB,SAAY,UAAU;AAAA,IACvC,iBAAiB,CAAC,IAAK,UAAU,QAAQ,CAAC;AAAA,EAC5C;AACA,QAAM,QAAmB,iBACpB,MAAM,QAAQ,SAAS,YAAY,IAAI,SAAS,eAAe,CAAC,IAChE,MAAM,QAAQ,WAAW,IAAI,cAAc,CAAC;AAEjD,MAAI,CAAC,WAAW,MAAM,WAAW,EAAG,QAAO;AAE3C,SACE,gBAAAD,OAAC,SAAI,OAAO,EAAE,SAAS,SAAS,GAC5B;AAAA,cAAS,aACT,gBAAAA,OAAC,SAAI,OAAO,EAAE,WAAW,UAAU,cAAc,SAAS,GACvD;AAAA,eAAS,gBAAAD,MAAC,QAAG,OAAO,EAAE,UAAU,QAAQ,YAAY,QAAQ,OAAO,QAAQ,cAAc,SAAS,GAAI,iBAAM;AAAA,MAC5G,YAAY,gBAAAA,MAAC,OAAE,OAAO,EAAE,UAAU,UAAU,OAAO,QAAQ,QAAQ,EAAE,GAAI,oBAAS;AAAA,OACrF;AAAA,IAED,WAAW,gBAAAA,MAAC,SAAI,OAAO,EAAE,WAAW,UAAU,OAAO,QAAQ,SAAS,OAAO,GAAG,2BAAQ;AAAA,IACxF,MAAM,SAAS,KACd,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,SAAS;AAAA,UACT,KAAK;AAAA,UACL,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,eAAe;AAAA,QACjB;AAAA,QAEC,gBAAM,IAAI,CAAC,SAAS,MAAM;AACzB,gBAAM,OAAO,iBAAkB,SAAiB,IAAI;AACpD,gBAAM,WAAW,gBAAgB,OAAO;AACxC,gBAAM,WAAW,cAAc,OAAO;AACtC,gBAAM,OAAO,eAAe,OAAO;AACnC,iBACE,gBAAAC;AAAA,YAAC;AAAA;AAAA,cAEC,MAAM;AAAA,cACN,OAAO;AAAA,gBACL,MAAM;AAAA,gBACN,YAAY;AAAA,gBACZ,cAAc;AAAA,gBACd,WAAW;AAAA,gBACX,UAAU;AAAA,gBACV,gBAAgB;AAAA,gBAChB,OAAO;AAAA,gBACP,iBAAiB;AAAA,cACnB;AAAA,cAEA;AAAA,gCAAAD,MAAC,SAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,SAAS,YAAY,WAAW,SAAS,QAAQ,YAAY,UAAU,gBAAgB,UAAU,UAAU,SAAS,GACtJ,qBACG,gBAAAA,MAAC,SAAI,KAAK,UAAU,KAAK,MAAM,OAAO,EAAE,OAAO,QAAQ,QAAQ,QAAQ,WAAW,UAAU,GAAG,IAC/F,gBAAAA,MAAC,UAAK,OAAO,EAAE,OAAO,QAAQ,UAAU,UAAU,GAAG,sBAAQ,GAEnE;AAAA,gBACA,gBAAAC,OAAC,SAAI,OAAO,EAAE,SAAS,SAAS,GAC9B;AAAA,kCAAAD,MAAC,QAAG,OAAO,EAAE,UAAU,UAAU,YAAY,KAAK,OAAO,QAAQ,cAAc,SAAS,GAAI,gBAAK;AAAA,kBAChG,YACC,gBAAAA,MAAC,SAAI,OAAO,EAAE,UAAU,UAAU,YAAY,QAAQ,OAAO,UAAU,GACpE,UAAAG,aAAY,SAAS,YAAY,SAAS,cAAc,SAAS,cAAc,GAClF;AAAA,mBAEJ;AAAA;AAAA;AAAA,YA1BM,SAAiB,MAAM;AAAA,UA2B/B;AAAA,QAEJ,CAAC;AAAA;AAAA,IACH;AAAA,KAEJ;AAEJ;AAEO,IAAM,wBAAqE;AAAA,EAChF,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,OAAO,EAAE,MAAM,QAAQ,OAAO,QAAQ;AAAA,IACtC,UAAU,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC5C,UAAU;AAAA,MACR,MAAM;AAAA,MAAU,OAAO;AAAA,MACvB,QAAQ,CAAC,EAAE,OAAO,SAAS,MAAM,gBAAAH,MAAC,mBAAgB,OAAc,UAAoB;AAAA,IACtF;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACZ,OAAO;AAAA,IACP,UAAU;AAAA,IACV,UAAU,EAAE,MAAM,mBAAmB,MAAM,CAAC,EAAE,EAAE;AAAA,EAClD;AAAA,EACA,QAAQ,CAAC,UAAU,gBAAAA,MAAC,yBAAuB,GAAG,OAAO;AACvD;;;ACnEmC,qBAAAI,WAAA,OAAAC,aAAA;AAzB5B,IAAM,cAAiD;AAAA,EAC5D,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,YAAY,EAAE,MAAM,QAAQ,OAAO,eAAe;AAAA,IAClD,UAAU,EAAE,MAAM,QAAQ,OAAO,aAAa;AAAA,IAC9C,YAAY,EAAE,MAAM,QAAQ,OAAO,eAAe;AAAA,IAClD,UAAU,EAAE,MAAM,QAAQ,OAAO,aAAa;AAAA,IAC9C,YAAY,EAAE,MAAM,QAAQ,OAAO,eAAe;AAAA,IAClD,UAAU,EAAE,MAAM,QAAQ,OAAO,aAAa;AAAA,IAC9C,YAAY,EAAE,MAAM,QAAQ,OAAO,eAAe;AAAA,IAClD,UAAU,EAAE,MAAM,QAAQ,OAAO,aAAa;AAAA,EAChD;AAAA,EACA,cAAc;AAAA,IACZ,YAAY;AAAA,IAAI,UAAU;AAAA,IAC1B,YAAY;AAAA,IAAI,UAAU;AAAA,IAC1B,YAAY;AAAA,IAAI,UAAU;AAAA,IAC1B,YAAY;AAAA,IAAI,UAAU;AAAA,EAC5B;AAAA,EACA,QAAQ,CAAC,UAAU;AACjB,UAAM,QAAQ;AAAA,MACZ,CAAC,MAAM,YAAY,MAAM,QAAQ;AAAA,MACjC,CAAC,MAAM,YAAY,MAAM,QAAQ;AAAA,MACjC,CAAC,MAAM,YAAY,MAAM,QAAQ;AAAA,MACjC,CAAC,MAAM,YAAY,MAAM,QAAQ;AAAA,IACnC,EAAE,OAAO,CAAC,CAAC,OAAO,GAAG,MAAM,SAAS,GAAG;AACvC,QAAI,MAAM,WAAW,EAAG,QAAO,gBAAAA,MAAAD,WAAA,EAAE;AACjC,WACE,gBAAAC,MAAC,SAAI,OAAO,EAAE,SAAS,QAAQ,UAAU,QAAQ,KAAK,QAAQ,SAAS,WAAW,GAC/E,gBAAM,IAAI,CAAC,CAAC,OAAO,GAAG,GAAG,MACxB,gBAAAA;AAAA,MAAC;AAAA;AAAA,QAEC,MAAM;AAAA,QACN,QAAO;AAAA,QACP,KAAI;AAAA,QACJ,OAAO,EAAE,OAAO,WAAW,gBAAgB,QAAQ,YAAY,KAAK,UAAU,UAAU;AAAA,QAEvF;AAAA;AAAA,MANI;AAAA,IAOP,CACD,GACH;AAAA,EAEJ;AACF;;;ACpCyB,qBAAAC,WAAA,OAAAC,OAEnB,QAAAC,cAFmB;AARlB,IAAM,aAA+C;AAAA,EAC1D,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,UAAU,EAAE,MAAM,QAAQ,OAAO,YAAY;AAAA,IAC7C,SAAS,EAAE,MAAM,YAAY,OAAO,iBAAiB;AAAA,EACvD;AAAA,EACA,cAAc,EAAE,UAAU,IAAI,SAAS,GAAG;AAAA,EAC1C,QAAQ,CAAC,EAAE,UAAU,QAAQ,MAAM;AACjC,QAAI,CAAC,QAAS,QAAO,gBAAAD,MAAAD,WAAA,EAAE;AACvB,WACE,gBAAAE,OAAC,SAAI,OAAO,EAAE,SAAS,YAAY,YAAY,KAAK,OAAO,OAAO,GAC/D;AAAA,kBAAY,gBAAAD,MAAC,QAAG,OAAO,EAAE,cAAc,OAAO,GAAI,oBAAS;AAAA,MAC5D,gBAAAA,MAAC,SAAI,yBAAyB,EAAE,QAAQ,QAAQ,GAAG;AAAA,OACrD;AAAA,EAEJ;AACF;;;ACSmC,qBAAAE,YAAA,OAAAC,OAoBV,QAAAC,cApBU;AAxB5B,IAAM,qBAA+D;AAAA,EAC1E,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,QAAQ,EAAE,MAAM,YAAY,OAAO,UAAU;AAAA,IAC7C,SAAS,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC3C,OAAO,EAAE,MAAM,QAAQ,OAAO,SAAS;AAAA,IACvC,QAAQ,EAAE,MAAM,YAAY,OAAO,UAAU;AAAA,IAC7C,SAAS,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC3C,OAAO,EAAE,MAAM,QAAQ,OAAO,SAAS;AAAA,IACvC,QAAQ,EAAE,MAAM,YAAY,OAAO,UAAU;AAAA,IAC7C,SAAS,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC3C,OAAO,EAAE,MAAM,QAAQ,OAAO,SAAS;AAAA,EACzC;AAAA,EACA,cAAc;AAAA,IACZ,QAAQ;AAAA,IAAI,SAAS;AAAA,IAAI,OAAO;AAAA,IAChC,QAAQ;AAAA,IAAI,SAAS;AAAA,IAAI,OAAO;AAAA,IAChC,QAAQ;AAAA,IAAI,SAAS;AAAA,IAAI,OAAO;AAAA,EAClC;AAAA,EACA,QAAQ,CAAC,UAAU;AACjB,UAAM,QAAQ;AAAA,MACZ,CAAC,MAAM,QAAQ,MAAM,SAAS,MAAM,KAAK;AAAA,MACzC,CAAC,MAAM,QAAQ,MAAM,SAAS,MAAM,KAAK;AAAA,MACzC,CAAC,MAAM,QAAQ,MAAM,SAAS,MAAM,KAAK;AAAA,IAC3C,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACnB,QAAI,MAAM,WAAW,EAAG,QAAO,gBAAAD,MAAAD,YAAA,EAAE;AACjC,WACE,gBAAAC,MAAC,SAAI,OAAO,EAAE,SAAS,aAAa,YAAY,WAAW,cAAc,OAAO,QAAQ,SAAS,GAC9F,gBAAM,IAAI,CAAC,CAAC,OAAO,QAAQ,IAAI,GAAG,MACjC,gBAAAC,OAAC,SAAY,OAAO,EAAE,cAAc,IAAI,MAAM,SAAS,IAAI,SAAS,EAAE,GACpE;AAAA,sBAAAD;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL,UAAU;AAAA,YACV,WAAW;AAAA,YACX,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,aAAa;AAAA,YACb,YAAY;AAAA,UACd;AAAA,UAEC;AAAA;AAAA,MACH;AAAA,MACC,UACC,gBAAAC,OAAC,UAAK,OAAO,EAAE,WAAW,UAAU,UAAU,WAAW,YAAY,KAAK,OAAO,OAAO,GAAG;AAAA;AAAA,QACtF;AAAA,QACF,QAAQ,gBAAAA,OAAC,UAAK,OAAO,EAAE,YAAY,UAAU,OAAO,OAAO,GAAG;AAAA;AAAA,UAAG;AAAA,UAAK;AAAA,WAAC;AAAA,SAC1E;AAAA,SAjBM,CAmBV,CACD,GACH;AAAA,EAEJ;AACF;;;ACzCI,SAEI,OAAAC,OAFJ,QAAAC,cAAA;AAVG,IAAM,kBAAyD;AAAA,EACpE,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,UAAU,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC5C,SAAS,EAAE,MAAM,YAAY,OAAO,iBAAiB;AAAA,IACrD,SAAS,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,IAC3C,SAAS,EAAE,MAAM,QAAQ,OAAO,WAAW;AAAA,EAC7C;AAAA,EACA,cAAc,EAAE,UAAU,6BAA6B,SAAS,IAAI,SAAS,IAAI,SAAS,GAAG;AAAA,EAC7F,QAAQ,CAAC,EAAE,UAAU,SAAS,SAAS,QAAQ,MAC7C,gBAAAA,OAAC,SAAI,OAAO,EAAE,WAAW,UAAU,SAAS,aAAa,UAAU,SAAS,QAAQ,SAAS,GAC1F;AAAA,gBACC,gBAAAD,MAAC,QAAG,OAAO,EAAE,UAAU,QAAQ,OAAO,WAAW,cAAc,OAAO,GAAI,oBAAS;AAAA,IAEpF,WACC,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,yBAAyB,EAAE,QAAQ,QAAQ;AAAA,QAC3C,OAAO,EAAE,UAAU,QAAQ,YAAY,KAAK,OAAO,QAAQ,cAAc,OAAO;AAAA;AAAA,IAClF;AAAA,IAED,WAAW,WACV,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,UACL,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,OAAO;AAAA,UACP,SAAS;AAAA,UACT,cAAc;AAAA,UACd,gBAAgB;AAAA,UAChB,YAAY;AAAA,QACd;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,KAEJ;AAEJ;;;ACjCI,SA6BgC,YAAAE,YA7BhC,OAAAC,OA2CM,QAAAC,cA3CN;AAJJ,IAAM,YAAY,CAAC,WAAmB;AAAA,EACpC,MAAM;AAAA,EACN;AAAA,EACA,QAAQ,CAAC,EAAE,OAAO,SAAS,MACzB,gBAAAD,MAAC,oBAAiB,OAAO,SAAS,IAAI,UAAoB;AAE9D;AAEO,IAAM,cAAiD;AAAA,EAC5D,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,YAAY,UAAU,cAAc;AAAA,IACpC,aAAa,EAAE,MAAM,QAAQ,OAAO,gBAAgB;AAAA,IACpD,YAAY,UAAU,cAAc;AAAA,IACpC,aAAa,EAAE,MAAM,QAAQ,OAAO,gBAAgB;AAAA,IACpD,YAAY,UAAU,cAAc;AAAA,IACpC,aAAa,EAAE,MAAM,QAAQ,OAAO,gBAAgB;AAAA,IACpD,YAAY,UAAU,cAAc;AAAA,IACpC,aAAa,EAAE,MAAM,QAAQ,OAAO,gBAAgB;AAAA,EACtD;AAAA,EACA,cAAc;AAAA,IACZ,YAAY;AAAA,IAAI,aAAa;AAAA,IAC7B,YAAY;AAAA,IAAI,aAAa;AAAA,IAC7B,YAAY;AAAA,IAAI,aAAa;AAAA,IAC7B,YAAY;AAAA,IAAI,aAAa;AAAA,EAC/B;AAAA,EACA,QAAQ,CAAC,UAAU;AACjB,UAAM,SAAS;AAAA,MACb,CAAC,MAAM,YAAY,MAAM,WAAW;AAAA,MACpC,CAAC,MAAM,YAAY,MAAM,WAAW;AAAA,MACpC,CAAC,MAAM,YAAY,MAAM,WAAW;AAAA,MACpC,CAAC,MAAM,YAAY,MAAM,WAAW;AAAA,IACtC,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,MAAM,KAAK;AAC7B,QAAI,OAAO,WAAW,EAAG,QAAO,gBAAAA,MAAAD,YAAA,EAAE;AAClC,WACE,gBAAAC;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,SAAS;AAAA,UACT,UAAU;AAAA,UACV,gBAAgB;AAAA,UAChB,KAAK;AAAA,UACL,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,cAAc;AAAA,QAChB;AAAA,QAEC,iBAAO,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,MAC1B,gBAAAC,OAAC,SAAY,OAAO,EAAE,SAAS,QAAQ,YAAY,UAAU,KAAK,UAAU,GACzE;AAAA,kBACC,gBAAAD;AAAA,YAAC;AAAA;AAAA,cACC,KAAK;AAAA,cACL,KAAK;AAAA,cACL,OAAO,EAAE,OAAO,QAAQ,QAAQ,QAAQ,WAAW,UAAU;AAAA;AAAA,UAC/D;AAAA,UAEF,gBAAAA,MAAC,UAAK,OAAO,EAAE,UAAU,WAAW,YAAY,KAAK,OAAO,OAAO,GAAI,iBAAM;AAAA,aARrE,CASV,CACD;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;;;ACvDuC,gBAAAE,OAajC,QAAAC,cAbiC;AANhC,IAAM,aAA+C;AAAA,EAC1D,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,UAAU,EAAE,MAAM,QAAQ,OAAO,YAAY;AAAA,IAC7C,aAAa;AAAA,MACX,MAAM;AAAA,MAAU,OAAO;AAAA,MACvB,QAAQ,CAAC,EAAE,OAAO,SAAS,MAAM,gBAAAD,MAAC,oBAAiB,OAAO,SAAS,IAAI,UAAoB;AAAA,IAC7F;AAAA,IACA,OAAO,EAAE,MAAM,QAAQ,OAAO,QAAQ;AAAA,IACtC,SAAS,EAAE,MAAM,QAAQ,OAAO,UAAU;AAAA,EAC5C;AAAA,EACA,cAAc,EAAE,UAAU,IAAI,aAAa,IAAI,OAAO,IAAI,SAAS,GAAG;AAAA,EACtE,QAAQ,CAAC,EAAE,UAAU,aAAa,OAAO,QAAQ,MAAM;AACrD,QAAI,CAAC,SAAU,QACb,gBAAAA,MAAC,SAAI,OAAO,EAAE,SAAS,QAAQ,WAAW,UAAU,OAAO,QAAQ,YAAY,WAAW,cAAc,MAAM,GAAG,qCAEjH;AAEF,WACE,gBAAAC,OAAC,SAAI,OAAO,EAAE,QAAQ,WAAW,GAC/B;AAAA,sBAAAD;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL,UAAU;AAAA,YACV,eAAe;AAAA,YACf,QAAQ;AAAA,YACR,UAAU;AAAA,YACV,YAAY;AAAA,YACZ,cAAc;AAAA,UAChB;AAAA,UAEA,0BAAAA;AAAA,YAAC;AAAA;AAAA,cACC,KAAK;AAAA,cACL,QAAQ,eAAe;AAAA,cACvB,UAAQ;AAAA,cACR,SAAQ;AAAA,cACR,OAAO;AAAA,gBACL,UAAU;AAAA,gBACV,KAAK;AAAA,gBACL,MAAM;AAAA,gBACN,OAAO;AAAA,gBACP,QAAQ;AAAA,gBACR,WAAW;AAAA,cACb;AAAA;AAAA,UACF;AAAA;AAAA,MACF;AAAA,MACC,SAAS,gBAAAA,MAAC,QAAG,OAAO,EAAE,WAAW,WAAW,UAAU,UAAU,OAAO,OAAO,GAAI,iBAAM;AAAA,MACxF,WAAW,gBAAAA,MAAC,OAAE,OAAO,EAAE,UAAU,UAAU,OAAO,QAAQ,WAAW,UAAU,GAAI,mBAAQ;AAAA,OAC9F;AAAA,EAEJ;AACF;;;AC9CuC,gBAAAE,aAAA;AALhC,IAAM,cAAiD;AAAA,EAC5D,OAAO;AAAA,EACP,QAAQ;AAAA,IACN,MAAM;AAAA,MACJ,MAAM;AAAA,MAAU,OAAO;AAAA,MACvB,QAAQ,CAAC,EAAE,OAAO,SAAS,MAAM,gBAAAA,MAAC,oBAAiB,OAAO,SAAS,IAAI,UAAoB;AAAA,IAC7F;AAAA,IACA,UAAU,EAAE,MAAM,QAAQ,OAAO,iBAAiB;AAAA,IAClD,WAAW,EAAE,MAAM,QAAQ,OAAO,kBAAkB;AAAA,EACtD;AAAA,EACA,cAAc,EAAE,MAAM,IAAI,UAAU,OAAO,WAAW,KAAK;AAAA,EAC3D,QAAQ,CAAC,EAAE,MAAM,UAAU,UAAU,MAAM;AACzC,QAAI,CAAC,KAAM,QACT,gBAAAA,MAAC,SAAI,OAAO,EAAE,OAAO,GAAG,SAAS,UAAU,EAAE,KAAK,GAAG,MAAM,QAAQ,GAAG,SAAS,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,WAAW,cAAc,MAAM,GAAG;AAEzJ,WACE,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,UAAU,GAAG,SAAS,UAAU,EAAE,KAAK,GAAG;AAAA,UAC1C,WAAW,GAAG,SAAS,WAAW,EAAE,KAAK,EAAE;AAAA,QAC7C;AAAA,QAEA,0BAAAA;AAAA,UAAC;AAAA;AAAA,YACC,KAAK;AAAA,YACL,KAAI;AAAA,YACJ,OAAO,EAAE,OAAO,QAAQ,QAAQ,QAAQ,WAAW,UAAU;AAAA;AAAA,QAC/D;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;;;AvETO,IAAM,oBAA4B;AAAA,EACvC,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IAAY;AAAA,IAAW;AAAA,IAAc;AAAA,IACrC;AAAA,IAAqB;AAAA,IAAiB;AAAA,IAAgB;AAAA,IACtD;AAAA,IAAS;AAAA,IAAY;AAAA,IAAc;AAAA,IAAa;AAAA,IAChD;AAAA,IAAkB;AAAA,IAAe;AAAA,IAAmB;AAAA,IACpD;AAAA,IAAmB;AAAA,IAAuB;AAAA,IAAa;AAAA,IACvD;AAAA,IAAoB;AAAA,IAAiB;AAAA,IAAa;AAAA,IAAY;AAAA,EAChE;AAAA,EACA,MAAM;AAAA,IACJ,QAAQ;AAAA,MACN,OAAO,EAAE,MAAM,QAAQ,OAAO,aAAa;AAAA,MAC3C,iBAAiB,EAAE,MAAM,QAAQ,OAAO,yBAAyB;AAAA,IACnE;AAAA,IACA,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,iBAAiB;AAAA,IACnB;AAAA,IACA,QAAQ,CAAC,EAAE,UAAU,gBAAgB,MACnCC,OAAM;AAAA,MACJ;AAAA,MACA;AAAA,QACE,OAAO;AAAA,UACL,YAAY,mBAAmB;AAAA,UAC/B,WAAW;AAAA,UACX,YACE;AAAA,QACJ;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAAA,EACJ;AACF;;;AwEtEA,SAAS,4BAA4B;AACrC,OAAO,WAAW;AAClB,OAAOC,oBAAmB;AAC1B,OAAOC,sBAAqB;AAC5B,OAAOC,iBAAgB;AACvB,OAAOC,eAAc;AA2Bf,SACa,OAAAC,OADb,QAAAC,cAAA;AAfC,IAAM,gBAA8C,CAAC;AAAA,EAC1D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,WAAW,QAAQ,OAAO,KAAK;AACrC,QAAM,eAAe,QAAQ,OAAO,SAAS;AAE7C,SACE,gBAAAA,OAACF,UAAS,QAAT,EAAgB,OAAM,KAAI,YAAW,UAEpC;AAAA,oBAAAE,OAACF,UAAS,QAAT,EAAgB,OAAM,MAAK,YAAW,UACpC;AAAA,gBAAU,gBAAAC,MAAC,SAAM,MAAK,WAAU,OAAM,gBAAU,aAAW,MAAC;AAAA,MAC5D,CAAC,UAAU,WAAW,gBAAAA,MAAC,SAAM,MAAK,aAAY,OAAM,WAAU,aAAW,MAAC;AAAA,MAC1E,CAAC,UAAU,CAAC,WAAW,YAAY,gBAAAA,MAAC,SAAM,MAAK,eAAc,OAAM,SAAQ,aAAW,MAAC;AAAA,MACvF,gBAAgB,gBAAAA,MAAC,SAAM,MAAK,YAAW,OAAM,aAAY,aAAW,MAAC;AAAA,OACxE;AAAA,IAGC,YAAY,gBACX,gBAAAA;AAAA,MAACF;AAAA,MAAA;AAAA,QACC,OAAM;AAAA,QACN,SAAS;AAAA,QACT,YAAY;AAAA;AAAA,IACd;AAAA,IAIF,gBAAAE;AAAA,MAACH;AAAA,MAAA;AAAA,QACC,OAAM;AAAA,QACN,SAAS;AAAA,QACT,YAAY,CAAC,WAAW;AAAA;AAAA,IAC1B;AAAA,IAGC,qBACC,gBAAAG;AAAA,MAACJ;AAAA,MAAA;AAAA,QACC,OAAO,eAAe,eAAe;AAAA,QACrC,SAAS;AAAA,QACT,YAAY;AAAA;AAAA,IACd;AAAA,IAIF,gBAAAI,MAAC,wBAAqB,UAAU,QAAQ;AAAA,KAC1C;AAEJ;;;ACtEA,SAAgB,iBAAAE,gBAAe,cAAAC,aAAY,YAAAC,iBAAgC;AAC3E,OAAOC,gBAAe;AACtB;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAmBH,SAmFI,YAAAC,YAnFJ,OAAAC,OAyDE,QAAAC,cAzDF;AARG,IAAM,yBAAyBN,eAA2C;AAAA,EAC/E,QAAQ;AAAA,EACR,WAAW,MAAM;AAAA,EAAC;AACpB,CAAC;AAEM,IAAM,0BAA6D,CAAC,EAAE,SAAS,MAAM;AAC1F,QAAM,CAAC,QAAQ,SAAS,IAAIE,UAAS,EAAE;AACvC,SACE,gBAAAG,MAAC,uBAAuB,UAAvB,EAAgC,OAAO,EAAE,QAAQ,UAAU,GACzD,UACH;AAEJ;AAMA,IAAM,aAID,CAAC,EAAE,OAAO,UAAU,QAAQ,MAC/B,gBAAAA;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,cAAc,WACV,kDACA;AAAA,MACJ,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,YAAY,WAAW,MAAM;AAAA,MAC7B,OAAO,WACH,wCACA;AAAA,MACJ,YAAY;AAAA,IACd;AAAA,IAEC;AAAA;AACH;AAYK,IAAM,kBAAqD,CAAC,EAAE,SAAS,MAAM;AAClF,QAAM,EAAE,QAAQ,UAAU,IAAIJ,YAAW,sBAAsB;AAC/D,QAAM,EAAE,oBAAoB,gBAAgB,gBAAgB,IAAI,yBAAyB;AAEzF,SACE,gBAAAK,OAAC,SAAI,OAAO,EAAE,SAAS,QAAQ,eAAe,UAAU,QAAQ,OAAO,GAErE;AAAA,oBAAAD,MAAC,WAAO,8FAAmF;AAAA,IAG3F,gBAAAC;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,SAAS;AAAA,UACT,cAAc;AAAA,UACd,YAAY;AAAA,QACd;AAAA,QAEA;AAAA,0BAAAD;AAAA,YAAC;AAAA;AAAA,cACC,OAAM;AAAA,cACN,UAAU,CAAC;AAAA,cACX,SAAS;AAAA;AAAA,UACX;AAAA,UACA,gBAAAA;AAAA,YAAC;AAAA;AAAA,cACC,OAAM;AAAA,cACN,UAAU;AAAA,cACV,SAAS;AAAA;AAAA,UACX;AAAA;AAAA;AAAA,IACF;AAAA,IAEC;AAAA;AAAA,MAEC,gBAAAA,MAAC,SAAI,OAAO,EAAE,MAAM,GAAG,SAAS,QAAQ,WAAW,OAAO,GACxD,0BAAAA,MAAC,gCAA6B,GAChC;AAAA;AAAA;AAAA,MAGA,gBAAAC,OAAAF,YAAA,EAEE;AAAA,wBAAAC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,cACL,YAAY;AAAA,cACZ,SAAS;AAAA,cACT,QAAQ;AAAA,cACR,YAAY;AAAA,cACZ,UAAU;AAAA,cACV,KAAK;AAAA,cACL,QAAQ;AAAA,YACV;AAAA,YAEA,0BAAAA;AAAA,cAACF;AAAA,cAAA;AAAA,gBACC,aAAY;AAAA,gBACZ,OAAO;AAAA,gBACP,UAAU,CAAC,MAAM,UAAU,EAAE,OAAO,KAAK;AAAA;AAAA,YAC3C;AAAA;AAAA,QACF;AAAA,QAGA,gBAAAE,MAAC,SAAI,OAAO,EAAE,MAAM,GAAG,WAAW,OAAO,GAAI,UAAS;AAAA,SACxD;AAAA;AAAA,KAEJ;AAEJ;AAMO,IAAM,sBAAuE,CAAC;AAAA,EACnF;AAAA,EACA;AACF,MAAM;AACJ,QAAM,EAAE,OAAO,IAAIJ,YAAW,sBAAsB;AACpD,QAAM,WAAW,OAAO,KAAK,MAAM,MAAM,CAAC,KAAK,YAAY,EAAE,SAAS,OAAO,YAAY,CAAC;AAE1F,MAAI,UAAU;AACZ,WAAO,gBAAAI,MAAC,UAAK,yBAAqB,MAAC;AAAA,EACrC;AACA,SAAO,gBAAAA,MAAAD,YAAA,EAAG,UAAS;AACrB;;;A1EjIA,OAAOG,eAAc;AA0If,gBAAAC,OAiBA,QAAAC,cAjBA;AA1HN,IAAM,kBAAkD,CAAC;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,oBAAoB;AACtB,MAAM;AACJ,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,YAAY,OAAO;AAEvB,QAAM,gBAAgBC,QAAoB,IAAI;AAC9C,QAAM,CAAC,mBAAmB,oBAAoB,IAAIC,UAAS,KAAK;AAChE,QAAM,CAAC,mBAAmB,oBAAoB,IAAIA,UAAS,KAAK;AAGhE,QAAM,cACJ,OAAO,OAAO,YACd,MAAM,YAAY;AAAA,IAChB,SAAS,CAAC;AAAA,IACV,MAAM,EAAE,OAAO,CAAC,EAAE;AAAA,EACpB;AAGF,QAAM,iBAAiB,uBAAuB;AAAA,IAC5C;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAGD,QAAM,OAAO;AAAA,IACX,eAAe;AAAA,IACf;AAAA,EACF;AAGA,QAAM,kBAAkBD,QAAO,KAAK;AACpC,kBAAgB,UAAU,eAAe;AAMzC,QAAM,eAAeE,aAAY,CAAC,SAAe;AAC/C,QAAI,gBAAgB,QAAS;AAC7B,kBAAc,UAAU;AACxB,yBAAqB,IAAI;AAAA,EAC3B,GAAG,CAAC,CAAC;AAEL,QAAM,aAAaA,aAAY,YAAY;AACzC,UAAM,OAAO,cAAc;AAC3B,QAAI,CAAC,KAAM;AACX,QAAI;AACF,YAAM,UAAU,IAAgB;AAChC,2BAAqB,KAAK;AAC1B,eAAS,IAAgB;AAAA,IAC3B,SAAS,KAAK;AACZ,gBAAU,GAAY;AAAA,IACxB;AAAA,EACF,GAAG,CAAC,WAAW,QAAQ,OAAO,CAAC;AAE/B,QAAM,gBAAgBA;AAAA,IACpB,OAAO,SAAe;AACpB,UAAI;AACF,cAAM,UAAU,IAAgB;AAChC,6BAAqB,KAAK;AAC1B,cAAM,QAAQ,KAAK;AACnB,oBAAY,IAAgB;AAAA,MAC9B,SAAS,KAAK;AACZ,kBAAU,GAAY;AAAA,MACxB;AAAA,IACF;AAAA,IACA,CAAC,WAAW,SAAS,WAAW,OAAO;AAAA,EACzC;AAEA,QAAM,eAAeA,aAAY,YAAY;AAC3C,QAAI;AACF,YAAM,kBAAkB;AACxB,2BAAqB,KAAK;AAAA,IAC5B,SAAS,KAAK;AACZ,gBAAU,GAAY;AAAA,IACxB;AAAA,EACF,GAAG,CAAC,mBAAmB,OAAO,CAAC;AAM/B,QAAM,qBAAqBA,aAAY,YAAY;AACjD,UAAM,cAAc,eAAe;AACnC,QAAI,CAAC,YAAa;AAClB,yBAAqB,IAAI;AACzB,QAAI;AACF,YAAM,UAAU,WAAW;AAC3B,2BAAqB,KAAK;AAC1B,eAAS,WAAW;AACpB,qBAAe,eAAe;AAAA,IAChC,SAAS,KAAK;AACZ,gBAAU,GAAY;AAAA,IACxB,UAAE;AACA,2BAAqB,KAAK;AAAA,IAC5B;AAAA,EACF,GAAG,CAAC,gBAAgB,WAAW,QAAQ,OAAO,CAAC;AAM/C,MAAI,SAAS;AACX,WACE,gBAAAJ;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,gBAAgB;AAAA,UAChB,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,OAAO;AAAA,QACT;AAAA,QACD;AAAA;AAAA,IAED;AAAA,EAEJ;AAEA,MAAI,OAAO;AACT,WACE,gBAAAC;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,SAAS;AAAA,UACT,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,cAAc;AAAA,UACd,QAAQ;AAAA,QACV;AAAA,QAEA;AAAA,0BAAAD,MAAC,YAAO,iCAAmB;AAAA,UAAS;AAAA,UAAE;AAAA;AAAA;AAAA,IACxC;AAAA,EAEJ;AAGA,QAAM,aAAuB,eAAe,eAAe;AAE3D,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,qBAAqB,eAAe;AAAA,MACpC;AAAA,MACA,mBAAmB,eAAe;AAAA,MAClC,mBAAmB,eAAe;AAAA,MAClC,YAAY;AAAA,MACZ,iBAAiB,eAAe;AAAA,MAChC,SAAS,MAAM,KAAK,mBAAmB;AAAA,MACvC,WAAW,eAAe;AAAA,MAC1B,gBAAgB,eAAe;AAAA,MAE/B,0BAAAA,MAAC,2BACC,0BAAAA;AAAA,QAAC;AAAA;AAAA,UAEC;AAAA,UACA,MAAM;AAAA,UACN,UAAU;AAAA,UACV,WAAW;AAAA,UACX,WAAW;AAAA,YACT,eAAe,MACb,eAAe,sBACb,gBAAAC,OAACF,UAAS,QAAT,EAAgB,OAAM,KAAI,YAAW,UACpC;AAAA,8BAAAC;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAW,eAAe,gBAAiB;AAAA,kBAC3C,SAAS,MAAM,KAAK,mBAAmB;AAAA,kBACvC,WAAW,eAAe;AAAA,kBAC1B,YAAY;AAAA;AAAA,cACd;AAAA,cACA,gBAAAA,MAACK,uBAAA,EAAqB,UAAU,mBAAmB;AAAA,eACrD,IAEA,gBAAAL;AAAA,cAAC;AAAA;AAAA,gBACC;AAAA,gBACA,SAAS;AAAA,gBACT;AAAA,gBACA,QAAQ,MAAM,KAAK,WAAW;AAAA,gBAC9B,WAAW,MAAM,KAAK,cAAc,UAAkB;AAAA,gBACtD,UAAU,MAAM,KAAK,aAAa;AAAA,gBAClC;AAAA;AAAA,YACF;AAAA,YAEJ,YAAY,CAAC,EAAE,SAAS,MAAM,gBAAAA,MAAC,mBAAiB,UAAS;AAAA,YACzD,eAAe,CAAC,EAAE,UAAU,KAAK,MAC/B,gBAAAA,MAAC,uBAAoB,MAAa,UAAS;AAAA,YAE7C,QAAQ,CAAC,EAAE,UAAU,UAAU,MAC7B,gBAAAA,MAAC,2BAAwB,WACtB,UACH;AAAA,UAEJ;AAAA;AAAA,QArCK,eAAe,qBAAqB;AAAA,MAsC3C,GACF;AAAA;AAAA,EACF;AAEJ;AAmCO,IAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA,oBAAoB;AAAA,EACpB,qBAAqB;AACvB,MAAM;AACJ,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA,0BAAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;","names":["globalThis","globalThis","globalThis","process","Deno","match","globalThis","globalThis","globalThis","hasOwn","globalThis","hasOwn","Symbol","toPrimitive","globalThis","document","createElement","toPropertyKey","hasOwn","toPropertyKey","globalThis","hasOwn","require_is_array","require_is_array","require_is_array","require_is_array","require_is_array","length","length","length","length","length","hasOwn","length","activeXDocument","length","hasOwn","Symbol","Symbol","hasOwn","globalThis","WeakMap","globalThis","hasOwn","TypeError","WeakMap","self","length","globalThis","hasOwn","toPropertyKey","TypeError","Symbol","hasOwn","hasOwn","hasOwn","slice","replace","slice","match","prev","next","stringify","length","globalThis","hasOwn","hasOwn","next","next","globalThis","require_symbol","require_symbol","Symbol","Symbol","require_symbol","require_symbol","position","next","require_get_iterator_method","require_get_iterator_method","require_get_iterator_method","require_get_iterator_method","require_get_iterator_method","globalThis","require_push","require_push","require_push","require_push","require_push","slice","length","require_slice","require_slice","require_slice","require_slice","require_slice","from","length","next","from","require_from","require_from","require_from","require_from","require_get_own_property_symbols","require_get_own_property_symbols","require_get_own_property_symbols","require_get_own_property_symbols","require_index_of","require_index_of","require_index_of","require_index_of","require_index_of","hasOwn","length","require_freeze","require_freeze","require_freeze","require_freeze","Object","require_define_properties","require_define_properties","require_define_properties","require_define_properties","globalThis","globalThis","Function","globalThis","setInterval","globalThis","require_set_timeout","Fragment","_extends","require_keys","require_keys","require_get_own_property_symbols","require_filter","require_filter","require_filter","Object","require_get_own_property_descriptor","require_get_own_property_descriptor","require_for_each","require_for_each","hasOwn","require_for_each","ownKeys","ownKeys","require_get_own_property_descriptors","require_get_own_property_descriptors","require_define_properties","Object","require_define_property","require_define_property","require_define_property","require_define_property","require_define_property","require_iterator","require_iterator","require_iterator","require_iterator","require_to_primitive","require_to_primitive","require_to_primitive","require_to_primitive","require_to_primitive","length","next","value","require_from_entries","require_from_entries","length","require_entries","require_entries","require_concat","require_concat","require_concat","replace","trim","require_trim","require_trim","require_trim","useCallback","useRef","useState","VersionHistoryButton","React","jsx","jsx","useEffect","useRef","useState","_Array$isArray","_Symbol","_getIteratorMethod","_pushInstanceProperty","r","_sliceInstanceProperty","_Array$from","import_index_of","_indexOfInstanceProperty","_Object$getOwnPropertySymbols","_indexOfInstanceProperty","import_slice","_sliceInstanceProperty","_Object$freeze","_Object$defineProperties","useEffect","React","useContext","forwardRef","StyleSheet","length","length","length","character","characters","length","length","weakMemoize","identifierWithPointTracking","character","toRules","getRules","compat","removeLabel","length","prefixer","createCache","node","stylis","_stylis","_insert","isBrowser","registerStyles","insertStyles","isDevelopment","isCustomProperty","isProcessableValue","processStyleValue","match","keyframes","next","isBrowser","syncFallback","useInsertionEffect","isDevelopment","isBrowser","withEmotionCache","forwardRef","useContext","isBrowser","createEmotionProps","Insertion","isBrowser","next","isDevelopment","React","import_extends","jsx","designTokens","import_get_own_property_symbols","import_filter","import_define_properties","import_define_property","import_symbol","_Symbol","_Symbol$iterator","o","_Symbol$toPrimitive","_Object$defineProperty","_Object$fromEntries","_filterInstanceProperty","_Object$entries","import_extends","import_hoist_non_react_statics","jsx","jsxs","_Object$keys","_Object$getOwnPropertySymbols","_filterInstanceProperty","r","_Object$getOwnPropertyDescriptor","_forEachInstanceProperty","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","jsx","_excluded","useEffect","_setTimeout","jsxs","jsx","designTokens","Text","Fragment","jsx","jsxs","useState","useRef","useEffect","jsx","jsxs","jsx","jsx","jsxs","jsx","Label","TextInput","FlatButton","SecondaryButton","Spacings","jsx","jsxs","jsx","jsxs","jsx","jsxs","Fragment","jsx","jsx","jsxs","jsx","jsxs","Fragment","jsx","jsxs","useEffect","useState","jsx","jsxs","useDatasource","formatPrice","jsx","jsxs","useDatasource","formatPrice","Fragment","jsx","jsx","jsx","jsxs","useState","jsx","jsxs","jsx","jsxs","jsx","jsxs","jsx","jsxs","useDatasource","jsx","jsxs","useDatasource","formatPrice","jsx","jsxs","useDatasource","jsx","jsxs","useDatasource","formatPrice","jsx","jsxs","useDatasource","jsx","jsxs","useDatasource","formatPrice","Fragment","jsx","Fragment","jsx","jsxs","Fragment","jsx","jsxs","jsx","jsxs","Fragment","jsx","jsxs","jsx","jsxs","jsx","React","PrimaryButton","SecondaryButton","FlatButton","Spacings","jsx","jsxs","createContext","useContext","useState","TextInput","Fragment","jsx","jsxs","Spacings","jsx","jsxs","useRef","useState","useCallback","VersionHistoryButton"]}
|