{"version":3,"file":"index.mjs","sources":["../node_modules/tweakpane-image-plugin/dist/index.js","../node_modules/uiconfig-tweakpane/dist/index.mjs","../src/tpImageInputGenerator.ts","../src/TweakpaneUiPlugin.ts"],"sourcesContent":["function forceCast(v) {\n    return v;\n}\n\nconst PREFIX = 'tp';\nfunction ClassName(viewName) {\n    const fn = (opt_elementName, opt_modifier) => {\n        return [\n            PREFIX,\n            '-',\n            viewName,\n            'v',\n            opt_elementName ? `_${opt_elementName}` : '',\n            opt_modifier ? `-${opt_modifier}` : '',\n        ].join('');\n    };\n    return fn;\n}\n\nfunction parseObject(value, keyToParserMap) {\n    const keys = Object.keys(keyToParserMap);\n    const result = keys.reduce((tmp, key) => {\n        if (tmp === undefined) {\n            return undefined;\n        }\n        const parser = keyToParserMap[key];\n        const result = parser(value[key]);\n        return result.succeeded\n            ? Object.assign(Object.assign({}, tmp), { [key]: result.value }) : undefined;\n    }, {});\n    return forceCast(result);\n}\nfunction parseArray(value, parseItem) {\n    return value.reduce((tmp, item) => {\n        if (tmp === undefined) {\n            return undefined;\n        }\n        const result = parseItem(item);\n        if (!result.succeeded || result.value === undefined) {\n            return undefined;\n        }\n        return [...tmp, result.value];\n    }, []);\n}\nfunction isObject(value) {\n    if (value === null) {\n        return false;\n    }\n    return typeof value === 'object';\n}\nfunction createParamsParserBuilder(parse) {\n    return (optional) => (v) => {\n        if (!optional && v === undefined) {\n            return {\n                succeeded: false,\n                value: undefined,\n            };\n        }\n        if (optional && v === undefined) {\n            return {\n                succeeded: true,\n                value: undefined,\n            };\n        }\n        const result = parse(v);\n        return result !== undefined\n            ? {\n                succeeded: true,\n                value: result,\n            }\n            : {\n                succeeded: false,\n                value: undefined,\n            };\n    };\n}\nfunction createParamsParserBuilders(optional) {\n    return {\n        custom: (parse) => createParamsParserBuilder(parse)(optional),\n        boolean: createParamsParserBuilder((v) => typeof v === 'boolean' ? v : undefined)(optional),\n        number: createParamsParserBuilder((v) => typeof v === 'number' ? v : undefined)(optional),\n        string: createParamsParserBuilder((v) => typeof v === 'string' ? v : undefined)(optional),\n        function: createParamsParserBuilder((v) =>\n        typeof v === 'function' ? v : undefined)(optional),\n        constant: (value) => createParamsParserBuilder((v) => (v === value ? value : undefined))(optional),\n        raw: createParamsParserBuilder((v) => v)(optional),\n        object: (keyToParserMap) => createParamsParserBuilder((v) => {\n            if (!isObject(v)) {\n                return undefined;\n            }\n            return parseObject(v, keyToParserMap);\n        })(optional),\n        array: (itemParser) => createParamsParserBuilder((v) => {\n            if (!Array.isArray(v)) {\n                return undefined;\n            }\n            return parseArray(v, itemParser);\n        })(optional),\n    };\n}\nconst ParamsParsers = {\n    optional: createParamsParserBuilders(true),\n    required: createParamsParserBuilders(false),\n};\nfunction parseParams(value, keyToParserMap) {\n    const result = ParamsParsers.required.object(keyToParserMap)(value);\n    return result.succeeded ? result.value : undefined;\n}\n\nfunction createNumberFormatter(digits) {\n    return (value) => {\n        return value.toFixed(Math.max(Math.min(digits, 20), 0));\n    };\n}\n\nconst innerFormatter = createNumberFormatter(0);\nfunction formatPercentage(value) {\n    return innerFormatter(value) + '%';\n}\n\nfunction constrainRange(value, min, max) {\n    return Math.min(Math.max(value, min), max);\n}\n\nfunction removeAlphaComponent(comps) {\n    return [comps[0], comps[1], comps[2]];\n}\n\nfunction zerofill(comp) {\n    const hex = constrainRange(Math.floor(comp), 0, 255).toString(16);\n    return hex.length === 1 ? `0${hex}` : hex;\n}\nfunction colorToHexRgbString(value, prefix = '#') {\n    const hexes = removeAlphaComponent(value.getComponents('rgb'))\n        .map(zerofill)\n        .join('');\n    return `${prefix}${hexes}`;\n}\nfunction colorToHexRgbaString(value, prefix = '#') {\n    const rgbaComps = value.getComponents('rgb');\n    const hexes = [rgbaComps[0], rgbaComps[1], rgbaComps[2], rgbaComps[3] * 255]\n        .map(zerofill)\n        .join('');\n    return `${prefix}${hexes}`;\n}\nfunction colorToFunctionalRgbString(value, opt_type) {\n    const formatter = createNumberFormatter(opt_type === 'float' ? 2 : 0);\n    const comps = removeAlphaComponent(value.getComponents('rgb', opt_type)).map((comp) => formatter(comp));\n    return `rgb(${comps.join(', ')})`;\n}\nfunction createFunctionalRgbColorFormatter(type) {\n    return (value) => {\n        return colorToFunctionalRgbString(value, type);\n    };\n}\nfunction colorToFunctionalRgbaString(value, opt_type) {\n    const aFormatter = createNumberFormatter(2);\n    const rgbFormatter = createNumberFormatter(opt_type === 'float' ? 2 : 0);\n    const comps = value.getComponents('rgb', opt_type).map((comp, index) => {\n        const formatter = index === 3 ? aFormatter : rgbFormatter;\n        return formatter(comp);\n    });\n    return `rgba(${comps.join(', ')})`;\n}\nfunction createFunctionalRgbaColorFormatter(type) {\n    return (value) => {\n        return colorToFunctionalRgbaString(value, type);\n    };\n}\nfunction colorToFunctionalHslString(value) {\n    const formatters = [\n        createNumberFormatter(0),\n        formatPercentage,\n        formatPercentage,\n    ];\n    const comps = removeAlphaComponent(value.getComponents('hsl')).map((comp, index) => formatters[index](comp));\n    return `hsl(${comps.join(', ')})`;\n}\nfunction colorToFunctionalHslaString(value) {\n    const formatters = [\n        createNumberFormatter(0),\n        formatPercentage,\n        formatPercentage,\n        createNumberFormatter(2),\n    ];\n    const comps = value\n        .getComponents('hsl')\n        .map((comp, index) => formatters[index](comp));\n    return `hsla(${comps.join(', ')})`;\n}\nfunction colorToObjectRgbString(value, type) {\n    const formatter = createNumberFormatter(type === 'float' ? 2 : 0);\n    const names = ['r', 'g', 'b'];\n    const comps = removeAlphaComponent(value.getComponents('rgb', type)).map((comp, index) => `${names[index]}: ${formatter(comp)}`);\n    return `{${comps.join(', ')}}`;\n}\nfunction createObjectRgbColorFormatter(type) {\n    return (value) => colorToObjectRgbString(value, type);\n}\nfunction colorToObjectRgbaString(value, type) {\n    const aFormatter = createNumberFormatter(2);\n    const rgbFormatter = createNumberFormatter(type === 'float' ? 2 : 0);\n    const names = ['r', 'g', 'b', 'a'];\n    const comps = value.getComponents('rgb', type).map((comp, index) => {\n        const formatter = index === 3 ? aFormatter : rgbFormatter;\n        return `${names[index]}: ${formatter(comp)}`;\n    });\n    return `{${comps.join(', ')}}`;\n}\nfunction createObjectRgbaColorFormatter(type) {\n    return (value) => colorToObjectRgbaString(value, type);\n}\n[\n    {\n        format: {\n            alpha: false,\n            mode: 'rgb',\n            notation: 'hex',\n            type: 'int',\n        },\n        stringifier: colorToHexRgbString,\n    },\n    {\n        format: {\n            alpha: true,\n            mode: 'rgb',\n            notation: 'hex',\n            type: 'int',\n        },\n        stringifier: colorToHexRgbaString,\n    },\n    {\n        format: {\n            alpha: false,\n            mode: 'hsl',\n            notation: 'func',\n            type: 'int',\n        },\n        stringifier: colorToFunctionalHslString,\n    },\n    {\n        format: {\n            alpha: true,\n            mode: 'hsl',\n            notation: 'func',\n            type: 'int',\n        },\n        stringifier: colorToFunctionalHslaString,\n    },\n    ...['int', 'float'].reduce((prev, type) => {\n        return [\n            ...prev,\n            {\n                format: {\n                    alpha: false,\n                    mode: 'rgb',\n                    notation: 'func',\n                    type: type,\n                },\n                stringifier: createFunctionalRgbColorFormatter(type),\n            },\n            {\n                format: {\n                    alpha: true,\n                    mode: 'rgb',\n                    notation: 'func',\n                    type: type,\n                },\n                stringifier: createFunctionalRgbaColorFormatter(type),\n            },\n            {\n                format: {\n                    alpha: false,\n                    mode: 'rgb',\n                    notation: 'object',\n                    type: type,\n                },\n                stringifier: createObjectRgbColorFormatter(type),\n            },\n            {\n                format: {\n                    alpha: true,\n                    mode: 'rgb',\n                    notation: 'object',\n                    type: type,\n                },\n                stringifier: createObjectRgbaColorFormatter(type),\n            },\n        ];\n    }, []),\n];\n\nfunction createPlaceholderImage() {\n    const canvas = document.createElement('canvas');\n    canvas.width = 320;\n    canvas.height = 50;\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n    const ctx = canvas.getContext('2d');\n    ctx.fillStyle = '#00000004';\n    ctx.fillRect(0, 0, canvas.width, canvas.height);\n    ctx.fillStyle = '#eee';\n    ctx.font =\n        '1.25rem \"Roboto Mono\", \"Source Code Pro\", Menlo, Courier, monospace';\n    ctx.textAlign = 'center';\n    ctx.textBaseline = 'middle';\n    ctx.fillText('No image', canvas.width * 0.5, canvas.height * 0.5);\n    const image = new Image();\n    // if (!blob) {\n    // \tresolve(image);\n    // \treturn;\n    // }\n    image.src = canvas.toDataURL('image/png', 0.8);\n    image.isPlaceholder = true;\n    // image.onload = () => {\n    // \tresolve(image);\n    // };\n    return image;\n}\nfunction loadImage(src) {\n    const image = new Image();\n    image.crossOrigin = 'anonymous';\n    image.src = src;\n    // image.onload = () => {\n    // };\n    // image.onerror = reject;\n    return image;\n}\n\nconst className = ClassName('img');\nclass PluginView {\n    constructor(doc, config) {\n        this.element = doc.createElement('div');\n        this.element.classList.add(className());\n        config.viewProps.bindClassModifiers(this.element);\n        this.input = doc.createElement('input');\n        this.input.classList.add(className('input'));\n        this.input.setAttribute('type', 'file');\n        this.input.setAttribute('accept', config.extensions.join(','));\n        this.image_ = doc.createElement('img');\n        this.image_.id = 'tpimg_' + Math.random().toString(36).slice(2); // need unique for drop\n        this.image_.classList.add(className('image'));\n        this.image_.classList.add(className(`image_${config.imageFit}`));\n        this.image_.crossOrigin = 'anonymous';\n        this.image_.onclick = (event) => {\n            config.clickCallback\n                ? config.clickCallback(event, this.input)\n                : this.input.click();\n        };\n        this.element.classList.add(className('area_root'));\n        this.element.appendChild(this.image_);\n        this.element.appendChild(this.input);\n    }\n    changeImage(src) {\n        this.image_.src = src;\n    }\n    changeDraggingState(state) {\n        const el = this.element;\n        if (state) {\n            el === null || el === void 0 ? void 0 : el.classList.add(className('area_dragging'));\n        }\n        else {\n            el === null || el === void 0 ? void 0 : el.classList.remove(className('area_dragging'));\n        }\n    }\n}\n\nlet placeholderImage = null;\nclass PluginController {\n    constructor(doc, config) {\n        this.value = config.value;\n        this.viewProps = config.viewProps;\n        this.view = new PluginView(doc, {\n            viewProps: this.viewProps,\n            extensions: config.extensions,\n            imageFit: config.imageFit,\n            clickCallback: config.clickCallback,\n        });\n        this.onFile = this.onFile.bind(this);\n        this.onDrop = this.onDrop.bind(this);\n        this.onDragStart = this.onDragStart.bind(this);\n        this.onDragOver = this.onDragOver.bind(this);\n        this.onDragLeave = this.onDragLeave.bind(this);\n        this.view.input.addEventListener('change', this.onFile);\n        this.view.element.addEventListener('drop', this.onDrop);\n        this.view.element.addEventListener('dragstart', this.onDragStart);\n        this.view.element.addEventListener('dragover', this.onDragOver);\n        this.view.element.addEventListener('dragleave', this.onDragLeave);\n        this.viewProps.handleDispose(() => {\n            this.view.input.removeEventListener('change', this.onFile);\n            this.view.element.removeEventListener('drop', this.onDrop);\n            this.view.element.removeEventListener('dragstart', this.onDragStart);\n            this.view.element.removeEventListener('dragover', this.onDragOver);\n            this.view.element.removeEventListener('dragleave', this.onDragLeave);\n        });\n        this.value.emitter.on('change', () => this.handleValueChange());\n        this.handleValueChange();\n    }\n    onFile(event) {\n        const files = (event === null || event === void 0 ? void 0 : event.target).files;\n        if (!files || !files.length)\n            return;\n        const file = files[0];\n        this.setValue(file);\n        // this.updateImage(url);\n    }\n    onDrop(event) {\n        event.preventDefault();\n        try {\n            const { dataTransfer } = event;\n            const file = dataTransfer === null || dataTransfer === void 0 ? void 0 : dataTransfer.files[0];\n            if (file) {\n                // const url = URL.createObjectURL(file);\n                // this.updateImage(url);\n                this.setValue(file);\n            }\n            else {\n                const imgId = dataTransfer === null || dataTransfer === void 0 ? void 0 : dataTransfer.getData('img-id');\n                if (imgId) {\n                    const img = document.getElementById(imgId);\n                    this.setValue(img);\n                }\n                else {\n                    const url = dataTransfer === null || dataTransfer === void 0 ? void 0 : dataTransfer.getData('url');\n                    if (!url)\n                        throw new Error('No url');\n                    this.setValue(url);\n                }\n                // loadImage(url).then(async (image) => {\n                // \tconsole.log('drop', image);\n                // \tconst clone = await cloneImage(image);\n                // \t// this.updateImage(clone.src);\n                // \tthis.setValue(clone);\n                // });\n            }\n        }\n        catch (e) {\n            console.error('Could not parse the dropped image', e);\n        }\n        finally {\n            this.view.changeDraggingState(false);\n        }\n    }\n    onDragStart(event) {\n        var _a, _b;\n        (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.setData('img-id', this.view.image_.id);\n        (_b = event.dataTransfer) === null || _b === void 0 ? void 0 : _b.setDragImage(this.view.image_, 0, 0);\n    }\n    onDragOver(event) {\n        event.preventDefault();\n        this.view.changeDraggingState(true);\n    }\n    onDragLeave() {\n        this.view.changeDraggingState(false);\n    }\n    handleImage(image) {\n        if (image instanceof HTMLImageElement) {\n            this.updateImage(image.src);\n        }\n        else if (typeof image === 'string' || !image) {\n            if (image === 'placeholder' || !image) {\n                image = this.handlePlaceholderImage().src;\n            }\n            this.updateImage(image);\n        }\n        else {\n            this.setValue(image);\n        }\n    }\n    updateImage(src) {\n        this.view.changeImage(src);\n    }\n    setValue(src) {\n        if (src instanceof HTMLImageElement) {\n            this.value.setRawValue(src);\n        }\n        else if (src instanceof File) {\n            const url = URL.createObjectURL(src) + '#' + src.name;\n            src.src = url;\n            const img = loadImage(url);\n            // \t.catch(() => {\n            // \t// URL.revokeObjectURL(url);\n            // });\n            // URL.revokeObjectURL(url); //todo: revoke sometime.\n            this.value.setRawValue(img || src);\n        }\n        else if (src) {\n            this.value.setRawValue(loadImage(src));\n        }\n        else {\n            this.value.setRawValue(this.handlePlaceholderImage());\n        }\n    }\n    handleValueChange() {\n        this.handleImage(this.value.rawValue);\n    }\n    handlePlaceholderImage() {\n        if (!placeholderImage) {\n            placeholderImage = createPlaceholderImage();\n        }\n        return placeholderImage;\n    }\n}\n\nconst DEFAULT_EXTENSIONS = ['.jpg', '.png', '.gif'];\nconst TweakpaneImagePlugin = {\n    id: 'input-image',\n    type: 'input',\n    css: '.tp-imgv{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0);border-width:0;font-family:inherit;font-size:inherit;font-weight:inherit;margin:0;outline:none;padding:0}.tp-imgv{background-color:var(--in-bg);border-radius:var(--elm-br);box-sizing:border-box;color:var(--in-fg);font-family:inherit;height:var(--bld-us);line-height:var(--bld-us);min-width:0;width:100%}.tp-imgv:hover{background-color:var(--in-bg-h)}.tp-imgv:focus{background-color:var(--in-bg-f)}.tp-imgv:active{background-color:var(--in-bg-a)}.tp-imgv:disabled{opacity:.5}:root{--tp-plugin-image-dragging-color: hsla(230, 100%, 66%, 1.00)}.tp-imgv{cursor:pointer;display:inline-flex;height:auto !important;max-height:calc(var(--bld-us)*3);border-radius:4px;position:relative}.tp-imgv.tp-v-disabled{opacity:.5}.tp-imgv_input{width:0;height:0;pointer-events:none;visibility:hidden}.tp-imgv_image{width:100%;height:-moz-max-content;height:max-content;max-height:calc(var(--bld-us)*3);border:0}.tp-imgv_image_contain{-o-object-fit:contain;object-fit:contain}.tp-imgv_image_cover{-o-object-fit:cover;object-fit:cover}.tp-imgv_area_root{transition:opacity .16s ease-in-out}.tp-imgv_area_dragging{border:2px dashed var(--tp-plugin-image-dragging-color);border-radius:4px;opacity:.6}',\n    accept(exValue, params) {\n        if (!(exValue instanceof HTMLImageElement || typeof exValue === 'string')) {\n            return null;\n        }\n        const p = ParamsParsers;\n        const result = parseParams(params, {\n            view: p.required.constant('input-image'),\n            acceptUrl: p.optional.boolean,\n            clickCallback: p.optional.function,\n            imageFit: p.optional.custom((v) => v === 'contain' || v === 'cover' ? v : undefined),\n            extensions: p.optional.array(p.required.string),\n        });\n        if (!result) {\n            return null;\n        }\n        return {\n            initialValue: exValue,\n            params: result,\n        };\n    },\n    binding: {\n        reader(_args) {\n            return (exValue) => {\n                if (exValue.src !== undefined) {\n                    return exValue.src === '' ? 'placeholder' : exValue.src;\n                }\n                else {\n                    return typeof exValue === 'string' ? exValue : exValue;\n                }\n            };\n        },\n        writer(_args) {\n            return (target, inValue) => {\n                target.write(inValue);\n            };\n        },\n    },\n    controller(args) {\n        var _a, _b;\n        return new PluginController(args.document, {\n            value: args.value,\n            imageFit: (_a = args.params.imageFit) !== null && _a !== void 0 ? _a : 'cover',\n            clickCallback: args.params.clickCallback,\n            viewProps: args.viewProps,\n            extensions: (_b = args.params.extensions) !== null && _b !== void 0 ? _b : DEFAULT_EXTENSIONS,\n        });\n    },\n};\n\nconst plugin = TweakpaneImagePlugin;\n\nexport { plugin };\n//# sourceMappingURL=index.js.map\n","/**\n * @license\n * uiconfig-tweakpane v0.0.10\n * Copyright 2022-2024 repalash <palash@shaders.app>\n * MIT License\n * See ./dependencies.txt for bundled third-party dependencies and licenses.\n */\n/**\n * @license\n * ts-browser-helpers v0.16.0\n * Copyright 2022-2024 repalash <palash@shaders.app>\n * MIT License\n * See ./dependencies.txt for bundled third-party dependencies and licenses.\n */\nfunction ua({ innerHTML: u = \"\", id: s, classList: o, addToBody: p = !0, elementTag: l = \"div\" }) {\n  const c = document.createElement(l);\n  return s && (c.id = s), c.innerHTML = u, o && c.classList.add(...o), p && document.body.appendChild(c), c;\n}\nfunction ca(u, s = document.head) {\n  const o = document.createElement(\"style\");\n  return o.type = \"text/css\", o.innerText = u, s == null || s.appendChild(o), o;\n}\nconst ha = (u, ...s) => String.raw({ raw: u }, ...s);\nfunction va(u, s) {\n  let o;\n  do\n    o = Object.getOwnPropertyDescriptor(u, s);\n  while (!o && (u = Object.getPrototypeOf(u)));\n  return o;\n}\nfunction ma(u, s, o = !0, p = !1) {\n  const l = va(u, s);\n  return !!(l != null && l.set) || o && (l == null ? void 0 : l.writable) !== !1 && (l == null ? void 0 : l.get) === void 0 || p && !l;\n}\nfunction ba(u, s, o, p = !0, l = !1) {\n  return u && ma(u, s, p, l) ? (u[s] = o, !0) : !1;\n}\nfunction $(u, ...s) {\n  return typeof u == \"function\" && (u = u(...s)), u;\n}\nfunction fa(u, s) {\n  return Object.hasOwn ? Object.hasOwn(u, s) : u.hasOwnProperty(s);\n}\nvar _a = typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : typeof global < \"u\" ? global : typeof self < \"u\" ? self : {}, Xe = { exports: {} };\n/*! Tweakpane 3.1.10 (c) 2016 cocopon, licensed under the MIT license. */\n(function(u, s) {\n  (function(o, p) {\n    p(s);\n  })(_a, function(o) {\n    class p {\n      /**\n       * @hidden\n       */\n      constructor(t) {\n        const [e, i] = t.split(\"-\"), r = e.split(\".\");\n        this.major = parseInt(r[0], 10), this.minor = parseInt(r[1], 10), this.patch = parseInt(r[2], 10), this.prerelease = i ?? null;\n      }\n      toString() {\n        const t = [this.major, this.minor, this.patch].join(\".\");\n        return this.prerelease !== null ? [t, this.prerelease].join(\"-\") : t;\n      }\n    }\n    class l {\n      constructor(t) {\n        this.controller_ = t;\n      }\n      get element() {\n        return this.controller_.view.element;\n      }\n      get disabled() {\n        return this.controller_.viewProps.get(\"disabled\");\n      }\n      set disabled(t) {\n        this.controller_.viewProps.set(\"disabled\", t);\n      }\n      get hidden() {\n        return this.controller_.viewProps.get(\"hidden\");\n      }\n      set hidden(t) {\n        this.controller_.viewProps.set(\"hidden\", t);\n      }\n      dispose() {\n        this.controller_.viewProps.set(\"disposed\", !0);\n      }\n    }\n    class c {\n      constructor(t) {\n        this.target = t;\n      }\n    }\n    class v extends c {\n      constructor(t, e, i, r) {\n        super(t), this.value = e, this.presetKey = i, this.last = r ?? !0;\n      }\n    }\n    class w extends c {\n      constructor(t, e, i) {\n        super(t), this.value = e, this.presetKey = i;\n      }\n    }\n    class b extends c {\n      constructor(t, e) {\n        super(t), this.expanded = e;\n      }\n    }\n    class S extends c {\n      constructor(t, e) {\n        super(t), this.index = e;\n      }\n    }\n    function O(n) {\n      return n;\n    }\n    function g(n) {\n      return n == null;\n    }\n    function P(n, t) {\n      if (n.length !== t.length)\n        return !1;\n      for (let e = 0; e < n.length; e++)\n        if (n[e] !== t[e])\n          return !1;\n      return !0;\n    }\n    function y(n, t) {\n      let e = n;\n      do {\n        const i = Object.getOwnPropertyDescriptor(e, t);\n        if (i && (i.set !== void 0 || i.writable === !0))\n          return !0;\n        e = Object.getPrototypeOf(e);\n      } while (e !== null);\n      return !1;\n    }\n    const A = {\n      alreadydisposed: () => \"View has been already disposed\",\n      invalidparams: (n) => `Invalid parameters for '${n.name}'`,\n      nomatchingcontroller: (n) => `No matching controller for '${n.key}'`,\n      nomatchingview: (n) => `No matching view for '${JSON.stringify(n.params)}'`,\n      notbindable: () => \"Value is not bindable\",\n      propertynotfound: (n) => `Property '${n.name}' not found`,\n      shouldneverhappen: () => \"This error should never happen\"\n    };\n    class _ {\n      static alreadyDisposed() {\n        return new _({ type: \"alreadydisposed\" });\n      }\n      static notBindable() {\n        return new _({\n          type: \"notbindable\"\n        });\n      }\n      static propertyNotFound(t) {\n        return new _({\n          type: \"propertynotfound\",\n          context: {\n            name: t\n          }\n        });\n      }\n      static shouldNeverHappen() {\n        return new _({ type: \"shouldneverhappen\" });\n      }\n      constructor(t) {\n        var e;\n        this.message = (e = A[t.type](t.context)) !== null && e !== void 0 ? e : \"Unexpected error\", this.name = this.constructor.name, this.stack = new Error(this.message).stack, this.type = t.type;\n      }\n    }\n    class L {\n      constructor(t, e, i) {\n        this.obj_ = t, this.key_ = e, this.presetKey_ = i ?? e;\n      }\n      static isBindable(t) {\n        return !(t === null || typeof t != \"object\" && typeof t != \"function\");\n      }\n      get key() {\n        return this.key_;\n      }\n      get presetKey() {\n        return this.presetKey_;\n      }\n      read() {\n        return this.obj_[this.key_];\n      }\n      write(t) {\n        this.obj_[this.key_] = t;\n      }\n      writeProperty(t, e) {\n        const i = this.read();\n        if (!L.isBindable(i))\n          throw _.notBindable();\n        if (!(t in i))\n          throw _.propertyNotFound(t);\n        i[t] = e;\n      }\n    }\n    class et extends l {\n      get label() {\n        return this.controller_.props.get(\"label\");\n      }\n      set label(t) {\n        this.controller_.props.set(\"label\", t);\n      }\n      get title() {\n        var t;\n        return (t = this.controller_.valueController.props.get(\"title\")) !== null && t !== void 0 ? t : \"\";\n      }\n      set title(t) {\n        this.controller_.valueController.props.set(\"title\", t);\n      }\n      on(t, e) {\n        const i = e.bind(this);\n        return this.controller_.valueController.emitter.on(t, () => {\n          i(new c(this));\n        }), this;\n      }\n    }\n    class M {\n      constructor() {\n        this.observers_ = {};\n      }\n      on(t, e) {\n        let i = this.observers_[t];\n        return i || (i = this.observers_[t] = []), i.push({\n          handler: e\n        }), this;\n      }\n      off(t, e) {\n        const i = this.observers_[t];\n        return i && (this.observers_[t] = i.filter((r) => r.handler !== e)), this;\n      }\n      emit(t, e) {\n        const i = this.observers_[t];\n        i && i.forEach((r) => {\n          r.handler(e);\n        });\n      }\n    }\n    const Qt = \"tp\";\n    function E(n) {\n      return (e, i) => [\n        Qt,\n        \"-\",\n        n,\n        \"v\",\n        e ? `_${e}` : \"\",\n        i ? `-${i}` : \"\"\n      ].join(\"\");\n    }\n    function ki(n, t) {\n      return (e) => t(n(e));\n    }\n    function Vi(n) {\n      return n.rawValue;\n    }\n    function Y(n, t) {\n      n.emitter.on(\"change\", ki(Vi, t)), t(n.rawValue);\n    }\n    function H(n, t, e) {\n      Y(n.value(t), e);\n    }\n    function Si(n, t, e) {\n      e ? n.classList.add(t) : n.classList.remove(t);\n    }\n    function ft(n, t) {\n      return (e) => {\n        Si(n, t, e);\n      };\n    }\n    function ce(n, t) {\n      Y(n, (e) => {\n        t.textContent = e ?? \"\";\n      });\n    }\n    const he = E(\"btn\");\n    class Li {\n      constructor(t, e) {\n        this.element = t.createElement(\"div\"), this.element.classList.add(he()), e.viewProps.bindClassModifiers(this.element);\n        const i = t.createElement(\"button\");\n        i.classList.add(he(\"b\")), e.viewProps.bindDisabled(i), this.element.appendChild(i), this.buttonElement = i;\n        const r = t.createElement(\"div\");\n        r.classList.add(he(\"t\")), ce(e.props.value(\"title\"), r), this.buttonElement.appendChild(r);\n      }\n    }\n    class Ze {\n      constructor(t, e) {\n        this.emitter = new M(), this.onClick_ = this.onClick_.bind(this), this.props = e.props, this.viewProps = e.viewProps, this.view = new Li(t, {\n          props: this.props,\n          viewProps: this.viewProps\n        }), this.view.buttonElement.addEventListener(\"click\", this.onClick_);\n      }\n      onClick_() {\n        this.emitter.emit(\"click\", {\n          sender: this\n        });\n      }\n    }\n    class Ai {\n      constructor(t, e) {\n        var i;\n        this.constraint_ = e == null ? void 0 : e.constraint, this.equals_ = (i = e == null ? void 0 : e.equals) !== null && i !== void 0 ? i : (r, a) => r === a, this.emitter = new M(), this.rawValue_ = t;\n      }\n      get constraint() {\n        return this.constraint_;\n      }\n      get rawValue() {\n        return this.rawValue_;\n      }\n      set rawValue(t) {\n        this.setRawValue(t, {\n          forceEmit: !1,\n          last: !0\n        });\n      }\n      setRawValue(t, e) {\n        const i = e ?? {\n          forceEmit: !1,\n          last: !0\n        }, r = this.constraint_ ? this.constraint_.constrain(t) : t, a = this.rawValue_;\n        this.equals_(a, r) && !i.forceEmit || (this.emitter.emit(\"beforechange\", {\n          sender: this\n        }), this.rawValue_ = r, this.emitter.emit(\"change\", {\n          options: i,\n          previousRawValue: a,\n          rawValue: r,\n          sender: this\n        }));\n      }\n    }\n    class Mi {\n      constructor(t) {\n        this.emitter = new M(), this.value_ = t;\n      }\n      get rawValue() {\n        return this.value_;\n      }\n      set rawValue(t) {\n        this.setRawValue(t, {\n          forceEmit: !1,\n          last: !0\n        });\n      }\n      setRawValue(t, e) {\n        const i = e ?? {\n          forceEmit: !1,\n          last: !0\n        }, r = this.value_;\n        r === t && !i.forceEmit || (this.emitter.emit(\"beforechange\", {\n          sender: this\n        }), this.value_ = t, this.emitter.emit(\"change\", {\n          options: i,\n          previousRawValue: r,\n          rawValue: this.value_,\n          sender: this\n        }));\n      }\n    }\n    function N(n, t) {\n      const e = t == null ? void 0 : t.constraint, i = t == null ? void 0 : t.equals;\n      return !e && !i ? new Mi(n) : new Ai(n, t);\n    }\n    class C {\n      constructor(t) {\n        this.emitter = new M(), this.valMap_ = t;\n        for (const e in this.valMap_)\n          this.valMap_[e].emitter.on(\"change\", () => {\n            this.emitter.emit(\"change\", {\n              key: e,\n              sender: this\n            });\n          });\n      }\n      static createCore(t) {\n        return Object.keys(t).reduce((i, r) => Object.assign(i, {\n          [r]: N(t[r])\n        }), {});\n      }\n      static fromObject(t) {\n        const e = this.createCore(t);\n        return new C(e);\n      }\n      get(t) {\n        return this.valMap_[t].rawValue;\n      }\n      set(t, e) {\n        this.valMap_[t].rawValue = e;\n      }\n      value(t) {\n        return this.valMap_[t];\n      }\n    }\n    function Ri(n, t) {\n      const i = Object.keys(t).reduce((r, a) => {\n        if (r === void 0)\n          return;\n        const d = t[a], h = d(n[a]);\n        return h.succeeded ? Object.assign(Object.assign({}, r), { [a]: h.value }) : void 0;\n      }, {});\n      return i;\n    }\n    function Di(n, t) {\n      return n.reduce((e, i) => {\n        if (e === void 0)\n          return;\n        const r = t(i);\n        if (!(!r.succeeded || r.value === void 0))\n          return [...e, r.value];\n      }, []);\n    }\n    function Oi(n) {\n      return n === null ? !1 : typeof n == \"object\";\n    }\n    function Q(n) {\n      return (t) => (e) => {\n        if (!t && e === void 0)\n          return {\n            succeeded: !1,\n            value: void 0\n          };\n        if (t && e === void 0)\n          return {\n            succeeded: !0,\n            value: void 0\n          };\n        const i = n(e);\n        return i !== void 0 ? {\n          succeeded: !0,\n          value: i\n        } : {\n          succeeded: !1,\n          value: void 0\n        };\n      };\n    }\n    function Je(n) {\n      return {\n        custom: (t) => Q(t)(n),\n        boolean: Q((t) => typeof t == \"boolean\" ? t : void 0)(n),\n        number: Q((t) => typeof t == \"number\" ? t : void 0)(n),\n        string: Q((t) => typeof t == \"string\" ? t : void 0)(n),\n        function: Q((t) => typeof t == \"function\" ? t : void 0)(n),\n        constant: (t) => Q((e) => e === t ? t : void 0)(n),\n        raw: Q((t) => t)(n),\n        object: (t) => Q((e) => {\n          if (Oi(e))\n            return Ri(e, t);\n        })(n),\n        array: (t) => Q((e) => {\n          if (Array.isArray(e))\n            return Di(e, t);\n        })(n)\n      };\n    }\n    const R = {\n      optional: Je(!0),\n      required: Je(!1)\n    };\n    function I(n, t) {\n      const e = R.required.object(t)(n);\n      return e.succeeded ? e.value : void 0;\n    }\n    function ve(n) {\n      console.warn([\n        `Missing '${n.key}' of ${n.target} in ${n.place}.`,\n        \"Please rebuild plugins with the latest core package.\"\n      ].join(\" \"));\n    }\n    function Ti(n) {\n      return n && n.parentElement && n.parentElement.removeChild(n), null;\n    }\n    class me {\n      constructor(t) {\n        this.value_ = t;\n      }\n      static create(t) {\n        return [\n          new me(t),\n          (e, i) => {\n            t.setRawValue(e, i);\n          }\n        ];\n      }\n      get emitter() {\n        return this.value_.emitter;\n      }\n      get rawValue() {\n        return this.value_.rawValue;\n      }\n    }\n    const Ni = E(\"\");\n    function tn(n, t) {\n      return ft(n, Ni(void 0, t));\n    }\n    class W extends C {\n      constructor(t) {\n        var e;\n        super(t), this.onDisabledChange_ = this.onDisabledChange_.bind(this), this.onParentChange_ = this.onParentChange_.bind(this), this.onParentGlobalDisabledChange_ = this.onParentGlobalDisabledChange_.bind(this), [this.globalDisabled_, this.setGlobalDisabled_] = me.create(N(this.getGlobalDisabled_())), this.value(\"disabled\").emitter.on(\"change\", this.onDisabledChange_), this.value(\"parent\").emitter.on(\"change\", this.onParentChange_), (e = this.get(\"parent\")) === null || e === void 0 || e.globalDisabled.emitter.on(\"change\", this.onParentGlobalDisabledChange_);\n      }\n      static create(t) {\n        var e, i, r;\n        const a = t ?? {};\n        return new W(C.createCore({\n          disabled: (e = a.disabled) !== null && e !== void 0 ? e : !1,\n          disposed: !1,\n          hidden: (i = a.hidden) !== null && i !== void 0 ? i : !1,\n          parent: (r = a.parent) !== null && r !== void 0 ? r : null\n        }));\n      }\n      get globalDisabled() {\n        return this.globalDisabled_;\n      }\n      bindClassModifiers(t) {\n        Y(this.globalDisabled_, tn(t, \"disabled\")), H(this, \"hidden\", tn(t, \"hidden\"));\n      }\n      bindDisabled(t) {\n        Y(this.globalDisabled_, (e) => {\n          t.disabled = e;\n        });\n      }\n      bindTabIndex(t) {\n        Y(this.globalDisabled_, (e) => {\n          t.tabIndex = e ? -1 : 0;\n        });\n      }\n      handleDispose(t) {\n        this.value(\"disposed\").emitter.on(\"change\", (e) => {\n          e && t();\n        });\n      }\n      getGlobalDisabled_() {\n        const t = this.get(\"parent\");\n        return (t ? t.globalDisabled.rawValue : !1) || this.get(\"disabled\");\n      }\n      updateGlobalDisabled_() {\n        this.setGlobalDisabled_(this.getGlobalDisabled_());\n      }\n      onDisabledChange_() {\n        this.updateGlobalDisabled_();\n      }\n      onParentGlobalDisabledChange_() {\n        this.updateGlobalDisabled_();\n      }\n      onParentChange_(t) {\n        var e;\n        const i = t.previousRawValue;\n        i == null || i.globalDisabled.emitter.off(\"change\", this.onParentGlobalDisabledChange_), (e = this.get(\"parent\")) === null || e === void 0 || e.globalDisabled.emitter.on(\"change\", this.onParentGlobalDisabledChange_), this.updateGlobalDisabled_();\n      }\n    }\n    function Ii() {\n      return [\"veryfirst\", \"first\", \"last\", \"verylast\"];\n    }\n    const en = E(\"\"), nn = {\n      veryfirst: \"vfst\",\n      first: \"fst\",\n      last: \"lst\",\n      verylast: \"vlst\"\n    };\n    class Vt {\n      constructor(t) {\n        this.parent_ = null, this.blade = t.blade, this.view = t.view, this.viewProps = t.viewProps;\n        const e = this.view.element;\n        this.blade.value(\"positions\").emitter.on(\"change\", () => {\n          Ii().forEach((i) => {\n            e.classList.remove(en(void 0, nn[i]));\n          }), this.blade.get(\"positions\").forEach((i) => {\n            e.classList.add(en(void 0, nn[i]));\n          });\n        }), this.viewProps.handleDispose(() => {\n          Ti(e);\n        });\n      }\n      get parent() {\n        return this.parent_;\n      }\n      set parent(t) {\n        if (this.parent_ = t, !(\"parent\" in this.viewProps.valMap_)) {\n          ve({\n            key: \"parent\",\n            target: W.name,\n            place: \"BladeController.parent\"\n          });\n          return;\n        }\n        this.viewProps.set(\"parent\", this.parent_ ? this.parent_.viewProps : null);\n      }\n    }\n    const z = \"http://www.w3.org/2000/svg\";\n    function Wt(n) {\n      n.offsetHeight;\n    }\n    function Bi(n, t) {\n      const e = n.style.transition;\n      n.style.transition = \"none\", t(), n.style.transition = e;\n    }\n    function be(n) {\n      return n.ontouchstart !== void 0;\n    }\n    function Ui() {\n      return globalThis;\n    }\n    function ji() {\n      return Ui().document;\n    }\n    function Fi(n) {\n      const t = n.ownerDocument.defaultView;\n      return t && \"document\" in t ? n.getContext(\"2d\", {\n        willReadFrequently: !0\n      }) : null;\n    }\n    const Ki = {\n      check: '<path d=\"M2 8l4 4l8 -8\"/>',\n      dropdown: '<path d=\"M5 7h6l-3 3 z\"/>',\n      p2dpad: '<path d=\"M8 4v8\"/><path d=\"M4 8h8\"/><circle cx=\"12\" cy=\"12\" r=\"1.2\"/>'\n    };\n    function Xt(n, t) {\n      const e = n.createElementNS(z, \"svg\");\n      return e.innerHTML = Ki[t], e;\n    }\n    function rn(n, t, e) {\n      n.insertBefore(t, n.children[e]);\n    }\n    function sn(n) {\n      n.parentElement && n.parentElement.removeChild(n);\n    }\n    function on(n) {\n      for (; n.children.length > 0; )\n        n.removeChild(n.children[0]);\n    }\n    function $i(n) {\n      for (; n.childNodes.length > 0; )\n        n.removeChild(n.childNodes[0]);\n    }\n    function an(n) {\n      return n.relatedTarget ? n.relatedTarget : \"explicitOriginalTarget\" in n ? n.explicitOriginalTarget : null;\n    }\n    const St = E(\"lbl\");\n    function Hi(n, t) {\n      const e = n.createDocumentFragment();\n      return t.split(`\n`).map((r) => n.createTextNode(r)).forEach((r, a) => {\n        a > 0 && e.appendChild(n.createElement(\"br\")), e.appendChild(r);\n      }), e;\n    }\n    class ln {\n      constructor(t, e) {\n        this.element = t.createElement(\"div\"), this.element.classList.add(St()), e.viewProps.bindClassModifiers(this.element);\n        const i = t.createElement(\"div\");\n        i.classList.add(St(\"l\")), H(e.props, \"label\", (a) => {\n          g(a) ? this.element.classList.add(St(void 0, \"nol\")) : (this.element.classList.remove(St(void 0, \"nol\")), $i(i), i.appendChild(Hi(t, a)));\n        }), this.element.appendChild(i), this.labelElement = i;\n        const r = t.createElement(\"div\");\n        r.classList.add(St(\"v\")), this.element.appendChild(r), this.valueElement = r;\n      }\n    }\n    class Zt extends Vt {\n      constructor(t, e) {\n        const i = e.valueController.viewProps;\n        super(Object.assign(Object.assign({}, e), { view: new ln(t, {\n          props: e.props,\n          viewProps: i\n        }), viewProps: i })), this.props = e.props, this.valueController = e.valueController, this.view.valueElement.appendChild(this.valueController.view.element);\n      }\n    }\n    const zi = {\n      id: \"button\",\n      type: \"blade\",\n      accept(n) {\n        const t = R, e = I(n, {\n          title: t.required.string,\n          view: t.required.constant(\"button\"),\n          label: t.optional.string\n        });\n        return e ? { params: e } : null;\n      },\n      controller(n) {\n        return new Zt(n.document, {\n          blade: n.blade,\n          props: C.fromObject({\n            label: n.params.label\n          }),\n          valueController: new Ze(n.document, {\n            props: C.fromObject({\n              title: n.params.title\n            }),\n            viewProps: n.viewProps\n          })\n        });\n      },\n      api(n) {\n        return !(n.controller instanceof Zt) || !(n.controller.valueController instanceof Ze) ? null : new et(n.controller);\n      }\n    };\n    class _t extends Vt {\n      constructor(t) {\n        super(t), this.value = t.value;\n      }\n    }\n    function Lt() {\n      return new C({\n        positions: N([], {\n          equals: P\n        })\n      });\n    }\n    class At extends C {\n      constructor(t) {\n        super(t);\n      }\n      static create(t) {\n        const e = {\n          completed: !0,\n          expanded: t,\n          expandedHeight: null,\n          shouldFixHeight: !1,\n          temporaryExpanded: null\n        }, i = C.createCore(e);\n        return new At(i);\n      }\n      get styleExpanded() {\n        var t;\n        return (t = this.get(\"temporaryExpanded\")) !== null && t !== void 0 ? t : this.get(\"expanded\");\n      }\n      get styleHeight() {\n        if (!this.styleExpanded)\n          return \"0\";\n        const t = this.get(\"expandedHeight\");\n        return this.get(\"shouldFixHeight\") && !g(t) ? `${t}px` : \"auto\";\n      }\n      bindExpandedClass(t, e) {\n        const i = () => {\n          this.styleExpanded ? t.classList.add(e) : t.classList.remove(e);\n        };\n        H(this, \"expanded\", i), H(this, \"temporaryExpanded\", i);\n      }\n      cleanUpTransition() {\n        this.set(\"shouldFixHeight\", !1), this.set(\"expandedHeight\", null), this.set(\"completed\", !0);\n      }\n    }\n    function Gi(n, t) {\n      let e = 0;\n      return Bi(t, () => {\n        n.set(\"expandedHeight\", null), n.set(\"temporaryExpanded\", !0), Wt(t), e = t.clientHeight, n.set(\"temporaryExpanded\", null), Wt(t);\n      }), e;\n    }\n    function pn(n, t) {\n      t.style.height = n.styleHeight;\n    }\n    function fe(n, t) {\n      n.value(\"expanded\").emitter.on(\"beforechange\", () => {\n        if (n.set(\"completed\", !1), g(n.get(\"expandedHeight\"))) {\n          const e = Gi(n, t);\n          e > 0 && n.set(\"expandedHeight\", e);\n        }\n        n.set(\"shouldFixHeight\", !0), Wt(t);\n      }), n.emitter.on(\"change\", () => {\n        pn(n, t);\n      }), pn(n, t), t.addEventListener(\"transitionend\", (e) => {\n        e.propertyName === \"height\" && n.cleanUpTransition();\n      });\n    }\n    class _e extends l {\n      constructor(t, e) {\n        super(t), this.rackApi_ = e;\n      }\n    }\n    function qi(n, t) {\n      return n.addBlade(Object.assign(Object.assign({}, t), { view: \"button\" }));\n    }\n    function Yi(n, t) {\n      return n.addBlade(Object.assign(Object.assign({}, t), { view: \"folder\" }));\n    }\n    function Qi(n, t) {\n      const e = t ?? {};\n      return n.addBlade(Object.assign(Object.assign({}, e), { view: \"separator\" }));\n    }\n    function Wi(n, t) {\n      return n.addBlade(Object.assign(Object.assign({}, t), { view: \"tab\" }));\n    }\n    class we {\n      constructor(t) {\n        this.emitter = new M(), this.items_ = [], this.cache_ = /* @__PURE__ */ new Set(), this.onSubListAdd_ = this.onSubListAdd_.bind(this), this.onSubListRemove_ = this.onSubListRemove_.bind(this), this.extract_ = t;\n      }\n      get items() {\n        return this.items_;\n      }\n      allItems() {\n        return Array.from(this.cache_);\n      }\n      find(t) {\n        for (const e of this.allItems())\n          if (t(e))\n            return e;\n        return null;\n      }\n      includes(t) {\n        return this.cache_.has(t);\n      }\n      add(t, e) {\n        if (this.includes(t))\n          throw _.shouldNeverHappen();\n        const i = e !== void 0 ? e : this.items_.length;\n        this.items_.splice(i, 0, t), this.cache_.add(t);\n        const r = this.extract_(t);\n        r && (r.emitter.on(\"add\", this.onSubListAdd_), r.emitter.on(\"remove\", this.onSubListRemove_), r.allItems().forEach((a) => {\n          this.cache_.add(a);\n        })), this.emitter.emit(\"add\", {\n          index: i,\n          item: t,\n          root: this,\n          target: this\n        });\n      }\n      remove(t) {\n        const e = this.items_.indexOf(t);\n        if (e < 0)\n          return;\n        this.items_.splice(e, 1), this.cache_.delete(t);\n        const i = this.extract_(t);\n        i && (i.emitter.off(\"add\", this.onSubListAdd_), i.emitter.off(\"remove\", this.onSubListRemove_)), this.emitter.emit(\"remove\", {\n          index: e,\n          item: t,\n          root: this,\n          target: this\n        });\n      }\n      onSubListAdd_(t) {\n        this.cache_.add(t.item), this.emitter.emit(\"add\", {\n          index: t.index,\n          item: t.item,\n          root: this,\n          target: t.target\n        });\n      }\n      onSubListRemove_(t) {\n        this.cache_.delete(t.item), this.emitter.emit(\"remove\", {\n          index: t.index,\n          item: t.item,\n          root: this,\n          target: t.target\n        });\n      }\n    }\n    class ge extends l {\n      constructor(t) {\n        super(t), this.onBindingChange_ = this.onBindingChange_.bind(this), this.emitter_ = new M(), this.controller_.binding.emitter.on(\"change\", this.onBindingChange_);\n      }\n      get label() {\n        return this.controller_.props.get(\"label\");\n      }\n      set label(t) {\n        this.controller_.props.set(\"label\", t);\n      }\n      on(t, e) {\n        const i = e.bind(this);\n        return this.emitter_.on(t, (r) => {\n          i(r.event);\n        }), this;\n      }\n      refresh() {\n        this.controller_.binding.read();\n      }\n      onBindingChange_(t) {\n        const e = t.sender.target.read();\n        this.emitter_.emit(\"change\", {\n          event: new v(this, e, this.controller_.binding.target.presetKey, t.options.last)\n        });\n      }\n    }\n    class G extends Zt {\n      constructor(t, e) {\n        super(t, e), this.binding = e.binding;\n      }\n    }\n    class Ce extends l {\n      constructor(t) {\n        super(t), this.onBindingUpdate_ = this.onBindingUpdate_.bind(this), this.emitter_ = new M(), this.controller_.binding.emitter.on(\"update\", this.onBindingUpdate_);\n      }\n      get label() {\n        return this.controller_.props.get(\"label\");\n      }\n      set label(t) {\n        this.controller_.props.set(\"label\", t);\n      }\n      on(t, e) {\n        const i = e.bind(this);\n        return this.emitter_.on(t, (r) => {\n          i(r.event);\n        }), this;\n      }\n      refresh() {\n        this.controller_.binding.read();\n      }\n      onBindingUpdate_(t) {\n        const e = t.sender.target.read();\n        this.emitter_.emit(\"update\", {\n          event: new w(this, e, this.controller_.binding.target.presetKey)\n        });\n      }\n    }\n    class nt extends Zt {\n      constructor(t, e) {\n        super(t, e), this.binding = e.binding, this.viewProps.bindDisabled(this.binding.ticker), this.viewProps.handleDispose(() => {\n          this.binding.dispose();\n        });\n      }\n    }\n    function Xi(n) {\n      return n instanceof Jt ? n.apiSet_ : n instanceof _e ? n.rackApi_.apiSet_ : null;\n    }\n    function Mt(n, t) {\n      const e = n.find((i) => i.controller_ === t);\n      if (!e)\n        throw _.shouldNeverHappen();\n      return e;\n    }\n    function dn(n, t, e) {\n      if (!L.isBindable(n))\n        throw _.notBindable();\n      return new L(n, t, e);\n    }\n    class Jt extends l {\n      constructor(t, e) {\n        super(t), this.onRackAdd_ = this.onRackAdd_.bind(this), this.onRackRemove_ = this.onRackRemove_.bind(this), this.onRackInputChange_ = this.onRackInputChange_.bind(this), this.onRackMonitorUpdate_ = this.onRackMonitorUpdate_.bind(this), this.emitter_ = new M(), this.apiSet_ = new we(Xi), this.pool_ = e;\n        const i = this.controller_.rack;\n        i.emitter.on(\"add\", this.onRackAdd_), i.emitter.on(\"remove\", this.onRackRemove_), i.emitter.on(\"inputchange\", this.onRackInputChange_), i.emitter.on(\"monitorupdate\", this.onRackMonitorUpdate_), i.children.forEach((r) => {\n          this.setUpApi_(r);\n        });\n      }\n      get children() {\n        return this.controller_.rack.children.map((t) => Mt(this.apiSet_, t));\n      }\n      addInput(t, e, i) {\n        const r = i ?? {}, a = this.controller_.view.element.ownerDocument, d = this.pool_.createInput(a, dn(t, e, r.presetKey), r), h = new ge(d);\n        return this.add(h, r.index);\n      }\n      addMonitor(t, e, i) {\n        const r = i ?? {}, a = this.controller_.view.element.ownerDocument, d = this.pool_.createMonitor(a, dn(t, e), r), h = new Ce(d);\n        return this.add(h, r.index);\n      }\n      addFolder(t) {\n        return Yi(this, t);\n      }\n      addButton(t) {\n        return qi(this, t);\n      }\n      addSeparator(t) {\n        return Qi(this, t);\n      }\n      addTab(t) {\n        return Wi(this, t);\n      }\n      add(t, e) {\n        this.controller_.rack.add(t.controller_, e);\n        const i = this.apiSet_.find((r) => r.controller_ === t.controller_);\n        return i && this.apiSet_.remove(i), this.apiSet_.add(t), t;\n      }\n      remove(t) {\n        this.controller_.rack.remove(t.controller_);\n      }\n      addBlade(t) {\n        const e = this.controller_.view.element.ownerDocument, i = this.pool_.createBlade(e, t), r = this.pool_.createBladeApi(i);\n        return this.add(r, t.index);\n      }\n      on(t, e) {\n        const i = e.bind(this);\n        return this.emitter_.on(t, (r) => {\n          i(r.event);\n        }), this;\n      }\n      setUpApi_(t) {\n        this.apiSet_.find((i) => i.controller_ === t) || this.apiSet_.add(this.pool_.createBladeApi(t));\n      }\n      onRackAdd_(t) {\n        this.setUpApi_(t.bladeController);\n      }\n      onRackRemove_(t) {\n        if (t.isRoot) {\n          const e = Mt(this.apiSet_, t.bladeController);\n          this.apiSet_.remove(e);\n        }\n      }\n      onRackInputChange_(t) {\n        const e = t.bladeController;\n        if (e instanceof G) {\n          const i = Mt(this.apiSet_, e), r = e.binding;\n          this.emitter_.emit(\"change\", {\n            event: new v(i, r.target.read(), r.target.presetKey, t.options.last)\n          });\n        } else if (e instanceof _t) {\n          const i = Mt(this.apiSet_, e);\n          this.emitter_.emit(\"change\", {\n            event: new v(i, e.value.rawValue, void 0, t.options.last)\n          });\n        }\n      }\n      onRackMonitorUpdate_(t) {\n        if (!(t.bladeController instanceof nt))\n          throw _.shouldNeverHappen();\n        const e = Mt(this.apiSet_, t.bladeController), i = t.bladeController.binding;\n        this.emitter_.emit(\"update\", {\n          event: new w(e, i.target.read(), i.target.presetKey)\n        });\n      }\n    }\n    class xe extends _e {\n      constructor(t, e) {\n        super(t, new Jt(t.rackController, e)), this.emitter_ = new M(), this.controller_.foldable.value(\"expanded\").emitter.on(\"change\", (i) => {\n          this.emitter_.emit(\"fold\", {\n            event: new b(this, i.sender.rawValue)\n          });\n        }), this.rackApi_.on(\"change\", (i) => {\n          this.emitter_.emit(\"change\", {\n            event: i\n          });\n        }), this.rackApi_.on(\"update\", (i) => {\n          this.emitter_.emit(\"update\", {\n            event: i\n          });\n        });\n      }\n      get expanded() {\n        return this.controller_.foldable.get(\"expanded\");\n      }\n      set expanded(t) {\n        this.controller_.foldable.set(\"expanded\", t);\n      }\n      get title() {\n        return this.controller_.props.get(\"title\");\n      }\n      set title(t) {\n        this.controller_.props.set(\"title\", t);\n      }\n      get children() {\n        return this.rackApi_.children;\n      }\n      addInput(t, e, i) {\n        return this.rackApi_.addInput(t, e, i);\n      }\n      addMonitor(t, e, i) {\n        return this.rackApi_.addMonitor(t, e, i);\n      }\n      addFolder(t) {\n        return this.rackApi_.addFolder(t);\n      }\n      addButton(t) {\n        return this.rackApi_.addButton(t);\n      }\n      addSeparator(t) {\n        return this.rackApi_.addSeparator(t);\n      }\n      addTab(t) {\n        return this.rackApi_.addTab(t);\n      }\n      add(t, e) {\n        return this.rackApi_.add(t, e);\n      }\n      remove(t) {\n        this.rackApi_.remove(t);\n      }\n      addBlade(t) {\n        return this.rackApi_.addBlade(t);\n      }\n      on(t, e) {\n        const i = e.bind(this);\n        return this.emitter_.on(t, (r) => {\n          i(r.event);\n        }), this;\n      }\n    }\n    class ye extends Vt {\n      constructor(t) {\n        super({\n          blade: t.blade,\n          view: t.view,\n          viewProps: t.rackController.viewProps\n        }), this.rackController = t.rackController;\n      }\n    }\n    class Zi {\n      constructor(t, e) {\n        const i = E(e.viewName);\n        this.element = t.createElement(\"div\"), this.element.classList.add(i()), e.viewProps.bindClassModifiers(this.element);\n      }\n    }\n    function Ji(n, t) {\n      for (let e = 0; e < n.length; e++) {\n        const i = n[e];\n        if (i instanceof G && i.binding === t)\n          return i;\n      }\n      return null;\n    }\n    function tr(n, t) {\n      for (let e = 0; e < n.length; e++) {\n        const i = n[e];\n        if (i instanceof nt && i.binding === t)\n          return i;\n      }\n      return null;\n    }\n    function er(n, t) {\n      for (let e = 0; e < n.length; e++) {\n        const i = n[e];\n        if (i instanceof _t && i.value === t)\n          return i;\n      }\n      return null;\n    }\n    function Pe(n) {\n      return n instanceof Rt ? n.rack : n instanceof ye ? n.rackController.rack : null;\n    }\n    function nr(n) {\n      const t = Pe(n);\n      return t ? t.bcSet_ : null;\n    }\n    class ir {\n      constructor(t) {\n        var e, i;\n        this.onBladePositionsChange_ = this.onBladePositionsChange_.bind(this), this.onSetAdd_ = this.onSetAdd_.bind(this), this.onSetRemove_ = this.onSetRemove_.bind(this), this.onChildDispose_ = this.onChildDispose_.bind(this), this.onChildPositionsChange_ = this.onChildPositionsChange_.bind(this), this.onChildInputChange_ = this.onChildInputChange_.bind(this), this.onChildMonitorUpdate_ = this.onChildMonitorUpdate_.bind(this), this.onChildValueChange_ = this.onChildValueChange_.bind(this), this.onChildViewPropsChange_ = this.onChildViewPropsChange_.bind(this), this.onDescendantLayout_ = this.onDescendantLayout_.bind(this), this.onDescendantInputChange_ = this.onDescendantInputChange_.bind(this), this.onDescendantMonitorUpdate_ = this.onDescendantMonitorUpdate_.bind(this), this.emitter = new M(), this.blade_ = (e = t.blade) !== null && e !== void 0 ? e : null, (i = this.blade_) === null || i === void 0 || i.value(\"positions\").emitter.on(\"change\", this.onBladePositionsChange_), this.viewProps = t.viewProps, this.bcSet_ = new we(nr), this.bcSet_.emitter.on(\"add\", this.onSetAdd_), this.bcSet_.emitter.on(\"remove\", this.onSetRemove_);\n      }\n      get children() {\n        return this.bcSet_.items;\n      }\n      add(t, e) {\n        var i;\n        (i = t.parent) === null || i === void 0 || i.remove(t), y(t, \"parent\") ? t.parent = this : (t.parent_ = this, ve({\n          key: \"parent\",\n          target: \"BladeController\",\n          place: \"BladeRack.add\"\n        })), this.bcSet_.add(t, e);\n      }\n      remove(t) {\n        y(t, \"parent\") ? t.parent = null : (t.parent_ = null, ve({\n          key: \"parent\",\n          target: \"BladeController\",\n          place: \"BladeRack.remove\"\n        })), this.bcSet_.remove(t);\n      }\n      find(t) {\n        return this.bcSet_.allItems().filter((e) => e instanceof t);\n      }\n      onSetAdd_(t) {\n        this.updatePositions_();\n        const e = t.target === t.root;\n        if (this.emitter.emit(\"add\", {\n          bladeController: t.item,\n          index: t.index,\n          isRoot: e,\n          sender: this\n        }), !e)\n          return;\n        const i = t.item;\n        if (i.viewProps.emitter.on(\"change\", this.onChildViewPropsChange_), i.blade.value(\"positions\").emitter.on(\"change\", this.onChildPositionsChange_), i.viewProps.handleDispose(this.onChildDispose_), i instanceof G)\n          i.binding.emitter.on(\"change\", this.onChildInputChange_);\n        else if (i instanceof nt)\n          i.binding.emitter.on(\"update\", this.onChildMonitorUpdate_);\n        else if (i instanceof _t)\n          i.value.emitter.on(\"change\", this.onChildValueChange_);\n        else {\n          const r = Pe(i);\n          if (r) {\n            const a = r.emitter;\n            a.on(\"layout\", this.onDescendantLayout_), a.on(\"inputchange\", this.onDescendantInputChange_), a.on(\"monitorupdate\", this.onDescendantMonitorUpdate_);\n          }\n        }\n      }\n      onSetRemove_(t) {\n        this.updatePositions_();\n        const e = t.target === t.root;\n        if (this.emitter.emit(\"remove\", {\n          bladeController: t.item,\n          isRoot: e,\n          sender: this\n        }), !e)\n          return;\n        const i = t.item;\n        if (i instanceof G)\n          i.binding.emitter.off(\"change\", this.onChildInputChange_);\n        else if (i instanceof nt)\n          i.binding.emitter.off(\"update\", this.onChildMonitorUpdate_);\n        else if (i instanceof _t)\n          i.value.emitter.off(\"change\", this.onChildValueChange_);\n        else {\n          const r = Pe(i);\n          if (r) {\n            const a = r.emitter;\n            a.off(\"layout\", this.onDescendantLayout_), a.off(\"inputchange\", this.onDescendantInputChange_), a.off(\"monitorupdate\", this.onDescendantMonitorUpdate_);\n          }\n        }\n      }\n      updatePositions_() {\n        const t = this.bcSet_.items.filter((r) => !r.viewProps.get(\"hidden\")), e = t[0], i = t[t.length - 1];\n        this.bcSet_.items.forEach((r) => {\n          const a = [];\n          r === e && (a.push(\"first\"), (!this.blade_ || this.blade_.get(\"positions\").includes(\"veryfirst\")) && a.push(\"veryfirst\")), r === i && (a.push(\"last\"), (!this.blade_ || this.blade_.get(\"positions\").includes(\"verylast\")) && a.push(\"verylast\")), r.blade.set(\"positions\", a);\n        });\n      }\n      onChildPositionsChange_() {\n        this.updatePositions_(), this.emitter.emit(\"layout\", {\n          sender: this\n        });\n      }\n      onChildViewPropsChange_(t) {\n        this.updatePositions_(), this.emitter.emit(\"layout\", {\n          sender: this\n        });\n      }\n      onChildDispose_() {\n        this.bcSet_.items.filter((e) => e.viewProps.get(\"disposed\")).forEach((e) => {\n          this.bcSet_.remove(e);\n        });\n      }\n      onChildInputChange_(t) {\n        const e = Ji(this.find(G), t.sender);\n        if (!e)\n          throw _.alreadyDisposed();\n        this.emitter.emit(\"inputchange\", {\n          bladeController: e,\n          options: t.options,\n          sender: this\n        });\n      }\n      onChildMonitorUpdate_(t) {\n        const e = tr(this.find(nt), t.sender);\n        if (!e)\n          throw _.alreadyDisposed();\n        this.emitter.emit(\"monitorupdate\", {\n          bladeController: e,\n          sender: this\n        });\n      }\n      onChildValueChange_(t) {\n        const e = er(this.find(_t), t.sender);\n        if (!e)\n          throw _.alreadyDisposed();\n        this.emitter.emit(\"inputchange\", {\n          bladeController: e,\n          options: t.options,\n          sender: this\n        });\n      }\n      onDescendantLayout_(t) {\n        this.updatePositions_(), this.emitter.emit(\"layout\", {\n          sender: this\n        });\n      }\n      onDescendantInputChange_(t) {\n        this.emitter.emit(\"inputchange\", {\n          bladeController: t.bladeController,\n          options: t.options,\n          sender: this\n        });\n      }\n      onDescendantMonitorUpdate_(t) {\n        this.emitter.emit(\"monitorupdate\", {\n          bladeController: t.bladeController,\n          sender: this\n        });\n      }\n      onBladePositionsChange_() {\n        this.updatePositions_();\n      }\n    }\n    class Rt extends Vt {\n      constructor(t, e) {\n        super(Object.assign(Object.assign({}, e), { view: new Zi(t, {\n          viewName: \"brk\",\n          viewProps: e.viewProps\n        }) })), this.onRackAdd_ = this.onRackAdd_.bind(this), this.onRackRemove_ = this.onRackRemove_.bind(this);\n        const i = new ir({\n          blade: e.root ? void 0 : e.blade,\n          viewProps: e.viewProps\n        });\n        i.emitter.on(\"add\", this.onRackAdd_), i.emitter.on(\"remove\", this.onRackRemove_), this.rack = i, this.viewProps.handleDispose(() => {\n          for (let r = this.rack.children.length - 1; r >= 0; r--)\n            this.rack.children[r].viewProps.set(\"disposed\", !0);\n        });\n      }\n      onRackAdd_(t) {\n        t.isRoot && rn(this.view.element, t.bladeController.view.element, t.index);\n      }\n      onRackRemove_(t) {\n        t.isRoot && sn(t.bladeController.view.element);\n      }\n    }\n    const un = E(\"cnt\");\n    class rr {\n      constructor(t, e) {\n        var i;\n        this.className_ = E((i = e.viewName) !== null && i !== void 0 ? i : \"fld\"), this.element = t.createElement(\"div\"), this.element.classList.add(this.className_(), un()), e.viewProps.bindClassModifiers(this.element), this.foldable_ = e.foldable, this.foldable_.bindExpandedClass(this.element, this.className_(void 0, \"expanded\")), H(this.foldable_, \"completed\", ft(this.element, this.className_(void 0, \"cpl\")));\n        const r = t.createElement(\"button\");\n        r.classList.add(this.className_(\"b\")), H(e.props, \"title\", (f) => {\n          g(f) ? this.element.classList.add(this.className_(void 0, \"not\")) : this.element.classList.remove(this.className_(void 0, \"not\"));\n        }), e.viewProps.bindDisabled(r), this.element.appendChild(r), this.buttonElement = r;\n        const a = t.createElement(\"div\");\n        a.classList.add(this.className_(\"i\")), this.element.appendChild(a);\n        const d = t.createElement(\"div\");\n        d.classList.add(this.className_(\"t\")), ce(e.props.value(\"title\"), d), this.buttonElement.appendChild(d), this.titleElement = d;\n        const h = t.createElement(\"div\");\n        h.classList.add(this.className_(\"m\")), this.buttonElement.appendChild(h);\n        const m = e.containerElement;\n        m.classList.add(this.className_(\"c\")), this.element.appendChild(m), this.containerElement = m;\n      }\n    }\n    class Ee extends ye {\n      constructor(t, e) {\n        var i;\n        const r = At.create((i = e.expanded) !== null && i !== void 0 ? i : !0), a = new Rt(t, {\n          blade: e.blade,\n          root: e.root,\n          viewProps: e.viewProps\n        });\n        super(Object.assign(Object.assign({}, e), { rackController: a, view: new rr(t, {\n          containerElement: a.view.element,\n          foldable: r,\n          props: e.props,\n          viewName: e.root ? \"rot\" : void 0,\n          viewProps: e.viewProps\n        }) })), this.onTitleClick_ = this.onTitleClick_.bind(this), this.props = e.props, this.foldable = r, fe(this.foldable, this.view.containerElement), this.rackController.rack.emitter.on(\"add\", () => {\n          this.foldable.cleanUpTransition();\n        }), this.rackController.rack.emitter.on(\"remove\", () => {\n          this.foldable.cleanUpTransition();\n        }), this.view.buttonElement.addEventListener(\"click\", this.onTitleClick_);\n      }\n      get document() {\n        return this.view.element.ownerDocument;\n      }\n      onTitleClick_() {\n        this.foldable.set(\"expanded\", !this.foldable.get(\"expanded\"));\n      }\n    }\n    const sr = {\n      id: \"folder\",\n      type: \"blade\",\n      accept(n) {\n        const t = R, e = I(n, {\n          title: t.required.string,\n          view: t.required.constant(\"folder\"),\n          expanded: t.optional.boolean\n        });\n        return e ? { params: e } : null;\n      },\n      controller(n) {\n        return new Ee(n.document, {\n          blade: n.blade,\n          expanded: n.params.expanded,\n          props: C.fromObject({\n            title: n.params.title\n          }),\n          viewProps: n.viewProps\n        });\n      },\n      api(n) {\n        return n.controller instanceof Ee ? new xe(n.controller, n.pool) : null;\n      }\n    };\n    class wt extends _t {\n      constructor(t, e) {\n        const i = e.valueController.viewProps;\n        super(Object.assign(Object.assign({}, e), { value: e.valueController.value, view: new ln(t, {\n          props: e.props,\n          viewProps: i\n        }), viewProps: i })), this.props = e.props, this.valueController = e.valueController, this.view.valueElement.appendChild(this.valueController.view.element);\n      }\n    }\n    class cn extends l {\n    }\n    const hn = E(\"spr\");\n    class or {\n      constructor(t, e) {\n        this.element = t.createElement(\"div\"), this.element.classList.add(hn()), e.viewProps.bindClassModifiers(this.element);\n        const i = t.createElement(\"hr\");\n        i.classList.add(hn(\"r\")), this.element.appendChild(i);\n      }\n    }\n    class vn extends Vt {\n      constructor(t, e) {\n        super(Object.assign(Object.assign({}, e), { view: new or(t, {\n          viewProps: e.viewProps\n        }) }));\n      }\n    }\n    const ar = {\n      id: \"separator\",\n      type: \"blade\",\n      accept(n) {\n        const e = I(n, {\n          view: R.required.constant(\"separator\")\n        });\n        return e ? { params: e } : null;\n      },\n      controller(n) {\n        return new vn(n.document, {\n          blade: n.blade,\n          viewProps: n.viewProps\n        });\n      },\n      api(n) {\n        return n.controller instanceof vn ? new cn(n.controller) : null;\n      }\n    }, Dt = E(\"tbi\");\n    class lr {\n      constructor(t, e) {\n        this.element = t.createElement(\"div\"), this.element.classList.add(Dt()), e.viewProps.bindClassModifiers(this.element), H(e.props, \"selected\", (a) => {\n          a ? this.element.classList.add(Dt(void 0, \"sel\")) : this.element.classList.remove(Dt(void 0, \"sel\"));\n        });\n        const i = t.createElement(\"button\");\n        i.classList.add(Dt(\"b\")), e.viewProps.bindDisabled(i), this.element.appendChild(i), this.buttonElement = i;\n        const r = t.createElement(\"div\");\n        r.classList.add(Dt(\"t\")), ce(e.props.value(\"title\"), r), this.buttonElement.appendChild(r), this.titleElement = r;\n      }\n    }\n    class pr {\n      constructor(t, e) {\n        this.emitter = new M(), this.onClick_ = this.onClick_.bind(this), this.props = e.props, this.viewProps = e.viewProps, this.view = new lr(t, {\n          props: e.props,\n          viewProps: e.viewProps\n        }), this.view.buttonElement.addEventListener(\"click\", this.onClick_);\n      }\n      onClick_() {\n        this.emitter.emit(\"click\", {\n          sender: this\n        });\n      }\n    }\n    class mn {\n      constructor(t, e) {\n        this.onItemClick_ = this.onItemClick_.bind(this), this.ic_ = new pr(t, {\n          props: e.itemProps,\n          viewProps: W.create()\n        }), this.ic_.emitter.on(\"click\", this.onItemClick_), this.cc_ = new Rt(t, {\n          blade: Lt(),\n          viewProps: W.create()\n        }), this.props = e.props, H(this.props, \"selected\", (i) => {\n          this.itemController.props.set(\"selected\", i), this.contentController.viewProps.set(\"hidden\", !i);\n        });\n      }\n      get itemController() {\n        return this.ic_;\n      }\n      get contentController() {\n        return this.cc_;\n      }\n      onItemClick_() {\n        this.props.set(\"selected\", !0);\n      }\n    }\n    class bn {\n      constructor(t, e) {\n        this.controller_ = t, this.rackApi_ = e;\n      }\n      get title() {\n        var t;\n        return (t = this.controller_.itemController.props.get(\"title\")) !== null && t !== void 0 ? t : \"\";\n      }\n      set title(t) {\n        this.controller_.itemController.props.set(\"title\", t);\n      }\n      get selected() {\n        return this.controller_.props.get(\"selected\");\n      }\n      set selected(t) {\n        this.controller_.props.set(\"selected\", t);\n      }\n      get children() {\n        return this.rackApi_.children;\n      }\n      addButton(t) {\n        return this.rackApi_.addButton(t);\n      }\n      addFolder(t) {\n        return this.rackApi_.addFolder(t);\n      }\n      addSeparator(t) {\n        return this.rackApi_.addSeparator(t);\n      }\n      addTab(t) {\n        return this.rackApi_.addTab(t);\n      }\n      add(t, e) {\n        this.rackApi_.add(t, e);\n      }\n      remove(t) {\n        this.rackApi_.remove(t);\n      }\n      addInput(t, e, i) {\n        return this.rackApi_.addInput(t, e, i);\n      }\n      addMonitor(t, e, i) {\n        return this.rackApi_.addMonitor(t, e, i);\n      }\n      addBlade(t) {\n        return this.rackApi_.addBlade(t);\n      }\n    }\n    class fn extends _e {\n      constructor(t, e) {\n        super(t, new Jt(t.rackController, e)), this.onPageAdd_ = this.onPageAdd_.bind(this), this.onPageRemove_ = this.onPageRemove_.bind(this), this.onSelect_ = this.onSelect_.bind(this), this.emitter_ = new M(), this.pageApiMap_ = /* @__PURE__ */ new Map(), this.rackApi_.on(\"change\", (i) => {\n          this.emitter_.emit(\"change\", {\n            event: i\n          });\n        }), this.rackApi_.on(\"update\", (i) => {\n          this.emitter_.emit(\"update\", {\n            event: i\n          });\n        }), this.controller_.tab.selectedIndex.emitter.on(\"change\", this.onSelect_), this.controller_.pageSet.emitter.on(\"add\", this.onPageAdd_), this.controller_.pageSet.emitter.on(\"remove\", this.onPageRemove_), this.controller_.pageSet.items.forEach((i) => {\n          this.setUpPageApi_(i);\n        });\n      }\n      get pages() {\n        return this.controller_.pageSet.items.map((t) => {\n          const e = this.pageApiMap_.get(t);\n          if (!e)\n            throw _.shouldNeverHappen();\n          return e;\n        });\n      }\n      addPage(t) {\n        const e = this.controller_.view.element.ownerDocument, i = new mn(e, {\n          itemProps: C.fromObject({\n            selected: !1,\n            title: t.title\n          }),\n          props: C.fromObject({\n            selected: !1\n          })\n        });\n        this.controller_.add(i, t.index);\n        const r = this.pageApiMap_.get(i);\n        if (!r)\n          throw _.shouldNeverHappen();\n        return r;\n      }\n      removePage(t) {\n        this.controller_.remove(t);\n      }\n      on(t, e) {\n        const i = e.bind(this);\n        return this.emitter_.on(t, (r) => {\n          i(r.event);\n        }), this;\n      }\n      setUpPageApi_(t) {\n        const e = this.rackApi_.apiSet_.find((r) => r.controller_ === t.contentController);\n        if (!e)\n          throw _.shouldNeverHappen();\n        const i = new bn(t, e);\n        this.pageApiMap_.set(t, i);\n      }\n      onPageAdd_(t) {\n        this.setUpPageApi_(t.item);\n      }\n      onPageRemove_(t) {\n        if (!this.pageApiMap_.get(t.item))\n          throw _.shouldNeverHappen();\n        this.pageApiMap_.delete(t.item);\n      }\n      onSelect_(t) {\n        this.emitter_.emit(\"select\", {\n          event: new S(this, t.rawValue)\n        });\n      }\n    }\n    const _n = -1;\n    class dr {\n      constructor() {\n        this.onItemSelectedChange_ = this.onItemSelectedChange_.bind(this), this.empty = N(!0), this.selectedIndex = N(_n), this.items_ = [];\n      }\n      add(t, e) {\n        const i = e ?? this.items_.length;\n        this.items_.splice(i, 0, t), t.emitter.on(\"change\", this.onItemSelectedChange_), this.keepSelection_();\n      }\n      remove(t) {\n        const e = this.items_.indexOf(t);\n        e < 0 || (this.items_.splice(e, 1), t.emitter.off(\"change\", this.onItemSelectedChange_), this.keepSelection_());\n      }\n      keepSelection_() {\n        if (this.items_.length === 0) {\n          this.selectedIndex.rawValue = _n, this.empty.rawValue = !0;\n          return;\n        }\n        const t = this.items_.findIndex((e) => e.rawValue);\n        t < 0 ? (this.items_.forEach((e, i) => {\n          e.rawValue = i === 0;\n        }), this.selectedIndex.rawValue = 0) : (this.items_.forEach((e, i) => {\n          e.rawValue = i === t;\n        }), this.selectedIndex.rawValue = t), this.empty.rawValue = !1;\n      }\n      onItemSelectedChange_(t) {\n        if (t.rawValue) {\n          const e = this.items_.findIndex((i) => i === t.sender);\n          this.items_.forEach((i, r) => {\n            i.rawValue = r === e;\n          }), this.selectedIndex.rawValue = e;\n        } else\n          this.keepSelection_();\n      }\n    }\n    const Ot = E(\"tab\");\n    class ur {\n      constructor(t, e) {\n        this.element = t.createElement(\"div\"), this.element.classList.add(Ot(), un()), e.viewProps.bindClassModifiers(this.element), Y(e.empty, ft(this.element, Ot(void 0, \"nop\")));\n        const i = t.createElement(\"div\");\n        i.classList.add(Ot(\"t\")), this.element.appendChild(i), this.itemsElement = i;\n        const r = t.createElement(\"div\");\n        r.classList.add(Ot(\"i\")), this.element.appendChild(r);\n        const a = e.contentsElement;\n        a.classList.add(Ot(\"c\")), this.element.appendChild(a), this.contentsElement = a;\n      }\n    }\n    class wn extends ye {\n      constructor(t, e) {\n        const i = new Rt(t, {\n          blade: e.blade,\n          viewProps: e.viewProps\n        }), r = new dr();\n        super({\n          blade: e.blade,\n          rackController: i,\n          view: new ur(t, {\n            contentsElement: i.view.element,\n            empty: r.empty,\n            viewProps: e.viewProps\n          })\n        }), this.onPageAdd_ = this.onPageAdd_.bind(this), this.onPageRemove_ = this.onPageRemove_.bind(this), this.pageSet_ = new we(() => null), this.pageSet_.emitter.on(\"add\", this.onPageAdd_), this.pageSet_.emitter.on(\"remove\", this.onPageRemove_), this.tab = r;\n      }\n      get pageSet() {\n        return this.pageSet_;\n      }\n      add(t, e) {\n        this.pageSet_.add(t, e);\n      }\n      remove(t) {\n        this.pageSet_.remove(this.pageSet_.items[t]);\n      }\n      onPageAdd_(t) {\n        const e = t.item;\n        rn(this.view.itemsElement, e.itemController.view.element, t.index), e.itemController.viewProps.set(\"parent\", this.viewProps), this.rackController.rack.add(e.contentController, t.index), this.tab.add(e.props.value(\"selected\"));\n      }\n      onPageRemove_(t) {\n        const e = t.item;\n        sn(e.itemController.view.element), e.itemController.viewProps.set(\"parent\", null), this.rackController.rack.remove(e.contentController), this.tab.remove(e.props.value(\"selected\"));\n      }\n    }\n    const gn = {\n      id: \"tab\",\n      type: \"blade\",\n      accept(n) {\n        const t = R, e = I(n, {\n          pages: t.required.array(t.required.object({ title: t.required.string })),\n          view: t.required.constant(\"tab\")\n        });\n        return !e || e.pages.length === 0 ? null : { params: e };\n      },\n      controller(n) {\n        const t = new wn(n.document, {\n          blade: n.blade,\n          viewProps: n.viewProps\n        });\n        return n.params.pages.forEach((e) => {\n          const i = new mn(n.document, {\n            itemProps: C.fromObject({\n              selected: !1,\n              title: e.title\n            }),\n            props: C.fromObject({\n              selected: !1\n            })\n          });\n          t.add(i);\n        }), t;\n      },\n      api(n) {\n        return n.controller instanceof wn ? new fn(n.controller, n.pool) : null;\n      }\n    };\n    function cr(n, t) {\n      const e = n.accept(t.params);\n      if (!e)\n        return null;\n      const i = R.optional.boolean(t.params.disabled).value, r = R.optional.boolean(t.params.hidden).value;\n      return n.controller({\n        blade: Lt(),\n        document: t.document,\n        params: Object.assign(Object.assign({}, e.params), { disabled: i, hidden: r }),\n        viewProps: W.create({\n          disabled: i,\n          hidden: r\n        })\n      });\n    }\n    class hr {\n      constructor() {\n        this.disabled = !1, this.emitter = new M();\n      }\n      dispose() {\n      }\n      tick() {\n        this.disabled || this.emitter.emit(\"tick\", {\n          sender: this\n        });\n      }\n    }\n    class vr {\n      constructor(t, e) {\n        this.disabled_ = !1, this.timerId_ = null, this.onTick_ = this.onTick_.bind(this), this.doc_ = t, this.emitter = new M(), this.interval_ = e, this.setTimer_();\n      }\n      get disabled() {\n        return this.disabled_;\n      }\n      set disabled(t) {\n        this.disabled_ = t, this.disabled_ ? this.clearTimer_() : this.setTimer_();\n      }\n      dispose() {\n        this.clearTimer_();\n      }\n      clearTimer_() {\n        if (this.timerId_ === null)\n          return;\n        const t = this.doc_.defaultView;\n        t && t.clearInterval(this.timerId_), this.timerId_ = null;\n      }\n      setTimer_() {\n        if (this.clearTimer_(), this.interval_ <= 0)\n          return;\n        const t = this.doc_.defaultView;\n        t && (this.timerId_ = t.setInterval(this.onTick_, this.interval_));\n      }\n      onTick_() {\n        this.disabled_ || this.emitter.emit(\"tick\", {\n          sender: this\n        });\n      }\n    }\n    class mr {\n      constructor(t) {\n        this.onValueChange_ = this.onValueChange_.bind(this), this.reader = t.reader, this.writer = t.writer, this.emitter = new M(), this.value = t.value, this.value.emitter.on(\"change\", this.onValueChange_), this.target = t.target, this.read();\n      }\n      read() {\n        const t = this.target.read();\n        t !== void 0 && (this.value.rawValue = this.reader(t));\n      }\n      write_(t) {\n        this.writer(this.target, t);\n      }\n      onValueChange_(t) {\n        this.write_(t.rawValue), this.emitter.emit(\"change\", {\n          options: t.options,\n          rawValue: t.rawValue,\n          sender: this\n        });\n      }\n    }\n    function Cn(n, t) {\n      for (; n.length < t; )\n        n.push(void 0);\n    }\n    function br(n) {\n      const t = [];\n      return Cn(t, n), N(t);\n    }\n    function fr(n) {\n      const t = n.indexOf(void 0);\n      return t < 0 ? n : n.slice(0, t);\n    }\n    function _r(n, t) {\n      const e = [...fr(n), t];\n      return e.length > n.length ? e.splice(0, e.length - n.length) : Cn(e, n.length), e;\n    }\n    class wr {\n      constructor(t) {\n        this.onTick_ = this.onTick_.bind(this), this.reader_ = t.reader, this.target = t.target, this.emitter = new M(), this.value = t.value, this.ticker = t.ticker, this.ticker.emitter.on(\"tick\", this.onTick_), this.read();\n      }\n      dispose() {\n        this.ticker.dispose();\n      }\n      read() {\n        const t = this.target.read();\n        if (t === void 0)\n          return;\n        const e = this.value.rawValue, i = this.reader_(t);\n        this.value.rawValue = _r(e, i), this.emitter.emit(\"update\", {\n          rawValue: i,\n          sender: this\n        });\n      }\n      onTick_(t) {\n        this.read();\n      }\n    }\n    class Tt {\n      constructor(t) {\n        this.constraints = t;\n      }\n      constrain(t) {\n        return this.constraints.reduce((e, i) => i.constrain(e), t);\n      }\n    }\n    function X(n, t) {\n      if (n instanceof t)\n        return n;\n      if (n instanceof Tt) {\n        const e = n.constraints.reduce((i, r) => i || (r instanceof t ? r : null), null);\n        if (e)\n          return e;\n      }\n      return null;\n    }\n    class gt {\n      constructor(t) {\n        this.values = C.fromObject({\n          max: t.max,\n          min: t.min\n        });\n      }\n      constrain(t) {\n        const e = this.values.get(\"max\"), i = this.values.get(\"min\");\n        return Math.min(Math.max(t, i), e);\n      }\n    }\n    class Nt {\n      constructor(t) {\n        this.values = C.fromObject({\n          options: t\n        });\n      }\n      get options() {\n        return this.values.get(\"options\");\n      }\n      constrain(t) {\n        const e = this.values.get(\"options\");\n        return e.length === 0 || e.filter((r) => r.value === t).length > 0 ? t : e[0].value;\n      }\n    }\n    class xn {\n      constructor(t) {\n        this.values = C.fromObject({\n          max: t.max,\n          min: t.min\n        });\n      }\n      get maxValue() {\n        return this.values.get(\"max\");\n      }\n      get minValue() {\n        return this.values.get(\"min\");\n      }\n      constrain(t) {\n        const e = this.values.get(\"max\"), i = this.values.get(\"min\");\n        let r = t;\n        return g(i) || (r = Math.max(r, i)), g(e) || (r = Math.min(r, e)), r;\n      }\n    }\n    class te {\n      constructor(t, e = 0) {\n        this.step = t, this.origin = e;\n      }\n      constrain(t) {\n        const e = this.origin % this.step, i = Math.round((t - e) / this.step);\n        return e + i * this.step;\n      }\n    }\n    const ke = E(\"lst\");\n    class gr {\n      constructor(t, e) {\n        this.onValueChange_ = this.onValueChange_.bind(this), this.props_ = e.props, this.element = t.createElement(\"div\"), this.element.classList.add(ke()), e.viewProps.bindClassModifiers(this.element);\n        const i = t.createElement(\"select\");\n        i.classList.add(ke(\"s\")), e.viewProps.bindDisabled(i), this.element.appendChild(i), this.selectElement = i;\n        const r = t.createElement(\"div\");\n        r.classList.add(ke(\"m\")), r.appendChild(Xt(t, \"dropdown\")), this.element.appendChild(r), e.value.emitter.on(\"change\", this.onValueChange_), this.value_ = e.value, H(this.props_, \"options\", (a) => {\n          on(this.selectElement), a.forEach((d) => {\n            const h = t.createElement(\"option\");\n            h.textContent = d.text, this.selectElement.appendChild(h);\n          }), this.update_();\n        });\n      }\n      update_() {\n        const t = this.props_.get(\"options\").map((e) => e.value);\n        this.selectElement.selectedIndex = t.indexOf(this.value_.rawValue);\n      }\n      onValueChange_() {\n        this.update_();\n      }\n    }\n    class It {\n      constructor(t, e) {\n        this.onSelectChange_ = this.onSelectChange_.bind(this), this.props = e.props, this.value = e.value, this.viewProps = e.viewProps, this.view = new gr(t, {\n          props: this.props,\n          value: this.value,\n          viewProps: this.viewProps\n        }), this.view.selectElement.addEventListener(\"change\", this.onSelectChange_);\n      }\n      onSelectChange_(t) {\n        const e = t.currentTarget;\n        this.value.rawValue = this.props.get(\"options\")[e.selectedIndex].value;\n      }\n    }\n    const yn = E(\"pop\");\n    class Cr {\n      constructor(t, e) {\n        this.element = t.createElement(\"div\"), this.element.classList.add(yn()), e.viewProps.bindClassModifiers(this.element), Y(e.shows, ft(this.element, yn(void 0, \"v\")));\n      }\n    }\n    class Pn {\n      constructor(t, e) {\n        this.shows = N(!1), this.viewProps = e.viewProps, this.view = new Cr(t, {\n          shows: this.shows,\n          viewProps: this.viewProps\n        });\n      }\n    }\n    const En = E(\"txt\");\n    class xr {\n      constructor(t, e) {\n        this.onChange_ = this.onChange_.bind(this), this.element = t.createElement(\"div\"), this.element.classList.add(En()), e.viewProps.bindClassModifiers(this.element), this.props_ = e.props, this.props_.emitter.on(\"change\", this.onChange_);\n        const i = t.createElement(\"input\");\n        i.classList.add(En(\"i\")), i.type = \"text\", e.viewProps.bindDisabled(i), this.element.appendChild(i), this.inputElement = i, e.value.emitter.on(\"change\", this.onChange_), this.value_ = e.value, this.refresh();\n      }\n      refresh() {\n        const t = this.props_.get(\"formatter\");\n        this.inputElement.value = t(this.value_.rawValue);\n      }\n      onChange_() {\n        this.refresh();\n      }\n    }\n    class ee {\n      constructor(t, e) {\n        this.onInputChange_ = this.onInputChange_.bind(this), this.parser_ = e.parser, this.props = e.props, this.value = e.value, this.viewProps = e.viewProps, this.view = new xr(t, {\n          props: e.props,\n          value: this.value,\n          viewProps: this.viewProps\n        }), this.view.inputElement.addEventListener(\"change\", this.onInputChange_);\n      }\n      onInputChange_(t) {\n        const i = t.currentTarget.value, r = this.parser_(i);\n        g(r) || (this.value.rawValue = r), this.view.refresh();\n      }\n    }\n    function yr(n) {\n      return String(n);\n    }\n    function kn(n) {\n      return n === \"false\" ? !1 : !!n;\n    }\n    function Vn(n) {\n      return yr(n);\n    }\n    class Pr {\n      constructor(t) {\n        this.text = t;\n      }\n      evaluate() {\n        return Number(this.text);\n      }\n      toString() {\n        return this.text;\n      }\n    }\n    const Er = {\n      \"**\": (n, t) => Math.pow(n, t),\n      \"*\": (n, t) => n * t,\n      \"/\": (n, t) => n / t,\n      \"%\": (n, t) => n % t,\n      \"+\": (n, t) => n + t,\n      \"-\": (n, t) => n - t,\n      \"<<\": (n, t) => n << t,\n      \">>\": (n, t) => n >> t,\n      \">>>\": (n, t) => n >>> t,\n      \"&\": (n, t) => n & t,\n      \"^\": (n, t) => n ^ t,\n      \"|\": (n, t) => n | t\n    };\n    class kr {\n      constructor(t, e, i) {\n        this.left = e, this.operator = t, this.right = i;\n      }\n      evaluate() {\n        const t = Er[this.operator];\n        if (!t)\n          throw new Error(`unexpected binary operator: '${this.operator}`);\n        return t(this.left.evaluate(), this.right.evaluate());\n      }\n      toString() {\n        return [\n          \"b(\",\n          this.left.toString(),\n          this.operator,\n          this.right.toString(),\n          \")\"\n        ].join(\" \");\n      }\n    }\n    const Vr = {\n      \"+\": (n) => n,\n      \"-\": (n) => -n,\n      \"~\": (n) => ~n\n    };\n    class Sr {\n      constructor(t, e) {\n        this.operator = t, this.expression = e;\n      }\n      evaluate() {\n        const t = Vr[this.operator];\n        if (!t)\n          throw new Error(`unexpected unary operator: '${this.operator}`);\n        return t(this.expression.evaluate());\n      }\n      toString() {\n        return [\"u(\", this.operator, this.expression.toString(), \")\"].join(\" \");\n      }\n    }\n    function Ve(n) {\n      return (t, e) => {\n        for (let i = 0; i < n.length; i++) {\n          const r = n[i](t, e);\n          if (r !== \"\")\n            return r;\n        }\n        return \"\";\n      };\n    }\n    function Bt(n, t) {\n      var e;\n      const i = n.substr(t).match(/^\\s+/);\n      return (e = i && i[0]) !== null && e !== void 0 ? e : \"\";\n    }\n    function Lr(n, t) {\n      const e = n.substr(t, 1);\n      return e.match(/^[1-9]$/) ? e : \"\";\n    }\n    function Ut(n, t) {\n      var e;\n      const i = n.substr(t).match(/^[0-9]+/);\n      return (e = i && i[0]) !== null && e !== void 0 ? e : \"\";\n    }\n    function Ar(n, t) {\n      const e = Ut(n, t);\n      if (e !== \"\")\n        return e;\n      const i = n.substr(t, 1);\n      if (t += 1, i !== \"-\" && i !== \"+\")\n        return \"\";\n      const r = Ut(n, t);\n      return r === \"\" ? \"\" : i + r;\n    }\n    function Se(n, t) {\n      const e = n.substr(t, 1);\n      if (t += 1, e.toLowerCase() !== \"e\")\n        return \"\";\n      const i = Ar(n, t);\n      return i === \"\" ? \"\" : e + i;\n    }\n    function Sn(n, t) {\n      const e = n.substr(t, 1);\n      if (e === \"0\")\n        return e;\n      const i = Lr(n, t);\n      return t += i.length, i === \"\" ? \"\" : i + Ut(n, t);\n    }\n    function Mr(n, t) {\n      const e = Sn(n, t);\n      if (t += e.length, e === \"\")\n        return \"\";\n      const i = n.substr(t, 1);\n      if (t += i.length, i !== \".\")\n        return \"\";\n      const r = Ut(n, t);\n      return t += r.length, e + i + r + Se(n, t);\n    }\n    function Rr(n, t) {\n      const e = n.substr(t, 1);\n      if (t += e.length, e !== \".\")\n        return \"\";\n      const i = Ut(n, t);\n      return t += i.length, i === \"\" ? \"\" : e + i + Se(n, t);\n    }\n    function Dr(n, t) {\n      const e = Sn(n, t);\n      return t += e.length, e === \"\" ? \"\" : e + Se(n, t);\n    }\n    const Or = Ve([\n      Mr,\n      Rr,\n      Dr\n    ]);\n    function Tr(n, t) {\n      var e;\n      const i = n.substr(t).match(/^[01]+/);\n      return (e = i && i[0]) !== null && e !== void 0 ? e : \"\";\n    }\n    function Nr(n, t) {\n      const e = n.substr(t, 2);\n      if (t += e.length, e.toLowerCase() !== \"0b\")\n        return \"\";\n      const i = Tr(n, t);\n      return i === \"\" ? \"\" : e + i;\n    }\n    function Ir(n, t) {\n      var e;\n      const i = n.substr(t).match(/^[0-7]+/);\n      return (e = i && i[0]) !== null && e !== void 0 ? e : \"\";\n    }\n    function Br(n, t) {\n      const e = n.substr(t, 2);\n      if (t += e.length, e.toLowerCase() !== \"0o\")\n        return \"\";\n      const i = Ir(n, t);\n      return i === \"\" ? \"\" : e + i;\n    }\n    function Ur(n, t) {\n      var e;\n      const i = n.substr(t).match(/^[0-9a-f]+/i);\n      return (e = i && i[0]) !== null && e !== void 0 ? e : \"\";\n    }\n    function jr(n, t) {\n      const e = n.substr(t, 2);\n      if (t += e.length, e.toLowerCase() !== \"0x\")\n        return \"\";\n      const i = Ur(n, t);\n      return i === \"\" ? \"\" : e + i;\n    }\n    const Fr = Ve([\n      Nr,\n      Br,\n      jr\n    ]), Kr = Ve([\n      Fr,\n      Or\n    ]);\n    function $r(n, t) {\n      const e = Kr(n, t);\n      return t += e.length, e === \"\" ? null : {\n        evaluable: new Pr(e),\n        cursor: t\n      };\n    }\n    function Hr(n, t) {\n      const e = n.substr(t, 1);\n      if (t += e.length, e !== \"(\")\n        return null;\n      const i = An(n, t);\n      if (!i)\n        return null;\n      t = i.cursor, t += Bt(n, t).length;\n      const r = n.substr(t, 1);\n      return t += r.length, r !== \")\" ? null : {\n        evaluable: i.evaluable,\n        cursor: t\n      };\n    }\n    function zr(n, t) {\n      var e;\n      return (e = $r(n, t)) !== null && e !== void 0 ? e : Hr(n, t);\n    }\n    function Ln(n, t) {\n      const e = zr(n, t);\n      if (e)\n        return e;\n      const i = n.substr(t, 1);\n      if (t += i.length, i !== \"+\" && i !== \"-\" && i !== \"~\")\n        return null;\n      const r = Ln(n, t);\n      return r ? (t = r.cursor, {\n        cursor: t,\n        evaluable: new Sr(i, r.evaluable)\n      }) : null;\n    }\n    function Gr(n, t, e) {\n      e += Bt(t, e).length;\n      const i = n.filter((r) => t.startsWith(r, e))[0];\n      return i ? (e += i.length, e += Bt(t, e).length, {\n        cursor: e,\n        operator: i\n      }) : null;\n    }\n    function qr(n, t) {\n      return (e, i) => {\n        const r = n(e, i);\n        if (!r)\n          return null;\n        i = r.cursor;\n        let a = r.evaluable;\n        for (; ; ) {\n          const d = Gr(t, e, i);\n          if (!d)\n            break;\n          i = d.cursor;\n          const h = n(e, i);\n          if (!h)\n            return null;\n          i = h.cursor, a = new kr(d.operator, a, h.evaluable);\n        }\n        return a ? {\n          cursor: i,\n          evaluable: a\n        } : null;\n      };\n    }\n    const Yr = [\n      [\"**\"],\n      [\"*\", \"/\", \"%\"],\n      [\"+\", \"-\"],\n      [\"<<\", \">>>\", \">>\"],\n      [\"&\"],\n      [\"^\"],\n      [\"|\"]\n    ].reduce((n, t) => qr(n, t), Ln);\n    function An(n, t) {\n      return t += Bt(n, t).length, Yr(n, t);\n    }\n    function Qr(n) {\n      const t = An(n, 0);\n      return !t || t.cursor + Bt(n, t.cursor).length !== n.length ? null : t.evaluable;\n    }\n    function Z(n) {\n      var t;\n      const e = Qr(n);\n      return (t = e == null ? void 0 : e.evaluate()) !== null && t !== void 0 ? t : null;\n    }\n    function Mn(n) {\n      if (typeof n == \"number\")\n        return n;\n      if (typeof n == \"string\") {\n        const t = Z(n);\n        if (!g(t))\n          return t;\n      }\n      return 0;\n    }\n    function Wr(n) {\n      return String(n);\n    }\n    function B(n) {\n      return (t) => t.toFixed(Math.max(Math.min(n, 20), 0));\n    }\n    const Xr = B(0);\n    function ne(n) {\n      return Xr(n) + \"%\";\n    }\n    function Rn(n) {\n      return String(n);\n    }\n    function Le(n) {\n      return n;\n    }\n    function jt({ primary: n, secondary: t, forward: e, backward: i }) {\n      let r = !1;\n      function a(d) {\n        r || (r = !0, d(), r = !1);\n      }\n      n.emitter.on(\"change\", (d) => {\n        a(() => {\n          t.setRawValue(e(n, t), d.options);\n        });\n      }), t.emitter.on(\"change\", (d) => {\n        a(() => {\n          n.setRawValue(i(n, t), d.options);\n        }), a(() => {\n          t.setRawValue(e(n, t), d.options);\n        });\n      }), a(() => {\n        t.setRawValue(e(n, t), {\n          forceEmit: !1,\n          last: !0\n        });\n      });\n    }\n    function U(n, t) {\n      const e = n * (t.altKey ? 0.1 : 1) * (t.shiftKey ? 10 : 1);\n      return t.upKey ? +e : t.downKey ? -e : 0;\n    }\n    function Ft(n) {\n      return {\n        altKey: n.altKey,\n        downKey: n.key === \"ArrowDown\",\n        shiftKey: n.shiftKey,\n        upKey: n.key === \"ArrowUp\"\n      };\n    }\n    function J(n) {\n      return {\n        altKey: n.altKey,\n        downKey: n.key === \"ArrowLeft\",\n        shiftKey: n.shiftKey,\n        upKey: n.key === \"ArrowRight\"\n      };\n    }\n    function Zr(n) {\n      return n === \"ArrowUp\" || n === \"ArrowDown\";\n    }\n    function Dn(n) {\n      return Zr(n) || n === \"ArrowLeft\" || n === \"ArrowRight\";\n    }\n    function Ae(n, t) {\n      var e, i;\n      const r = t.ownerDocument.defaultView, a = t.getBoundingClientRect();\n      return {\n        x: n.pageX - (((e = r && r.scrollX) !== null && e !== void 0 ? e : 0) + a.left),\n        y: n.pageY - (((i = r && r.scrollY) !== null && i !== void 0 ? i : 0) + a.top)\n      };\n    }\n    class ut {\n      constructor(t) {\n        this.lastTouch_ = null, this.onDocumentMouseMove_ = this.onDocumentMouseMove_.bind(this), this.onDocumentMouseUp_ = this.onDocumentMouseUp_.bind(this), this.onMouseDown_ = this.onMouseDown_.bind(this), this.onTouchEnd_ = this.onTouchEnd_.bind(this), this.onTouchMove_ = this.onTouchMove_.bind(this), this.onTouchStart_ = this.onTouchStart_.bind(this), this.elem_ = t, this.emitter = new M(), t.addEventListener(\"touchstart\", this.onTouchStart_, {\n          passive: !1\n        }), t.addEventListener(\"touchmove\", this.onTouchMove_, {\n          passive: !0\n        }), t.addEventListener(\"touchend\", this.onTouchEnd_), t.addEventListener(\"mousedown\", this.onMouseDown_);\n      }\n      computePosition_(t) {\n        const e = this.elem_.getBoundingClientRect();\n        return {\n          bounds: {\n            width: e.width,\n            height: e.height\n          },\n          point: t ? {\n            x: t.x,\n            y: t.y\n          } : null\n        };\n      }\n      onMouseDown_(t) {\n        var e;\n        t.preventDefault(), (e = t.currentTarget) === null || e === void 0 || e.focus();\n        const i = this.elem_.ownerDocument;\n        i.addEventListener(\"mousemove\", this.onDocumentMouseMove_), i.addEventListener(\"mouseup\", this.onDocumentMouseUp_), this.emitter.emit(\"down\", {\n          altKey: t.altKey,\n          data: this.computePosition_(Ae(t, this.elem_)),\n          sender: this,\n          shiftKey: t.shiftKey\n        });\n      }\n      onDocumentMouseMove_(t) {\n        this.emitter.emit(\"move\", {\n          altKey: t.altKey,\n          data: this.computePosition_(Ae(t, this.elem_)),\n          sender: this,\n          shiftKey: t.shiftKey\n        });\n      }\n      onDocumentMouseUp_(t) {\n        const e = this.elem_.ownerDocument;\n        e.removeEventListener(\"mousemove\", this.onDocumentMouseMove_), e.removeEventListener(\"mouseup\", this.onDocumentMouseUp_), this.emitter.emit(\"up\", {\n          altKey: t.altKey,\n          data: this.computePosition_(Ae(t, this.elem_)),\n          sender: this,\n          shiftKey: t.shiftKey\n        });\n      }\n      onTouchStart_(t) {\n        t.preventDefault();\n        const e = t.targetTouches.item(0), i = this.elem_.getBoundingClientRect();\n        this.emitter.emit(\"down\", {\n          altKey: t.altKey,\n          data: this.computePosition_(e ? {\n            x: e.clientX - i.left,\n            y: e.clientY - i.top\n          } : void 0),\n          sender: this,\n          shiftKey: t.shiftKey\n        }), this.lastTouch_ = e;\n      }\n      onTouchMove_(t) {\n        const e = t.targetTouches.item(0), i = this.elem_.getBoundingClientRect();\n        this.emitter.emit(\"move\", {\n          altKey: t.altKey,\n          data: this.computePosition_(e ? {\n            x: e.clientX - i.left,\n            y: e.clientY - i.top\n          } : void 0),\n          sender: this,\n          shiftKey: t.shiftKey\n        }), this.lastTouch_ = e;\n      }\n      onTouchEnd_(t) {\n        var e;\n        const i = (e = t.targetTouches.item(0)) !== null && e !== void 0 ? e : this.lastTouch_, r = this.elem_.getBoundingClientRect();\n        this.emitter.emit(\"up\", {\n          altKey: t.altKey,\n          data: this.computePosition_(i ? {\n            x: i.clientX - r.left,\n            y: i.clientY - r.top\n          } : void 0),\n          sender: this,\n          shiftKey: t.shiftKey\n        });\n      }\n    }\n    function D(n, t, e, i, r) {\n      const a = (n - t) / (e - t);\n      return i + a * (r - i);\n    }\n    function On(n) {\n      return String(n.toFixed(10)).split(\".\")[1].replace(/0+$/, \"\").length;\n    }\n    function T(n, t, e) {\n      return Math.min(Math.max(n, t), e);\n    }\n    function Tn(n, t) {\n      return (n % t + t) % t;\n    }\n    const j = E(\"txt\");\n    class Jr {\n      constructor(t, e) {\n        this.onChange_ = this.onChange_.bind(this), this.props_ = e.props, this.props_.emitter.on(\"change\", this.onChange_), this.element = t.createElement(\"div\"), this.element.classList.add(j(), j(void 0, \"num\")), e.arrayPosition && this.element.classList.add(j(void 0, e.arrayPosition)), e.viewProps.bindClassModifiers(this.element);\n        const i = t.createElement(\"input\");\n        i.classList.add(j(\"i\")), i.type = \"text\", e.viewProps.bindDisabled(i), this.element.appendChild(i), this.inputElement = i, this.onDraggingChange_ = this.onDraggingChange_.bind(this), this.dragging_ = e.dragging, this.dragging_.emitter.on(\"change\", this.onDraggingChange_), this.element.classList.add(j()), this.inputElement.classList.add(j(\"i\"));\n        const r = t.createElement(\"div\");\n        r.classList.add(j(\"k\")), this.element.appendChild(r), this.knobElement = r;\n        const a = t.createElementNS(z, \"svg\");\n        a.classList.add(j(\"g\")), this.knobElement.appendChild(a);\n        const d = t.createElementNS(z, \"path\");\n        d.classList.add(j(\"gb\")), a.appendChild(d), this.guideBodyElem_ = d;\n        const h = t.createElementNS(z, \"path\");\n        h.classList.add(j(\"gh\")), a.appendChild(h), this.guideHeadElem_ = h;\n        const m = t.createElement(\"div\");\n        m.classList.add(E(\"tt\")()), this.knobElement.appendChild(m), this.tooltipElem_ = m, e.value.emitter.on(\"change\", this.onChange_), this.value = e.value, this.refresh();\n      }\n      onDraggingChange_(t) {\n        if (t.rawValue === null) {\n          this.element.classList.remove(j(void 0, \"drg\"));\n          return;\n        }\n        this.element.classList.add(j(void 0, \"drg\"));\n        const e = t.rawValue / this.props_.get(\"draggingScale\"), i = e + (e > 0 ? -1 : e < 0 ? 1 : 0), r = T(-i, -4, 4);\n        this.guideHeadElem_.setAttributeNS(null, \"d\", [`M ${i + r},0 L${i},4 L${i + r},8`, `M ${e},-1 L${e},9`].join(\" \")), this.guideBodyElem_.setAttributeNS(null, \"d\", `M 0,4 L${e},4`);\n        const a = this.props_.get(\"formatter\");\n        this.tooltipElem_.textContent = a(this.value.rawValue), this.tooltipElem_.style.left = `${e}px`;\n      }\n      refresh() {\n        const t = this.props_.get(\"formatter\");\n        this.inputElement.value = t(this.value.rawValue);\n      }\n      onChange_() {\n        this.refresh();\n      }\n    }\n    class Kt {\n      constructor(t, e) {\n        var i;\n        this.originRawValue_ = 0, this.onInputChange_ = this.onInputChange_.bind(this), this.onInputKeyDown_ = this.onInputKeyDown_.bind(this), this.onInputKeyUp_ = this.onInputKeyUp_.bind(this), this.onPointerDown_ = this.onPointerDown_.bind(this), this.onPointerMove_ = this.onPointerMove_.bind(this), this.onPointerUp_ = this.onPointerUp_.bind(this), this.baseStep_ = e.baseStep, this.parser_ = e.parser, this.props = e.props, this.sliderProps_ = (i = e.sliderProps) !== null && i !== void 0 ? i : null, this.value = e.value, this.viewProps = e.viewProps, this.dragging_ = N(null), this.view = new Jr(t, {\n          arrayPosition: e.arrayPosition,\n          dragging: this.dragging_,\n          props: this.props,\n          value: this.value,\n          viewProps: this.viewProps\n        }), this.view.inputElement.addEventListener(\"change\", this.onInputChange_), this.view.inputElement.addEventListener(\"keydown\", this.onInputKeyDown_), this.view.inputElement.addEventListener(\"keyup\", this.onInputKeyUp_);\n        const r = new ut(this.view.knobElement);\n        r.emitter.on(\"down\", this.onPointerDown_), r.emitter.on(\"move\", this.onPointerMove_), r.emitter.on(\"up\", this.onPointerUp_);\n      }\n      constrainValue_(t) {\n        var e, i;\n        const r = (e = this.sliderProps_) === null || e === void 0 ? void 0 : e.get(\"minValue\"), a = (i = this.sliderProps_) === null || i === void 0 ? void 0 : i.get(\"maxValue\");\n        let d = t;\n        return r !== void 0 && (d = Math.max(d, r)), a !== void 0 && (d = Math.min(d, a)), d;\n      }\n      onInputChange_(t) {\n        const i = t.currentTarget.value, r = this.parser_(i);\n        g(r) || (this.value.rawValue = this.constrainValue_(r)), this.view.refresh();\n      }\n      onInputKeyDown_(t) {\n        const e = U(this.baseStep_, Ft(t));\n        e !== 0 && this.value.setRawValue(this.constrainValue_(this.value.rawValue + e), {\n          forceEmit: !1,\n          last: !1\n        });\n      }\n      onInputKeyUp_(t) {\n        U(this.baseStep_, Ft(t)) !== 0 && this.value.setRawValue(this.value.rawValue, {\n          forceEmit: !0,\n          last: !0\n        });\n      }\n      onPointerDown_() {\n        this.originRawValue_ = this.value.rawValue, this.dragging_.rawValue = 0;\n      }\n      computeDraggingValue_(t) {\n        if (!t.point)\n          return null;\n        const e = t.point.x - t.bounds.width / 2;\n        return this.constrainValue_(this.originRawValue_ + e * this.props.get(\"draggingScale\"));\n      }\n      onPointerMove_(t) {\n        const e = this.computeDraggingValue_(t.data);\n        e !== null && (this.value.setRawValue(e, {\n          forceEmit: !1,\n          last: !1\n        }), this.dragging_.rawValue = this.value.rawValue - this.originRawValue_);\n      }\n      onPointerUp_(t) {\n        const e = this.computeDraggingValue_(t.data);\n        e !== null && (this.value.setRawValue(e, {\n          forceEmit: !0,\n          last: !0\n        }), this.dragging_.rawValue = null);\n      }\n    }\n    const Me = E(\"sld\");\n    class ts {\n      constructor(t, e) {\n        this.onChange_ = this.onChange_.bind(this), this.props_ = e.props, this.props_.emitter.on(\"change\", this.onChange_), this.element = t.createElement(\"div\"), this.element.classList.add(Me()), e.viewProps.bindClassModifiers(this.element);\n        const i = t.createElement(\"div\");\n        i.classList.add(Me(\"t\")), e.viewProps.bindTabIndex(i), this.element.appendChild(i), this.trackElement = i;\n        const r = t.createElement(\"div\");\n        r.classList.add(Me(\"k\")), this.trackElement.appendChild(r), this.knobElement = r, e.value.emitter.on(\"change\", this.onChange_), this.value = e.value, this.update_();\n      }\n      update_() {\n        const t = T(D(this.value.rawValue, this.props_.get(\"minValue\"), this.props_.get(\"maxValue\"), 0, 100), 0, 100);\n        this.knobElement.style.width = `${t}%`;\n      }\n      onChange_() {\n        this.update_();\n      }\n    }\n    class es {\n      constructor(t, e) {\n        this.onKeyDown_ = this.onKeyDown_.bind(this), this.onKeyUp_ = this.onKeyUp_.bind(this), this.onPointerDownOrMove_ = this.onPointerDownOrMove_.bind(this), this.onPointerUp_ = this.onPointerUp_.bind(this), this.baseStep_ = e.baseStep, this.value = e.value, this.viewProps = e.viewProps, this.props = e.props, this.view = new ts(t, {\n          props: this.props,\n          value: this.value,\n          viewProps: this.viewProps\n        }), this.ptHandler_ = new ut(this.view.trackElement), this.ptHandler_.emitter.on(\"down\", this.onPointerDownOrMove_), this.ptHandler_.emitter.on(\"move\", this.onPointerDownOrMove_), this.ptHandler_.emitter.on(\"up\", this.onPointerUp_), this.view.trackElement.addEventListener(\"keydown\", this.onKeyDown_), this.view.trackElement.addEventListener(\"keyup\", this.onKeyUp_);\n      }\n      handlePointerEvent_(t, e) {\n        t.point && this.value.setRawValue(D(T(t.point.x, 0, t.bounds.width), 0, t.bounds.width, this.props.get(\"minValue\"), this.props.get(\"maxValue\")), e);\n      }\n      onPointerDownOrMove_(t) {\n        this.handlePointerEvent_(t.data, {\n          forceEmit: !1,\n          last: !1\n        });\n      }\n      onPointerUp_(t) {\n        this.handlePointerEvent_(t.data, {\n          forceEmit: !0,\n          last: !0\n        });\n      }\n      onKeyDown_(t) {\n        const e = U(this.baseStep_, J(t));\n        e !== 0 && this.value.setRawValue(this.value.rawValue + e, {\n          forceEmit: !1,\n          last: !1\n        });\n      }\n      onKeyUp_(t) {\n        U(this.baseStep_, J(t)) !== 0 && this.value.setRawValue(this.value.rawValue, {\n          forceEmit: !0,\n          last: !0\n        });\n      }\n    }\n    const Re = E(\"sldtxt\");\n    class ns {\n      constructor(t, e) {\n        this.element = t.createElement(\"div\"), this.element.classList.add(Re());\n        const i = t.createElement(\"div\");\n        i.classList.add(Re(\"s\")), this.sliderView_ = e.sliderView, i.appendChild(this.sliderView_.element), this.element.appendChild(i);\n        const r = t.createElement(\"div\");\n        r.classList.add(Re(\"t\")), this.textView_ = e.textView, r.appendChild(this.textView_.element), this.element.appendChild(r);\n      }\n    }\n    class De {\n      constructor(t, e) {\n        this.value = e.value, this.viewProps = e.viewProps, this.sliderC_ = new es(t, {\n          baseStep: e.baseStep,\n          props: e.sliderProps,\n          value: e.value,\n          viewProps: this.viewProps\n        }), this.textC_ = new Kt(t, {\n          baseStep: e.baseStep,\n          parser: e.parser,\n          props: e.textProps,\n          sliderProps: e.sliderProps,\n          value: e.value,\n          viewProps: e.viewProps\n        }), this.view = new ns(t, {\n          sliderView: this.sliderC_.view,\n          textView: this.textC_.view\n        });\n      }\n      get sliderController() {\n        return this.sliderC_;\n      }\n      get textController() {\n        return this.textC_;\n      }\n    }\n    function $t(n, t) {\n      n.write(t);\n    }\n    function ie(n) {\n      const t = R;\n      if (Array.isArray(n))\n        return t.required.array(t.required.object({\n          text: t.required.string,\n          value: t.required.raw\n        }))(n).value;\n      if (typeof n == \"object\")\n        return t.required.raw(n).value;\n    }\n    function Nn(n) {\n      if (n === \"inline\" || n === \"popup\")\n        return n;\n    }\n    function it(n) {\n      const t = R;\n      return t.required.object({\n        max: t.optional.number,\n        min: t.optional.number,\n        step: t.optional.number\n      })(n).value;\n    }\n    function In(n) {\n      if (Array.isArray(n))\n        return n;\n      const t = [];\n      return Object.keys(n).forEach((e) => {\n        t.push({ text: e, value: n[e] });\n      }), t;\n    }\n    function Oe(n) {\n      return g(n) ? null : new Nt(In(n));\n    }\n    function is(n) {\n      const t = n ? X(n, te) : null;\n      return t ? t.step : null;\n    }\n    function re(n, t) {\n      const e = n && X(n, te);\n      return e ? On(e.step) : Math.max(On(t), 2);\n    }\n    function Ct(n) {\n      const t = is(n);\n      return t ?? 1;\n    }\n    function xt(n, t) {\n      var e;\n      const i = n && X(n, te), r = Math.abs((e = i == null ? void 0 : i.step) !== null && e !== void 0 ? e : t);\n      return r === 0 ? 0.1 : Math.pow(10, Math.floor(Math.log10(r)) - 1);\n    }\n    const se = E(\"ckb\");\n    class rs {\n      constructor(t, e) {\n        this.onValueChange_ = this.onValueChange_.bind(this), this.element = t.createElement(\"div\"), this.element.classList.add(se()), e.viewProps.bindClassModifiers(this.element);\n        const i = t.createElement(\"label\");\n        i.classList.add(se(\"l\")), this.element.appendChild(i);\n        const r = t.createElement(\"input\");\n        r.classList.add(se(\"i\")), r.type = \"checkbox\", i.appendChild(r), this.inputElement = r, e.viewProps.bindDisabled(this.inputElement);\n        const a = t.createElement(\"div\");\n        a.classList.add(se(\"w\")), i.appendChild(a);\n        const d = Xt(t, \"check\");\n        a.appendChild(d), e.value.emitter.on(\"change\", this.onValueChange_), this.value = e.value, this.update_();\n      }\n      update_() {\n        this.inputElement.checked = this.value.rawValue;\n      }\n      onValueChange_() {\n        this.update_();\n      }\n    }\n    class ss {\n      constructor(t, e) {\n        this.onInputChange_ = this.onInputChange_.bind(this), this.value = e.value, this.viewProps = e.viewProps, this.view = new rs(t, {\n          value: this.value,\n          viewProps: this.viewProps\n        }), this.view.inputElement.addEventListener(\"change\", this.onInputChange_);\n      }\n      onInputChange_(t) {\n        const e = t.currentTarget;\n        this.value.rawValue = e.checked;\n      }\n    }\n    function os(n) {\n      const t = [], e = Oe(n.options);\n      return e && t.push(e), new Tt(t);\n    }\n    const as = {\n      id: \"input-bool\",\n      type: \"input\",\n      accept: (n, t) => {\n        if (typeof n != \"boolean\")\n          return null;\n        const i = I(t, {\n          options: R.optional.custom(ie)\n        });\n        return i ? {\n          initialValue: n,\n          params: i\n        } : null;\n      },\n      binding: {\n        reader: (n) => kn,\n        constraint: (n) => os(n.params),\n        writer: (n) => $t\n      },\n      controller: (n) => {\n        const t = n.document, e = n.value, i = n.constraint, r = i && X(i, Nt);\n        return r ? new It(t, {\n          props: new C({\n            options: r.values.value(\"options\")\n          }),\n          value: e,\n          viewProps: n.viewProps\n        }) : new ss(t, {\n          value: e,\n          viewProps: n.viewProps\n        });\n      }\n    }, ct = E(\"col\");\n    class ls {\n      constructor(t, e) {\n        this.element = t.createElement(\"div\"), this.element.classList.add(ct()), e.foldable.bindExpandedClass(this.element, ct(void 0, \"expanded\")), H(e.foldable, \"completed\", ft(this.element, ct(void 0, \"cpl\")));\n        const i = t.createElement(\"div\");\n        i.classList.add(ct(\"h\")), this.element.appendChild(i);\n        const r = t.createElement(\"div\");\n        r.classList.add(ct(\"s\")), i.appendChild(r), this.swatchElement = r;\n        const a = t.createElement(\"div\");\n        if (a.classList.add(ct(\"t\")), i.appendChild(a), this.textElement = a, e.pickerLayout === \"inline\") {\n          const d = t.createElement(\"div\");\n          d.classList.add(ct(\"p\")), this.element.appendChild(d), this.pickerElement = d;\n        } else\n          this.pickerElement = null;\n      }\n    }\n    function ps(n, t, e) {\n      const i = T(n / 255, 0, 1), r = T(t / 255, 0, 1), a = T(e / 255, 0, 1), d = Math.max(i, r, a), h = Math.min(i, r, a), m = d - h;\n      let f = 0, k = 0;\n      const V = (h + d) / 2;\n      return m !== 0 && (k = m / (1 - Math.abs(d + h - 1)), i === d ? f = (r - a) / m : r === d ? f = 2 + (a - i) / m : f = 4 + (i - r) / m, f = f / 6 + (f < 0 ? 1 : 0)), [f * 360, k * 100, V * 100];\n    }\n    function ds(n, t, e) {\n      const i = (n % 360 + 360) % 360, r = T(t / 100, 0, 1), a = T(e / 100, 0, 1), d = (1 - Math.abs(2 * a - 1)) * r, h = d * (1 - Math.abs(i / 60 % 2 - 1)), m = a - d / 2;\n      let f, k, V;\n      return i >= 0 && i < 60 ? [f, k, V] = [d, h, 0] : i >= 60 && i < 120 ? [f, k, V] = [h, d, 0] : i >= 120 && i < 180 ? [f, k, V] = [0, d, h] : i >= 180 && i < 240 ? [f, k, V] = [0, h, d] : i >= 240 && i < 300 ? [f, k, V] = [h, 0, d] : [f, k, V] = [d, 0, h], [(f + m) * 255, (k + m) * 255, (V + m) * 255];\n    }\n    function us(n, t, e) {\n      const i = T(n / 255, 0, 1), r = T(t / 255, 0, 1), a = T(e / 255, 0, 1), d = Math.max(i, r, a), h = Math.min(i, r, a), m = d - h;\n      let f;\n      m === 0 ? f = 0 : d === i ? f = 60 * (((r - a) / m % 6 + 6) % 6) : d === r ? f = 60 * ((a - i) / m + 2) : f = 60 * ((i - r) / m + 4);\n      const k = d === 0 ? 0 : m / d, V = d;\n      return [f, k * 100, V * 100];\n    }\n    function Bn(n, t, e) {\n      const i = Tn(n, 360), r = T(t / 100, 0, 1), a = T(e / 100, 0, 1), d = a * r, h = d * (1 - Math.abs(i / 60 % 2 - 1)), m = a - d;\n      let f, k, V;\n      return i >= 0 && i < 60 ? [f, k, V] = [d, h, 0] : i >= 60 && i < 120 ? [f, k, V] = [h, d, 0] : i >= 120 && i < 180 ? [f, k, V] = [0, d, h] : i >= 180 && i < 240 ? [f, k, V] = [0, h, d] : i >= 240 && i < 300 ? [f, k, V] = [h, 0, d] : [f, k, V] = [d, 0, h], [(f + m) * 255, (k + m) * 255, (V + m) * 255];\n    }\n    function cs(n, t, e) {\n      const i = e + t * (100 - Math.abs(2 * e - 100)) / 200;\n      return [\n        n,\n        i !== 0 ? t * (100 - Math.abs(2 * e - 100)) / i : 0,\n        e + t * (100 - Math.abs(2 * e - 100)) / (2 * 100)\n      ];\n    }\n    function hs(n, t, e) {\n      const i = 100 - Math.abs(e * (200 - t) / 100 - 100);\n      return [n, i !== 0 ? t * e / i : 0, e * (200 - t) / (2 * 100)];\n    }\n    function ht(n) {\n      return [n[0], n[1], n[2]];\n    }\n    function Un(n, t) {\n      return [n[0], n[1], n[2], t];\n    }\n    const vs = {\n      hsl: {\n        hsl: (n, t, e) => [n, t, e],\n        hsv: cs,\n        rgb: ds\n      },\n      hsv: {\n        hsl: hs,\n        hsv: (n, t, e) => [n, t, e],\n        rgb: Bn\n      },\n      rgb: {\n        hsl: ps,\n        hsv: us,\n        rgb: (n, t, e) => [n, t, e]\n      }\n    };\n    function oe(n, t) {\n      return [\n        t === \"float\" ? 1 : n === \"rgb\" ? 255 : 360,\n        t === \"float\" ? 1 : n === \"rgb\" ? 255 : 100,\n        t === \"float\" ? 1 : n === \"rgb\" ? 255 : 100\n      ];\n    }\n    function ms(n, t) {\n      return n === t ? t : Tn(n, t);\n    }\n    function bs(n, t, e) {\n      var i;\n      const r = oe(t, e);\n      return [\n        t === \"rgb\" ? T(n[0], 0, r[0]) : ms(n[0], r[0]),\n        T(n[1], 0, r[1]),\n        T(n[2], 0, r[2]),\n        T((i = n[3]) !== null && i !== void 0 ? i : 1, 0, 1)\n      ];\n    }\n    function jn(n, t, e, i) {\n      const r = oe(t, e), a = oe(t, i);\n      return n.map((d, h) => d / r[h] * a[h]);\n    }\n    function fs(n, t, e) {\n      const i = jn(n, t.mode, t.type, \"int\"), r = vs[t.mode][e.mode](...i);\n      return jn(r, e.mode, \"int\", e.type);\n    }\n    function ae(n, t) {\n      return typeof n != \"object\" || g(n) ? !1 : t in n && typeof n[t] == \"number\";\n    }\n    class x {\n      static black(t = \"int\") {\n        return new x([0, 0, 0], \"rgb\", t);\n      }\n      static fromObject(t, e = \"int\") {\n        const i = \"a\" in t ? [t.r, t.g, t.b, t.a] : [t.r, t.g, t.b];\n        return new x(i, \"rgb\", e);\n      }\n      static toRgbaObject(t, e = \"int\") {\n        return t.toRgbaObject(e);\n      }\n      static isRgbColorObject(t) {\n        return ae(t, \"r\") && ae(t, \"g\") && ae(t, \"b\");\n      }\n      static isRgbaColorObject(t) {\n        return this.isRgbColorObject(t) && ae(t, \"a\");\n      }\n      static isColorObject(t) {\n        return this.isRgbColorObject(t);\n      }\n      static equals(t, e) {\n        if (t.mode !== e.mode)\n          return !1;\n        const i = t.comps_, r = e.comps_;\n        for (let a = 0; a < i.length; a++)\n          if (i[a] !== r[a])\n            return !1;\n        return !0;\n      }\n      constructor(t, e, i = \"int\") {\n        this.mode = e, this.type = i, this.comps_ = bs(t, e, i);\n      }\n      getComponents(t, e = \"int\") {\n        return Un(fs(ht(this.comps_), { mode: this.mode, type: this.type }, { mode: t ?? this.mode, type: e }), this.comps_[3]);\n      }\n      toRgbaObject(t = \"int\") {\n        const e = this.getComponents(\"rgb\", t);\n        return {\n          r: e[0],\n          g: e[1],\n          b: e[2],\n          a: e[3]\n        };\n      }\n    }\n    const rt = E(\"colp\");\n    class _s {\n      constructor(t, e) {\n        this.alphaViews_ = null, this.element = t.createElement(\"div\"), this.element.classList.add(rt()), e.viewProps.bindClassModifiers(this.element);\n        const i = t.createElement(\"div\");\n        i.classList.add(rt(\"hsv\"));\n        const r = t.createElement(\"div\");\n        r.classList.add(rt(\"sv\")), this.svPaletteView_ = e.svPaletteView, r.appendChild(this.svPaletteView_.element), i.appendChild(r);\n        const a = t.createElement(\"div\");\n        a.classList.add(rt(\"h\")), this.hPaletteView_ = e.hPaletteView, a.appendChild(this.hPaletteView_.element), i.appendChild(a), this.element.appendChild(i);\n        const d = t.createElement(\"div\");\n        if (d.classList.add(rt(\"rgb\")), this.textView_ = e.textView, d.appendChild(this.textView_.element), this.element.appendChild(d), e.alphaViews) {\n          this.alphaViews_ = {\n            palette: e.alphaViews.palette,\n            text: e.alphaViews.text\n          };\n          const h = t.createElement(\"div\");\n          h.classList.add(rt(\"a\"));\n          const m = t.createElement(\"div\");\n          m.classList.add(rt(\"ap\")), m.appendChild(this.alphaViews_.palette.element), h.appendChild(m);\n          const f = t.createElement(\"div\");\n          f.classList.add(rt(\"at\")), f.appendChild(this.alphaViews_.text.element), h.appendChild(f), this.element.appendChild(h);\n        }\n      }\n      get allFocusableElements() {\n        const t = [\n          this.svPaletteView_.element,\n          this.hPaletteView_.element,\n          this.textView_.modeSelectElement,\n          ...this.textView_.textViews.map((e) => e.inputElement)\n        ];\n        return this.alphaViews_ && t.push(this.alphaViews_.palette.element, this.alphaViews_.text.inputElement), t;\n      }\n    }\n    function ws(n) {\n      return n === \"int\" ? \"int\" : n === \"float\" ? \"float\" : void 0;\n    }\n    function Te(n) {\n      const t = R;\n      return I(n, {\n        alpha: t.optional.boolean,\n        color: t.optional.object({\n          alpha: t.optional.boolean,\n          type: t.optional.custom(ws)\n        }),\n        expanded: t.optional.boolean,\n        picker: t.optional.custom(Nn)\n      });\n    }\n    function vt(n) {\n      return n ? 0.1 : 1;\n    }\n    function mt(n) {\n      var t;\n      return (t = n.color) === null || t === void 0 ? void 0 : t.type;\n    }\n    function gs(n, t) {\n      return n.alpha === t.alpha && n.mode === t.mode && n.notation === t.notation && n.type === t.type;\n    }\n    function F(n, t) {\n      const e = n.match(/^(.+)%$/);\n      return Math.min(e ? parseFloat(e[1]) * 0.01 * t : parseFloat(n), t);\n    }\n    const Cs = {\n      deg: (n) => n,\n      grad: (n) => n * 360 / 400,\n      rad: (n) => n * 360 / (2 * Math.PI),\n      turn: (n) => n * 360\n    };\n    function Fn(n) {\n      const t = n.match(/^([0-9.]+?)(deg|grad|rad|turn)$/);\n      if (!t)\n        return parseFloat(n);\n      const e = parseFloat(t[1]), i = t[2];\n      return Cs[i](e);\n    }\n    function Kn(n) {\n      const t = n.match(/^rgb\\(\\s*([0-9A-Fa-f.]+%?)\\s*,\\s*([0-9A-Fa-f.]+%?)\\s*,\\s*([0-9A-Fa-f.]+%?)\\s*\\)$/);\n      if (!t)\n        return null;\n      const e = [\n        F(t[1], 255),\n        F(t[2], 255),\n        F(t[3], 255)\n      ];\n      return isNaN(e[0]) || isNaN(e[1]) || isNaN(e[2]) ? null : e;\n    }\n    function $n(n) {\n      return (t) => {\n        const e = Kn(t);\n        return e ? new x(e, \"rgb\", n) : null;\n      };\n    }\n    function Hn(n) {\n      const t = n.match(/^rgba\\(\\s*([0-9A-Fa-f.]+%?)\\s*,\\s*([0-9A-Fa-f.]+%?)\\s*,\\s*([0-9A-Fa-f.]+%?)\\s*,\\s*([0-9A-Fa-f.]+%?)\\s*\\)$/);\n      if (!t)\n        return null;\n      const e = [\n        F(t[1], 255),\n        F(t[2], 255),\n        F(t[3], 255),\n        F(t[4], 1)\n      ];\n      return isNaN(e[0]) || isNaN(e[1]) || isNaN(e[2]) || isNaN(e[3]) ? null : e;\n    }\n    function zn(n) {\n      return (t) => {\n        const e = Hn(t);\n        return e ? new x(e, \"rgb\", n) : null;\n      };\n    }\n    function Gn(n) {\n      const t = n.match(/^hsl\\(\\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\\s*,\\s*([0-9A-Fa-f.]+%?)\\s*,\\s*([0-9A-Fa-f.]+%?)\\s*\\)$/);\n      if (!t)\n        return null;\n      const e = [\n        Fn(t[1]),\n        F(t[2], 100),\n        F(t[3], 100)\n      ];\n      return isNaN(e[0]) || isNaN(e[1]) || isNaN(e[2]) ? null : e;\n    }\n    function qn(n) {\n      return (t) => {\n        const e = Gn(t);\n        return e ? new x(e, \"hsl\", n) : null;\n      };\n    }\n    function Yn(n) {\n      const t = n.match(/^hsla\\(\\s*([0-9A-Fa-f.]+(?:deg|grad|rad|turn)?)\\s*,\\s*([0-9A-Fa-f.]+%?)\\s*,\\s*([0-9A-Fa-f.]+%?)\\s*,\\s*([0-9A-Fa-f.]+%?)\\s*\\)$/);\n      if (!t)\n        return null;\n      const e = [\n        Fn(t[1]),\n        F(t[2], 100),\n        F(t[3], 100),\n        F(t[4], 1)\n      ];\n      return isNaN(e[0]) || isNaN(e[1]) || isNaN(e[2]) || isNaN(e[3]) ? null : e;\n    }\n    function Qn(n) {\n      return (t) => {\n        const e = Yn(t);\n        return e ? new x(e, \"hsl\", n) : null;\n      };\n    }\n    function Wn(n) {\n      const t = n.match(/^#([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);\n      if (t)\n        return [\n          parseInt(t[1] + t[1], 16),\n          parseInt(t[2] + t[2], 16),\n          parseInt(t[3] + t[3], 16)\n        ];\n      const e = n.match(/^(?:#|0x)([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);\n      return e ? [\n        parseInt(e[1], 16),\n        parseInt(e[2], 16),\n        parseInt(e[3], 16)\n      ] : null;\n    }\n    function xs(n) {\n      const t = Wn(n);\n      return t ? new x(t, \"rgb\", \"int\") : null;\n    }\n    function Xn(n) {\n      const t = n.match(/^#?([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])$/);\n      if (t)\n        return [\n          parseInt(t[1] + t[1], 16),\n          parseInt(t[2] + t[2], 16),\n          parseInt(t[3] + t[3], 16),\n          D(parseInt(t[4] + t[4], 16), 0, 255, 0, 1)\n        ];\n      const e = n.match(/^(?:#|0x)?([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})$/);\n      return e ? [\n        parseInt(e[1], 16),\n        parseInt(e[2], 16),\n        parseInt(e[3], 16),\n        D(parseInt(e[4], 16), 0, 255, 0, 1)\n      ] : null;\n    }\n    function ys(n) {\n      const t = Xn(n);\n      return t ? new x(t, \"rgb\", \"int\") : null;\n    }\n    function Zn(n) {\n      const t = n.match(/^\\{\\s*r\\s*:\\s*([0-9A-Fa-f.]+%?)\\s*,\\s*g\\s*:\\s*([0-9A-Fa-f.]+%?)\\s*,\\s*b\\s*:\\s*([0-9A-Fa-f.]+%?)\\s*\\}$/);\n      if (!t)\n        return null;\n      const e = [\n        parseFloat(t[1]),\n        parseFloat(t[2]),\n        parseFloat(t[3])\n      ];\n      return isNaN(e[0]) || isNaN(e[1]) || isNaN(e[2]) ? null : e;\n    }\n    function Jn(n) {\n      return (t) => {\n        const e = Zn(t);\n        return e ? new x(e, \"rgb\", n) : null;\n      };\n    }\n    function ti(n) {\n      const t = n.match(/^\\{\\s*r\\s*:\\s*([0-9A-Fa-f.]+%?)\\s*,\\s*g\\s*:\\s*([0-9A-Fa-f.]+%?)\\s*,\\s*b\\s*:\\s*([0-9A-Fa-f.]+%?)\\s*,\\s*a\\s*:\\s*([0-9A-Fa-f.]+%?)\\s*\\}$/);\n      if (!t)\n        return null;\n      const e = [\n        parseFloat(t[1]),\n        parseFloat(t[2]),\n        parseFloat(t[3]),\n        parseFloat(t[4])\n      ];\n      return isNaN(e[0]) || isNaN(e[1]) || isNaN(e[2]) || isNaN(e[3]) ? null : e;\n    }\n    function ei(n) {\n      return (t) => {\n        const e = ti(t);\n        return e ? new x(e, \"rgb\", n) : null;\n      };\n    }\n    const Ps = [\n      {\n        parser: Wn,\n        result: {\n          alpha: !1,\n          mode: \"rgb\",\n          notation: \"hex\"\n        }\n      },\n      {\n        parser: Xn,\n        result: {\n          alpha: !0,\n          mode: \"rgb\",\n          notation: \"hex\"\n        }\n      },\n      {\n        parser: Kn,\n        result: {\n          alpha: !1,\n          mode: \"rgb\",\n          notation: \"func\"\n        }\n      },\n      {\n        parser: Hn,\n        result: {\n          alpha: !0,\n          mode: \"rgb\",\n          notation: \"func\"\n        }\n      },\n      {\n        parser: Gn,\n        result: {\n          alpha: !1,\n          mode: \"hsl\",\n          notation: \"func\"\n        }\n      },\n      {\n        parser: Yn,\n        result: {\n          alpha: !0,\n          mode: \"hsl\",\n          notation: \"func\"\n        }\n      },\n      {\n        parser: Zn,\n        result: {\n          alpha: !1,\n          mode: \"rgb\",\n          notation: \"object\"\n        }\n      },\n      {\n        parser: ti,\n        result: {\n          alpha: !0,\n          mode: \"rgb\",\n          notation: \"object\"\n        }\n      }\n    ];\n    function Es(n) {\n      return Ps.reduce((t, { parser: e, result: i }) => t || (e(n) ? i : null), null);\n    }\n    function Ne(n, t = \"int\") {\n      const e = Es(n);\n      return e ? e.notation === \"hex\" && t !== \"float\" ? Object.assign(Object.assign({}, e), { type: \"int\" }) : e.notation === \"func\" ? Object.assign(Object.assign({}, e), { type: t }) : null : null;\n    }\n    const ni = {\n      int: [\n        xs,\n        ys,\n        $n(\"int\"),\n        zn(\"int\"),\n        qn(\"int\"),\n        Qn(\"int\"),\n        Jn(\"int\"),\n        ei(\"int\")\n      ],\n      float: [\n        $n(\"float\"),\n        zn(\"float\"),\n        qn(\"float\"),\n        Qn(\"float\"),\n        Jn(\"float\"),\n        ei(\"float\")\n      ]\n    };\n    function ks(n) {\n      const t = ni[n];\n      return (e) => {\n        if (typeof e != \"string\")\n          return x.black(n);\n        const i = t.reduce((r, a) => r || a(e), null);\n        return i ?? x.black(n);\n      };\n    }\n    function Ie(n) {\n      const t = ni[n];\n      return (e) => t.reduce((i, r) => i || r(e), null);\n    }\n    function ii(n) {\n      const t = T(Math.floor(n), 0, 255).toString(16);\n      return t.length === 1 ? `0${t}` : t;\n    }\n    function ri(n, t = \"#\") {\n      const e = ht(n.getComponents(\"rgb\")).map(ii).join(\"\");\n      return `${t}${e}`;\n    }\n    function Be(n, t = \"#\") {\n      const e = n.getComponents(\"rgb\"), i = [e[0], e[1], e[2], e[3] * 255].map(ii).join(\"\");\n      return `${t}${i}`;\n    }\n    function si(n, t) {\n      const e = B(t === \"float\" ? 2 : 0);\n      return `rgb(${ht(n.getComponents(\"rgb\", t)).map((r) => e(r)).join(\", \")})`;\n    }\n    function Vs(n) {\n      return (t) => si(t, n);\n    }\n    function le(n, t) {\n      const e = B(2), i = B(t === \"float\" ? 2 : 0);\n      return `rgba(${n.getComponents(\"rgb\", t).map((a, d) => (d === 3 ? e : i)(a)).join(\", \")})`;\n    }\n    function Ss(n) {\n      return (t) => le(t, n);\n    }\n    function Ls(n) {\n      const t = [\n        B(0),\n        ne,\n        ne\n      ];\n      return `hsl(${ht(n.getComponents(\"hsl\")).map((i, r) => t[r](i)).join(\", \")})`;\n    }\n    function As(n) {\n      const t = [\n        B(0),\n        ne,\n        ne,\n        B(2)\n      ];\n      return `hsla(${n.getComponents(\"hsl\").map((i, r) => t[r](i)).join(\", \")})`;\n    }\n    function oi(n, t) {\n      const e = B(t === \"float\" ? 2 : 0), i = [\"r\", \"g\", \"b\"];\n      return `{${ht(n.getComponents(\"rgb\", t)).map((a, d) => `${i[d]}: ${e(a)}`).join(\", \")}}`;\n    }\n    function Ms(n) {\n      return (t) => oi(t, n);\n    }\n    function ai(n, t) {\n      const e = B(2), i = B(t === \"float\" ? 2 : 0), r = [\"r\", \"g\", \"b\", \"a\"];\n      return `{${n.getComponents(\"rgb\", t).map((d, h) => {\n        const m = h === 3 ? e : i;\n        return `${r[h]}: ${m(d)}`;\n      }).join(\", \")}}`;\n    }\n    function Rs(n) {\n      return (t) => ai(t, n);\n    }\n    const Ds = [\n      {\n        format: {\n          alpha: !1,\n          mode: \"rgb\",\n          notation: \"hex\",\n          type: \"int\"\n        },\n        stringifier: ri\n      },\n      {\n        format: {\n          alpha: !0,\n          mode: \"rgb\",\n          notation: \"hex\",\n          type: \"int\"\n        },\n        stringifier: Be\n      },\n      {\n        format: {\n          alpha: !1,\n          mode: \"hsl\",\n          notation: \"func\",\n          type: \"int\"\n        },\n        stringifier: Ls\n      },\n      {\n        format: {\n          alpha: !0,\n          mode: \"hsl\",\n          notation: \"func\",\n          type: \"int\"\n        },\n        stringifier: As\n      },\n      ...[\"int\", \"float\"].reduce((n, t) => [\n        ...n,\n        {\n          format: {\n            alpha: !1,\n            mode: \"rgb\",\n            notation: \"func\",\n            type: t\n          },\n          stringifier: Vs(t)\n        },\n        {\n          format: {\n            alpha: !0,\n            mode: \"rgb\",\n            notation: \"func\",\n            type: t\n          },\n          stringifier: Ss(t)\n        },\n        {\n          format: {\n            alpha: !1,\n            mode: \"rgb\",\n            notation: \"object\",\n            type: t\n          },\n          stringifier: Ms(t)\n        },\n        {\n          format: {\n            alpha: !0,\n            mode: \"rgb\",\n            notation: \"object\",\n            type: t\n          },\n          stringifier: Rs(t)\n        }\n      ], [])\n    ];\n    function Ue(n) {\n      return Ds.reduce((t, e) => t || (gs(e.format, n) ? e.stringifier : null), null);\n    }\n    const Ht = E(\"apl\");\n    class Os {\n      constructor(t, e) {\n        this.onValueChange_ = this.onValueChange_.bind(this), this.value = e.value, this.value.emitter.on(\"change\", this.onValueChange_), this.element = t.createElement(\"div\"), this.element.classList.add(Ht()), e.viewProps.bindClassModifiers(this.element), e.viewProps.bindTabIndex(this.element);\n        const i = t.createElement(\"div\");\n        i.classList.add(Ht(\"b\")), this.element.appendChild(i);\n        const r = t.createElement(\"div\");\n        r.classList.add(Ht(\"c\")), i.appendChild(r), this.colorElem_ = r;\n        const a = t.createElement(\"div\");\n        a.classList.add(Ht(\"m\")), this.element.appendChild(a), this.markerElem_ = a;\n        const d = t.createElement(\"div\");\n        d.classList.add(Ht(\"p\")), this.markerElem_.appendChild(d), this.previewElem_ = d, this.update_();\n      }\n      update_() {\n        const t = this.value.rawValue, e = t.getComponents(\"rgb\"), i = new x([e[0], e[1], e[2], 0], \"rgb\"), r = new x([e[0], e[1], e[2], 255], \"rgb\"), a = [\n          \"to right\",\n          le(i),\n          le(r)\n        ];\n        this.colorElem_.style.background = `linear-gradient(${a.join(\",\")})`, this.previewElem_.style.backgroundColor = le(t);\n        const d = D(e[3], 0, 1, 0, 100);\n        this.markerElem_.style.left = `${d}%`;\n      }\n      onValueChange_() {\n        this.update_();\n      }\n    }\n    class Ts {\n      constructor(t, e) {\n        this.onKeyDown_ = this.onKeyDown_.bind(this), this.onKeyUp_ = this.onKeyUp_.bind(this), this.onPointerDown_ = this.onPointerDown_.bind(this), this.onPointerMove_ = this.onPointerMove_.bind(this), this.onPointerUp_ = this.onPointerUp_.bind(this), this.value = e.value, this.viewProps = e.viewProps, this.view = new Os(t, {\n          value: this.value,\n          viewProps: this.viewProps\n        }), this.ptHandler_ = new ut(this.view.element), this.ptHandler_.emitter.on(\"down\", this.onPointerDown_), this.ptHandler_.emitter.on(\"move\", this.onPointerMove_), this.ptHandler_.emitter.on(\"up\", this.onPointerUp_), this.view.element.addEventListener(\"keydown\", this.onKeyDown_), this.view.element.addEventListener(\"keyup\", this.onKeyUp_);\n      }\n      handlePointerEvent_(t, e) {\n        if (!t.point)\n          return;\n        const i = t.point.x / t.bounds.width, r = this.value.rawValue, [a, d, h] = r.getComponents(\"hsv\");\n        this.value.setRawValue(new x([a, d, h, i], \"hsv\"), e);\n      }\n      onPointerDown_(t) {\n        this.handlePointerEvent_(t.data, {\n          forceEmit: !1,\n          last: !1\n        });\n      }\n      onPointerMove_(t) {\n        this.handlePointerEvent_(t.data, {\n          forceEmit: !1,\n          last: !1\n        });\n      }\n      onPointerUp_(t) {\n        this.handlePointerEvent_(t.data, {\n          forceEmit: !0,\n          last: !0\n        });\n      }\n      onKeyDown_(t) {\n        const e = U(vt(!0), J(t));\n        if (e === 0)\n          return;\n        const i = this.value.rawValue, [r, a, d, h] = i.getComponents(\"hsv\");\n        this.value.setRawValue(new x([r, a, d, h + e], \"hsv\"), {\n          forceEmit: !1,\n          last: !1\n        });\n      }\n      onKeyUp_(t) {\n        U(vt(!0), J(t)) !== 0 && this.value.setRawValue(this.value.rawValue, {\n          forceEmit: !0,\n          last: !0\n        });\n      }\n    }\n    const yt = E(\"coltxt\");\n    function Ns(n) {\n      const t = n.createElement(\"select\"), e = [\n        { text: \"RGB\", value: \"rgb\" },\n        { text: \"HSL\", value: \"hsl\" },\n        { text: \"HSV\", value: \"hsv\" }\n      ];\n      return t.appendChild(e.reduce((i, r) => {\n        const a = n.createElement(\"option\");\n        return a.textContent = r.text, a.value = r.value, i.appendChild(a), i;\n      }, n.createDocumentFragment())), t;\n    }\n    class Is {\n      constructor(t, e) {\n        this.element = t.createElement(\"div\"), this.element.classList.add(yt()), e.viewProps.bindClassModifiers(this.element);\n        const i = t.createElement(\"div\");\n        i.classList.add(yt(\"m\")), this.modeElem_ = Ns(t), this.modeElem_.classList.add(yt(\"ms\")), i.appendChild(this.modeSelectElement), e.viewProps.bindDisabled(this.modeElem_);\n        const r = t.createElement(\"div\");\n        r.classList.add(yt(\"mm\")), r.appendChild(Xt(t, \"dropdown\")), i.appendChild(r), this.element.appendChild(i);\n        const a = t.createElement(\"div\");\n        a.classList.add(yt(\"w\")), this.element.appendChild(a), this.textsElem_ = a, this.textViews_ = e.textViews, this.applyTextViews_(), Y(e.colorMode, (d) => {\n          this.modeElem_.value = d;\n        });\n      }\n      get modeSelectElement() {\n        return this.modeElem_;\n      }\n      get textViews() {\n        return this.textViews_;\n      }\n      set textViews(t) {\n        this.textViews_ = t, this.applyTextViews_();\n      }\n      applyTextViews_() {\n        on(this.textsElem_);\n        const t = this.element.ownerDocument;\n        this.textViews_.forEach((e) => {\n          const i = t.createElement(\"div\");\n          i.classList.add(yt(\"c\")), i.appendChild(e.element), this.textsElem_.appendChild(i);\n        });\n      }\n    }\n    function Bs(n) {\n      return B(n === \"float\" ? 2 : 0);\n    }\n    function Us(n, t, e) {\n      const i = oe(n, t)[e];\n      return new gt({\n        min: 0,\n        max: i\n      });\n    }\n    function je(n, t, e) {\n      return new Kt(n, {\n        arrayPosition: e === 0 ? \"fst\" : e === 2 ? \"lst\" : \"mid\",\n        baseStep: vt(!1),\n        parser: t.parser,\n        props: C.fromObject({\n          draggingScale: t.colorType === \"float\" ? 0.01 : 1,\n          formatter: Bs(t.colorType)\n        }),\n        value: N(0, {\n          constraint: Us(t.colorMode, t.colorType, e)\n        }),\n        viewProps: t.viewProps\n      });\n    }\n    class js {\n      constructor(t, e) {\n        this.onModeSelectChange_ = this.onModeSelectChange_.bind(this), this.colorType_ = e.colorType, this.parser_ = e.parser, this.value = e.value, this.viewProps = e.viewProps, this.colorMode = N(this.value.rawValue.mode), this.ccs_ = this.createComponentControllers_(t), this.view = new Is(t, {\n          colorMode: this.colorMode,\n          textViews: [this.ccs_[0].view, this.ccs_[1].view, this.ccs_[2].view],\n          viewProps: this.viewProps\n        }), this.view.modeSelectElement.addEventListener(\"change\", this.onModeSelectChange_);\n      }\n      createComponentControllers_(t) {\n        const e = {\n          colorMode: this.colorMode.rawValue,\n          colorType: this.colorType_,\n          parser: this.parser_,\n          viewProps: this.viewProps\n        }, i = [\n          je(t, e, 0),\n          je(t, e, 1),\n          je(t, e, 2)\n        ];\n        return i.forEach((r, a) => {\n          jt({\n            primary: this.value,\n            secondary: r.value,\n            forward: (d) => d.rawValue.getComponents(this.colorMode.rawValue, this.colorType_)[a],\n            backward: (d, h) => {\n              const m = this.colorMode.rawValue, f = d.rawValue.getComponents(m, this.colorType_);\n              return f[a] = h.rawValue, new x(Un(ht(f), f[3]), m, this.colorType_);\n            }\n          });\n        }), i;\n      }\n      onModeSelectChange_(t) {\n        const e = t.currentTarget;\n        this.colorMode.rawValue = e.value, this.ccs_ = this.createComponentControllers_(this.view.element.ownerDocument), this.view.textViews = [\n          this.ccs_[0].view,\n          this.ccs_[1].view,\n          this.ccs_[2].view\n        ];\n      }\n    }\n    const Fe = E(\"hpl\");\n    class Fs {\n      constructor(t, e) {\n        this.onValueChange_ = this.onValueChange_.bind(this), this.value = e.value, this.value.emitter.on(\"change\", this.onValueChange_), this.element = t.createElement(\"div\"), this.element.classList.add(Fe()), e.viewProps.bindClassModifiers(this.element), e.viewProps.bindTabIndex(this.element);\n        const i = t.createElement(\"div\");\n        i.classList.add(Fe(\"c\")), this.element.appendChild(i);\n        const r = t.createElement(\"div\");\n        r.classList.add(Fe(\"m\")), this.element.appendChild(r), this.markerElem_ = r, this.update_();\n      }\n      update_() {\n        const t = this.value.rawValue, [e] = t.getComponents(\"hsv\");\n        this.markerElem_.style.backgroundColor = si(new x([e, 100, 100], \"hsv\"));\n        const i = D(e, 0, 360, 0, 100);\n        this.markerElem_.style.left = `${i}%`;\n      }\n      onValueChange_() {\n        this.update_();\n      }\n    }\n    class Ks {\n      constructor(t, e) {\n        this.onKeyDown_ = this.onKeyDown_.bind(this), this.onKeyUp_ = this.onKeyUp_.bind(this), this.onPointerDown_ = this.onPointerDown_.bind(this), this.onPointerMove_ = this.onPointerMove_.bind(this), this.onPointerUp_ = this.onPointerUp_.bind(this), this.value = e.value, this.viewProps = e.viewProps, this.view = new Fs(t, {\n          value: this.value,\n          viewProps: this.viewProps\n        }), this.ptHandler_ = new ut(this.view.element), this.ptHandler_.emitter.on(\"down\", this.onPointerDown_), this.ptHandler_.emitter.on(\"move\", this.onPointerMove_), this.ptHandler_.emitter.on(\"up\", this.onPointerUp_), this.view.element.addEventListener(\"keydown\", this.onKeyDown_), this.view.element.addEventListener(\"keyup\", this.onKeyUp_);\n      }\n      handlePointerEvent_(t, e) {\n        if (!t.point)\n          return;\n        const i = D(T(t.point.x, 0, t.bounds.width), 0, t.bounds.width, 0, 360), r = this.value.rawValue, [, a, d, h] = r.getComponents(\"hsv\");\n        this.value.setRawValue(new x([i, a, d, h], \"hsv\"), e);\n      }\n      onPointerDown_(t) {\n        this.handlePointerEvent_(t.data, {\n          forceEmit: !1,\n          last: !1\n        });\n      }\n      onPointerMove_(t) {\n        this.handlePointerEvent_(t.data, {\n          forceEmit: !1,\n          last: !1\n        });\n      }\n      onPointerUp_(t) {\n        this.handlePointerEvent_(t.data, {\n          forceEmit: !0,\n          last: !0\n        });\n      }\n      onKeyDown_(t) {\n        const e = U(vt(!1), J(t));\n        if (e === 0)\n          return;\n        const i = this.value.rawValue, [r, a, d, h] = i.getComponents(\"hsv\");\n        this.value.setRawValue(new x([r + e, a, d, h], \"hsv\"), {\n          forceEmit: !1,\n          last: !1\n        });\n      }\n      onKeyUp_(t) {\n        U(vt(!1), J(t)) !== 0 && this.value.setRawValue(this.value.rawValue, {\n          forceEmit: !0,\n          last: !0\n        });\n      }\n    }\n    const Ke = E(\"svp\"), li = 64;\n    class $s {\n      constructor(t, e) {\n        this.onValueChange_ = this.onValueChange_.bind(this), this.value = e.value, this.value.emitter.on(\"change\", this.onValueChange_), this.element = t.createElement(\"div\"), this.element.classList.add(Ke()), e.viewProps.bindClassModifiers(this.element), e.viewProps.bindTabIndex(this.element);\n        const i = t.createElement(\"canvas\");\n        i.height = li, i.width = li, i.classList.add(Ke(\"c\")), this.element.appendChild(i), this.canvasElement = i;\n        const r = t.createElement(\"div\");\n        r.classList.add(Ke(\"m\")), this.element.appendChild(r), this.markerElem_ = r, this.update_();\n      }\n      update_() {\n        const t = Fi(this.canvasElement);\n        if (!t)\n          return;\n        const i = this.value.rawValue.getComponents(\"hsv\"), r = this.canvasElement.width, a = this.canvasElement.height, d = t.getImageData(0, 0, r, a), h = d.data;\n        for (let k = 0; k < a; k++)\n          for (let V = 0; V < r; V++) {\n            const bt = D(V, 0, r, 0, 100), Gt = D(k, 0, a, 100, 0), qt = Bn(i[0], bt, Gt), pe = (k * r + V) * 4;\n            h[pe] = qt[0], h[pe + 1] = qt[1], h[pe + 2] = qt[2], h[pe + 3] = 255;\n          }\n        t.putImageData(d, 0, 0);\n        const m = D(i[1], 0, 100, 0, 100);\n        this.markerElem_.style.left = `${m}%`;\n        const f = D(i[2], 0, 100, 100, 0);\n        this.markerElem_.style.top = `${f}%`;\n      }\n      onValueChange_() {\n        this.update_();\n      }\n    }\n    class Hs {\n      constructor(t, e) {\n        this.onKeyDown_ = this.onKeyDown_.bind(this), this.onKeyUp_ = this.onKeyUp_.bind(this), this.onPointerDown_ = this.onPointerDown_.bind(this), this.onPointerMove_ = this.onPointerMove_.bind(this), this.onPointerUp_ = this.onPointerUp_.bind(this), this.value = e.value, this.viewProps = e.viewProps, this.view = new $s(t, {\n          value: this.value,\n          viewProps: this.viewProps\n        }), this.ptHandler_ = new ut(this.view.element), this.ptHandler_.emitter.on(\"down\", this.onPointerDown_), this.ptHandler_.emitter.on(\"move\", this.onPointerMove_), this.ptHandler_.emitter.on(\"up\", this.onPointerUp_), this.view.element.addEventListener(\"keydown\", this.onKeyDown_), this.view.element.addEventListener(\"keyup\", this.onKeyUp_);\n      }\n      handlePointerEvent_(t, e) {\n        if (!t.point)\n          return;\n        const i = D(t.point.x, 0, t.bounds.width, 0, 100), r = D(t.point.y, 0, t.bounds.height, 100, 0), [a, , , d] = this.value.rawValue.getComponents(\"hsv\");\n        this.value.setRawValue(new x([a, i, r, d], \"hsv\"), e);\n      }\n      onPointerDown_(t) {\n        this.handlePointerEvent_(t.data, {\n          forceEmit: !1,\n          last: !1\n        });\n      }\n      onPointerMove_(t) {\n        this.handlePointerEvent_(t.data, {\n          forceEmit: !1,\n          last: !1\n        });\n      }\n      onPointerUp_(t) {\n        this.handlePointerEvent_(t.data, {\n          forceEmit: !0,\n          last: !0\n        });\n      }\n      onKeyDown_(t) {\n        Dn(t.key) && t.preventDefault();\n        const [e, i, r, a] = this.value.rawValue.getComponents(\"hsv\"), d = vt(!1), h = U(d, J(t)), m = U(d, Ft(t));\n        h === 0 && m === 0 || this.value.setRawValue(new x([e, i + h, r + m, a], \"hsv\"), {\n          forceEmit: !1,\n          last: !1\n        });\n      }\n      onKeyUp_(t) {\n        const e = vt(!1), i = U(e, J(t)), r = U(e, Ft(t));\n        i === 0 && r === 0 || this.value.setRawValue(this.value.rawValue, {\n          forceEmit: !0,\n          last: !0\n        });\n      }\n    }\n    class zs {\n      constructor(t, e) {\n        this.value = e.value, this.viewProps = e.viewProps, this.hPaletteC_ = new Ks(t, {\n          value: this.value,\n          viewProps: this.viewProps\n        }), this.svPaletteC_ = new Hs(t, {\n          value: this.value,\n          viewProps: this.viewProps\n        }), this.alphaIcs_ = e.supportsAlpha ? {\n          palette: new Ts(t, {\n            value: this.value,\n            viewProps: this.viewProps\n          }),\n          text: new Kt(t, {\n            parser: Z,\n            baseStep: 0.1,\n            props: C.fromObject({\n              draggingScale: 0.01,\n              formatter: B(2)\n            }),\n            value: N(0, {\n              constraint: new gt({ min: 0, max: 1 })\n            }),\n            viewProps: this.viewProps\n          })\n        } : null, this.alphaIcs_ && jt({\n          primary: this.value,\n          secondary: this.alphaIcs_.text.value,\n          forward: (i) => i.rawValue.getComponents()[3],\n          backward: (i, r) => {\n            const a = i.rawValue.getComponents();\n            return a[3] = r.rawValue, new x(a, i.rawValue.mode);\n          }\n        }), this.textC_ = new js(t, {\n          colorType: e.colorType,\n          parser: Z,\n          value: this.value,\n          viewProps: this.viewProps\n        }), this.view = new _s(t, {\n          alphaViews: this.alphaIcs_ ? {\n            palette: this.alphaIcs_.palette.view,\n            text: this.alphaIcs_.text.view\n          } : null,\n          hPaletteView: this.hPaletteC_.view,\n          supportsAlpha: e.supportsAlpha,\n          svPaletteView: this.svPaletteC_.view,\n          textView: this.textC_.view,\n          viewProps: this.viewProps\n        });\n      }\n      get textController() {\n        return this.textC_;\n      }\n    }\n    const $e = E(\"colsw\");\n    class Gs {\n      constructor(t, e) {\n        this.onValueChange_ = this.onValueChange_.bind(this), e.value.emitter.on(\"change\", this.onValueChange_), this.value = e.value, this.element = t.createElement(\"div\"), this.element.classList.add($e()), e.viewProps.bindClassModifiers(this.element);\n        const i = t.createElement(\"div\");\n        i.classList.add($e(\"sw\")), this.element.appendChild(i), this.swatchElem_ = i;\n        const r = t.createElement(\"button\");\n        r.classList.add($e(\"b\")), e.viewProps.bindDisabled(r), this.element.appendChild(r), this.buttonElement = r, this.update_();\n      }\n      update_() {\n        const t = this.value.rawValue;\n        this.swatchElem_.style.backgroundColor = Be(t);\n      }\n      onValueChange_() {\n        this.update_();\n      }\n    }\n    class qs {\n      constructor(t, e) {\n        this.value = e.value, this.viewProps = e.viewProps, this.view = new Gs(t, {\n          value: this.value,\n          viewProps: this.viewProps\n        });\n      }\n    }\n    class He {\n      constructor(t, e) {\n        this.onButtonBlur_ = this.onButtonBlur_.bind(this), this.onButtonClick_ = this.onButtonClick_.bind(this), this.onPopupChildBlur_ = this.onPopupChildBlur_.bind(this), this.onPopupChildKeydown_ = this.onPopupChildKeydown_.bind(this), this.value = e.value, this.viewProps = e.viewProps, this.foldable_ = At.create(e.expanded), this.swatchC_ = new qs(t, {\n          value: this.value,\n          viewProps: this.viewProps\n        });\n        const i = this.swatchC_.view.buttonElement;\n        i.addEventListener(\"blur\", this.onButtonBlur_), i.addEventListener(\"click\", this.onButtonClick_), this.textC_ = new ee(t, {\n          parser: e.parser,\n          props: C.fromObject({\n            formatter: e.formatter\n          }),\n          value: this.value,\n          viewProps: this.viewProps\n        }), this.view = new ls(t, {\n          foldable: this.foldable_,\n          pickerLayout: e.pickerLayout\n        }), this.view.swatchElement.appendChild(this.swatchC_.view.element), this.view.textElement.appendChild(this.textC_.view.element), this.popC_ = e.pickerLayout === \"popup\" ? new Pn(t, {\n          viewProps: this.viewProps\n        }) : null;\n        const r = new zs(t, {\n          colorType: e.colorType,\n          supportsAlpha: e.supportsAlpha,\n          value: this.value,\n          viewProps: this.viewProps\n        });\n        r.view.allFocusableElements.forEach((a) => {\n          a.addEventListener(\"blur\", this.onPopupChildBlur_), a.addEventListener(\"keydown\", this.onPopupChildKeydown_);\n        }), this.pickerC_ = r, this.popC_ ? (this.view.element.appendChild(this.popC_.view.element), this.popC_.view.element.appendChild(r.view.element), jt({\n          primary: this.foldable_.value(\"expanded\"),\n          secondary: this.popC_.shows,\n          forward: (a) => a.rawValue,\n          backward: (a, d) => d.rawValue\n        })) : this.view.pickerElement && (this.view.pickerElement.appendChild(this.pickerC_.view.element), fe(this.foldable_, this.view.pickerElement));\n      }\n      get textController() {\n        return this.textC_;\n      }\n      onButtonBlur_(t) {\n        if (!this.popC_)\n          return;\n        const e = this.view.element, i = t.relatedTarget;\n        (!i || !e.contains(i)) && (this.popC_.shows.rawValue = !1);\n      }\n      onButtonClick_() {\n        this.foldable_.set(\"expanded\", !this.foldable_.get(\"expanded\")), this.foldable_.get(\"expanded\") && this.pickerC_.view.allFocusableElements[0].focus();\n      }\n      onPopupChildBlur_(t) {\n        if (!this.popC_)\n          return;\n        const e = this.popC_.view.element, i = an(t);\n        i && e.contains(i) || i && i === this.swatchC_.view.buttonElement && !be(e.ownerDocument) || (this.popC_.shows.rawValue = !1);\n      }\n      onPopupChildKeydown_(t) {\n        this.popC_ ? t.key === \"Escape\" && (this.popC_.shows.rawValue = !1) : this.view.pickerElement && t.key === \"Escape\" && this.swatchC_.view.buttonElement.focus();\n      }\n    }\n    function Ys(n, t) {\n      return x.isColorObject(n) ? x.fromObject(n, t) : x.black(t);\n    }\n    function Qs(n) {\n      return ht(n.getComponents(\"rgb\")).reduce((t, e) => t << 8 | Math.floor(e) & 255, 0);\n    }\n    function Ws(n) {\n      return n.getComponents(\"rgb\").reduce((t, e, i) => {\n        const r = Math.floor(i === 3 ? e * 255 : e) & 255;\n        return t << 8 | r;\n      }, 0) >>> 0;\n    }\n    function Xs(n) {\n      return new x([n >> 16 & 255, n >> 8 & 255, n & 255], \"rgb\");\n    }\n    function Zs(n) {\n      return new x([\n        n >> 24 & 255,\n        n >> 16 & 255,\n        n >> 8 & 255,\n        D(n & 255, 0, 255, 0, 1)\n      ], \"rgb\");\n    }\n    function Js(n) {\n      return typeof n != \"number\" ? x.black() : Xs(n);\n    }\n    function to(n) {\n      return typeof n != \"number\" ? x.black() : Zs(n);\n    }\n    function eo(n) {\n      const t = Ue(n);\n      return t ? (e, i) => {\n        $t(e, t(i));\n      } : null;\n    }\n    function no(n) {\n      const t = n ? Ws : Qs;\n      return (e, i) => {\n        $t(e, t(i));\n      };\n    }\n    function io(n, t, e) {\n      const i = t.toRgbaObject(e);\n      n.writeProperty(\"r\", i.r), n.writeProperty(\"g\", i.g), n.writeProperty(\"b\", i.b), n.writeProperty(\"a\", i.a);\n    }\n    function ro(n, t, e) {\n      const i = t.toRgbaObject(e);\n      n.writeProperty(\"r\", i.r), n.writeProperty(\"g\", i.g), n.writeProperty(\"b\", i.b);\n    }\n    function so(n, t) {\n      return (e, i) => {\n        n ? io(e, i, t) : ro(e, i, t);\n      };\n    }\n    function ze(n) {\n      var t;\n      return !!(n != null && n.alpha || !((t = n == null ? void 0 : n.color) === null || t === void 0) && t.alpha);\n    }\n    function oo(n) {\n      return n ? (t) => Be(t, \"0x\") : (t) => ri(t, \"0x\");\n    }\n    function ao(n) {\n      return \"color\" in n || \"view\" in n && n.view === \"color\";\n    }\n    const lo = {\n      id: \"input-color-number\",\n      type: \"input\",\n      accept: (n, t) => {\n        if (typeof n != \"number\" || !ao(t))\n          return null;\n        const e = Te(t);\n        return e ? {\n          initialValue: n,\n          params: e\n        } : null;\n      },\n      binding: {\n        reader: (n) => ze(n.params) ? to : Js,\n        equals: x.equals,\n        writer: (n) => no(ze(n.params))\n      },\n      controller: (n) => {\n        const t = ze(n.params), e = \"expanded\" in n.params ? n.params.expanded : void 0, i = \"picker\" in n.params ? n.params.picker : void 0;\n        return new He(n.document, {\n          colorType: \"int\",\n          expanded: e ?? !1,\n          formatter: oo(t),\n          parser: Ie(\"int\"),\n          pickerLayout: i ?? \"popup\",\n          supportsAlpha: t,\n          value: n.value,\n          viewProps: n.viewProps\n        });\n      }\n    };\n    function po(n) {\n      return x.isRgbaColorObject(n);\n    }\n    function uo(n) {\n      return (t) => Ys(t, n);\n    }\n    function co(n, t) {\n      return (e) => n ? ai(e, t) : oi(e, t);\n    }\n    const ho = {\n      id: \"input-color-object\",\n      type: \"input\",\n      accept: (n, t) => {\n        if (!x.isColorObject(n))\n          return null;\n        const e = Te(t);\n        return e ? {\n          initialValue: n,\n          params: e\n        } : null;\n      },\n      binding: {\n        reader: (n) => uo(mt(n.params)),\n        equals: x.equals,\n        writer: (n) => so(po(n.initialValue), mt(n.params))\n      },\n      controller: (n) => {\n        var t;\n        const e = x.isRgbaColorObject(n.initialValue), i = \"expanded\" in n.params ? n.params.expanded : void 0, r = \"picker\" in n.params ? n.params.picker : void 0, a = (t = mt(n.params)) !== null && t !== void 0 ? t : \"int\";\n        return new He(n.document, {\n          colorType: a,\n          expanded: i ?? !1,\n          formatter: co(e, a),\n          parser: Ie(a),\n          pickerLayout: r ?? \"popup\",\n          supportsAlpha: e,\n          value: n.value,\n          viewProps: n.viewProps\n        });\n      }\n    }, vo = {\n      id: \"input-color-string\",\n      type: \"input\",\n      accept: (n, t) => {\n        if (typeof n != \"string\" || \"view\" in t && t.view === \"text\")\n          return null;\n        const e = Ne(n, mt(t));\n        if (!e || !Ue(e))\n          return null;\n        const r = Te(t);\n        return r ? {\n          initialValue: n,\n          params: r\n        } : null;\n      },\n      binding: {\n        reader: (n) => {\n          var t;\n          return ks((t = mt(n.params)) !== null && t !== void 0 ? t : \"int\");\n        },\n        equals: x.equals,\n        writer: (n) => {\n          const t = Ne(n.initialValue, mt(n.params));\n          if (!t)\n            throw _.shouldNeverHappen();\n          const e = eo(t);\n          if (!e)\n            throw _.notBindable();\n          return e;\n        }\n      },\n      controller: (n) => {\n        const t = Ne(n.initialValue, mt(n.params));\n        if (!t)\n          throw _.shouldNeverHappen();\n        const e = Ue(t);\n        if (!e)\n          throw _.shouldNeverHappen();\n        const i = \"expanded\" in n.params ? n.params.expanded : void 0, r = \"picker\" in n.params ? n.params.picker : void 0;\n        return new He(n.document, {\n          colorType: t.type,\n          expanded: i ?? !1,\n          formatter: e,\n          parser: Ie(t.type),\n          pickerLayout: r ?? \"popup\",\n          supportsAlpha: t.alpha,\n          value: n.value,\n          viewProps: n.viewProps\n        });\n      }\n    };\n    class st {\n      constructor(t) {\n        this.components = t.components, this.asm_ = t.assembly;\n      }\n      constrain(t) {\n        const e = this.asm_.toComponents(t).map((i, r) => {\n          var a, d;\n          return (d = (a = this.components[r]) === null || a === void 0 ? void 0 : a.constrain(i)) !== null && d !== void 0 ? d : i;\n        });\n        return this.asm_.fromComponents(e);\n      }\n    }\n    const pi = E(\"pndtxt\");\n    class mo {\n      constructor(t, e) {\n        this.textViews = e.textViews, this.element = t.createElement(\"div\"), this.element.classList.add(pi()), this.textViews.forEach((i) => {\n          const r = t.createElement(\"div\");\n          r.classList.add(pi(\"a\")), r.appendChild(i.element), this.element.appendChild(r);\n        });\n      }\n    }\n    function bo(n, t, e) {\n      return new Kt(n, {\n        arrayPosition: e === 0 ? \"fst\" : e === t.axes.length - 1 ? \"lst\" : \"mid\",\n        baseStep: t.axes[e].baseStep,\n        parser: t.parser,\n        props: t.axes[e].textProps,\n        value: N(0, {\n          constraint: t.axes[e].constraint\n        }),\n        viewProps: t.viewProps\n      });\n    }\n    class Ge {\n      constructor(t, e) {\n        this.value = e.value, this.viewProps = e.viewProps, this.acs_ = e.axes.map((i, r) => bo(t, e, r)), this.acs_.forEach((i, r) => {\n          jt({\n            primary: this.value,\n            secondary: i.value,\n            forward: (a) => e.assembly.toComponents(a.rawValue)[r],\n            backward: (a, d) => {\n              const h = e.assembly.toComponents(a.rawValue);\n              return h[r] = d.rawValue, e.assembly.fromComponents(h);\n            }\n          });\n        }), this.view = new mo(t, {\n          textViews: this.acs_.map((i) => i.view)\n        });\n      }\n    }\n    function di(n, t) {\n      return \"step\" in n && !g(n.step) ? new te(n.step, t) : null;\n    }\n    function ui(n) {\n      return !g(n.max) && !g(n.min) ? new gt({\n        max: n.max,\n        min: n.min\n      }) : !g(n.max) || !g(n.min) ? new xn({\n        max: n.max,\n        min: n.min\n      }) : null;\n    }\n    function fo(n) {\n      const t = X(n, gt);\n      if (t)\n        return [t.values.get(\"min\"), t.values.get(\"max\")];\n      const e = X(n, xn);\n      return e ? [e.minValue, e.maxValue] : [void 0, void 0];\n    }\n    function _o(n, t) {\n      const e = [], i = di(n, t);\n      i && e.push(i);\n      const r = ui(n);\n      r && e.push(r);\n      const a = Oe(n.options);\n      return a && e.push(a), new Tt(e);\n    }\n    const wo = {\n      id: \"input-number\",\n      type: \"input\",\n      accept: (n, t) => {\n        if (typeof n != \"number\")\n          return null;\n        const e = R, i = I(t, {\n          format: e.optional.function,\n          max: e.optional.number,\n          min: e.optional.number,\n          options: e.optional.custom(ie),\n          step: e.optional.number\n        });\n        return i ? {\n          initialValue: n,\n          params: i\n        } : null;\n      },\n      binding: {\n        reader: (n) => Mn,\n        constraint: (n) => _o(n.params, n.initialValue),\n        writer: (n) => $t\n      },\n      controller: (n) => {\n        var t;\n        const e = n.value, i = n.constraint, r = i && X(i, Nt);\n        if (r)\n          return new It(n.document, {\n            props: new C({\n              options: r.values.value(\"options\")\n            }),\n            value: e,\n            viewProps: n.viewProps\n          });\n        const a = (t = \"format\" in n.params ? n.params.format : void 0) !== null && t !== void 0 ? t : B(re(i, e.rawValue)), d = i && X(i, gt);\n        return d ? new De(n.document, {\n          baseStep: Ct(i),\n          parser: Z,\n          sliderProps: new C({\n            maxValue: d.values.value(\"max\"),\n            minValue: d.values.value(\"min\")\n          }),\n          textProps: C.fromObject({\n            draggingScale: xt(i, e.rawValue),\n            formatter: a\n          }),\n          value: e,\n          viewProps: n.viewProps\n        }) : new Kt(n.document, {\n          baseStep: Ct(i),\n          parser: Z,\n          props: C.fromObject({\n            draggingScale: xt(i, e.rawValue),\n            formatter: a\n          }),\n          value: e,\n          viewProps: n.viewProps\n        });\n      }\n    };\n    class ot {\n      constructor(t = 0, e = 0) {\n        this.x = t, this.y = e;\n      }\n      getComponents() {\n        return [this.x, this.y];\n      }\n      static isObject(t) {\n        if (g(t))\n          return !1;\n        const e = t.x, i = t.y;\n        return !(typeof e != \"number\" || typeof i != \"number\");\n      }\n      static equals(t, e) {\n        return t.x === e.x && t.y === e.y;\n      }\n      toObject() {\n        return {\n          x: this.x,\n          y: this.y\n        };\n      }\n    }\n    const ci = {\n      toComponents: (n) => n.getComponents(),\n      fromComponents: (n) => new ot(...n)\n    }, Pt = E(\"p2d\");\n    class go {\n      constructor(t, e) {\n        this.element = t.createElement(\"div\"), this.element.classList.add(Pt()), e.viewProps.bindClassModifiers(this.element), Y(e.expanded, ft(this.element, Pt(void 0, \"expanded\")));\n        const i = t.createElement(\"div\");\n        i.classList.add(Pt(\"h\")), this.element.appendChild(i);\n        const r = t.createElement(\"button\");\n        r.classList.add(Pt(\"b\")), r.appendChild(Xt(t, \"p2dpad\")), e.viewProps.bindDisabled(r), i.appendChild(r), this.buttonElement = r;\n        const a = t.createElement(\"div\");\n        if (a.classList.add(Pt(\"t\")), i.appendChild(a), this.textElement = a, e.pickerLayout === \"inline\") {\n          const d = t.createElement(\"div\");\n          d.classList.add(Pt(\"p\")), this.element.appendChild(d), this.pickerElement = d;\n        } else\n          this.pickerElement = null;\n      }\n    }\n    const at = E(\"p2dp\");\n    class Co {\n      constructor(t, e) {\n        this.onFoldableChange_ = this.onFoldableChange_.bind(this), this.onValueChange_ = this.onValueChange_.bind(this), this.invertsY_ = e.invertsY, this.maxValue_ = e.maxValue, this.element = t.createElement(\"div\"), this.element.classList.add(at()), e.layout === \"popup\" && this.element.classList.add(at(void 0, \"p\")), e.viewProps.bindClassModifiers(this.element);\n        const i = t.createElement(\"div\");\n        i.classList.add(at(\"p\")), e.viewProps.bindTabIndex(i), this.element.appendChild(i), this.padElement = i;\n        const r = t.createElementNS(z, \"svg\");\n        r.classList.add(at(\"g\")), this.padElement.appendChild(r), this.svgElem_ = r;\n        const a = t.createElementNS(z, \"line\");\n        a.classList.add(at(\"ax\")), a.setAttributeNS(null, \"x1\", \"0\"), a.setAttributeNS(null, \"y1\", \"50%\"), a.setAttributeNS(null, \"x2\", \"100%\"), a.setAttributeNS(null, \"y2\", \"50%\"), this.svgElem_.appendChild(a);\n        const d = t.createElementNS(z, \"line\");\n        d.classList.add(at(\"ax\")), d.setAttributeNS(null, \"x1\", \"50%\"), d.setAttributeNS(null, \"y1\", \"0\"), d.setAttributeNS(null, \"x2\", \"50%\"), d.setAttributeNS(null, \"y2\", \"100%\"), this.svgElem_.appendChild(d);\n        const h = t.createElementNS(z, \"line\");\n        h.classList.add(at(\"l\")), h.setAttributeNS(null, \"x1\", \"50%\"), h.setAttributeNS(null, \"y1\", \"50%\"), this.svgElem_.appendChild(h), this.lineElem_ = h;\n        const m = t.createElement(\"div\");\n        m.classList.add(at(\"m\")), this.padElement.appendChild(m), this.markerElem_ = m, e.value.emitter.on(\"change\", this.onValueChange_), this.value = e.value, this.update_();\n      }\n      get allFocusableElements() {\n        return [this.padElement];\n      }\n      update_() {\n        const [t, e] = this.value.rawValue.getComponents(), i = this.maxValue_, r = D(t, -i, +i, 0, 100), a = D(e, -i, +i, 0, 100), d = this.invertsY_ ? 100 - a : a;\n        this.lineElem_.setAttributeNS(null, \"x2\", `${r}%`), this.lineElem_.setAttributeNS(null, \"y2\", `${d}%`), this.markerElem_.style.left = `${r}%`, this.markerElem_.style.top = `${d}%`;\n      }\n      onValueChange_() {\n        this.update_();\n      }\n      onFoldableChange_() {\n        this.update_();\n      }\n    }\n    function hi(n, t, e) {\n      return [\n        U(t[0], J(n)),\n        U(t[1], Ft(n)) * (e ? 1 : -1)\n      ];\n    }\n    class xo {\n      constructor(t, e) {\n        this.onPadKeyDown_ = this.onPadKeyDown_.bind(this), this.onPadKeyUp_ = this.onPadKeyUp_.bind(this), this.onPointerDown_ = this.onPointerDown_.bind(this), this.onPointerMove_ = this.onPointerMove_.bind(this), this.onPointerUp_ = this.onPointerUp_.bind(this), this.value = e.value, this.viewProps = e.viewProps, this.baseSteps_ = e.baseSteps, this.maxValue_ = e.maxValue, this.invertsY_ = e.invertsY, this.view = new Co(t, {\n          invertsY: this.invertsY_,\n          layout: e.layout,\n          maxValue: this.maxValue_,\n          value: this.value,\n          viewProps: this.viewProps\n        }), this.ptHandler_ = new ut(this.view.padElement), this.ptHandler_.emitter.on(\"down\", this.onPointerDown_), this.ptHandler_.emitter.on(\"move\", this.onPointerMove_), this.ptHandler_.emitter.on(\"up\", this.onPointerUp_), this.view.padElement.addEventListener(\"keydown\", this.onPadKeyDown_), this.view.padElement.addEventListener(\"keyup\", this.onPadKeyUp_);\n      }\n      handlePointerEvent_(t, e) {\n        if (!t.point)\n          return;\n        const i = this.maxValue_, r = D(t.point.x, 0, t.bounds.width, -i, +i), a = D(this.invertsY_ ? t.bounds.height - t.point.y : t.point.y, 0, t.bounds.height, -i, +i);\n        this.value.setRawValue(new ot(r, a), e);\n      }\n      onPointerDown_(t) {\n        this.handlePointerEvent_(t.data, {\n          forceEmit: !1,\n          last: !1\n        });\n      }\n      onPointerMove_(t) {\n        this.handlePointerEvent_(t.data, {\n          forceEmit: !1,\n          last: !1\n        });\n      }\n      onPointerUp_(t) {\n        this.handlePointerEvent_(t.data, {\n          forceEmit: !0,\n          last: !0\n        });\n      }\n      onPadKeyDown_(t) {\n        Dn(t.key) && t.preventDefault();\n        const [e, i] = hi(t, this.baseSteps_, this.invertsY_);\n        e === 0 && i === 0 || this.value.setRawValue(new ot(this.value.rawValue.x + e, this.value.rawValue.y + i), {\n          forceEmit: !1,\n          last: !1\n        });\n      }\n      onPadKeyUp_(t) {\n        const [e, i] = hi(t, this.baseSteps_, this.invertsY_);\n        e === 0 && i === 0 || this.value.setRawValue(this.value.rawValue, {\n          forceEmit: !0,\n          last: !0\n        });\n      }\n    }\n    class yo {\n      constructor(t, e) {\n        var i, r;\n        this.onPopupChildBlur_ = this.onPopupChildBlur_.bind(this), this.onPopupChildKeydown_ = this.onPopupChildKeydown_.bind(this), this.onPadButtonBlur_ = this.onPadButtonBlur_.bind(this), this.onPadButtonClick_ = this.onPadButtonClick_.bind(this), this.value = e.value, this.viewProps = e.viewProps, this.foldable_ = At.create(e.expanded), this.popC_ = e.pickerLayout === \"popup\" ? new Pn(t, {\n          viewProps: this.viewProps\n        }) : null;\n        const a = new xo(t, {\n          baseSteps: [e.axes[0].baseStep, e.axes[1].baseStep],\n          invertsY: e.invertsY,\n          layout: e.pickerLayout,\n          maxValue: e.maxValue,\n          value: this.value,\n          viewProps: this.viewProps\n        });\n        a.view.allFocusableElements.forEach((d) => {\n          d.addEventListener(\"blur\", this.onPopupChildBlur_), d.addEventListener(\"keydown\", this.onPopupChildKeydown_);\n        }), this.pickerC_ = a, this.textC_ = new Ge(t, {\n          assembly: ci,\n          axes: e.axes,\n          parser: e.parser,\n          value: this.value,\n          viewProps: this.viewProps\n        }), this.view = new go(t, {\n          expanded: this.foldable_.value(\"expanded\"),\n          pickerLayout: e.pickerLayout,\n          viewProps: this.viewProps\n        }), this.view.textElement.appendChild(this.textC_.view.element), (i = this.view.buttonElement) === null || i === void 0 || i.addEventListener(\"blur\", this.onPadButtonBlur_), (r = this.view.buttonElement) === null || r === void 0 || r.addEventListener(\"click\", this.onPadButtonClick_), this.popC_ ? (this.view.element.appendChild(this.popC_.view.element), this.popC_.view.element.appendChild(this.pickerC_.view.element), jt({\n          primary: this.foldable_.value(\"expanded\"),\n          secondary: this.popC_.shows,\n          forward: (d) => d.rawValue,\n          backward: (d, h) => h.rawValue\n        })) : this.view.pickerElement && (this.view.pickerElement.appendChild(this.pickerC_.view.element), fe(this.foldable_, this.view.pickerElement));\n      }\n      onPadButtonBlur_(t) {\n        if (!this.popC_)\n          return;\n        const e = this.view.element, i = t.relatedTarget;\n        (!i || !e.contains(i)) && (this.popC_.shows.rawValue = !1);\n      }\n      onPadButtonClick_() {\n        this.foldable_.set(\"expanded\", !this.foldable_.get(\"expanded\")), this.foldable_.get(\"expanded\") && this.pickerC_.view.allFocusableElements[0].focus();\n      }\n      onPopupChildBlur_(t) {\n        if (!this.popC_)\n          return;\n        const e = this.popC_.view.element, i = an(t);\n        i && e.contains(i) || i && i === this.view.buttonElement && !be(e.ownerDocument) || (this.popC_.shows.rawValue = !1);\n      }\n      onPopupChildKeydown_(t) {\n        this.popC_ ? t.key === \"Escape\" && (this.popC_.shows.rawValue = !1) : this.view.pickerElement && t.key === \"Escape\" && this.view.buttonElement.focus();\n      }\n    }\n    class Et {\n      constructor(t = 0, e = 0, i = 0) {\n        this.x = t, this.y = e, this.z = i;\n      }\n      getComponents() {\n        return [this.x, this.y, this.z];\n      }\n      static isObject(t) {\n        if (g(t))\n          return !1;\n        const e = t.x, i = t.y, r = t.z;\n        return !(typeof e != \"number\" || typeof i != \"number\" || typeof r != \"number\");\n      }\n      static equals(t, e) {\n        return t.x === e.x && t.y === e.y && t.z === e.z;\n      }\n      toObject() {\n        return {\n          x: this.x,\n          y: this.y,\n          z: this.z\n        };\n      }\n    }\n    const vi = {\n      toComponents: (n) => n.getComponents(),\n      fromComponents: (n) => new Et(...n)\n    };\n    function Po(n) {\n      return Et.isObject(n) ? new Et(n.x, n.y, n.z) : new Et();\n    }\n    function Eo(n, t) {\n      n.writeProperty(\"x\", t.x), n.writeProperty(\"y\", t.y), n.writeProperty(\"z\", t.z);\n    }\n    function ko(n, t) {\n      return new st({\n        assembly: vi,\n        components: [\n          tt(\"x\" in n ? n.x : void 0, t.x),\n          tt(\"y\" in n ? n.y : void 0, t.y),\n          tt(\"z\" in n ? n.z : void 0, t.z)\n        ]\n      });\n    }\n    function qe(n, t) {\n      return {\n        baseStep: Ct(t),\n        constraint: t,\n        textProps: C.fromObject({\n          draggingScale: xt(t, n),\n          formatter: B(re(t, n))\n        })\n      };\n    }\n    const Vo = {\n      id: \"input-point3d\",\n      type: \"input\",\n      accept: (n, t) => {\n        if (!Et.isObject(n))\n          return null;\n        const e = R, i = I(t, {\n          x: e.optional.custom(it),\n          y: e.optional.custom(it),\n          z: e.optional.custom(it)\n        });\n        return i ? {\n          initialValue: n,\n          params: i\n        } : null;\n      },\n      binding: {\n        reader: (n) => Po,\n        constraint: (n) => ko(n.params, n.initialValue),\n        equals: Et.equals,\n        writer: (n) => Eo\n      },\n      controller: (n) => {\n        const t = n.value, e = n.constraint;\n        if (!(e instanceof st))\n          throw _.shouldNeverHappen();\n        return new Ge(n.document, {\n          assembly: vi,\n          axes: [\n            qe(t.rawValue.x, e.components[0]),\n            qe(t.rawValue.y, e.components[1]),\n            qe(t.rawValue.z, e.components[2])\n          ],\n          parser: Z,\n          value: t,\n          viewProps: n.viewProps\n        });\n      }\n    };\n    class kt {\n      constructor(t = 0, e = 0, i = 0, r = 0) {\n        this.x = t, this.y = e, this.z = i, this.w = r;\n      }\n      getComponents() {\n        return [this.x, this.y, this.z, this.w];\n      }\n      static isObject(t) {\n        if (g(t))\n          return !1;\n        const e = t.x, i = t.y, r = t.z, a = t.w;\n        return !(typeof e != \"number\" || typeof i != \"number\" || typeof r != \"number\" || typeof a != \"number\");\n      }\n      static equals(t, e) {\n        return t.x === e.x && t.y === e.y && t.z === e.z && t.w === e.w;\n      }\n      toObject() {\n        return {\n          x: this.x,\n          y: this.y,\n          z: this.z,\n          w: this.w\n        };\n      }\n    }\n    const mi = {\n      toComponents: (n) => n.getComponents(),\n      fromComponents: (n) => new kt(...n)\n    };\n    function So(n) {\n      return kt.isObject(n) ? new kt(n.x, n.y, n.z, n.w) : new kt();\n    }\n    function Lo(n, t) {\n      n.writeProperty(\"x\", t.x), n.writeProperty(\"y\", t.y), n.writeProperty(\"z\", t.z), n.writeProperty(\"w\", t.w);\n    }\n    function Ao(n, t) {\n      return new st({\n        assembly: mi,\n        components: [\n          tt(\"x\" in n ? n.x : void 0, t.x),\n          tt(\"y\" in n ? n.y : void 0, t.y),\n          tt(\"z\" in n ? n.z : void 0, t.z),\n          tt(\"w\" in n ? n.w : void 0, t.w)\n        ]\n      });\n    }\n    function Mo(n, t) {\n      return {\n        baseStep: Ct(t),\n        constraint: t,\n        textProps: C.fromObject({\n          draggingScale: xt(t, n),\n          formatter: B(re(t, n))\n        })\n      };\n    }\n    const Ro = {\n      id: \"input-point4d\",\n      type: \"input\",\n      accept: (n, t) => {\n        if (!kt.isObject(n))\n          return null;\n        const e = R, i = I(t, {\n          x: e.optional.custom(it),\n          y: e.optional.custom(it),\n          z: e.optional.custom(it),\n          w: e.optional.custom(it)\n        });\n        return i ? {\n          initialValue: n,\n          params: i\n        } : null;\n      },\n      binding: {\n        reader: (n) => So,\n        constraint: (n) => Ao(n.params, n.initialValue),\n        equals: kt.equals,\n        writer: (n) => Lo\n      },\n      controller: (n) => {\n        const t = n.value, e = n.constraint;\n        if (!(e instanceof st))\n          throw _.shouldNeverHappen();\n        return new Ge(n.document, {\n          assembly: mi,\n          axes: t.rawValue.getComponents().map((i, r) => Mo(i, e.components[r])),\n          parser: Z,\n          value: t,\n          viewProps: n.viewProps\n        });\n      }\n    };\n    function Do(n) {\n      const t = [], e = Oe(n.options);\n      return e && t.push(e), new Tt(t);\n    }\n    const Oo = {\n      id: \"input-string\",\n      type: \"input\",\n      accept: (n, t) => {\n        if (typeof n != \"string\")\n          return null;\n        const i = I(t, {\n          options: R.optional.custom(ie)\n        });\n        return i ? {\n          initialValue: n,\n          params: i\n        } : null;\n      },\n      binding: {\n        reader: (n) => Rn,\n        constraint: (n) => Do(n.params),\n        writer: (n) => $t\n      },\n      controller: (n) => {\n        const t = n.document, e = n.value, i = n.constraint, r = i && X(i, Nt);\n        return r ? new It(t, {\n          props: new C({\n            options: r.values.value(\"options\")\n          }),\n          value: e,\n          viewProps: n.viewProps\n        }) : new ee(t, {\n          parser: (a) => a,\n          props: C.fromObject({\n            formatter: Le\n          }),\n          value: e,\n          viewProps: n.viewProps\n        });\n      }\n    }, zt = {\n      monitor: {\n        defaultInterval: 200,\n        defaultLineCount: 3\n      }\n    }, bi = E(\"mll\");\n    class To {\n      constructor(t, e) {\n        this.onValueUpdate_ = this.onValueUpdate_.bind(this), this.formatter_ = e.formatter, this.element = t.createElement(\"div\"), this.element.classList.add(bi()), e.viewProps.bindClassModifiers(this.element);\n        const i = t.createElement(\"textarea\");\n        i.classList.add(bi(\"i\")), i.style.height = `calc(var(--bld-us) * ${e.lineCount})`, i.readOnly = !0, e.viewProps.bindDisabled(i), this.element.appendChild(i), this.textareaElem_ = i, e.value.emitter.on(\"change\", this.onValueUpdate_), this.value = e.value, this.update_();\n      }\n      update_() {\n        const t = this.textareaElem_, e = t.scrollTop === t.scrollHeight - t.clientHeight, i = [];\n        this.value.rawValue.forEach((r) => {\n          r !== void 0 && i.push(this.formatter_(r));\n        }), t.textContent = i.join(`\n`), e && (t.scrollTop = t.scrollHeight);\n      }\n      onValueUpdate_() {\n        this.update_();\n      }\n    }\n    class Ye {\n      constructor(t, e) {\n        this.value = e.value, this.viewProps = e.viewProps, this.view = new To(t, {\n          formatter: e.formatter,\n          lineCount: e.lineCount,\n          value: this.value,\n          viewProps: this.viewProps\n        });\n      }\n    }\n    const fi = E(\"sgl\");\n    class No {\n      constructor(t, e) {\n        this.onValueUpdate_ = this.onValueUpdate_.bind(this), this.formatter_ = e.formatter, this.element = t.createElement(\"div\"), this.element.classList.add(fi()), e.viewProps.bindClassModifiers(this.element);\n        const i = t.createElement(\"input\");\n        i.classList.add(fi(\"i\")), i.readOnly = !0, i.type = \"text\", e.viewProps.bindDisabled(i), this.element.appendChild(i), this.inputElement = i, e.value.emitter.on(\"change\", this.onValueUpdate_), this.value = e.value, this.update_();\n      }\n      update_() {\n        const t = this.value.rawValue, e = t[t.length - 1];\n        this.inputElement.value = e !== void 0 ? this.formatter_(e) : \"\";\n      }\n      onValueUpdate_() {\n        this.update_();\n      }\n    }\n    class Qe {\n      constructor(t, e) {\n        this.value = e.value, this.viewProps = e.viewProps, this.view = new No(t, {\n          formatter: e.formatter,\n          value: this.value,\n          viewProps: this.viewProps\n        });\n      }\n    }\n    const Io = {\n      id: \"monitor-bool\",\n      type: \"monitor\",\n      accept: (n, t) => {\n        if (typeof n != \"boolean\")\n          return null;\n        const i = I(t, {\n          lineCount: R.optional.number\n        });\n        return i ? {\n          initialValue: n,\n          params: i\n        } : null;\n      },\n      binding: {\n        reader: (n) => kn\n      },\n      controller: (n) => {\n        var t;\n        return n.value.rawValue.length === 1 ? new Qe(n.document, {\n          formatter: Vn,\n          value: n.value,\n          viewProps: n.viewProps\n        }) : new Ye(n.document, {\n          formatter: Vn,\n          lineCount: (t = n.params.lineCount) !== null && t !== void 0 ? t : zt.monitor.defaultLineCount,\n          value: n.value,\n          viewProps: n.viewProps\n        });\n      }\n    }, lt = E(\"grl\");\n    class Bo {\n      constructor(t, e) {\n        this.onCursorChange_ = this.onCursorChange_.bind(this), this.onValueUpdate_ = this.onValueUpdate_.bind(this), this.element = t.createElement(\"div\"), this.element.classList.add(lt()), e.viewProps.bindClassModifiers(this.element), this.formatter_ = e.formatter, this.props_ = e.props, this.cursor_ = e.cursor, this.cursor_.emitter.on(\"change\", this.onCursorChange_);\n        const i = t.createElementNS(z, \"svg\");\n        i.classList.add(lt(\"g\")), i.style.height = `calc(var(--bld-us) * ${e.lineCount})`, this.element.appendChild(i), this.svgElem_ = i;\n        const r = t.createElementNS(z, \"polyline\");\n        this.svgElem_.appendChild(r), this.lineElem_ = r;\n        const a = t.createElement(\"div\");\n        a.classList.add(lt(\"t\"), E(\"tt\")()), this.element.appendChild(a), this.tooltipElem_ = a, e.value.emitter.on(\"change\", this.onValueUpdate_), this.value = e.value, this.update_();\n      }\n      get graphElement() {\n        return this.svgElem_;\n      }\n      update_() {\n        const t = this.svgElem_.getBoundingClientRect(), e = this.value.rawValue.length - 1, i = this.props_.get(\"minValue\"), r = this.props_.get(\"maxValue\"), a = [];\n        this.value.rawValue.forEach((k, V) => {\n          if (k === void 0)\n            return;\n          const bt = D(V, 0, e, 0, t.width), Gt = D(k, i, r, t.height, 0);\n          a.push([bt, Gt].join(\",\"));\n        }), this.lineElem_.setAttributeNS(null, \"points\", a.join(\" \"));\n        const d = this.tooltipElem_, h = this.value.rawValue[this.cursor_.rawValue];\n        if (h === void 0) {\n          d.classList.remove(lt(\"t\", \"a\"));\n          return;\n        }\n        const m = D(this.cursor_.rawValue, 0, e, 0, t.width), f = D(h, i, r, t.height, 0);\n        d.style.left = `${m}px`, d.style.top = `${f}px`, d.textContent = `${this.formatter_(h)}`, d.classList.contains(lt(\"t\", \"a\")) || (d.classList.add(lt(\"t\", \"a\"), lt(\"t\", \"in\")), Wt(d), d.classList.remove(lt(\"t\", \"in\")));\n      }\n      onValueUpdate_() {\n        this.update_();\n      }\n      onCursorChange_() {\n        this.update_();\n      }\n    }\n    class Uo {\n      constructor(t, e) {\n        if (this.onGraphMouseMove_ = this.onGraphMouseMove_.bind(this), this.onGraphMouseLeave_ = this.onGraphMouseLeave_.bind(this), this.onGraphPointerDown_ = this.onGraphPointerDown_.bind(this), this.onGraphPointerMove_ = this.onGraphPointerMove_.bind(this), this.onGraphPointerUp_ = this.onGraphPointerUp_.bind(this), this.props_ = e.props, this.value = e.value, this.viewProps = e.viewProps, this.cursor_ = N(-1), this.view = new Bo(t, {\n          cursor: this.cursor_,\n          formatter: e.formatter,\n          lineCount: e.lineCount,\n          props: this.props_,\n          value: this.value,\n          viewProps: this.viewProps\n        }), !be(t))\n          this.view.element.addEventListener(\"mousemove\", this.onGraphMouseMove_), this.view.element.addEventListener(\"mouseleave\", this.onGraphMouseLeave_);\n        else {\n          const i = new ut(this.view.element);\n          i.emitter.on(\"down\", this.onGraphPointerDown_), i.emitter.on(\"move\", this.onGraphPointerMove_), i.emitter.on(\"up\", this.onGraphPointerUp_);\n        }\n      }\n      onGraphMouseLeave_() {\n        this.cursor_.rawValue = -1;\n      }\n      onGraphMouseMove_(t) {\n        const e = this.view.element.getBoundingClientRect();\n        this.cursor_.rawValue = Math.floor(D(t.offsetX, 0, e.width, 0, this.value.rawValue.length));\n      }\n      onGraphPointerDown_(t) {\n        this.onGraphPointerMove_(t);\n      }\n      onGraphPointerMove_(t) {\n        if (!t.data.point) {\n          this.cursor_.rawValue = -1;\n          return;\n        }\n        this.cursor_.rawValue = Math.floor(D(t.data.point.x, 0, t.data.bounds.width, 0, this.value.rawValue.length));\n      }\n      onGraphPointerUp_() {\n        this.cursor_.rawValue = -1;\n      }\n    }\n    function We(n) {\n      return \"format\" in n && !g(n.format) ? n.format : B(2);\n    }\n    function jo(n) {\n      var t;\n      return n.value.rawValue.length === 1 ? new Qe(n.document, {\n        formatter: We(n.params),\n        value: n.value,\n        viewProps: n.viewProps\n      }) : new Ye(n.document, {\n        formatter: We(n.params),\n        lineCount: (t = n.params.lineCount) !== null && t !== void 0 ? t : zt.monitor.defaultLineCount,\n        value: n.value,\n        viewProps: n.viewProps\n      });\n    }\n    function Fo(n) {\n      var t, e, i;\n      return new Uo(n.document, {\n        formatter: We(n.params),\n        lineCount: (t = n.params.lineCount) !== null && t !== void 0 ? t : zt.monitor.defaultLineCount,\n        props: C.fromObject({\n          maxValue: (e = \"max\" in n.params ? n.params.max : null) !== null && e !== void 0 ? e : 100,\n          minValue: (i = \"min\" in n.params ? n.params.min : null) !== null && i !== void 0 ? i : 0\n        }),\n        value: n.value,\n        viewProps: n.viewProps\n      });\n    }\n    function _i(n) {\n      return \"view\" in n && n.view === \"graph\";\n    }\n    const Ko = {\n      id: \"monitor-number\",\n      type: \"monitor\",\n      accept: (n, t) => {\n        if (typeof n != \"number\")\n          return null;\n        const e = R, i = I(t, {\n          format: e.optional.function,\n          lineCount: e.optional.number,\n          max: e.optional.number,\n          min: e.optional.number,\n          view: e.optional.string\n        });\n        return i ? {\n          initialValue: n,\n          params: i\n        } : null;\n      },\n      binding: {\n        defaultBufferSize: (n) => _i(n) ? 64 : 1,\n        reader: (n) => Mn\n      },\n      controller: (n) => _i(n.params) ? Fo(n) : jo(n)\n    }, $o = {\n      id: \"monitor-string\",\n      type: \"monitor\",\n      accept: (n, t) => {\n        if (typeof n != \"string\")\n          return null;\n        const e = R, i = I(t, {\n          lineCount: e.optional.number,\n          multiline: e.optional.boolean\n        });\n        return i ? {\n          initialValue: n,\n          params: i\n        } : null;\n      },\n      binding: {\n        reader: (n) => Rn\n      },\n      controller: (n) => {\n        var t;\n        const e = n.value;\n        return e.rawValue.length > 1 || \"multiline\" in n.params && n.params.multiline ? new Ye(n.document, {\n          formatter: Le,\n          lineCount: (t = n.params.lineCount) !== null && t !== void 0 ? t : zt.monitor.defaultLineCount,\n          value: e,\n          viewProps: n.viewProps\n        }) : new Qe(n.document, {\n          formatter: Le,\n          value: e,\n          viewProps: n.viewProps\n        });\n      }\n    };\n    function Ho(n, t) {\n      var e;\n      const i = n.accept(t.target.read(), t.params);\n      if (g(i))\n        return null;\n      const r = R, a = {\n        target: t.target,\n        initialValue: i.initialValue,\n        params: i.params\n      }, d = n.binding.reader(a), h = n.binding.constraint ? n.binding.constraint(a) : void 0, m = N(d(i.initialValue), {\n        constraint: h,\n        equals: n.binding.equals\n      }), f = new mr({\n        reader: d,\n        target: t.target,\n        value: m,\n        writer: n.binding.writer(a)\n      }), k = r.optional.boolean(t.params.disabled).value, V = r.optional.boolean(t.params.hidden).value, bt = n.controller({\n        constraint: h,\n        document: t.document,\n        initialValue: i.initialValue,\n        params: i.params,\n        value: f.value,\n        viewProps: W.create({\n          disabled: k,\n          hidden: V\n        })\n      });\n      return new G(t.document, {\n        binding: f,\n        blade: Lt(),\n        props: C.fromObject({\n          label: \"label\" in t.params ? (e = r.optional.string(t.params.label).value) !== null && e !== void 0 ? e : null : t.target.key\n        }),\n        valueController: bt\n      });\n    }\n    function zo(n, t) {\n      return t === 0 ? new hr() : new vr(n, t ?? zt.monitor.defaultInterval);\n    }\n    function Go(n, t) {\n      var e, i, r;\n      const a = R, d = n.accept(t.target.read(), t.params);\n      if (g(d))\n        return null;\n      const h = {\n        target: t.target,\n        initialValue: d.initialValue,\n        params: d.params\n      }, m = n.binding.reader(h), f = (i = (e = a.optional.number(t.params.bufferSize).value) !== null && e !== void 0 ? e : n.binding.defaultBufferSize && n.binding.defaultBufferSize(d.params)) !== null && i !== void 0 ? i : 1, k = a.optional.number(t.params.interval).value, V = new wr({\n        reader: m,\n        target: t.target,\n        ticker: zo(t.document, k),\n        value: br(f)\n      }), bt = a.optional.boolean(t.params.disabled).value, Gt = a.optional.boolean(t.params.hidden).value, qt = n.controller({\n        document: t.document,\n        params: d.params,\n        value: V.value,\n        viewProps: W.create({\n          disabled: bt,\n          hidden: Gt\n        })\n      });\n      return new nt(t.document, {\n        binding: V,\n        blade: Lt(),\n        props: C.fromObject({\n          label: \"label\" in t.params ? (r = a.optional.string(t.params.label).value) !== null && r !== void 0 ? r : null : t.target.key\n        }),\n        valueController: qt\n      });\n    }\n    class qo {\n      constructor() {\n        this.pluginsMap_ = {\n          blades: [],\n          inputs: [],\n          monitors: []\n        };\n      }\n      getAll() {\n        return [\n          ...this.pluginsMap_.blades,\n          ...this.pluginsMap_.inputs,\n          ...this.pluginsMap_.monitors\n        ];\n      }\n      register(t) {\n        t.type === \"blade\" ? this.pluginsMap_.blades.unshift(t) : t.type === \"input\" ? this.pluginsMap_.inputs.unshift(t) : t.type === \"monitor\" && this.pluginsMap_.monitors.unshift(t);\n      }\n      createInput(t, e, i) {\n        const r = e.read();\n        if (g(r))\n          throw new _({\n            context: {\n              key: e.key\n            },\n            type: \"nomatchingcontroller\"\n          });\n        const a = this.pluginsMap_.inputs.reduce((d, h) => d ?? Ho(h, {\n          document: t,\n          target: e,\n          params: i\n        }), null);\n        if (a)\n          return a;\n        throw new _({\n          context: {\n            key: e.key\n          },\n          type: \"nomatchingcontroller\"\n        });\n      }\n      createMonitor(t, e, i) {\n        const r = this.pluginsMap_.monitors.reduce((a, d) => a ?? Go(d, {\n          document: t,\n          params: i,\n          target: e\n        }), null);\n        if (r)\n          return r;\n        throw new _({\n          context: {\n            key: e.key\n          },\n          type: \"nomatchingcontroller\"\n        });\n      }\n      createBlade(t, e) {\n        const i = this.pluginsMap_.blades.reduce((r, a) => r ?? cr(a, {\n          document: t,\n          params: e\n        }), null);\n        if (!i)\n          throw new _({\n            type: \"nomatchingview\",\n            context: {\n              params: e\n            }\n          });\n        return i;\n      }\n      createBladeApi(t) {\n        if (t instanceof G)\n          return new ge(t);\n        if (t instanceof nt)\n          return new Ce(t);\n        if (t instanceof Rt)\n          return new Jt(t, this);\n        const e = this.pluginsMap_.blades.reduce((i, r) => i ?? r.api({\n          controller: t,\n          pool: this\n        }), null);\n        if (!e)\n          throw _.shouldNeverHappen();\n        return e;\n      }\n    }\n    function Yo() {\n      const n = new qo();\n      return [\n        ta,\n        Vo,\n        Ro,\n        Oo,\n        wo,\n        vo,\n        ho,\n        lo,\n        as,\n        Io,\n        $o,\n        Ko,\n        zi,\n        sr,\n        ar,\n        gn\n      ].forEach((t) => {\n        n.register(t);\n      }), n;\n    }\n    function Qo(n) {\n      return ot.isObject(n) ? new ot(n.x, n.y) : new ot();\n    }\n    function Wo(n, t) {\n      n.writeProperty(\"x\", t.x), n.writeProperty(\"y\", t.y);\n    }\n    function tt(n, t) {\n      if (!n)\n        return;\n      const e = [], i = di(n, t);\n      i && e.push(i);\n      const r = ui(n);\n      return r && e.push(r), new Tt(e);\n    }\n    function Xo(n, t) {\n      return new st({\n        assembly: ci,\n        components: [\n          tt(\"x\" in n ? n.x : void 0, t.x),\n          tt(\"y\" in n ? n.y : void 0, t.y)\n        ]\n      });\n    }\n    function wi(n, t) {\n      const [e, i] = n ? fo(n) : [];\n      if (!g(e) || !g(i))\n        return Math.max(Math.abs(e ?? 0), Math.abs(i ?? 0));\n      const r = Ct(n);\n      return Math.max(Math.abs(r) * 10, Math.abs(t) * 10);\n    }\n    function Zo(n, t) {\n      const e = t instanceof st ? t.components[0] : void 0, i = t instanceof st ? t.components[1] : void 0, r = wi(e, n.x), a = wi(i, n.y);\n      return Math.max(r, a);\n    }\n    function gi(n, t) {\n      return {\n        baseStep: Ct(t),\n        constraint: t,\n        textProps: C.fromObject({\n          draggingScale: xt(t, n),\n          formatter: B(re(t, n))\n        })\n      };\n    }\n    function Jo(n) {\n      if (!(\"y\" in n))\n        return !1;\n      const t = n.y;\n      return t && \"inverted\" in t ? !!t.inverted : !1;\n    }\n    const ta = {\n      id: \"input-point2d\",\n      type: \"input\",\n      accept: (n, t) => {\n        if (!ot.isObject(n))\n          return null;\n        const e = R, i = I(t, {\n          expanded: e.optional.boolean,\n          picker: e.optional.custom(Nn),\n          x: e.optional.custom(it),\n          y: e.optional.object({\n            inverted: e.optional.boolean,\n            max: e.optional.number,\n            min: e.optional.number,\n            step: e.optional.number\n          })\n        });\n        return i ? {\n          initialValue: n,\n          params: i\n        } : null;\n      },\n      binding: {\n        reader: (n) => Qo,\n        constraint: (n) => Xo(n.params, n.initialValue),\n        equals: ot.equals,\n        writer: (n) => Wo\n      },\n      controller: (n) => {\n        const t = n.document, e = n.value, i = n.constraint;\n        if (!(i instanceof st))\n          throw _.shouldNeverHappen();\n        const r = \"expanded\" in n.params ? n.params.expanded : void 0, a = \"picker\" in n.params ? n.params.picker : void 0;\n        return new yo(t, {\n          axes: [\n            gi(e.rawValue.x, i.components[0]),\n            gi(e.rawValue.y, i.components[1])\n          ],\n          expanded: r ?? !1,\n          invertsY: Jo(n.params),\n          maxValue: Zo(e.rawValue, i),\n          parser: Z,\n          pickerLayout: a ?? \"popup\",\n          value: e,\n          viewProps: n.viewProps\n        });\n      }\n    };\n    class Ci extends l {\n      constructor(t) {\n        super(t), this.emitter_ = new M(), this.controller_.valueController.value.emitter.on(\"change\", (e) => {\n          this.emitter_.emit(\"change\", {\n            event: new v(this, e.rawValue)\n          });\n        });\n      }\n      get label() {\n        return this.controller_.props.get(\"label\");\n      }\n      set label(t) {\n        this.controller_.props.set(\"label\", t);\n      }\n      get options() {\n        return this.controller_.valueController.props.get(\"options\");\n      }\n      set options(t) {\n        this.controller_.valueController.props.set(\"options\", t);\n      }\n      get value() {\n        return this.controller_.valueController.value.rawValue;\n      }\n      set value(t) {\n        this.controller_.valueController.value.rawValue = t;\n      }\n      on(t, e) {\n        const i = e.bind(this);\n        return this.emitter_.on(t, (r) => {\n          i(r.event);\n        }), this;\n      }\n    }\n    class xi extends l {\n      constructor(t) {\n        super(t), this.emitter_ = new M(), this.controller_.valueController.value.emitter.on(\"change\", (e) => {\n          this.emitter_.emit(\"change\", {\n            event: new v(this, e.rawValue)\n          });\n        });\n      }\n      get label() {\n        return this.controller_.props.get(\"label\");\n      }\n      set label(t) {\n        this.controller_.props.set(\"label\", t);\n      }\n      get maxValue() {\n        return this.controller_.valueController.sliderController.props.get(\"maxValue\");\n      }\n      set maxValue(t) {\n        this.controller_.valueController.sliderController.props.set(\"maxValue\", t);\n      }\n      get minValue() {\n        return this.controller_.valueController.sliderController.props.get(\"minValue\");\n      }\n      set minValue(t) {\n        this.controller_.valueController.sliderController.props.set(\"minValue\", t);\n      }\n      get value() {\n        return this.controller_.valueController.value.rawValue;\n      }\n      set value(t) {\n        this.controller_.valueController.value.rawValue = t;\n      }\n      on(t, e) {\n        const i = e.bind(this);\n        return this.emitter_.on(t, (r) => {\n          i(r.event);\n        }), this;\n      }\n    }\n    class yi extends l {\n      constructor(t) {\n        super(t), this.emitter_ = new M(), this.controller_.valueController.value.emitter.on(\"change\", (e) => {\n          this.emitter_.emit(\"change\", {\n            event: new v(this, e.rawValue)\n          });\n        });\n      }\n      get label() {\n        return this.controller_.props.get(\"label\");\n      }\n      set label(t) {\n        this.controller_.props.set(\"label\", t);\n      }\n      get formatter() {\n        return this.controller_.valueController.props.get(\"formatter\");\n      }\n      set formatter(t) {\n        this.controller_.valueController.props.set(\"formatter\", t);\n      }\n      get value() {\n        return this.controller_.valueController.value.rawValue;\n      }\n      set value(t) {\n        this.controller_.valueController.value.rawValue = t;\n      }\n      on(t, e) {\n        const i = e.bind(this);\n        return this.emitter_.on(t, (r) => {\n          i(r.event);\n        }), this;\n      }\n    }\n    const ea = /* @__PURE__ */ function() {\n      return {\n        id: \"list\",\n        type: \"blade\",\n        accept(n) {\n          const t = R, e = I(n, {\n            options: t.required.custom(ie),\n            value: t.required.raw,\n            view: t.required.constant(\"list\"),\n            label: t.optional.string\n          });\n          return e ? { params: e } : null;\n        },\n        controller(n) {\n          const t = new Nt(In(n.params.options)), e = N(n.params.value, {\n            constraint: t\n          }), i = new It(n.document, {\n            props: new C({\n              options: t.values.value(\"options\")\n            }),\n            value: e,\n            viewProps: n.viewProps\n          });\n          return new wt(n.document, {\n            blade: n.blade,\n            props: C.fromObject({\n              label: n.params.label\n            }),\n            valueController: i\n          });\n        },\n        api(n) {\n          return !(n.controller instanceof wt) || !(n.controller.valueController instanceof It) ? null : new Ci(n.controller);\n        }\n      };\n    }();\n    function na(n) {\n      return n.reduce((t, e) => Object.assign(t, {\n        [e.presetKey]: e.read()\n      }), {});\n    }\n    function ia(n, t) {\n      n.forEach((e) => {\n        const i = t[e.target.presetKey];\n        i !== void 0 && e.writer(e.target, e.reader(i));\n      });\n    }\n    class ra extends xe {\n      /**\n       * @hidden\n       */\n      constructor(t, e) {\n        super(t, e);\n      }\n      get element() {\n        return this.controller_.view.element;\n      }\n      /**\n       * Imports a preset of all inputs.\n       * @param preset The preset object to import.\n       */\n      importPreset(t) {\n        const e = this.controller_.rackController.rack.find(G).map((i) => i.binding);\n        ia(e, t), this.refresh();\n      }\n      /**\n       * Exports a preset of all inputs.\n       * @return An exported preset object.\n       */\n      exportPreset() {\n        const t = this.controller_.rackController.rack.find(G).map((e) => e.binding.target);\n        return na(t);\n      }\n      /**\n       * Refreshes all bindings of the pane.\n       */\n      refresh() {\n        this.controller_.rackController.rack.find(G).forEach((t) => {\n          t.binding.read();\n        }), this.controller_.rackController.rack.find(nt).forEach((t) => {\n          t.binding.read();\n        });\n      }\n    }\n    class sa extends Ee {\n      constructor(t, e) {\n        super(t, {\n          expanded: e.expanded,\n          blade: e.blade,\n          props: e.props,\n          root: !0,\n          viewProps: e.viewProps\n        });\n      }\n    }\n    const oa = {\n      id: \"slider\",\n      type: \"blade\",\n      accept(n) {\n        const t = R, e = I(n, {\n          max: t.required.number,\n          min: t.required.number,\n          view: t.required.constant(\"slider\"),\n          format: t.optional.function,\n          label: t.optional.string,\n          value: t.optional.number\n        });\n        return e ? { params: e } : null;\n      },\n      controller(n) {\n        var t, e;\n        const i = (t = n.params.value) !== null && t !== void 0 ? t : 0, r = new gt({\n          max: n.params.max,\n          min: n.params.min\n        }), a = new De(n.document, {\n          baseStep: 1,\n          parser: Z,\n          sliderProps: new C({\n            maxValue: r.values.value(\"max\"),\n            minValue: r.values.value(\"min\")\n          }),\n          textProps: C.fromObject({\n            draggingScale: xt(void 0, i),\n            formatter: (e = n.params.format) !== null && e !== void 0 ? e : Wr\n          }),\n          value: N(i, {\n            constraint: r\n          }),\n          viewProps: n.viewProps\n        });\n        return new wt(n.document, {\n          blade: n.blade,\n          props: C.fromObject({\n            label: n.params.label\n          }),\n          valueController: a\n        });\n      },\n      api(n) {\n        return !(n.controller instanceof wt) || !(n.controller.valueController instanceof De) ? null : new xi(n.controller);\n      }\n    }, aa = /* @__PURE__ */ function() {\n      return {\n        id: \"text\",\n        type: \"blade\",\n        accept(n) {\n          const t = R, e = I(n, {\n            parse: t.required.function,\n            value: t.required.raw,\n            view: t.required.constant(\"text\"),\n            format: t.optional.function,\n            label: t.optional.string\n          });\n          return e ? { params: e } : null;\n        },\n        controller(n) {\n          var t;\n          const e = new ee(n.document, {\n            parser: n.params.parse,\n            props: C.fromObject({\n              formatter: (t = n.params.format) !== null && t !== void 0 ? t : (i) => String(i)\n            }),\n            value: N(n.params.value),\n            viewProps: n.viewProps\n          });\n          return new wt(n.document, {\n            blade: n.blade,\n            props: C.fromObject({\n              label: n.params.label\n            }),\n            valueController: e\n          });\n        },\n        api(n) {\n          return !(n.controller instanceof wt) || !(n.controller.valueController instanceof ee) ? null : new yi(n.controller);\n        }\n      };\n    }();\n    function la(n) {\n      const t = n.createElement(\"div\");\n      return t.classList.add(E(\"dfw\")()), n.body && n.body.appendChild(t), t;\n    }\n    function Pi(n, t, e) {\n      if (n.querySelector(`style[data-tp-style=${t}]`))\n        return;\n      const i = n.createElement(\"style\");\n      i.dataset.tpStyle = t, i.textContent = e, n.head.appendChild(i);\n    }\n    class pa extends ra {\n      constructor(t) {\n        var e, i;\n        const r = t ?? {}, a = (e = r.document) !== null && e !== void 0 ? e : ji(), d = Yo(), h = new sa(a, {\n          expanded: r.expanded,\n          blade: Lt(),\n          props: C.fromObject({\n            title: r.title\n          }),\n          viewProps: W.create()\n        });\n        super(h, d), this.pool_ = d, this.containerElem_ = (i = r.container) !== null && i !== void 0 ? i : la(a), this.containerElem_.appendChild(this.element), this.doc_ = a, this.usesDefaultWrapper_ = !r.container, this.setUpDefaultPlugins_();\n      }\n      get document() {\n        if (!this.doc_)\n          throw _.alreadyDisposed();\n        return this.doc_;\n      }\n      dispose() {\n        const t = this.containerElem_;\n        if (!t)\n          throw _.alreadyDisposed();\n        if (this.usesDefaultWrapper_) {\n          const e = t.parentElement;\n          e && e.removeChild(t);\n        }\n        this.containerElem_ = null, this.doc_ = null, super.dispose();\n      }\n      registerPlugin(t) {\n        (\"plugin\" in t ? [t.plugin] : \"plugins\" in t ? t.plugins : []).forEach((i) => {\n          this.pool_.register(i), this.embedPluginStyle_(i);\n        });\n      }\n      embedPluginStyle_(t) {\n        t.css && Pi(this.document, `plugin-${t.id}`, t.css);\n      }\n      setUpDefaultPlugins_() {\n        Pi(this.document, \"default\", '.tp-tbiv_b,.tp-coltxtv_ms,.tp-ckbv_i,.tp-rotv_b,.tp-fldv_b,.tp-mllv_i,.tp-sglv_i,.tp-grlv_g,.tp-txtv_i,.tp-p2dpv_p,.tp-colswv_sw,.tp-p2dv_b,.tp-btnv_b,.tp-lstv_s{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0);border-width:0;font-family:inherit;font-size:inherit;font-weight:inherit;margin:0;outline:none;padding:0}.tp-p2dv_b,.tp-btnv_b,.tp-lstv_s{background-color:var(--btn-bg);border-radius:var(--elm-br);color:var(--btn-fg);cursor:pointer;display:block;font-weight:bold;height:var(--bld-us);line-height:var(--bld-us);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-p2dv_b:hover,.tp-btnv_b:hover,.tp-lstv_s:hover{background-color:var(--btn-bg-h)}.tp-p2dv_b:focus,.tp-btnv_b:focus,.tp-lstv_s:focus{background-color:var(--btn-bg-f)}.tp-p2dv_b:active,.tp-btnv_b:active,.tp-lstv_s:active{background-color:var(--btn-bg-a)}.tp-p2dv_b:disabled,.tp-btnv_b:disabled,.tp-lstv_s:disabled{opacity:.5}.tp-txtv_i,.tp-p2dpv_p,.tp-colswv_sw{background-color:var(--in-bg);border-radius:var(--elm-br);box-sizing:border-box;color:var(--in-fg);font-family:inherit;height:var(--bld-us);line-height:var(--bld-us);min-width:0;width:100%}.tp-txtv_i:hover,.tp-p2dpv_p:hover,.tp-colswv_sw:hover{background-color:var(--in-bg-h)}.tp-txtv_i:focus,.tp-p2dpv_p:focus,.tp-colswv_sw:focus{background-color:var(--in-bg-f)}.tp-txtv_i:active,.tp-p2dpv_p:active,.tp-colswv_sw:active{background-color:var(--in-bg-a)}.tp-txtv_i:disabled,.tp-p2dpv_p:disabled,.tp-colswv_sw:disabled{opacity:.5}.tp-mllv_i,.tp-sglv_i,.tp-grlv_g{background-color:var(--mo-bg);border-radius:var(--elm-br);box-sizing:border-box;color:var(--mo-fg);height:var(--bld-us);scrollbar-color:currentColor rgba(0,0,0,0);scrollbar-width:thin;width:100%}.tp-mllv_i::-webkit-scrollbar,.tp-sglv_i::-webkit-scrollbar,.tp-grlv_g::-webkit-scrollbar{height:8px;width:8px}.tp-mllv_i::-webkit-scrollbar-corner,.tp-sglv_i::-webkit-scrollbar-corner,.tp-grlv_g::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.tp-mllv_i::-webkit-scrollbar-thumb,.tp-sglv_i::-webkit-scrollbar-thumb,.tp-grlv_g::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:currentColor;border:rgba(0,0,0,0) solid 2px;border-radius:4px}.tp-rotv{--font-family: var(--tp-font-family, Roboto Mono, Source Code Pro, Menlo, Courier, monospace);--bs-br: var(--tp-base-border-radius, 6px);--cnt-h-p: var(--tp-container-horizontal-padding, 4px);--cnt-v-p: var(--tp-container-vertical-padding, 4px);--elm-br: var(--tp-element-border-radius, 2px);--bld-s: var(--tp-blade-spacing, 4px);--bld-us: var(--tp-blade-unit-size, 20px);--bs-bg: var(--tp-base-background-color, hsl(230, 7%, 17%));--bs-sh: var(--tp-base-shadow-color, rgba(0, 0, 0, 0.2));--btn-bg: var(--tp-button-background-color, hsl(230, 7%, 70%));--btn-bg-a: var(--tp-button-background-color-active, #d6d7db);--btn-bg-f: var(--tp-button-background-color-focus, #c8cad0);--btn-bg-h: var(--tp-button-background-color-hover, #bbbcc4);--btn-fg: var(--tp-button-foreground-color, hsl(230, 7%, 17%));--cnt-bg: var(--tp-container-background-color, rgba(187, 188, 196, 0.1));--cnt-bg-a: var(--tp-container-background-color-active, rgba(187, 188, 196, 0.25));--cnt-bg-f: var(--tp-container-background-color-focus, rgba(187, 188, 196, 0.2));--cnt-bg-h: var(--tp-container-background-color-hover, rgba(187, 188, 196, 0.15));--cnt-fg: var(--tp-container-foreground-color, hsl(230, 7%, 75%));--in-bg: var(--tp-input-background-color, rgba(187, 188, 196, 0.1));--in-bg-a: var(--tp-input-background-color-active, rgba(187, 188, 196, 0.25));--in-bg-f: var(--tp-input-background-color-focus, rgba(187, 188, 196, 0.2));--in-bg-h: var(--tp-input-background-color-hover, rgba(187, 188, 196, 0.15));--in-fg: var(--tp-input-foreground-color, hsl(230, 7%, 75%));--lbl-fg: var(--tp-label-foreground-color, rgba(187, 188, 196, 0.7));--mo-bg: var(--tp-monitor-background-color, rgba(0, 0, 0, 0.2));--mo-fg: var(--tp-monitor-foreground-color, rgba(187, 188, 196, 0.7));--grv-fg: var(--tp-groove-foreground-color, rgba(187, 188, 196, 0.1))}.tp-rotv_c>.tp-cntv.tp-v-lst,.tp-tabv_c .tp-brkv>.tp-cntv.tp-v-lst,.tp-fldv_c>.tp-cntv.tp-v-lst{margin-bottom:calc(-1*var(--cnt-v-p))}.tp-rotv_c>.tp-fldv.tp-v-lst .tp-fldv_c,.tp-tabv_c .tp-brkv>.tp-fldv.tp-v-lst .tp-fldv_c,.tp-fldv_c>.tp-fldv.tp-v-lst .tp-fldv_c{border-bottom-left-radius:0}.tp-rotv_c>.tp-fldv.tp-v-lst .tp-fldv_b,.tp-tabv_c .tp-brkv>.tp-fldv.tp-v-lst .tp-fldv_b,.tp-fldv_c>.tp-fldv.tp-v-lst .tp-fldv_b{border-bottom-left-radius:0}.tp-rotv_c>*:not(.tp-v-fst),.tp-tabv_c .tp-brkv>*:not(.tp-v-fst),.tp-fldv_c>*:not(.tp-v-fst){margin-top:var(--bld-s)}.tp-rotv_c>.tp-sprv:not(.tp-v-fst),.tp-tabv_c .tp-brkv>.tp-sprv:not(.tp-v-fst),.tp-fldv_c>.tp-sprv:not(.tp-v-fst),.tp-rotv_c>.tp-cntv:not(.tp-v-fst),.tp-tabv_c .tp-brkv>.tp-cntv:not(.tp-v-fst),.tp-fldv_c>.tp-cntv:not(.tp-v-fst){margin-top:var(--cnt-v-p)}.tp-rotv_c>.tp-sprv+*:not(.tp-v-hidden),.tp-tabv_c .tp-brkv>.tp-sprv+*:not(.tp-v-hidden),.tp-fldv_c>.tp-sprv+*:not(.tp-v-hidden),.tp-rotv_c>.tp-cntv+*:not(.tp-v-hidden),.tp-tabv_c .tp-brkv>.tp-cntv+*:not(.tp-v-hidden),.tp-fldv_c>.tp-cntv+*:not(.tp-v-hidden){margin-top:var(--cnt-v-p)}.tp-rotv_c>.tp-sprv:not(.tp-v-hidden)+.tp-sprv,.tp-tabv_c .tp-brkv>.tp-sprv:not(.tp-v-hidden)+.tp-sprv,.tp-fldv_c>.tp-sprv:not(.tp-v-hidden)+.tp-sprv,.tp-rotv_c>.tp-cntv:not(.tp-v-hidden)+.tp-cntv,.tp-tabv_c .tp-brkv>.tp-cntv:not(.tp-v-hidden)+.tp-cntv,.tp-fldv_c>.tp-cntv:not(.tp-v-hidden)+.tp-cntv{margin-top:0}.tp-tabv_c .tp-brkv>.tp-cntv,.tp-fldv_c>.tp-cntv{margin-left:4px}.tp-tabv_c .tp-brkv>.tp-fldv>.tp-fldv_b,.tp-fldv_c>.tp-fldv>.tp-fldv_b{border-top-left-radius:var(--elm-br);border-bottom-left-radius:var(--elm-br)}.tp-tabv_c .tp-brkv>.tp-fldv.tp-fldv-expanded>.tp-fldv_b,.tp-fldv_c>.tp-fldv.tp-fldv-expanded>.tp-fldv_b{border-bottom-left-radius:0}.tp-tabv_c .tp-brkv .tp-fldv>.tp-fldv_c,.tp-fldv_c .tp-fldv>.tp-fldv_c{border-bottom-left-radius:var(--elm-br)}.tp-tabv_c .tp-brkv>.tp-cntv+.tp-fldv>.tp-fldv_b,.tp-fldv_c>.tp-cntv+.tp-fldv>.tp-fldv_b{border-top-left-radius:0}.tp-tabv_c .tp-brkv>.tp-cntv+.tp-tabv>.tp-tabv_t,.tp-fldv_c>.tp-cntv+.tp-tabv>.tp-tabv_t{border-top-left-radius:0}.tp-tabv_c .tp-brkv>.tp-tabv>.tp-tabv_t,.tp-fldv_c>.tp-tabv>.tp-tabv_t{border-top-left-radius:var(--elm-br)}.tp-tabv_c .tp-brkv .tp-tabv>.tp-tabv_c,.tp-fldv_c .tp-tabv>.tp-tabv_c{border-bottom-left-radius:var(--elm-br)}.tp-rotv_b,.tp-fldv_b{background-color:var(--cnt-bg);color:var(--cnt-fg);cursor:pointer;display:block;height:calc(var(--bld-us) + 4px);line-height:calc(var(--bld-us) + 4px);overflow:hidden;padding-left:var(--cnt-h-p);padding-right:calc(4px + var(--bld-us) + var(--cnt-h-p));position:relative;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%;transition:border-radius .2s ease-in-out .2s}.tp-rotv_b:hover,.tp-fldv_b:hover{background-color:var(--cnt-bg-h)}.tp-rotv_b:focus,.tp-fldv_b:focus{background-color:var(--cnt-bg-f)}.tp-rotv_b:active,.tp-fldv_b:active{background-color:var(--cnt-bg-a)}.tp-rotv_b:disabled,.tp-fldv_b:disabled{opacity:.5}.tp-rotv_m,.tp-fldv_m{background:linear-gradient(to left, var(--cnt-fg), var(--cnt-fg) 2px, transparent 2px, transparent 4px, var(--cnt-fg) 4px);border-radius:2px;bottom:0;content:\"\";display:block;height:6px;right:calc(var(--cnt-h-p) + (var(--bld-us) + 4px - 6px)/2 - 2px);margin:auto;opacity:.5;position:absolute;top:0;transform:rotate(90deg);transition:transform .2s ease-in-out;width:6px}.tp-rotv.tp-rotv-expanded .tp-rotv_m,.tp-fldv.tp-fldv-expanded>.tp-fldv_b>.tp-fldv_m{transform:none}.tp-rotv_c,.tp-fldv_c{box-sizing:border-box;height:0;opacity:0;overflow:hidden;padding-bottom:0;padding-top:0;position:relative;transition:height .2s ease-in-out,opacity .2s linear,padding .2s ease-in-out}.tp-rotv.tp-rotv-cpl:not(.tp-rotv-expanded) .tp-rotv_c,.tp-fldv.tp-fldv-cpl:not(.tp-fldv-expanded)>.tp-fldv_c{display:none}.tp-rotv.tp-rotv-expanded .tp-rotv_c,.tp-fldv.tp-fldv-expanded>.tp-fldv_c{opacity:1;padding-bottom:var(--cnt-v-p);padding-top:var(--cnt-v-p);transform:none;overflow:visible;transition:height .2s ease-in-out,opacity .2s linear .2s,padding .2s ease-in-out}.tp-lstv,.tp-coltxtv_m{position:relative}.tp-lstv_s{padding:0 20px 0 4px;width:100%}.tp-lstv_m,.tp-coltxtv_mm{bottom:0;margin:auto;pointer-events:none;position:absolute;right:2px;top:0}.tp-lstv_m svg,.tp-coltxtv_mm svg{bottom:0;height:16px;margin:auto;position:absolute;right:0;top:0;width:16px}.tp-lstv_m svg path,.tp-coltxtv_mm svg path{fill:currentColor}.tp-pndtxtv,.tp-coltxtv_w{display:flex}.tp-pndtxtv_a,.tp-coltxtv_c{width:100%}.tp-pndtxtv_a+.tp-pndtxtv_a,.tp-coltxtv_c+.tp-pndtxtv_a,.tp-pndtxtv_a+.tp-coltxtv_c,.tp-coltxtv_c+.tp-coltxtv_c{margin-left:2px}.tp-btnv_b{width:100%}.tp-btnv_t{text-align:center}.tp-ckbv_l{display:block;position:relative}.tp-ckbv_i{left:0;opacity:0;position:absolute;top:0}.tp-ckbv_w{background-color:var(--in-bg);border-radius:var(--elm-br);cursor:pointer;display:block;height:var(--bld-us);position:relative;width:var(--bld-us)}.tp-ckbv_w svg{bottom:0;display:block;height:16px;left:0;margin:auto;opacity:0;position:absolute;right:0;top:0;width:16px}.tp-ckbv_w svg path{fill:none;stroke:var(--in-fg);stroke-width:2}.tp-ckbv_i:hover+.tp-ckbv_w{background-color:var(--in-bg-h)}.tp-ckbv_i:focus+.tp-ckbv_w{background-color:var(--in-bg-f)}.tp-ckbv_i:active+.tp-ckbv_w{background-color:var(--in-bg-a)}.tp-ckbv_i:checked+.tp-ckbv_w svg{opacity:1}.tp-ckbv.tp-v-disabled .tp-ckbv_w{opacity:.5}.tp-colv{position:relative}.tp-colv_h{display:flex}.tp-colv_s{flex-grow:0;flex-shrink:0;width:var(--bld-us)}.tp-colv_t{flex:1;margin-left:4px}.tp-colv_p{height:0;margin-top:0;opacity:0;overflow:hidden;transition:height .2s ease-in-out,opacity .2s linear,margin .2s ease-in-out}.tp-colv.tp-colv-expanded.tp-colv-cpl .tp-colv_p{overflow:visible}.tp-colv.tp-colv-expanded .tp-colv_p{margin-top:var(--bld-s);opacity:1}.tp-colv .tp-popv{left:calc(-1*var(--cnt-h-p));right:calc(-1*var(--cnt-h-p));top:var(--bld-us)}.tp-colpv_h,.tp-colpv_ap{margin-left:6px;margin-right:6px}.tp-colpv_h{margin-top:var(--bld-s)}.tp-colpv_rgb{display:flex;margin-top:var(--bld-s);width:100%}.tp-colpv_a{display:flex;margin-top:var(--cnt-v-p);padding-top:calc(var(--cnt-v-p) + 2px);position:relative}.tp-colpv_a::before{background-color:var(--grv-fg);content:\"\";height:2px;left:calc(-1*var(--cnt-h-p));position:absolute;right:calc(-1*var(--cnt-h-p));top:0}.tp-colpv.tp-v-disabled .tp-colpv_a::before{opacity:.5}.tp-colpv_ap{align-items:center;display:flex;flex:3}.tp-colpv_at{flex:1;margin-left:4px}.tp-svpv{border-radius:var(--elm-br);outline:none;overflow:hidden;position:relative}.tp-svpv.tp-v-disabled{opacity:.5}.tp-svpv_c{cursor:crosshair;display:block;height:calc(var(--bld-us)*4);width:100%}.tp-svpv_m{border-radius:100%;border:rgba(255,255,255,.75) solid 2px;box-sizing:border-box;filter:drop-shadow(0 0 1px rgba(0, 0, 0, 0.3));height:12px;margin-left:-6px;margin-top:-6px;pointer-events:none;position:absolute;width:12px}.tp-svpv:focus .tp-svpv_m{border-color:#fff}.tp-hplv{cursor:pointer;height:var(--bld-us);outline:none;position:relative}.tp-hplv.tp-v-disabled{opacity:.5}.tp-hplv_c{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAABCAYAAABubagXAAAAQ0lEQVQoU2P8z8Dwn0GCgQEDi2OK/RBgYHjBgIpfovFh8j8YBIgzFGQxuqEgPhaDOT5gOhPkdCxOZeBg+IDFZZiGAgCaSSMYtcRHLgAAAABJRU5ErkJggg==);background-position:left top;background-repeat:no-repeat;background-size:100% 100%;border-radius:2px;display:block;height:4px;left:0;margin-top:-2px;position:absolute;top:50%;width:100%}.tp-hplv_m{border-radius:var(--elm-br);border:rgba(255,255,255,.75) solid 2px;box-shadow:0 0 2px rgba(0,0,0,.1);box-sizing:border-box;height:12px;left:50%;margin-left:-6px;margin-top:-6px;pointer-events:none;position:absolute;top:50%;width:12px}.tp-hplv:focus .tp-hplv_m{border-color:#fff}.tp-aplv{cursor:pointer;height:var(--bld-us);outline:none;position:relative;width:100%}.tp-aplv.tp-v-disabled{opacity:.5}.tp-aplv_b{background-color:#fff;background-image:linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%),linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%);background-size:4px 4px;background-position:0 0,2px 2px;border-radius:2px;display:block;height:4px;left:0;margin-top:-2px;overflow:hidden;position:absolute;top:50%;width:100%}.tp-aplv_c{bottom:0;left:0;position:absolute;right:0;top:0}.tp-aplv_m{background-color:#fff;background-image:linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%),linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%);background-size:12px 12px;background-position:0 0,6px 6px;border-radius:var(--elm-br);box-shadow:0 0 2px rgba(0,0,0,.1);height:12px;left:50%;margin-left:-6px;margin-top:-6px;overflow:hidden;pointer-events:none;position:absolute;top:50%;width:12px}.tp-aplv_p{border-radius:var(--elm-br);border:rgba(255,255,255,.75) solid 2px;box-sizing:border-box;bottom:0;left:0;position:absolute;right:0;top:0}.tp-aplv:focus .tp-aplv_p{border-color:#fff}.tp-colswv{background-color:#fff;background-image:linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%),linear-gradient(to top right, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%);background-size:10px 10px;background-position:0 0,5px 5px;border-radius:var(--elm-br);overflow:hidden}.tp-colswv.tp-v-disabled{opacity:.5}.tp-colswv_sw{border-radius:0}.tp-colswv_b{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0);border-width:0;cursor:pointer;display:block;height:var(--bld-us);left:0;margin:0;outline:none;padding:0;position:absolute;top:0;width:var(--bld-us)}.tp-colswv_b:focus::after{border:rgba(255,255,255,.75) solid 2px;border-radius:var(--elm-br);bottom:0;content:\"\";display:block;left:0;position:absolute;right:0;top:0}.tp-coltxtv{display:flex;width:100%}.tp-coltxtv_m{margin-right:4px}.tp-coltxtv_ms{border-radius:var(--elm-br);color:var(--lbl-fg);cursor:pointer;height:var(--bld-us);line-height:var(--bld-us);padding:0 18px 0 4px}.tp-coltxtv_ms:hover{background-color:var(--in-bg-h)}.tp-coltxtv_ms:focus{background-color:var(--in-bg-f)}.tp-coltxtv_ms:active{background-color:var(--in-bg-a)}.tp-coltxtv_mm{color:var(--lbl-fg)}.tp-coltxtv.tp-v-disabled .tp-coltxtv_mm{opacity:.5}.tp-coltxtv_w{flex:1}.tp-dfwv{position:absolute;top:8px;right:8px;width:256px}.tp-fldv{position:relative}.tp-fldv.tp-fldv-not .tp-fldv_b{display:none}.tp-fldv_t{padding-left:4px}.tp-fldv_b:disabled .tp-fldv_m{display:none}.tp-fldv_c{padding-left:4px}.tp-fldv_i{bottom:0;color:var(--cnt-bg);left:0;overflow:hidden;position:absolute;top:calc(var(--bld-us) + 4px);width:var(--bs-br)}.tp-fldv_i::before{background-color:currentColor;bottom:0;content:\"\";left:0;position:absolute;top:0;width:4px}.tp-fldv_b:hover+.tp-fldv_i{color:var(--cnt-bg-h)}.tp-fldv_b:focus+.tp-fldv_i{color:var(--cnt-bg-f)}.tp-fldv_b:active+.tp-fldv_i{color:var(--cnt-bg-a)}.tp-fldv.tp-v-disabled>.tp-fldv_i{opacity:.5}.tp-grlv{position:relative}.tp-grlv_g{display:block;height:calc(var(--bld-us)*3)}.tp-grlv_g polyline{fill:none;stroke:var(--mo-fg);stroke-linejoin:round}.tp-grlv_t{margin-top:-4px;transition:left .05s,top .05s;visibility:hidden}.tp-grlv_t.tp-grlv_t-a{visibility:visible}.tp-grlv_t.tp-grlv_t-in{transition:none}.tp-grlv.tp-v-disabled .tp-grlv_g{opacity:.5}.tp-grlv .tp-ttv{background-color:var(--mo-fg)}.tp-grlv .tp-ttv::before{border-top-color:var(--mo-fg)}.tp-lblv{align-items:center;display:flex;line-height:1.3;padding-left:var(--cnt-h-p);padding-right:var(--cnt-h-p)}.tp-lblv.tp-lblv-nol{display:block}.tp-lblv_l{color:var(--lbl-fg);flex:1;-webkit-hyphens:auto;hyphens:auto;overflow:hidden;padding-left:4px;padding-right:16px}.tp-lblv.tp-v-disabled .tp-lblv_l{opacity:.5}.tp-lblv.tp-lblv-nol .tp-lblv_l{display:none}.tp-lblv_v{align-self:flex-start;flex-grow:0;flex-shrink:0;width:160px}.tp-lblv.tp-lblv-nol .tp-lblv_v{width:100%}.tp-lstv_s{padding:0 20px 0 4px;width:100%}.tp-lstv_m{color:var(--btn-fg)}.tp-sglv_i{padding:0 4px}.tp-sglv.tp-v-disabled .tp-sglv_i{opacity:.5}.tp-mllv_i{display:block;height:calc(var(--bld-us)*3);line-height:var(--bld-us);padding:0 4px;resize:none;white-space:pre}.tp-mllv.tp-v-disabled .tp-mllv_i{opacity:.5}.tp-p2dv{position:relative}.tp-p2dv_h{display:flex}.tp-p2dv_b{height:var(--bld-us);margin-right:4px;position:relative;width:var(--bld-us)}.tp-p2dv_b svg{display:block;height:16px;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%;width:16px}.tp-p2dv_b svg path{stroke:currentColor;stroke-width:2}.tp-p2dv_b svg circle{fill:currentColor}.tp-p2dv_t{flex:1}.tp-p2dv_p{height:0;margin-top:0;opacity:0;overflow:hidden;transition:height .2s ease-in-out,opacity .2s linear,margin .2s ease-in-out}.tp-p2dv.tp-p2dv-expanded .tp-p2dv_p{margin-top:var(--bld-s);opacity:1}.tp-p2dv .tp-popv{left:calc(-1*var(--cnt-h-p));right:calc(-1*var(--cnt-h-p));top:var(--bld-us)}.tp-p2dpv{padding-left:calc(var(--bld-us) + 4px)}.tp-p2dpv_p{cursor:crosshair;height:0;overflow:hidden;padding-bottom:100%;position:relative}.tp-p2dpv.tp-v-disabled .tp-p2dpv_p{opacity:.5}.tp-p2dpv_g{display:block;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.tp-p2dpv_ax{opacity:.1;stroke:var(--in-fg);stroke-dasharray:1}.tp-p2dpv_l{opacity:.5;stroke:var(--in-fg);stroke-dasharray:1}.tp-p2dpv_m{border:var(--in-fg) solid 1px;border-radius:50%;box-sizing:border-box;height:4px;margin-left:-2px;margin-top:-2px;position:absolute;width:4px}.tp-p2dpv_p:focus .tp-p2dpv_m{background-color:var(--in-fg);border-width:0}.tp-popv{background-color:var(--bs-bg);border-radius:6px;box-shadow:0 2px 4px var(--bs-sh);display:none;max-width:168px;padding:var(--cnt-v-p) var(--cnt-h-p);position:absolute;visibility:hidden;z-index:1000}.tp-popv.tp-popv-v{display:block;visibility:visible}.tp-sprv_r{background-color:var(--grv-fg);border-width:0;display:block;height:2px;margin:0;width:100%}.tp-sprv.tp-v-disabled .tp-sprv_r{opacity:.5}.tp-sldv.tp-v-disabled{opacity:.5}.tp-sldv_t{box-sizing:border-box;cursor:pointer;height:var(--bld-us);margin:0 6px;outline:none;position:relative}.tp-sldv_t::before{background-color:var(--in-bg);border-radius:1px;bottom:0;content:\"\";display:block;height:2px;left:0;margin:auto;position:absolute;right:0;top:0}.tp-sldv_k{height:100%;left:0;position:absolute;top:0}.tp-sldv_k::before{background-color:var(--in-fg);border-radius:1px;bottom:0;content:\"\";display:block;height:2px;left:0;margin-bottom:auto;margin-top:auto;position:absolute;right:0;top:0}.tp-sldv_k::after{background-color:var(--btn-bg);border-radius:var(--elm-br);bottom:0;content:\"\";display:block;height:12px;margin-bottom:auto;margin-top:auto;position:absolute;right:-6px;top:0;width:12px}.tp-sldv_t:hover .tp-sldv_k::after{background-color:var(--btn-bg-h)}.tp-sldv_t:focus .tp-sldv_k::after{background-color:var(--btn-bg-f)}.tp-sldv_t:active .tp-sldv_k::after{background-color:var(--btn-bg-a)}.tp-sldtxtv{display:flex}.tp-sldtxtv_s{flex:2}.tp-sldtxtv_t{flex:1;margin-left:4px}.tp-tabv{position:relative}.tp-tabv_t{align-items:flex-end;color:var(--cnt-bg);display:flex;overflow:hidden;position:relative}.tp-tabv_t:hover{color:var(--cnt-bg-h)}.tp-tabv_t:has(*:focus){color:var(--cnt-bg-f)}.tp-tabv_t:has(*:active){color:var(--cnt-bg-a)}.tp-tabv_t::before{background-color:currentColor;bottom:0;content:\"\";height:2px;left:0;pointer-events:none;position:absolute;right:0}.tp-tabv.tp-v-disabled .tp-tabv_t::before{opacity:.5}.tp-tabv.tp-tabv-nop .tp-tabv_t{height:calc(var(--bld-us) + 4px);position:relative}.tp-tabv.tp-tabv-nop .tp-tabv_t::before{background-color:var(--cnt-bg);bottom:0;content:\"\";height:2px;left:0;position:absolute;right:0}.tp-tabv_c{padding-bottom:var(--cnt-v-p);padding-left:4px;padding-top:var(--cnt-v-p)}.tp-tabv_i{bottom:0;color:var(--cnt-bg);left:0;overflow:hidden;position:absolute;top:calc(var(--bld-us) + 4px);width:var(--bs-br)}.tp-tabv_i::before{background-color:currentColor;bottom:0;content:\"\";left:0;position:absolute;top:0;width:4px}.tp-tabv_t:hover+.tp-tabv_i{color:var(--cnt-bg-h)}.tp-tabv_t:has(*:focus)+.tp-tabv_i{color:var(--cnt-bg-f)}.tp-tabv_t:has(*:active)+.tp-tabv_i{color:var(--cnt-bg-a)}.tp-tabv.tp-v-disabled>.tp-tabv_i{opacity:.5}.tp-tbiv{flex:1;min-width:0;position:relative}.tp-tbiv+.tp-tbiv{margin-left:2px}.tp-tbiv+.tp-tbiv.tp-v-disabled::before{opacity:.5}.tp-tbiv_b{display:block;padding-left:calc(var(--cnt-h-p) + 4px);padding-right:calc(var(--cnt-h-p) + 4px);position:relative;width:100%}.tp-tbiv_b:disabled{opacity:.5}.tp-tbiv_b::before{background-color:var(--cnt-bg);bottom:2px;content:\"\";left:0;pointer-events:none;position:absolute;right:0;top:0}.tp-tbiv_b:hover::before{background-color:var(--cnt-bg-h)}.tp-tbiv_b:focus::before{background-color:var(--cnt-bg-f)}.tp-tbiv_b:active::before{background-color:var(--cnt-bg-a)}.tp-tbiv_t{color:var(--cnt-fg);height:calc(var(--bld-us) + 4px);line-height:calc(var(--bld-us) + 4px);opacity:.5;overflow:hidden;text-overflow:ellipsis}.tp-tbiv.tp-tbiv-sel .tp-tbiv_t{opacity:1}.tp-txtv{position:relative}.tp-txtv_i{padding:0 4px}.tp-txtv.tp-txtv-fst .tp-txtv_i{border-bottom-right-radius:0;border-top-right-radius:0}.tp-txtv.tp-txtv-mid .tp-txtv_i{border-radius:0}.tp-txtv.tp-txtv-lst .tp-txtv_i{border-bottom-left-radius:0;border-top-left-radius:0}.tp-txtv.tp-txtv-num .tp-txtv_i{text-align:right}.tp-txtv.tp-txtv-drg .tp-txtv_i{opacity:.3}.tp-txtv_k{cursor:pointer;height:100%;left:-3px;position:absolute;top:0;width:12px}.tp-txtv_k::before{background-color:var(--in-fg);border-radius:1px;bottom:0;content:\"\";height:calc(var(--bld-us) - 4px);left:50%;margin-bottom:auto;margin-left:-1px;margin-top:auto;opacity:.1;position:absolute;top:0;transition:border-radius .1s,height .1s,transform .1s,width .1s;width:2px}.tp-txtv_k:hover::before,.tp-txtv.tp-txtv-drg .tp-txtv_k::before{opacity:1}.tp-txtv.tp-txtv-drg .tp-txtv_k::before{border-radius:50%;height:4px;transform:translateX(-1px);width:4px}.tp-txtv_g{bottom:0;display:block;height:8px;left:50%;margin:auto;overflow:visible;pointer-events:none;position:absolute;top:0;visibility:hidden;width:100%}.tp-txtv.tp-txtv-drg .tp-txtv_g{visibility:visible}.tp-txtv_gb{fill:none;stroke:var(--in-fg);stroke-dasharray:1}.tp-txtv_gh{fill:none;stroke:var(--in-fg)}.tp-txtv .tp-ttv{margin-left:6px;visibility:hidden}.tp-txtv.tp-txtv-drg .tp-ttv{visibility:visible}.tp-ttv{background-color:var(--in-fg);border-radius:var(--elm-br);color:var(--bs-bg);padding:2px 4px;pointer-events:none;position:absolute;transform:translate(-50%, -100%)}.tp-ttv::before{border-color:var(--in-fg) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);border-style:solid;border-width:2px;box-sizing:border-box;content:\"\";font-size:.9em;height:4px;left:50%;margin-left:-2px;position:absolute;top:100%;width:4px}.tp-rotv{background-color:var(--bs-bg);border-radius:var(--bs-br);box-shadow:0 2px 4px var(--bs-sh);font-family:var(--font-family);font-size:11px;font-weight:500;line-height:1;text-align:left}.tp-rotv_b{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br);border-top-left-radius:var(--bs-br);border-top-right-radius:var(--bs-br);padding-left:calc(4px + var(--bld-us) + var(--cnt-h-p));text-align:center}.tp-rotv.tp-rotv-expanded .tp-rotv_b{border-bottom-left-radius:0;border-bottom-right-radius:0}.tp-rotv.tp-rotv-not .tp-rotv_b{display:none}.tp-rotv_b:disabled .tp-rotv_m{display:none}.tp-rotv_c>.tp-fldv.tp-v-lst>.tp-fldv_c{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br)}.tp-rotv_c>.tp-fldv.tp-v-lst>.tp-fldv_i{border-bottom-left-radius:var(--bs-br)}.tp-rotv_c>.tp-fldv.tp-v-lst:not(.tp-fldv-expanded)>.tp-fldv_b{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br)}.tp-rotv_c .tp-fldv.tp-v-vlst:not(.tp-fldv-expanded)>.tp-fldv_b{border-bottom-right-radius:var(--bs-br)}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-fldv.tp-v-fst{margin-top:calc(-1*var(--cnt-v-p))}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-fldv.tp-v-fst>.tp-fldv_b{border-top-left-radius:var(--bs-br);border-top-right-radius:var(--bs-br)}.tp-rotv_c>.tp-tabv.tp-v-lst>.tp-tabv_c{border-bottom-left-radius:var(--bs-br);border-bottom-right-radius:var(--bs-br)}.tp-rotv_c>.tp-tabv.tp-v-lst>.tp-tabv_i{border-bottom-left-radius:var(--bs-br)}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-tabv.tp-v-fst{margin-top:calc(-1*var(--cnt-v-p))}.tp-rotv.tp-rotv-not .tp-rotv_c>.tp-tabv.tp-v-fst>.tp-tabv_t{border-top-left-radius:var(--bs-br);border-top-right-radius:var(--bs-br)}.tp-rotv.tp-v-disabled,.tp-rotv .tp-v-disabled{pointer-events:none}.tp-rotv.tp-v-hidden,.tp-rotv .tp-v-hidden{display:none}'), this.pool_.getAll().forEach((t) => {\n          this.embedPluginStyle_(t);\n        }), this.registerPlugin({\n          plugins: [\n            oa,\n            ea,\n            gn,\n            aa\n          ]\n        });\n      }\n    }\n    const da = new p(\"3.1.10\");\n    o.BladeApi = l, o.ButtonApi = et, o.FolderApi = xe, o.InputBindingApi = ge, o.ListApi = Ci, o.MonitorBindingApi = Ce, o.Pane = pa, o.SeparatorApi = cn, o.SliderApi = xi, o.TabApi = fn, o.TabPageApi = bn, o.TextApi = yi, o.TpChangeEvent = v, o.VERSION = da, Object.defineProperty(o, \"__esModule\", { value: !0 });\n  });\n})(Xe, Xe.exports);\nvar wa = Xe.exports;\n/**\n * @license\n * uiconfig.js v0.1.1\n * Copyright 2022-2024 repalash <palash@shaders.app>\n * MIT License\n */\n/**\n * @license\n * ts-browser-helpers v0.16.0\n * Copyright 2022-2024 repalash <palash@shaders.app>\n * MIT License\n * See ./dependencies.txt for bundled third-party dependencies and licenses.\n */\nclass ga {\n  constructor() {\n    this._eventListeners = {}, this.dispatchEvent = this.dispatchEvent.bind(this), this.addEventListener = this.addEventListener.bind(this), this.removeEventListener = this.removeEventListener.bind(this), this.hasEventListener = this.hasEventListener.bind(this);\n  }\n  addEventListener(s, o) {\n    const p = this._eventListeners;\n    p[s] === void 0 && (p[s] = []), p[s].includes(o) || p[s].push(o);\n  }\n  hasEventListener(s, o) {\n    const p = this._eventListeners;\n    return p[s] !== void 0 && p[s].includes(o);\n  }\n  removeEventListener(s, o) {\n    const p = this._eventListeners[s];\n    if (p !== void 0) {\n      const l = p.indexOf(o);\n      l !== -1 && p.splice(l, 1);\n    }\n  }\n  dispatchEvent(s) {\n    const o = this._eventListeners[s.type];\n    if (o !== void 0) {\n      s.target = this;\n      const p = o.slice(0);\n      for (let l = 0, c = p.length; l < c; l++) p[l].call(this, s);\n    }\n  }\n}\nasync function Ca(u) {\n  return new Promise((s) => setTimeout(s, Math.max(0, u)));\n}\nfunction xa() {\n  return (typeof performance > \"u\" ? Date : performance).now();\n}\n/*!\n * Fork Of -\n * JavaScript Undo Manager 1.0.0\n * Simple JavaScript undo/redo command manager supporting transactions with no dependencies.\n *\n * Copyright: Alexey Grinko, 2017\n * Git repository: https://github.com/agrinko/js-undo-manager.git\n *\n * @license MIT - https://opensource.org/licenses/MIT\n *\n * Changes -\n * 1. Added presets commands\n * 2. Port to TypeScript\n * 3. Remove transactions\n */\nclass ya {\n  constructor(s) {\n    this.options = {\n      limit: 500,\n      // maximum commands stack size\n      debug: !1,\n      // whether to emit execution status in console\n      bindHotKeys: !1\n      // whether to bind \"undo\" and \"redo\" commands to \"Ctrl+Z\", \"Ctrl+Y\" & \"Ctrl+Shift+Z\" hot keys\n      // useTransactions: true   // whether to initialize transactions manager\n    }, this.enabled = !0, this.presets = {}, this._keyDown = (o) => {\n      if (!this.enabled) return;\n      const p = o.ctrlKey || o.metaKey;\n      o.code === \"KeyZ\" && p && !o.shiftKey ? this.undo() : (o.code === \"KeyZ\" && p && o.shiftKey || o.code === \"KeyY\" && o.ctrlKey) && this.redo();\n    }, Object.assign(this.options, s), this.limit = s.limit, this.options = s, this.reset(), s.bindHotKeys && this.bindHotKeys(), this.log(`Initialized with stack limit of ${this.limit} commands`);\n  }\n  /**\n   * Bind 'undo' and 'redo' actions to 'Ctrl/Cmd+Z', 'Ctrl+Y' & 'Ctrl/Cmd+Shift+Z' hot keys.\n   * It is a basic implementation for quick testing and should be replaced with custom event handlers\n   * for more flexible processing.\n   * @returns {JSUndoManager}\n   */\n  bindHotKeys() {\n    return this.log(\"Bound 'undo' and 'redo' actions to 'Ctrl/Cmd+Z', 'Ctrl+Y' & 'Ctrl/Cmd+Shift+Z' hot keys\"), (this.options.hotKeyRoot ?? document).addEventListener(\"keydown\", this._keyDown), this;\n  }\n  dispose() {\n    return (this.options.hotKeyRoot ?? document).removeEventListener(\"keydown\", this._keyDown), this.reset();\n  }\n  /**\n   * Remember executed command containing \"redo\" and \"undo\" functions\n   * @param {Object|Function} command - either an object with \"redo\" and \"undo\" functions\n   * @returns {JSUndoManager}\n   */\n  record(s) {\n    return this.enabled ? (this._record(s), this) : this;\n  }\n  replaceLast(s) {\n    const o = this.peek();\n    if (o)\n      return this.log(\"replace\", o, \"with\", s), this.stack[this.sp] = s, this;\n  }\n  /**\n   * Execute function and record it with its opposite \"undo\" function\n   * @param {Object|Function} command - either an object with \"redo\" and \"undo\" functions\n   * @param {Function} [undo] - \"undo\" function, used if the first argument is also a function\n   * @returns {JSUndoManager}\n   */\n  execute(s) {\n    if (!this.enabled) return;\n    let o = this._rc(s), p = o.redo;\n    return this.record.apply(this, o), this.log(\"Executing function...\"), p.apply(s), this;\n  }\n  _rc(s) {\n    if (s.type) {\n      const o = this.presets[s.type];\n      if (typeof o == \"function\")\n        return o(s);\n      throw console.error(s, o, this.presets), new Error(\"Predefined command not found\");\n    } else\n      return s;\n  }\n  _record(s) {\n    this.enabled && (this.log(\"Recording command\", s), this._rebase(), this.stack.push(s), this.sp++, this._keepLimit());\n  }\n  //forget \"future\" commands if stack pointer is not at the end\n  _rebase() {\n    this.canRedo() && (this.stack.length = this.sp + 1);\n  }\n  //sustain limited size of stack; cut extra commands starting with the latest ones\n  _keepLimit() {\n    if (this.stack.length <= this.limit)\n      return;\n    let s = this.stack.length - this.limit;\n    this.log(\"Stack size reached its limit: ${this.limit} commands. Cutting off most old commands...\"), s === 1 ? this.stack.shift() : this.stack.splice(0, s), this.sp -= s;\n  }\n  /**\n   * Undo previous command if possible\n   * @returns {JSUndoManager}\n   */\n  undo() {\n    if (!this.canUndo())\n      return this;\n    let s = this.stack[this.sp];\n    return this.log(\"undo\"), this.sp--, this._rc(s).undo(), this;\n  }\n  /**\n   * Check whether undoing previous command is possible\n   * @returns {boolean}\n   */\n  canUndo() {\n    return this.sp >= 0 && this.enabled;\n  }\n  /**\n   * Get the last command that was done\n   */\n  peek() {\n    return this.canUndo() ? this.stack[this.sp] : null;\n  }\n  /**\n   * Redo the command which was previously undone\n   * @returns {JSUndoManager}\n   */\n  redo() {\n    if (!this.canRedo())\n      return this;\n    let s = this.stack[this.sp + 1];\n    return this.log(\"redo\"), this.sp++, this._rc(s).redo(), this;\n  }\n  /**\n   * Check whether redoing command is possible\n   * @returns {boolean}\n   */\n  canRedo() {\n    return this.sp < this.stack.length - 1 && this.enabled;\n  }\n  /**\n   * Gets the last command that was undone\n   */\n  peekForward() {\n    return this.canRedo() ? this.stack[this.sp + 1] : null;\n  }\n  /**\n   * Change stack size limit initially defined in the constructor options\n   * @param {number} limit\n   */\n  setLimit(s) {\n    let o = this.stack.length - this.sp - 1;\n    if (s < 1 || typeof s != \"number\")\n      throw new TypeError(`JSUndoManager.setLimit(): unexpected argument limit=${s}. Should be a positive number`);\n    return s < o ? console.warn(`JSUndoManager.setLimit(): cannot set stack limit (${s}) less than the number of 'redoable' commands (${o})`) : (this.limit = Math.floor(s), this._keepLimit()), this;\n  }\n  /**\n   * Reset all commands from memory\n   */\n  reset() {\n    return this.log(\"reset\"), this.stack = [], this.sp = -1, this;\n  }\n  /**\n   * Check whether the commands stack is empty\n   * @returns {boolean}\n   */\n  isEmpty() {\n    return !this.stack.length;\n  }\n  /**\n   * Check whether the commands stack size reaches its limit\n   * @returns {boolean}\n   */\n  isFull() {\n    return this.stack.length === this.limit;\n  }\n  /**\n   * Get number of commands in memory stack\n   * @returns {Number}\n   */\n  getSize() {\n    return this.stack.length;\n  }\n  log(s, ...o) {\n    this.options.debug && console.log(`Command Manager: ${s}`, ...o);\n  }\n}\nfunction Pa({ innerHTML: u = \"\", id: s, classList: o, addToBody: p = !0, elementTag: l = \"div\" }) {\n  const c = document.createElement(l);\n  return s && (c.id = s), c.innerHTML = u, o && c.classList.add(...o), p && document.body.appendChild(c), c;\n}\nfunction Ea(u, s) {\n  let o;\n  do\n    o = Object.getOwnPropertyDescriptor(u, s);\n  while (!o && (u = Object.getPrototypeOf(u)));\n  return o;\n}\nfunction ka(u, s, o = !0, p = !1) {\n  const l = Ea(u, s);\n  return !!(l != null && l.set) || o && (l == null ? void 0 : l.writable) !== !1 && (l == null ? void 0 : l.get) === void 0 || p && !l;\n}\nfunction Va(u, s, o, p = !0, l = !1) {\n  return u && ka(u, s, p, l) ? (u[s] = o, !0) : !1;\n}\nfunction q(u, ...s) {\n  return typeof u == \"function\" && (u = u(...s)), u;\n}\nfunction Sa() {\n  const u = (p, l) => p.toString(16).padStart(l, \"0\"), s = crypto.getRandomValues(new Uint8Array(16));\n  s[6] = s[6] & 15 | 64, s[8] = s[8] & 63 | 128;\n  const o = new DataView(s.buffer);\n  return `${u(o.getUint32(0), 8)}-${u(o.getUint16(4), 4)}-${u(o.getUint16(6), 4)}-${u(o.getUint16(8), 4)}-${u(o.getUint32(10), 8)}${u(o.getUint16(14), 4)}`;\n}\nfunction La(u, s = null) {\n  return new URL(window.location.href).searchParams.get(u) ?? s;\n}\nfunction pt(u, s, o, p) {\n  function l(c) {\n    return c instanceof o ? c : new o(function(v) {\n      v(c);\n    });\n  }\n  return new (o || (o = Promise))(function(c, v) {\n    function w(O) {\n      try {\n        S(p.next(O));\n      } catch (g) {\n        v(g);\n      }\n    }\n    function b(O) {\n      try {\n        S(p.throw(O));\n      } catch (g) {\n        v(g);\n      }\n    }\n    function S(O) {\n      O.done ? c(O.value) : l(O.value).then(w, b);\n    }\n    S((p = p.apply(u, s || [])).next());\n  });\n}\nfunction dt(u) {\n  return u === null || typeof u != \"object\" ? u : Array.isArray(u) ? u.map(dt) : typeof u.clone == \"function\" ? u.clone() : u;\n}\nfunction de(u, s) {\n  return u === null || typeof u != \"object\" ? u === s : Array.isArray(u) ? Array.isArray(s) && u.length === s.length && u.every((o, p) => de(o, s[p])) : typeof u.equals == \"function\" ? !!u.equals(s) : u === s;\n}\nfunction ue(u, s) {\n  if (s === null || typeof s != \"object\")\n    return s;\n  if (Array.isArray(s))\n    if (u && Array.isArray(u)) {\n      if (u.length < s.length) {\n        for (let o = 0; o < u.length; o++)\n          u[o] = ue(u[o], s[o]);\n        for (let o = u.length; o < s.length; o++)\n          u.push(dt(s[o]));\n      } else {\n        for (let o = 0; o < s.length; o++)\n          u[o] = ue(u[o], s[o]);\n        u.length = s.length;\n      }\n      return u;\n    } else\n      return dt(s);\n  else return typeof s.copy == \"function\" ? u && typeof u == \"object\" && !Array.isArray(u) && typeof u.copy == \"function\" ? (u.copy(s), u) : dt(s) : s;\n}\nclass Aa {\n  constructor(s) {\n    this._renderer = s, this.undoEditingWaitTime = 2e3, this.undoPresets = {\n      UiConfigMethods_set: (o) => {\n        const p = () => {\n          var l, c;\n          return (c = (l = o.config).uiRefresh) === null || c === void 0 ? void 0 : c.call(l, !1);\n        };\n        return {\n          undo: () => {\n            this.setValue(o.config, o.lastVal, o.props, void 0, !1).then(p);\n          },\n          redo: () => {\n            this.setValue(o.config, o.val, o.props, void 0, !1).then(p);\n          }\n        };\n      },\n      UiConfigMethods_action: (o) => {\n        const p = () => {\n          var l, c;\n          return (c = (l = o.config).uiRefresh) === null || c === void 0 ? void 0 : c.call(l, !1);\n        };\n        return {\n          undo: () => pt(this, void 0, void 0, function* () {\n            yield o.undo.call(o.target, ...o.args), p();\n          }),\n          redo: () => pt(this, void 0, void 0, function* () {\n            yield o.redo.call(o.target, ...o.args), p();\n          })\n        };\n      }\n    };\n  }\n  getBinding(s, o = !0) {\n    let p = q(s.property, s);\n    const l = q(s.path, s);\n    if (p === void 0 && Object.hasOwn(s, \"value\") && (p = [s, \"value\"]), p === void 0 && o && (p = q(s.parentProperty, s)), !p || typeof p[0] != \"object\" || !p[1])\n      return [void 0, \"\"];\n    if (typeof p[1] == \"string\" && l && l.length && (p = [p[0], p[1] + \".\" + l]), typeof p[1] == \"string\" && p[1].includes(\".\")) {\n      const c = p[1].split(\".\");\n      let v = p[0];\n      const w = c.pop() || \"\";\n      for (const b of c)\n        if (v = Array.isArray(v) ? v[parseInt(b)] : v[b], !v)\n          return console.warn(\"Cannot determine property, invalid property path\", s, p), [void 0, \"\"];\n      p = [v, w];\n    }\n    return Array.isArray(p[0]) && typeof p[1] == \"string\" && (p[1] = parseInt(p[1])), p;\n  }\n  getRawValue(s) {\n    const [o, p] = this.getBinding(s);\n    return o ? o[p] : void 0;\n  }\n  getValue(s, o, p = !0) {\n    const [l, c] = this.getBinding(s);\n    if (!l)\n      return;\n    const v = l[c];\n    return o !== void 0 && v !== void 0 ? de(o, v) && !p ? void 0 : ue(o, v) : dt(v);\n  }\n  dispatchOnChangeSync(s, o, ...p) {\n    var l, c, v;\n    const b = [{\n      type: \"change\",\n      last: (l = o.last) !== null && l !== void 0 ? l : !0,\n      config: (c = o.config) !== null && c !== void 0 ? c : s,\n      configPath: [s, ...o.configPath || []],\n      target: s,\n      value: o.value,\n      lastValue: o.lastValue\n    }, ...p];\n    typeof s.onChange == \"function\" ? s.onChange(...b) : Array.isArray(s.onChange) ? s.onChange.flat().forEach((S) => typeof S == \"function\" && (S == null ? void 0 : S(...b))) : s.onChange && console.error(\"Invalid onChange type, must be a function or array of functions\", s.onChange), (v = s.parentOnChange) === null || v === void 0 || v.call(s, ...b);\n  }\n  recordUndo(s) {\n    const o = this._renderer.undoManager;\n    if (!o || !o.enabled)\n      return;\n    const p = s;\n    if (p.type !== \"UiConfigMethods_set\")\n      return o.record(s);\n    const l = o.peek();\n    let c = !!l && l.type === \"UiConfigMethods_set\" && l.config === p.config;\n    if (c) {\n      const v = l;\n      !v.final && p.time - v.time < 2e3 ? (p.lastVal = v.lastVal, p.val = dt(p.val), o.replaceLast(p)) : c = !1;\n    }\n    c || de(p.lastVal, p.val) || (p.val = dt(p.val), o.record(p));\n  }\n  /**\n   *\n   * @param config\n   * @param value\n   * @param props - only the prop `last` need to be set, rest are optional. `lastValue` can be set if known (but it should be exactly equal to the value in the binding and not cloned). `config`, `configPath` are for parentOnChange, no need to set that.\n   * @param forceOnChange\n   * @param trackUndo\n   */\n  setValue(s, o, p, l) {\n    return pt(this, arguments, void 0, function* (c, v, w, b, S = !0) {\n      return this.runAtEvent(c, () => {\n        var O, g;\n        const [P, y] = this.getBinding(c), A = (O = w.lastValue) !== null && O !== void 0 ? O : P == null ? void 0 : P[y];\n        let _ = !1;\n        const L = (g = w.last) !== null && g !== void 0 ? g : !0, et = de(A, v), M = dt(A);\n        return et ? _ = !L : P ? ue(A, v) !== A ? _ = !Va(P, y, v, !0, !0) : _ = !1 : _ = !0, _ && !b ? !1 : (S && !_ && (L || !et) && this.recordUndo({\n          type: \"UiConfigMethods_set\",\n          config: c,\n          lastVal: M,\n          val: v,\n          final: L,\n          props: w,\n          time: Date.now()\n        }), this.dispatchOnChangeSync(c, Object.assign(Object.assign({}, w), { last: L, value: v, lastValue: M })), !0);\n      });\n    });\n  }\n  /**\n   *\n   * @param config\n   * @param props - only last needs to be set. check the docs for `setValue`\n   */\n  dispatchOnChange(s, o) {\n    return pt(this, void 0, void 0, function* () {\n      return this.runAtEvent(s, () => {\n        this.dispatchOnChangeSync(s, o);\n      });\n    });\n  }\n  getLabel(s) {\n    var o, p;\n    return ((o = q(s.label, s)) !== null && o !== void 0 ? o : (p = this.getBinding(s)) === null || p === void 0 ? void 0 : p[1]) + \"\";\n  }\n  getChildren(s) {\n    var o;\n    return ((o = q(s.children, s)) !== null && o !== void 0 ? o : []).map((p) => q(p)).flat(2).filter((p) => p);\n  }\n  clickButton(s, o) {\n    return pt(this, void 0, void 0, function* () {\n      return this.runAtEvent(s, () => pt(this, void 0, void 0, function* () {\n        var p, l, c, v, w, b;\n        const S = this.getBinding(s, !1), O = S[0], g = S[1], P = q(s.sendArgs, s) === !1 ? [] : (p = o == null ? void 0 : o.args) !== null && p !== void 0 ? p : [], y = [];\n        if (O) {\n          const A = (l = O[g]) !== null && l !== void 0 ? l : O.value;\n          typeof A == \"function\" ? y.push([A, O]) : A && console.warn(\"Invalid action type for button\", A);\n        }\n        typeof s.onClick == \"function\" && y.push([s.onClick, s]);\n        for (const [A, _] of y) {\n          let L = yield A.call(_, ...P);\n          const et = typeof L == \"function\" ? L : (c = L == null ? void 0 : L.undo) === null || c === void 0 ? void 0 : c.bind(L), M = typeof L != \"function\" ? (v = L == null ? void 0 : L.action) === null || v === void 0 ? void 0 : v.bind(L) : null, Qt = typeof L == \"function\" ? A : (b = (w = L == null ? void 0 : L.redo) === null || w === void 0 ? void 0 : w.bind(L)) !== null && b !== void 0 ? b : M;\n          typeof M == \"function\" && (L = M()), typeof et == \"function\" && this.recordUndo({\n            type: \"UiConfigMethods_action\",\n            config: s,\n            target: _,\n            undo: et,\n            redo: Qt,\n            args: P\n          });\n        }\n        yield this.dispatchOnChange(s, {});\n      }));\n    });\n  }\n  runAtEvent(s, o) {\n    return pt(this, void 0, void 0, function* () {\n      var p;\n      const l = (p = q(s.dispatchMode, s)) !== null && p !== void 0 ? p : \"postFrame\";\n      return l === \"immediate\" ? o() : new Promise((c) => {\n        const v = () => pt(this, void 0, void 0, function* () {\n          this._renderer.removeEventListener(l, v), c(yield o());\n        });\n        this._renderer.addEventListener(l, v);\n      });\n    });\n  }\n  initUiConfig(s) {\n    s && (s.type || (console.warn(\"No type for config\", s), s.type = \"input\"), s.uuid || (s.uuid = Sa()), s.property === void 0 && (s.binding ? s.property = s.binding : s.value === void 0 ? (s.getValue || s.setValue) && (Object.defineProperty(s, \"value\", {\n      get: () => s.getValue && s.getValue(),\n      set: (o) => s.setValue && s.setValue(o)\n    }), s.property = [s, \"value\"]) : (s.getValue || s.setValue) && console.warn(\"getValue/setValue is ignored since value is provided\", s), s.property));\n  }\n  getBounds(s, o = !1) {\n    var p, l;\n    const c = q(s.bounds), v = ((p = c == null ? void 0 : c.length) !== null && p !== void 0 ? p : 0) >= 2 ? c[1] : o ? 1 / 0 : 1, w = ((l = c == null ? void 0 : c.length) !== null && l !== void 0 ? l : 0) >= 1 ? c[0] : o ? -1 / 0 : 0, b = q(s.stepSize) || (o ? 0.01 : Math.pow(10, Math.floor(Math.log10((v - w) / 100))));\n    return { min: w, max: v, step: b };\n  }\n}\nclass Ma extends ga {\n  get undoManager() {\n    return this._undoManager;\n  }\n  set undoManager(s) {\n    this._undoManager = s, this._undoManager && Object.assign(this._undoManager.presets, this.methods.undoPresets);\n  }\n  constructor(s = !0, o, p) {\n    super(), this._rafId = null, this.raf = () => {\n      this._autoFrameEvents && (this.dispatchEvent({ type: \"preFrame\" }), this.dispatchEvent({ type: \"preRender\" }), this.dispatchEvent({ type: \"postRender\" }), this.dispatchEvent({ type: \"postFrame\" }), this._rafId = requestAnimationFrame(this.raf));\n    }, this._refreshQueue = {\n      preRender: [],\n      postRender: [],\n      preFrame: [],\n      postFrame: []\n    }, this._lastModeTime = {\n      preRender: 0,\n      postRender: 0,\n      preFrame: 0,\n      postFrame: 0\n    }, this.methods = o || new Aa(this), this.undoManager = p === !1 ? void 0 : p || new ya({ bindHotKeys: !0, limit: 1e3, debug: La(\"debugUndo\") !== null }), this._autoFrameEvents = s, s && (this.addEventListener(\"preFrame\", () => this.refreshQueue(\"preFrame\")), this.addEventListener(\"postFrame\", () => this.refreshQueue(\"postFrame\")), this.addEventListener(\"preRender\", () => this.refreshQueue(\"preRender\")), this.addEventListener(\"postRender\", () => this.refreshQueue(\"postRender\")));\n  }\n  // call from render or onMount\n  start() {\n    this._rafId === null && (this._rafId = requestAnimationFrame(this.raf));\n  }\n  // call from unmount or onDispose etc\n  stop() {\n    this._rafId !== null && (cancelAnimationFrame(this._rafId), this._rafId = null);\n  }\n  refreshQueue(s) {\n    const o = this._refreshQueue[s], p = [], l = xa(), c = l - this._lastModeTime[s];\n    o.forEach((v) => {\n      v[1] > 1e-3 ? (v[1] -= c, p.push(v)) : this._refreshUiConfigObject(v[0]);\n    }), this._refreshQueue[s] = p, this._lastModeTime[s] = l;\n  }\n  _addToRefreshQueue(s, o, p) {\n    const l = o.uuid, c = this._refreshQueue[s], v = c.find((w) => w[2] === l);\n    v ? v[1] = Math.max(v[1], p) : c.push([o, p, l]), this._refreshQueue[s] = c;\n  }\n  /**\n   * Disposes the UI associated with a config, doesn't makes change to the object or its parent.\n   * @param config\n   * @param performDispose\n   */\n  disposeUiConfig(s, o = !0) {\n    var p, l;\n    s && (s.uiRef && (o && ((l = (p = s.uiRef).dispose) === null || l === void 0 || l.call(p)), s.uiRef = void 0), s.uiRefType = void 0, s.uiRefresh = void 0);\n  }\n  addToRefreshQueue(s, o, p, l) {\n    const c = p ? this._flattenUiConfig(o) : [o];\n    for (const v of c)\n      s === \"immediate\" ? Ca(l).then(() => this._refreshUiConfigObject(v)) : this._addToRefreshQueue(s, v, l);\n  }\n  _flattenUiConfig(s, o) {\n    var p;\n    return o = o ?? [], !s || !s.uiRef || (o.push(s), typeof s.children == \"function\") || (p = s.children) === null || p === void 0 || p.forEach((l) => {\n      typeof l != \"function\" && l && (Array.isArray(l) ? l.forEach((c) => o = this._flattenUiConfig(c, o)) : o = this._flattenUiConfig(l, o));\n    }), o;\n  }\n}\nclass Ra extends Ma {\n  constructor(s = document.body, o = !0, p, l) {\n    super(o, p, l), this.config = {\n      type: \"panel\",\n      label: \"Configuration\",\n      children: []\n    }, this._uiContainer = this._createUiContainer(), s.appendChild(this._uiContainer), this.start();\n  }\n  unmount() {\n    this.disposeUiConfig(this.config), this._uiContainer.remove(), this.stop();\n  }\n  // appendUiConfig(uiConfig: UiObjectConfig): void {\n  //     if (!uiConfig) return\n  //     this._renderUiConfig(uiConfig)\n  // }\n  appendChild(s, o) {\n    s && (Object.assign(s, o), this.config.children.push(s), this.refreshRoot());\n  }\n  removeChild(s) {\n    const o = this.config.children.indexOf(s);\n    o !== -1 && (this.config.children.splice(o, 1), this.disposeUiConfig(s), this.refreshRoot());\n  }\n  refreshRoot(s = !0, o = \"postFrame\", p = 0) {\n    var l, c;\n    (c = (l = this.config).uiRefresh) === null || c === void 0 || c.call(l, s, o, p);\n  }\n  _createUiContainer() {\n    return Pa({ id: \"uiConfigContainer\", addToBody: !1 });\n  }\n}\nconst Da = (u, s) => s.controller_.rackController.rack === u.controller_.parent, Oa = (u, s, o) => {\n  var v, w;\n  const p = u.controller_, l = (w = (v = p.parent) == null ? void 0 : v.children) == null ? void 0 : w.indexOf(p);\n  return !Da(u, s) || l !== o ? (s.add(u, o), !0) : !1;\n}, Ei = (u, s, o, p) => {\n  var g;\n  let l = s.uiRef;\n  l != null && l.controller_.viewProps.get(\"disposed\") && (l = void 0);\n  const c = l == null ? void 0 : l.expanded;\n  if (!l) {\n    const P = u.addFolder({\n      title: \"\"\n    });\n    l = P, l.on(\"fold\", (y) => {\n      var _, L;\n      let A = P.expanded;\n      ba(s, \"expanded\", A, !0), A = $(s.expanded) ?? A, A !== P.expanded && (P.expanded = A), (_ = s.uiRefresh) == null || _.call(s, A, \"postFrame\"), A && ((L = s.onExpand) == null || L.call(s, s));\n    });\n  }\n  if (!l) return l;\n  l.expanded = $(s.expanded) ?? c ?? !1;\n  const v = o.methods.getChildren(s);\n  let w = 0;\n  for (const P of v) {\n    P.parentOnChange = (A, ..._) => {\n      o.methods.dispatchOnChangeSync(s, { ...A }, ..._);\n    }, P.property === void 0 && P.value === void 0 && P.getValue === void 0 && P.setValue === void 0 && P.type !== \"button\" && (s.property !== void 0 || s.value !== void 0) && (P.property = s.property !== void 0 ? s.property : [s, \"value\"]);\n    let y = P.uiRef;\n    y && y.controller_.viewProps.get(\"disposed\") && o.disposeUiConfig(P, !1), y = P.uiRef, y || (o.renderUiObject(P, l), y = P.uiRef), y && Oa(y, l, w++) && o.renderUiObject(P, l);\n  }\n  let b = l.children;\n  for (; b.length > w; ) {\n    const P = b[b.length - 1];\n    l.remove(P), b = l.children;\n    const y = P.srcUiConfig;\n    y && (y.parentOnChange = void 0, Array.isArray(y.property) && (y.property === s.property || y.property[0] === s && y.property[1] === \"value\") && delete y.property);\n  }\n  l.controller_.props.set(\"title\", o.methods.getLabel(s));\n  const S = l.controller_.view.containerElement, O = $(s.domChildren, []);\n  if ((O == null ? void 0 : O.length) !== void 0) {\n    const P = [];\n    for (let y = 0; y < S.children.length; y++) {\n      const A = S.children[y];\n      (g = A.dataset) != null && g.tpCustomDOM && P.push(A);\n    }\n    for (const y of P)\n      S.removeChild(y);\n    for (const y of O)\n      y.parentElement !== S && (S.appendChild(y), y.dataset.tpCustomDOM = \"true\");\n    l.controller_.foldable.cleanUpTransition();\n  }\n  return l;\n}, Ta = (u, s, o, p) => {\n  let l = s.uiRef;\n  return l != null && l.controller_.viewProps.get(\"disposed\") && (l = void 0), l || (l = u.addButton({ title: \"\" }), l.on(\"click\", async () => o.methods.clickButton(s))), l && (l.title = o.methods.getLabel(s) || \"click me\"), l;\n}, Na = (u, s, o, p) => {\n  const l = o.methods.getChildren(s), c = Object.fromEntries(l.map((w) => {\n    const b = o.methods.getLabel(w);\n    return [b, w.value ?? b];\n  }));\n  return K(u, s, o, { options: c, ...p ?? {} });\n}, Ia = (u, s, o, p) => {\n  const l = $(s.bounds), c = ((l == null ? void 0 : l.length) ?? 0) >= 2 ? l[1] : 1, v = ((l == null ? void 0 : l.length) ?? 0) >= 1 ? l[0] : 0, w = $(s.stepSize) || void 0;\n  return K(u, s, o, { min: v, max: c, step: w, ...p ?? {} });\n}, K = (u, s, o, p) => {\n  var w;\n  p = p ?? {};\n  const l = {\n    label: o.methods.getLabel(s),\n    ...p\n  };\n  let c = s.uiRef;\n  c != null && c.controller_.viewProps.get(\"disposed\") && (c = void 0);\n  let v = s.__proxy;\n  if (v || (v = s.__proxy = {}), !fa(v, \"value_\")) {\n    const b = o.methods.getValue(s, v.value || void 0);\n    v.value = b;\n  }\n  if (!c)\n    try {\n      if (!l.view && $(s.readOnly)) {\n        const [b, S] = o.methods.getBinding(s);\n        c = b ? u.addMonitor(b, S, l) : void 0;\n      } else\n        c = u.addInput(v, \"value\", l).on(\"change\", (b) => {\n          v.listedOnChange !== !1 && (s.dispatchMode = \"immediate\", o.methods.setValue(s, v.value_ ?? v.value, { last: b.last ?? !0 }, v.forceOnChange || !1));\n        });\n    } catch (b) {\n      if (b.message.startsWith(\"No matching controller for\")) c = void 0;\n      else throw b;\n    }\n  if (c) {\n    for (const [b, S] of Object.entries(l)) {\n      const g = c.controller_.props.value(b);\n      g !== void 0 && g.rawValue !== S && c.controller_.props.set(b, S);\n    }\n    s.type === \"slider\" && (l.min !== void 0 && c.controller_.valueController.sliderController.props.set(\n      \"minValue\",\n      l.min\n    ), l.max !== void 0 && c.controller_.valueController.sliderController.props.set(\n      \"maxValue\",\n      l.max\n    )), (w = (c == null ? void 0 : c.controller_.valueController.view).inputElement) == null || w.setAttribute(\"placeholder\", $(s.placeholder) ?? \"\"), c.refresh();\n  }\n  return c;\n}, Yt = (u, s, o, p) => {\n  s.__proxy || (s.__proxy = {}), s.__proxy.forceOnChange = !1;\n  const l = $(s.bounds);\n  if (!l || l.length < 1)\n    return K(u, s, o, { ...p ?? {} });\n  const c = (l.length ?? 0) >= 2 ? l[1] : 1, v = (l.length ?? 0) >= 1 ? l[0] : 0, w = s.stepSize ?? (c - v) / 100, b = { min: v, max: c, step: w }, S = { x: b, y: b };\n  return (s.type === \"vec3\" || s.type === \"vec4\") && (S.z = b), s.type === \"vec4\" && (S.w = b), K(u, s, o, { ...S, ...p ?? {} });\n}, Ba = (u, s, o, p) => {\n  if (!o.THREE) {\n    console.error(\"tpColorInputGenerator requires THREE to be set in the renderer\");\n    return;\n  }\n  if (!s.__proxy) {\n    s.__proxy = {\n      forceOnChange: !1\n    };\n    const l = \"srgb\", c = new o.THREE.Color();\n    Object.defineProperty(s.__proxy, \"value\", {\n      get: () => {\n        const v = s.__proxy.value_;\n        return v ? c.set(v).getHex(l) : 0;\n      },\n      set: (v) => {\n        s.__proxy.value_ = o.methods.getValue(s, s.__proxy.value_ || void 0);\n        const w = s.__proxy.value_, b = c.setHex(v, l);\n        w != null && w.isColor ? w.copy(b) : typeof w == \"number\" ? s.__proxy.value_ = b.getHex() : typeof w == \"string\" && (s.__proxy.value_ = \"#\" + b.getHexString());\n      }\n    });\n  }\n  return s.__proxy.value_ = o.methods.getValue(s, s.__proxy.value_ || void 0), p = p ?? {}, p.view = \"color\", $(s.inlinePicker) && (p.picker = \"inline\"), K(u, s, o, p);\n};\nclass Ua extends Ra {\n  constructor(s = document.body, { expanded: o = !0, autoPostFrame: p = !0 } = {}, l) {\n    super(s, p, void 0, l), this.THREE = window.THREE, this.typeGenerators = {\n      ...ja\n    }, this._root && (this._root.expanded = o);\n  }\n  unmount() {\n    var s;\n    (s = this._root) == null || s.dispose(), super.unmount();\n  }\n  _createUiContainer() {\n    const s = ua({ id: \"tweakpaneUiContainer\", addToBody: !1 });\n    return ca(ha`\n          :root{\n            --tweakpane-ui-container-width: 300px;\n          }\n          @media only screen and (min-width: 1500px) {\n            :root{\n              --tweakpane-ui-container-width: 300px;\n            }\n          }\n          @media only screen and (min-width: 2500px) {\n            :root{\n              --tweakpane-ui-container-width: 500px;\n            }\n          }\n          #tweakpaneUiContainer {\n            position: fixed;\n            top: 1rem;\n            padding-right: 4px;\n            padding-bottom: 20px;\n            right: 1rem;\n            width: var(--tweakpane-ui-container-width);\n            height: auto;\n            overflow-y: scroll;\n            z-index: 100;\n            pointer-events: auto;\n            max-height: calc(100% - 3rem);\n            border-radius: 0.5rem;\n            font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\";\n          }\n        `), this._root = new wa.Pane({ title: \"Configuration\", container: s }), s;\n  }\n  appendChild(s, o) {\n    s && (super.appendChild(s, o), this.renderUiConfig(s));\n  }\n  renderUiConfig(s) {\n    this.renderUiObject(s);\n  }\n  renderUiObject(s, o) {\n    var l, c;\n    if (o = o ?? this._root, !s.type) return;\n    this.methods.initUiConfig(s), s.uiRef && s.uiRefType !== s.type && this.disposeUiConfig(s);\n    const p = s.type ? (c = (l = this.typeGenerators)[s.type]) == null ? void 0 : c.call(l, o, s, this) : void 0;\n    p && (p.hidden = $(s.hidden) ?? !1, p.disabled = $(s.disabled) ?? !1, p.srcUiConfig = s), s.uiRef = p, s.uiRefType = p ? s.type : void 0, s.__uiParent = o, s.uiRefresh = (v = !1, w = \"postFrame\", b = 0) => this.addToRefreshQueue(w, s, v, b), p == null || p.controller_.viewProps.handleDispose(() => {\n      s.uiRef = void 0, s.uiRefType = void 0, s.uiRefresh = void 0;\n    });\n  }\n  _refreshUiConfigObject(s) {\n    s.__uiParent || console.error(\"No parent for ui object\", s), this.renderUiObject(s, s.__uiParent);\n  }\n}\nconst ja = {\n  panel: Ei,\n  folder: Ei,\n  input: K,\n  number: K,\n  slider: Ia,\n  dropdown: Na,\n  checkbox: K,\n  toggle: K,\n  button: Ta,\n  vec: Yt,\n  vector: Yt,\n  vec2: Yt,\n  vec3: Yt,\n  vec4: Yt,\n  // three\n  color: Ba,\n  // others\n  monitor: (u, s, o, p) => (s.readOnly = !0, K(u, s, o, p)),\n  // dummy for creating new ones, do not remove.\n  dummy: (u, s, o, p) => K(u, s, o, p)\n};\nclass Fa extends Ua {\n}\nexport {\n  Fa as UI,\n  Ua as UiConfigRendererTweakpane\n};\n//# sourceMappingURL=index.mjs.map\n","import {\n    CustomContextMenu,\n    DataTexture,\n    EXRExporter2,\n    FloatType,\n    generateUUID,\n    getOrCall,\n    HalfFloatType,\n    imageBitmapToBase64,\n    ImportResultExtras,\n    ITexture,\n    LinearSRGBColorSpace,\n    makeTextSvg,\n    RepeatWrapping,\n    SRGBColorSpace,\n    Texture,\n    textureToDataUrl,\n    ThreeViewer,\n    upgradeTexture,\n    WebGLRenderTarget,\n    SVGTextureLoader,\n} from 'threepipe'\nimport type {UiObjectConfig} from 'uiconfig.js'\nimport {TweakpaneUiPlugin} from './TweakpaneUiPlugin'\n\nexport const makeTextSvg2 = (text: string): string => {\n    return `data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext style='font: 8px \"Roboto Mono\", \"Source Code Pro\", Menlo, Courier, monospace; fill: white;' x='9' y='18'%3E${text}%3C/text%3E%3C/svg%3E%0A`\n}\n\nconst staticData = {\n    placeholderVal: 'placeholder',\n    // renderTarImage: makeColorSvg('ffffff'),\n    renderTarImage: makeTextSvg('Render Target'),\n    renderTarImage2: makeTextSvg2('...'),\n    dataTexImage: makeTextSvg('Data Texture'),\n    lutCubeTexImage: makeTextSvg('CUBE Texture'),\n    compressedTexImage: makeTextSvg('Compressed Texture'),\n    textureMap: {} as any,\n    imageMap: {} as any,\n    tempMap: {} as any,\n}\n\nfunction proxyGetValue(cc: any, viewer: ThreeViewer, config: UiObjectConfig) {\n    if (cc?.get) cc = cc.get()\n    let ret = staticData.placeholderVal\n    if (!cc) return ret\n    if (cc.isCompressedTexture && !cc.image.tp_src) {\n        cc.image.tp_src = staticData.compressedTexImage\n    }\n    // todo: video is not playing\n    // if (cc.isVideoTexture && !cc.image.tp_src) {\n    //     cc.image.tp_src = dataTexImage\n    // }\n    if (cc.isTexture) {\n        // console.warn('here')\n        // todo: use textureToCanvas for data texture\n        if (cc.image && !cc.image.tp_src && !cc.tp_src) {\n            if (cc.isRenderTargetTexture) {\n                if (cc._target) {\n                    // doing in the timeout so it doesnt hang when opening a folder which does deep refresh\n                    // if (!config._lastRtRefresh || Date.now() - config._lastRtRefresh > 5000) { // 5000 should be significantly more than 500 + 100 below\n                    setTimeout(() => {\n                        if (!cc._target) return\n                        // here we are not doing cc.image.tp_src because cc.image can be shared across multiple textures in MRT\n                        const dataUrl = viewer.renderManager.renderTargetToDataUrl(cc._target, undefined, undefined, Array.isArray(cc._target.texture) ? cc._target.texture.indexOf(cc) : undefined)\n                        cc.tp_src = dataUrl\n                        setTimeout(()=>cc.tp_src && delete cc.tp_src, 1000) // clear after 1 second so it refreshes on next render\n                        config.uiRefresh?.(false, 'postFrame')\n\n                    }, 200)\n                    cc.tp_src = staticData.renderTarImage2\n                    // }\n                    // config._lastRtRefresh = Date.now()\n                }\n            } else if (cc.image instanceof ImageBitmap || cc.image instanceof HTMLImageElement || cc.image instanceof HTMLVideoElement) { // todo: support playback in video\n                cc.image.tp_src = imageBitmapToBase64(cc.image, 160)\n            } else {\n                cc.image.tp_src = textureToDataUrl(cc, 160, false, 'image/png', 90) // this supports DataTexture also\n            }\n\n            if (!cc.image.tp_src && !cc.tp_src) {\n                if (cc.isRenderTargetTexture) cc.image.tp_src = staticData.renderTarImage\n                else if (cc.isDataTexture) cc.image.tp_src = staticData.dataTexImage\n            }\n        }\n        if (cc.image) {\n            const uid = cc.image.tp_src_uuid as string\n            ret = uid ? staticData.imageMap[uid] : undefined\n            if (!ret) ret = cc.image.tp_src || cc.image.src\n        }\n        if (cc.tp_src) ret = cc.tp_src\n    } else if (typeof cc === 'string') {\n        ret = cc\n    } else if (cc.domainMin) { // for lut CUBE files.\n        // ret = cc.texture\n        const image = cc.texture.image\n        if (image) {\n            // todo this will always show placeholder, we need to snapshot data texture\n            if (!image.tp_src) {\n                image.tp_src = staticData.lutCubeTexImage\n            }\n            const uid = image.tp_src_uuid as string\n            ret = uid ? staticData.imageMap[uid] : undefined\n            if (!ret) ret = image.tp_src || image.src\n        }\n    } else if (cc) {\n        console.error('unknown value', cc)\n    }\n    if (!ret) ret = staticData.placeholderVal\n    if (cc.image && !cc.image.tp_src_uuid) {\n        const uuid = generateUUID()\n        cc.image.tp_src_uuid = uuid\n        staticData.tempMap[ret] = uuid\n    }\n    ret = staticData.imageMap[ret] ?? ret // Note: this will be a bottleneck if the length of src is too long.\n    return ret\n}\n\nconst setterTex = (v1: any, config: UiObjectConfig, renderer: TweakpaneUiPlugin)=>{\n    if (v1 && v1.isTexture) {\n        if (!v1.isDataTexture) {\n            const key = renderer.methods.getBinding(config)[1] + ''\n            const isLinear = ['normalMap', 'aoMap', 'emissiveMap', 'roughnessMap', 'metalnessMap', 'displacementMap', 'bumpMap', 'alphaMap'].includes(key)\n            v1.colorSpace = isLinear ? LinearSRGBColorSpace : SRGBColorSpace\n            v1.wrapS = RepeatWrapping\n            v1.wrapT = RepeatWrapping\n            v1.flipY = config.__proxy.value_?.flipY ?? true // todo: figure out flipY\n        } else {\n            v1.needsUpdate = true\n        }\n        if (v1.image) {\n            if (!v1.image.id?.length) v1.image.id = generateUUID()\n            if (!staticData.textureMap[v1.image.id]) staticData.textureMap[v1.image.id] = v1\n        }\n    }\n    config.__proxy.value_ = v1\n    renderer.methods.setValue(config, v1, {last: true}, false, true)\n    config.uiRefresh?.(false, 'postFrame')\n}\n\nfunction proxySetValue(v: any, cc: any, config: UiObjectConfig, viewer: ThreeViewer, renderer: TweakpaneUiPlugin) {\n    if (typeof v === 'string') {\n        if (typeof cc === 'string') setterTex(v, config, renderer)\n        return\n    }\n    v = v || staticData.placeholderVal\n    if ((v as any).isPlaceholder || v === staticData.placeholderVal) {\n        if (cc) setterTex(typeof cc === 'string' ? '' : null, config, renderer)\n        return\n    }\n    let iMapKey = v.tp_src_uuid\n    if (!iMapKey) {\n        iMapKey = v.src ?? v.tp_src\n        iMapKey = staticData.tempMap[iMapKey] ?? iMapKey\n        delete staticData.tempMap[iMapKey]\n        v.tp_src_uuid = iMapKey\n    }\n    if (iMapKey)\n        staticData.imageMap[iMapKey] = v\n    // todo: dispose textures if not used.\n    if (typeof cc === 'string') {\n        setterTex(iMapKey, config, renderer)\n        return\n    }\n    if (cc === v || cc && (\n        cc.image === v\n        || cc.image?.src === v.src\n        || cc.image?.tp_src === v.tp_src && v.tp_src != null\n        || cc.image?.tp_src === v.src && v.src != null\n        || cc.image?.src === v.tp_src && v.tp_src != null\n    )) return\n\n    if (v instanceof File) { // v.src must be from createObjectURL.\n        viewer.assetManager.importer.importSingle<ITexture>({file: v, path: (v as any).src}).then(texture => {\n            if (!texture) return\n            if (texture.isDataTexture) texture.needsUpdate = true\n            const ext = (v as any).src?.split('?')?.[0]?.split('.').pop()\n            if ((texture as any).userData) {\n                if (!(texture as any).userData.mimeType)\n                    (texture as any).userData.mimeType = 'image/' + (['jpg', 'jpeg'].includes(ext) ? 'jpeg' : 'png')\n            }\n            setterTex(texture, config, renderer)\n        })\n    } else if (v.isTexture) {\n        setterTex(v, config, renderer)\n    } else { // HTMLImageElement, ImageBitmap, HTMLVideoElement\n        let tex: ITexture = staticData.textureMap[v.id] || staticData.textureMap[v.src] || staticData.textureMap[v.tp_src]\n        if (tex) {\n            setterTex(tex, config, renderer)\n            return\n        }\n\n        // todo do same in blueprint editor\n        if (SVGTextureLoader.USE_CANVAS_TEXTURE && (v.src?.endsWith('.svg') || v.src?.startsWith('data:image/svg'))) {\n            // due to windows bug which cannot load svg files in webgl without a width and height\n            const canvas = document.createElement('canvas')\n            SVGTextureLoader.CopyImageToCanvas(canvas, v)\n            v = canvas\n        }\n\n        tex = new Texture(v)\n        upgradeTexture.call(tex)\n        tex.assetType = 'texture'\n        tex.needsUpdate = true\n        // set userData.mimeType for GLTFExporter\n        const ext = v.src?.split('?')?.[0]?.split('.').pop()\n        if (!tex.userData.mimeType)\n            tex.userData.mimeType = 'image/' + (['jpg', 'jpeg'].includes(ext) ? 'jpeg' : 'png')\n        setterTex(tex, config, renderer)\n        // todo: make normal maps jpeg always? jpg is lossy\n    }\n}\n\nfunction removeImage(config: UiObjectConfig, renderer: TweakpaneUiPlugin) {\n    const vc = config.uiRef.controller_.valueController as any\n    vc.value.setRawValue('')\n    const isStr = typeof config.__proxy.value_ === 'string'\n    setterTex(isStr ? '' : null, config, renderer)\n}\n\nfunction downloadImage(config: UiObjectConfig, _: TweakpaneUiPlugin, viewer: ThreeViewer) {\n    CustomContextMenu.Remove()\n    const tex: ITexture&Partial<ImportResultExtras> = config.__proxy.value_\n    if (!tex) return\n    const vcv = tex.image ?? config.uiRef.controller_.valueController.value.rawValue\n    if (tex.__rootBlob && !tex.__rootBlob.objectUrl) tex.__rootBlob.objectUrl = URL.createObjectURL(tex.__rootBlob)\n    let src = tex.__rootBlob ? tex.__rootBlob.objectUrl : tex.userData.rootPath || vcv?.src\n    if (src && src.startsWith('blob:')) src = ''\n\n    let revokeSrc = false\n\n    // HTML image/video/bitmap\n    if (vcv && (vcv instanceof ImageBitmap || vcv instanceof HTMLImageElement || vcv instanceof HTMLVideoElement) && !src)\n        src = imageBitmapToBase64(vcv)\n\n    let name = tex.__rootBlob ? tex.__rootBlob.name || 'image.' + (tex.__rootBlob.ext || 'png') : null\n\n    // Render target texture\n    if (!src && tex.isRenderTargetTexture) {\n        const target1 = tex._target\n        if (target1?.isWebGLRenderTarget) {\n            const val = viewer.renderManager.exportRenderTarget(target1 as WebGLRenderTarget)\n            if (!val) {\n                console.error('cannot export render target', vcv, tex, target1, config)\n                return\n            }\n            name = 'renderTarget.' + (val.ext || 'png')\n            src = URL.createObjectURL(val)\n            revokeSrc = true\n        } else {\n            console.error('Render target not supported', vcv, tex, target1, config)\n            return\n        }\n    }\n    // data texture\n    if (!src && tex.isDataTexture) {\n        if (tex.type !== HalfFloatType && tex.type !== FloatType) {\n            // todo: use textureToCanvas for data texture\n            console.error('Only Float and HalfFloat Data texture export is supported', vcv, tex, config)\n            return\n        }\n        // todo: use viewer.export directly (check threepipe Readme)\n        const buffer = new EXRExporter2().parse(undefined as any, tex as DataTexture&ITexture)\n        const val: Blob|undefined = new Blob([buffer], {type: 'image/x-exr'})\n        if (!val) {\n            console.error('cannot export data texture', vcv, tex, config)\n            return\n        }\n        name = 'dataTexture.exr'\n        src = URL.createObjectURL(val)\n    }\n\n\n    if (!src) {\n        console.error('cannot export image', vcv, tex, config)\n        return\n    }\n\n    const link = document.createElement('a')\n    document.body.appendChild(link)\n    link.style.display = 'none'\n    link.href = src\n    link.download = name || (src.startsWith('data:') ? 'image.png' : src.split('/').pop() ?? 'image.png')\n    link.target = '_blank'\n    link.click()\n    if (revokeSrc) setTimeout(()=>{\n        document.body.removeChild(link)\n        URL.revokeObjectURL(src)\n    }, 1000)\n}\n\nasync function imageFromUrl(renderer: TweakpaneUiPlugin, config: UiObjectConfig, viewer: ThreeViewer) {\n    // let url: string|null = navigator.clipboard ? await navigator.clipboard.readText() : ''\n    let url: string | null = ''\n    // if (!url || !url.startsWith('http') && !url.startsWith('data:image')) {\n    //     url = ''\n    // }\n    url = await renderer.prompt('Load texture: Enter Image/Texture URL', url, true)\n    if (!url || !url.startsWith('http') && !url.startsWith('data:image')) {\n        if (url !== null) await renderer.alert('Loading Image: Invalid URL')\n        return\n    } else {\n        url = url.trim()\n    }\n    const cc = config.__proxy.value_\n    const isStr = typeof cc === 'string'\n    if (isStr) {\n        setterTex(url, config, renderer)\n    } else { // texture\n        viewer.assetManager.importer.importSingle<ITexture>(url).then(texture => {\n            if (!texture) {\n                console.warn('Failed to load texture', url)\n                return\n            }\n            setterTex(texture, config, renderer)\n        })\n    }\n}\n\nexport const tpImageInputGenerator: (viewer: ThreeViewer) => (parent: any, config: UiObjectConfig, renderer: TweakpaneUiPlugin, params?: any) => any = (viewer: ThreeViewer) => (parent: any /* FolderApi */, config: UiObjectConfig, renderer: TweakpaneUiPlugin, params?: any) => {\n    // if (config.value !== undefined) throw 'Not supported yet'\n\n    if (!config.__proxy) {\n        config.__proxy = {\n            listedOnChange: false,\n        }\n\n        Object.defineProperty(config.__proxy, 'value', {\n            get: () => {\n                try {\n                    config.__proxy.value_ = renderer.methods.getRawValue(config) // sending undefined to disable comparison for undo etc\n                    const ret = proxyGetValue(config.__proxy.value_, viewer, config) as any\n                    if (typeof ret !== 'string' && !ret.id?.length) ret.id = generateUUID()\n                    const id = typeof ret === 'string' ? ret : ret.id ?? ret\n                    if (!staticData.textureMap[id]) staticData.textureMap[id] = config.__proxy.value_\n                    return ret\n                } catch (e) {\n                    console.error('uiconfig-tweakpane - ImageInput Unknown error', e)\n                    return staticData.placeholderVal\n                }\n            },\n            set: (v: any) => {\n                if (getOrCall(config.readOnly)) return\n                config.__proxy.value_ = renderer.methods.getRawValue(config) // current value\n                proxySetValue(v, config.__proxy.value_, config, viewer, renderer)\n            },\n        })\n    }\n    config.__proxy.value_ = renderer.methods.getRawValue(config)\n\n    params = params ?? {}\n    params.extensions = ['.jpg', '.png', '.svg', '.hdr', '.ktx2',\n        '.exr', /* '.mp4', '.ogg', '.mov',*/ '.jpeg',\n        '.bmp', '.gif', '.webp', '.cube', '.ktx2', '.avif', '.ico', '.tiff'] // todo update blueprint editor with this list\n    if (typeof params.imageFit === 'undefined') params.imageFit = 'contain'\n    if (typeof params.clickCallback === 'undefined') params.clickCallback = (ev: MouseEvent, inp: HTMLInputElement) => {\n        const target = ev?.target as HTMLElement\n        const rect = target?.getBoundingClientRect()\n        if (!rect) {\n            inp.click()\n            return\n        }\n        const cv = config.uiRef.controller_.valueController.value.rawValue\n        const isPlaceholder = cv === staticData.placeholderVal || cv?.isPlaceholder\n        const items: any = isPlaceholder ? {} : {\n            ['download image']: () => downloadImage(config, renderer, viewer),\n        }\n        const readOnly = getOrCall(config.readOnly)\n        if (!isPlaceholder && !readOnly) Object.assign(items, {\n            ['remove image']: () => removeImage(config, renderer),\n        })\n        if (!readOnly) Object.assign(items, {\n            ['set/replace image']: () => inp.click(),\n            ['from url']: async() => imageFromUrl(renderer, config, viewer),\n        })\n        const menu = CustomContextMenu.Create({\n            ...items,\n            'cancel': () => {return},\n        }, 2, rect.height + 8, false, true)\n        target.parentElement?.appendChild(menu)\n        if (rect.y > document.body.clientHeight * 0.7) {\n            menu.style.top = 'auto'\n            menu.style.bottom = rect.height + 8 + 'px'\n        }\n        config.uiRefresh?.(false, 'postFrame')\n    }\n    params.view = 'input-image'\n    return renderer.typeGenerators.input(parent, config, renderer, params)\n}\n","import * as TweakpaneImagePlugin from 'tweakpane-image-plugin'\nimport {UiConfigRendererTweakpane} from 'uiconfig-tweakpane'\nimport {\n    Class,\n    Color,\n    createDiv,\n    createStyles,\n    CustomContextMenu,\n    downloadBlob,\n    getOrCall,\n    IEvent,\n    IViewerPlugin,\n    IViewerPluginSync,\n    onChange,\n    ThreeViewer,\n    uiDropdown,\n    uiFolderContainer,\n    UiObjectConfig,\n    uploadFile,\n    Vector2,\n    Vector3,\n    Texture,\n    Vector4,\n    UndoManagerPlugin,\n    WebGLRenderTarget,\n    WebGLCubeRenderTarget,\n    WebGLMultipleRenderTargets,\n    mobileAndTabletCheck,\n} from 'threepipe'\nimport styles from './tpTheme.css?inline'\nimport {tpImageInputGenerator} from './tpImageInputGenerator'\n\nconst themeColors = ['black', 'white', 'blue', 'light', 'dark'] as const\ntype ThemeColors = typeof themeColors[number]\n\n@uiFolderContainer('Tweakpane UI')\nexport class TweakpaneUiPlugin extends UiConfigRendererTweakpane implements IViewerPluginSync {\n    declare ['constructor']: typeof TweakpaneUiPlugin\n    static readonly PluginType = 'TweakpaneUi'\n    enabled = true\n\n    static CONTAINER_SLOT = 'uiconfigMainPanelSlot'\n\n    @onChange(TweakpaneUiPlugin.prototype._colorModeChanged)\n    @uiDropdown('Color Mode', themeColors.map(label=>({label})))\n        colorMode: ThemeColors\n\n    constructor(expanded = !mobileAndTabletCheck(), bigTheme = true, container?: HTMLElement, colorMode?: ThemeColors) {\n        super(container ?? document.getElementById(TweakpaneUiPlugin.CONTAINER_SLOT) ?? document.getElementById('tweakpaneMainPanelSlot') ?? document.body, {\n            expanded, autoPostFrame: false,\n        }, false)\n        this.THREE = {Color, Vector4, Vector3, Vector2} as any\n        this._root!.registerPlugin(TweakpaneImagePlugin as any)\n        if (bigTheme) createStyles(styles, container)\n        this.colorMode = colorMode ?? getThemeColor()\n\n        // @ts-expect-error required for tpTextureInputComponent so that it doesn't clone it. todo check others as well like object3d etc\n        Texture.prototype._ui_isPrimitive = true\n        // @ts-expect-error same\n        WebGLRenderTarget.prototype._ui_isPrimitive = true\n        // @ts-expect-error same\n        WebGLCubeRenderTarget.prototype._ui_isPrimitive = true\n        // @ts-expect-error same\n        WebGLMultipleRenderTargets.prototype._ui_isPrimitive = true\n    }\n\n    protected _viewer?: ThreeViewer\n\n    private _lastManager?: UndoManagerPlugin['undoManager']\n\n    onAdded(viewer: ThreeViewer): void {\n        this._viewer = viewer\n        this.typeGenerators.image = tpImageInputGenerator(this._viewer)\n        viewer.addEventListener('preRender', this._preRender)\n        viewer.addEventListener('postRender', this._postRender)\n        viewer.addEventListener('preFrame', this._preFrame)\n        viewer.addEventListener('postFrame', this._postFrame)\n        const undo = viewer.getOrAddPluginSync(UndoManagerPlugin) // yes, manual dependency\n        if (undo?.undoManager) {\n            this._lastManager?.dispose()\n            this._lastManager = this.undoManager\n            this.undoManager = undo.undoManager\n            if (this._lastManager) Object.assign(this.undoManager.presets, this._lastManager.presets)\n        }\n    }\n\n    onRemove(viewer: ThreeViewer): void {\n        this._viewer = undefined\n        viewer.removeEventListener('preRender', this._preRender)\n        viewer.removeEventListener('postRender', this._postRender)\n        viewer.removeEventListener('preFrame', this._preFrame)\n        viewer.removeEventListener('postFrame', this._postFrame)\n        this.undoManager = this._lastManager\n        this._lastManager = undefined\n        this.dispose()\n    }\n\n    private _plugins: IViewerPlugin[] = []\n\n    setupPlugins(...plugins: Class<IViewerPlugin>[]): void {\n        plugins.forEach(plugin => this.setupPluginUi(plugin))\n    }\n\n    setupPluginUi<T extends IViewerPlugin>(plugin: T|Class<T>, params?: Partial<UiObjectConfig>): UiObjectConfig | undefined {\n        const p = (<Class<IViewerPlugin>>plugin).prototype ? this._viewer?.getPlugin<T>(<Class<T>>plugin) : <T>plugin\n        if (!p) {\n            console.warn('plugin not found:', plugin)\n            return undefined\n        }\n        this._plugins.push(p)\n        if (p.uiConfig && p.uiConfig.hidden === undefined) p.uiConfig.hidden = false // todo; this is a hack for now\n        const ui = p.uiConfig\n        this.appendChild(ui, params)\n        this._setupPluginSerializationContext(ui, p)\n        return ui\n    }\n\n    private _setupPluginSerializationContext(ui: any, p: IViewerPlugin) {\n        // serialization\n        if (!(ui?.uiRef && p.toJSON)) return;\n\n        (p as any)._defaultState = typeof p.toJSON === 'function' ? p.toJSON() : null\n        ;(p as any).resetDefaults = async() => {\n            if (!(p as any)._defaultState) return\n            await p.fromJSON?.((p as any)._defaultState)\n            ui.uiRefresh?.(true, 'postFrame')\n        }\n        const topBtn = (ui.uiRef as any).controller_.view.element\n        const opBtn = createDiv({\n            innerHTML: '&#8942;',\n            classList: ['pluginOptionsButton'],\n            elementTag: 'button',\n        })\n        opBtn.onclick = (ev) => {\n            const ops = {} as any\n            if (typeof p.toJSON === 'function') {\n                ops['download preset'] = async() => {\n                    if (!this._viewer) return\n                    const json = this._viewer.exportPluginConfig(p)\n                    await downloadBlob(new Blob([JSON.stringify(json, null, 2)], {type: 'application/json'}), 'preset.' + (p.constructor as any).PluginType + '.json')\n                }\n            }\n            if (typeof p.fromJSON === 'function') {\n                ops['upload preset'] = async() => {\n                    const files = await uploadFile(false, false)\n                    if (files.length === 0) return\n                    const file = files[0]\n                    const text = await file.text()\n                    const json = JSON.parse(text)\n                    await this._viewer?.importPluginConfig(json, p)\n                    ui.uiRefresh?.(true, 'postFrame')\n                }\n                if ((p as any)._defaultState) ops['reset defaults'] = () => (p as any).resetDefaults?.()\n            }\n            const menu = CustomContextMenu.Create(ops, topBtn.clientWidth - 120, 12)\n            topBtn.append(menu)\n            ev.preventDefault()\n        }\n        topBtn.appendChild(opBtn)\n    }\n\n    refreshPluginsEnabled() {\n        this._plugins.forEach(p=>{\n            const config = p.uiConfig\n            if (config) {\n                // const enabled = (p as any).enabled ?? true\n                // safeSetProperty(config, 'hidden', !enabled, true)\n                // if (config.expanded)\n                //     safeSetProperty(config, 'expanded', config.expanded && enabled, true)\n                if (getOrCall(config.hidden) !== true)\n                    config.uiRefresh?.(true, 'postFrame')\n                else if (config.uiRef) {\n                    config.uiRef.hidden = true\n                }\n            }\n        })\n    }\n\n    private _preRender = () => this.refreshQueue('preRender')\n    private _postRender = () => this.refreshQueue('postRender')\n    private _postFrame = (e: IEvent<'postFrame'>) => {\n        this.dispatchEvent(e)\n        this.refreshQueue('postFrame')\n    }\n    private _preFrame = () => this.refreshQueue('preFrame')\n\n    alert = async(message?: string): Promise<void> =>this._viewer ? this._viewer.dialog.alert(message) : window?.alert(message)\n    confirm = async(message?: string): Promise<boolean> =>this._viewer ? this._viewer.dialog.confirm(message) : window?.confirm(message)\n    prompt = async(message?: string, _default?: string, cancel = true): Promise<string | null> =>this._viewer ? this._viewer.dialog.prompt(message, _default, cancel) : window?.prompt(message, _default)\n\n    protected _colorModeChanged() {\n        setThemeColor(this.colorMode)\n    }\n\n    dispose() {\n        this.undoManager?.dispose()\n        this.unmount()\n    }\n\n}\n\nfunction getThemeColor(): ThemeColors {\n    const c = localStorage ? localStorage.getItem('tpTheme') as ThemeColors : undefined\n    if (c && themeColors.includes(c)) return c\n    return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'\n}\nfunction setThemeColor(color: ThemeColors) {\n    document.body.classList.remove(...themeColors.map(t=>'tpTheme-' + t))\n    document.body.classList.add('tpTheme-' + color)\n    if (!localStorage) return\n    localStorage.setItem('tpTheme', color)\n}\n"],"names":["result","_a","_c","_b","UiConfigRendererTweakpane","TweakpaneImagePlugin","plugin"],"mappings":"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","x_google_ignoreList":[0,1]}