From 3910255f306230166e04c813a281b0bf2abc0ffc Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 12 May 2026 00:30:45 +0300 Subject: [PATCH] Needs fixing , animator UI --- package-lock.json | 38 + package.json | 2 + public/animator-simple.html | 694 +++ public/golden-layout.js | 40 + public/goldenlayout-base.css | 319 ++ public/goldenlayout-dark-theme.css | 139 + public/theatre-core-umd.js | 0 public/theatre-core.js | 6597 ++++++++++++++++++++++++++++ public/theatre-studio.js | 105 + 9 files changed, 7934 insertions(+) create mode 100644 public/animator-simple.html create mode 100644 public/golden-layout.js create mode 100644 public/goldenlayout-base.css create mode 100644 public/goldenlayout-dark-theme.css create mode 100644 public/theatre-core-umd.js create mode 100644 public/theatre-core.js create mode 100644 public/theatre-studio.js diff --git a/package-lock.json b/package-lock.json index bcb55ae..19ce83c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,12 +8,44 @@ "name": "re-commander", "version": "1.0.0", "dependencies": { + "@theatre/core": "^0.7.2", + "@theatre/studio": "^0.7.2", "dotenv": "^17.4.2", "express": "^4.18.2", "golden-layout": "^2.6.0", "ws": "^8.14.2" } }, + "node_modules/@theatre/core": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@theatre/core/-/core-0.7.2.tgz", + "integrity": "sha512-IDQa/6WY7mIJAtsSd4EgNcM0IUZkl+FrqZ8DdYiCVTFap9ARDNmrngJOeFjJOsnnaHlc5GdEB/jj7fsjbIrAzQ==", + "license": "Apache-2.0", + "dependencies": { + "@theatre/dataverse": "0.7.2" + } + }, + "node_modules/@theatre/dataverse": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@theatre/dataverse/-/dataverse-0.7.2.tgz", + "integrity": "sha512-YyfoyX7EyhFUY2OM5fsM0LPrs1SdgLwpiTMkkvTIoZLdOwvQhstjYq4Yz/8ZncJlRoTWvakfmgvCaBN+QuBYxg==", + "license": "Apache-2.0", + "dependencies": { + "lodash-es": "^4.17.21" + } + }, + "node_modules/@theatre/studio": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@theatre/studio/-/studio-0.7.2.tgz", + "integrity": "sha512-p6LTKzJWVlcHkpGzIlNHh9AkGbB3E+0q9Pjxv+OJoTDe1IK+CMKW695Wp+1//lB4vfC9qShe4z/p+Zaj1q8KtA==", + "license": "AGPL-3.0-only", + "dependencies": { + "@theatre/dataverse": "0.7.2" + }, + "peerDependencies": { + "@theatre/core": "*" + } + }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -461,6 +493,12 @@ "node": ">= 0.10" } }, + "node_modules/lodash-es": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz", + "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==", + "license": "MIT" + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", diff --git a/package.json b/package.json index caf37ba..338f395 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,8 @@ "start": "node server.js" }, "dependencies": { + "@theatre/core": "^0.7.2", + "@theatre/studio": "^0.7.2", "dotenv": "^17.4.2", "express": "^4.18.2", "golden-layout": "^2.6.0", diff --git a/public/animator-simple.html b/public/animator-simple.html new file mode 100644 index 0000000..de01512 --- /dev/null +++ b/public/animator-simple.html @@ -0,0 +1,694 @@ + + + + + + Re-Commander — Animator + + + + + + + + + + + + + + + + + + +
+ +
+ +
Re-Commander Animator
+
+ + + + + + + + +
+
+ Disconnected +
+ + +
+ + +
+ + +
+ + +
+
+ + +
+ + + + + diff --git a/public/golden-layout.js b/public/golden-layout.js new file mode 100644 index 0000000..1671ef0 --- /dev/null +++ b/public/golden-layout.js @@ -0,0 +1,40 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.VirtualLayout = exports.StyleConstants = exports.EventHub = exports.EventEmitter = exports.LayoutManager = exports.Stack = exports.RowOrColumn = exports.ContentItem = exports.ComponentItem = exports.GoldenLayout = exports.Tab = exports.Header = exports.DragSource = exports.BrowserPopout = exports.ComponentContainer = void 0; +const tslib_1 = require("tslib"); +tslib_1.__exportStar(require("./ts/config/config"), exports); +tslib_1.__exportStar(require("./ts/config/resolved-config"), exports); +var component_container_1 = require("./ts/container/component-container"); +Object.defineProperty(exports, "ComponentContainer", { enumerable: true, get: function () { return component_container_1.ComponentContainer; } }); +var browser_popout_1 = require("./ts/controls/browser-popout"); +Object.defineProperty(exports, "BrowserPopout", { enumerable: true, get: function () { return browser_popout_1.BrowserPopout; } }); +var drag_source_1 = require("./ts/controls/drag-source"); +Object.defineProperty(exports, "DragSource", { enumerable: true, get: function () { return drag_source_1.DragSource; } }); +var header_1 = require("./ts/controls/header"); +Object.defineProperty(exports, "Header", { enumerable: true, get: function () { return header_1.Header; } }); +var tab_1 = require("./ts/controls/tab"); +Object.defineProperty(exports, "Tab", { enumerable: true, get: function () { return tab_1.Tab; } }); +tslib_1.__exportStar(require("./ts/errors/external-error"), exports); +var golden_layout_1 = require("./ts/golden-layout"); +Object.defineProperty(exports, "GoldenLayout", { enumerable: true, get: function () { return golden_layout_1.GoldenLayout; } }); +var component_item_1 = require("./ts/items/component-item"); +Object.defineProperty(exports, "ComponentItem", { enumerable: true, get: function () { return component_item_1.ComponentItem; } }); +var content_item_1 = require("./ts/items/content-item"); +Object.defineProperty(exports, "ContentItem", { enumerable: true, get: function () { return content_item_1.ContentItem; } }); +var row_or_column_1 = require("./ts/items/row-or-column"); +Object.defineProperty(exports, "RowOrColumn", { enumerable: true, get: function () { return row_or_column_1.RowOrColumn; } }); +var stack_1 = require("./ts/items/stack"); +Object.defineProperty(exports, "Stack", { enumerable: true, get: function () { return stack_1.Stack; } }); +var layout_manager_1 = require("./ts/layout-manager"); +Object.defineProperty(exports, "LayoutManager", { enumerable: true, get: function () { return layout_manager_1.LayoutManager; } }); +var event_emitter_1 = require("./ts/utils/event-emitter"); +Object.defineProperty(exports, "EventEmitter", { enumerable: true, get: function () { return event_emitter_1.EventEmitter; } }); +var event_hub_1 = require("./ts/utils/event-hub"); +Object.defineProperty(exports, "EventHub", { enumerable: true, get: function () { return event_hub_1.EventHub; } }); +tslib_1.__exportStar(require("./ts/utils/i18n-strings"), exports); +var style_constants_1 = require("./ts/utils/style-constants"); +Object.defineProperty(exports, "StyleConstants", { enumerable: true, get: function () { return style_constants_1.StyleConstants; } }); +tslib_1.__exportStar(require("./ts/utils/types"), exports); +var virtual_layout_1 = require("./ts/virtual-layout"); +Object.defineProperty(exports, "VirtualLayout", { enumerable: true, get: function () { return virtual_layout_1.VirtualLayout; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/public/goldenlayout-base.css b/public/goldenlayout-base.css new file mode 100644 index 0000000..faff2fb --- /dev/null +++ b/public/goldenlayout-base.css @@ -0,0 +1,319 @@ +.lm_root { + position: relative; +} +.lm_row > .lm_item { + float: left; +} +.lm_content { + overflow: hidden; + position: relative; +} +.lm_dragging, +.lm_dragging * { + cursor: move !important; + -webkit-user-select: none; + user-select: none; +} +.lm_maximised { + position: absolute; + top: 0; + left: 0; + z-index: 40; +} +.lm_maximise_placeholder { + display: none; +} +.lm_splitter { + position: relative; + z-index: 2; + touch-action: none; +} +.lm_splitter.lm_vertical .lm_drag_handle { + width: 100%; + position: absolute; + cursor: ns-resize; + touch-action: none; + -webkit-user-select: none; + user-select: none; +} +.lm_splitter.lm_horizontal { + float: left; + height: 100%; +} +.lm_splitter.lm_horizontal .lm_drag_handle { + height: 100%; + position: absolute; + cursor: ew-resize; + touch-action: none; + -webkit-user-select: none; + user-select: none; +} +.lm_header { + overflow: visible; + position: relative; + z-index: 1; + -webkit-user-select: none; + user-select: none; +} +.lm_header [class^=lm_] { + box-sizing: content-box !important; +} +.lm_header .lm_controls { + position: absolute; + right: 3px; + display: flex; +} +.lm_header .lm_controls > * { + cursor: pointer; + float: left; + width: 18px; + height: 18px; + text-align: center; +} +.lm_header .lm_tabs { + position: absolute; + display: flex; +} +.lm_header .lm_tab { + cursor: pointer; + float: left; + height: 14px; + margin-top: 1px; + padding: 0px 10px 5px; + padding-right: 25px; + position: relative; + touch-action: none; +} +.lm_header .lm_tab i { + width: 2px; + height: 19px; + position: absolute; +} +.lm_header .lm_tab i.lm_left { + top: 0; + left: -2px; +} +.lm_header .lm_tab i.lm_right { + top: 0; + right: -2px; +} +.lm_header .lm_tab .lm_title { + display: inline-block; + overflow: hidden; + text-overflow: ellipsis; +} +.lm_header .lm_tab .lm_close_tab { + width: 14px; + height: 14px; + position: absolute; + top: 0; + right: 0; + text-align: center; +} +.lm_stack { + position: relative; +} +.lm_stack > .lm_items { + overflow: hidden; +} +.lm_stack.lm_left > .lm_items { + position: absolute; + left: 20px; + top: 0; +} +.lm_stack.lm_right > .lm_items { + position: absolute; + right: 20px; + top: 0; +} +.lm_stack.lm_right > .lm_header { + position: absolute; + right: 0; + top: 0; +} +.lm_stack.lm_bottom > .lm_items { + position: absolute; + bottom: 20px; +} +.lm_stack.lm_bottom > .lm_header { + position: absolute; + bottom: 0; +} +.lm_left.lm_stack .lm_header, +.lm_right.lm_stack .lm_header { + height: 100%; +} +.lm_left.lm_dragProxy .lm_header, +.lm_right.lm_dragProxy .lm_header, +.lm_left.lm_dragProxy .lm_items, +.lm_right.lm_dragProxy .lm_items { + float: left; +} +.lm_left.lm_dragProxy .lm_header, +.lm_right.lm_dragProxy .lm_header, +.lm_left.lm_stack .lm_header, +.lm_right.lm_stack .lm_header { + width: 20px; + vertical-align: top; +} +.lm_left.lm_dragProxy .lm_header .lm_tabs, +.lm_right.lm_dragProxy .lm_header .lm_tabs, +.lm_left.lm_stack .lm_header .lm_tabs, +.lm_right.lm_stack .lm_header .lm_tabs { + transform-origin: left top; + top: 0; + width: 1000px; + /*hack*/ +} +.lm_left.lm_dragProxy .lm_header .lm_controls, +.lm_right.lm_dragProxy .lm_header .lm_controls, +.lm_left.lm_stack .lm_header .lm_controls, +.lm_right.lm_stack .lm_header .lm_controls { + bottom: 0; + flex-flow: column; +} +.lm_dragProxy.lm_left .lm_header .lm_tabs, +.lm_stack.lm_left .lm_header .lm_tabs { + transform: rotate(-90deg) scaleX(-1); + left: 0; +} +.lm_dragProxy.lm_left .lm_header .lm_tabs .lm_tab, +.lm_stack.lm_left .lm_header .lm_tabs .lm_tab { + transform: scaleX(-1); + margin-top: 1px; +} +.lm_dragProxy.lm_left .lm_header .lm_tabdropdown_list, +.lm_stack.lm_left .lm_header .lm_tabdropdown_list { + top: initial; + right: initial; + left: 20px; +} +.lm_dragProxy.lm_right .lm_content { + float: left; +} +.lm_dragProxy.lm_right .lm_header .lm_tabs, +.lm_stack.lm_right .lm_header .lm_tabs { + transform: rotate(90deg) scaleX(1); + left: 100%; + margin-left: 0; +} +.lm_dragProxy.lm_right .lm_header .lm_controls, +.lm_stack.lm_right .lm_header .lm_controls { + left: 3px; +} +.lm_dragProxy.lm_right .lm_header .lm_tabdropdown_list, +.lm_stack.lm_right .lm_header .lm_tabdropdown_list { + top: initial; + right: 20px; +} +.lm_dragProxy.lm_bottom .lm_header, +.lm_stack.lm_bottom .lm_header { + width: 100%; +} +.lm_dragProxy.lm_bottom .lm_header .lm_tab, +.lm_stack.lm_bottom .lm_header .lm_tab { + margin-top: 0; + border-top: none; +} +.lm_dragProxy.lm_bottom .lm_header .lm_controls, +.lm_stack.lm_bottom .lm_header .lm_controls { + top: 3px; +} +.lm_dragProxy.lm_bottom .lm_header .lm_tabdropdown_list, +.lm_stack.lm_bottom .lm_header .lm_tabdropdown_list { + top: initial; + bottom: 20px; +} +.lm_drop_tab_placeholder { + float: left; + width: 100px; + visibility: hidden; +} +.lm_header .lm_controls .lm_tabdropdown:before { + content: ''; + width: 0; + height: 0; + vertical-align: middle; + display: inline-block; + border-top: 5px dashed; + border-right: 5px solid transparent; + border-left: 5px solid transparent; + color: white; +} +.lm_header .lm_tabdropdown_list { + position: absolute; + top: 20px; + right: 0; + z-index: 5; + overflow: hidden; +} +.lm_header .lm_tabdropdown_list .lm_tab { + clear: both; + padding-right: 10px; + margin: 0; +} +.lm_header .lm_tabdropdown_list .lm_tab .lm_title { + width: 100px; +} +.lm_header .lm_tabdropdown_list .lm_close_tab { + display: none !important; +} +/*********************************** +* Drag Proxy +***********************************/ +.lm_dragProxy { + position: absolute; + top: 0; + left: 0; + z-index: 30; +} +.lm_dragProxy .lm_header { + background: transparent; +} +.lm_dragProxy .lm_content { + border-top: none; + overflow: hidden; +} +.lm_dropTargetIndicator { + display: none; + position: absolute; + z-index: 35; + transition: all 200ms ease; +} +.lm_dropTargetIndicator .lm_inner { + width: 100%; + height: 100%; + position: relative; + top: 0; + left: 0; +} +.lm_transition_indicator { + display: none; + width: 20px; + height: 20px; + position: absolute; + top: 0; + left: 0; + z-index: 20; +} +.lm_popin { + width: 20px; + height: 20px; + position: absolute; + bottom: 0; + right: 0; + z-index: 9999; +} +.lm_popin > * { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; +} +.lm_popin > .lm_bg { + z-index: 10; +} +.lm_popin > .lm_icon { + z-index: 20; +} diff --git a/public/goldenlayout-dark-theme.css b/public/goldenlayout-dark-theme.css new file mode 100644 index 0000000..505c2cb --- /dev/null +++ b/public/goldenlayout-dark-theme.css @@ -0,0 +1,139 @@ +.lm_goldenlayout { + background: #000000; +} +.lm_content { + background: #222222; + border: 1px solid transparent; +} +.lm_dragProxy .lm_content { + box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9); +} +.lm_dropTargetIndicator { + box-shadow: inset 0 0 30px #000000; + outline: 1px dashed #cccccc; +} +.lm_dropTargetIndicator .lm_inner { + background: #000000; + opacity: 0.2; +} +.lm_splitter { + background: #000000; + opacity: 0.001; + transition: opacity 200ms ease; +} +.lm_splitter:hover, +.lm_splitter.lm_dragging { + background: #444444; + opacity: 1; +} +.lm_header { + height: 20px; +} +.lm_header .lm_tab { + font-family: Arial, sans-serif; + font-size: 12px; + color: #999999; + background: #111111; + box-shadow: 2px -2px 2px rgba(0, 0, 0, 0.3); + margin-right: 2px; + padding-bottom: 2px; + padding-top: 2px; + /*.lm_title // Present in LIGHT Theme + { + padding-top:1px; + }*/ +} +.lm_header .lm_tab .lm_close_tab { + width: 11px; + height: 11px; + background-image: url('../../img/lm_close_white.png'); + background-position: center center; + background-repeat: no-repeat; + top: 4px; + right: 6px; + opacity: 0.4; +} +.lm_header .lm_tab .lm_close_tab:hover { + opacity: 1; +} +.lm_header .lm_tab.lm_active { + border-bottom: none; + box-shadow: 0 -2px 2px #000000; + padding-bottom: 3px; +} +.lm_header .lm_tab.lm_active .lm_close_tab { + opacity: 1; +} +.lm_header .lm_tab.lm_active.lm_focused { + background-color: #354be3; +} +.lm_dragProxy.lm_right .lm_header .lm_tab.lm_active, +.lm_stack.lm_right .lm_header .lm_tab.lm_active { + box-shadow: 2px -2px 2px #000000; +} +.lm_dragProxy.lm_bottom .lm_header .lm_tab, +.lm_stack.lm_bottom .lm_header .lm_tab { + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3); +} +.lm_dragProxy.lm_bottom .lm_header .lm_tab.lm_active, +.lm_stack.lm_bottom .lm_header .lm_tab.lm_active { + box-shadow: 0 2px 2px #000000; +} +.lm_selected .lm_header { + background-color: #452500; +} +.lm_tab:hover, +.lm_tab.lm_active { + background: #222222; + color: #dddddd; +} +.lm_header .lm_controls .lm_tabdropdown:before { + color: #ffffff; +} +.lm_controls > * { + position: relative; + background-position: center center; + background-repeat: no-repeat; + opacity: 0.4; + transition: opacity 300ms ease; +} +.lm_controls > *:hover { + opacity: 1; +} +.lm_controls .lm_popout { + background-image: url('../../img/lm_popout_white.png'); +} +.lm_controls .lm_maximise { + background-image: url('../../img/lm_maximise_white.png'); +} +.lm_controls .lm_close { + background-image: url('../../img/lm_close_white.png'); +} +.lm_maximised .lm_header { + background-color: #000000; +} +.lm_maximised .lm_controls .lm_maximise { + background-image: url('../../img/lm_minimize_white.png'); +} +.lm_transition_indicator { + background-color: #000000; + border: 1px dashed #555555; +} +.lm_popin { + cursor: pointer; +} +.lm_popin .lm_bg { + background: #ffffff; + opacity: 0.3; +} +.lm_popin .lm_icon { + background-image: url('../../img/lm_popin_white.png'); + background-position: center center; + background-repeat: no-repeat; + border-left: 1px solid #eeeeee; + border-top: 1px solid #eeeeee; + opacity: 0.7; +} +.lm_popin:hover .lm_icon { + opacity: 1; +} diff --git a/public/theatre-core-umd.js b/public/theatre-core-umd.js new file mode 100644 index 0000000..e69de29 diff --git a/public/theatre-core.js b/public/theatre-core.js new file mode 100644 index 0000000..5da2634 --- /dev/null +++ b/public/theatre-core.js @@ -0,0 +1,6597 @@ +"use strict"; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __defProps = Object.defineProperties; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropDescs = Object.getOwnPropertyDescriptors; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a2, b2) => { + for (var prop in b2 || (b2 = {})) + if (__hasOwnProp.call(b2, prop)) + __defNormalProp(a2, prop, b2[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b2)) { + if (__propIsEnum.call(b2, prop)) + __defNormalProp(a2, prop, b2[prop]); + } + return a2; +}; +var __spreadProps = (a2, b2) => __defProps(a2, __getOwnPropDescs(b2)); +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var __publicField = (obj, key, value) => { + __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; + +// ../node_modules/timing-function/lib/UnitBezier.js +var require_UnitBezier = __commonJS({ + "../node_modules/timing-function/lib/UnitBezier.js"(exports2, module2) { + var UnitBezier2; + module2.exports = UnitBezier2 = function() { + function UnitBezier3(p1x, p1y, p2x, p2y) { + this.set(p1x, p1y, p2x, p2y); + } + UnitBezier3.prototype.set = function(p1x, p1y, p2x, p2y) { + this._cx = 3 * p1x; + this._bx = 3 * (p2x - p1x) - this._cx; + this._ax = 1 - this._cx - this._bx; + this._cy = 3 * p1y; + this._by = 3 * (p2y - p1y) - this._cy; + this._ay = 1 - this._cy - this._by; + }; + UnitBezier3.epsilon = 1e-6; + UnitBezier3.prototype._sampleCurveX = function(t2) { + return ((this._ax * t2 + this._bx) * t2 + this._cx) * t2; + }; + UnitBezier3.prototype._sampleCurveY = function(t2) { + return ((this._ay * t2 + this._by) * t2 + this._cy) * t2; + }; + UnitBezier3.prototype._sampleCurveDerivativeX = function(t2) { + return (3 * this._ax * t2 + 2 * this._bx) * t2 + this._cx; + }; + UnitBezier3.prototype._solveCurveX = function(x2, epsilon) { + var d2, i2, t0, t1, t2, x22; + t0 = void 0; + t1 = void 0; + t2 = void 0; + x22 = void 0; + d2 = void 0; + i2 = void 0; + t2 = x2; + i2 = 0; + while (i2 < 8) { + x22 = this._sampleCurveX(t2) - x2; + if (Math.abs(x22) < epsilon) { + return t2; + } + d2 = this._sampleCurveDerivativeX(t2); + if (Math.abs(d2) < epsilon) { + break; + } + t2 = t2 - x22 / d2; + i2++; + } + t0 = 0; + t1 = 1; + t2 = x2; + if (t2 < t0) { + return t0; + } + if (t2 > t1) { + return t1; + } + while (t0 < t1) { + x22 = this._sampleCurveX(t2); + if (Math.abs(x22 - x2) < epsilon) { + return t2; + } + if (x2 > x22) { + t0 = t2; + } else { + t1 = t2; + } + t2 = (t1 - t0) * 0.5 + t0; + } + return t2; + }; + UnitBezier3.prototype.solve = function(x2, epsilon) { + return this._sampleCurveY(this._solveCurveX(x2, epsilon)); + }; + UnitBezier3.prototype.solveSimple = function(x2) { + return this._sampleCurveY(this._solveCurveX(x2, 1e-6)); + }; + return UnitBezier3; + }(); + } +}); + +// ../node_modules/levenshtein-edit-distance/index.js +var require_levenshtein_edit_distance = __commonJS({ + "../node_modules/levenshtein-edit-distance/index.js"(exports2, module2) { + var cache2; + var codes; + cache2 = []; + codes = []; + function levenshtein(value, other, insensitive) { + var length, lengthOther, code, result, distance, distanceOther, index, indexOther; + if (value === other) { + return 0; + } + length = value.length; + lengthOther = other.length; + if (length === 0) { + return lengthOther; + } + if (lengthOther === 0) { + return length; + } + if (insensitive) { + value = value.toLowerCase(); + other = other.toLowerCase(); + } + index = 0; + while (index < length) { + codes[index] = value.charCodeAt(index); + cache2[index] = ++index; + } + indexOther = 0; + while (indexOther < lengthOther) { + code = other.charCodeAt(indexOther); + result = distance = indexOther++; + index = -1; + while (++index < length) { + distanceOther = code === codes[index] ? distance : distance + 1; + distance = cache2[index]; + cache2[index] = result = distance > result ? distanceOther > result ? result + 1 : distanceOther : distanceOther > distance ? distance + 1 : distanceOther; + } + } + return result; + } + module2.exports = levenshtein; + } +}); + +// ../node_modules/propose/propose.js +var require_propose = __commonJS({ + "../node_modules/propose/propose.js"(exports2, module2) { + var levenshtein = require_levenshtein_edit_distance(); + function propose2() { + var ratio; + var distance; + var proposed; + var threshold; + var ignoreCase; + var max_ratio = 0; + var word = arguments[0]; + var dictionary = arguments[1]; + var len = dictionary.length; + var options = arguments[2]; + if (options) { + threshold = options.threshold; + ignoreCase = options.ignoreCase; + } + if (threshold === void 0) + threshold = 0; + for (var i2 = 0; i2 < len; ++i2) { + if (ignoreCase) + distance = levenshtein(word, dictionary[i2], true); + else + distance = levenshtein(word, dictionary[i2]); + if (distance > word.length) + ratio = 1 - distance / dictionary[i2].length; + else + ratio = 1 - distance / word.length; + if (ratio > max_ratio) { + max_ratio = ratio; + proposed = dictionary[i2]; + } + } + if (max_ratio >= threshold) + return proposed; + return null; + } + module2.exports = propose2; + } +}); + +// ../node_modules/fast-deep-equal/index.js +var require_fast_deep_equal = __commonJS({ + "../node_modules/fast-deep-equal/index.js"(exports2, module2) { + "use strict"; + module2.exports = function equal(a2, b2) { + if (a2 === b2) + return true; + if (a2 && b2 && typeof a2 == "object" && typeof b2 == "object") { + if (a2.constructor !== b2.constructor) + return false; + var length, i2, keys2; + if (Array.isArray(a2)) { + length = a2.length; + if (length != b2.length) + return false; + for (i2 = length; i2-- !== 0; ) + if (!equal(a2[i2], b2[i2])) + return false; + return true; + } + if (a2.constructor === RegExp) + return a2.source === b2.source && a2.flags === b2.flags; + if (a2.valueOf !== Object.prototype.valueOf) + return a2.valueOf() === b2.valueOf(); + if (a2.toString !== Object.prototype.toString) + return a2.toString() === b2.toString(); + keys2 = Object.keys(a2); + length = keys2.length; + if (length !== Object.keys(b2).length) + return false; + for (i2 = length; i2-- !== 0; ) + if (!Object.prototype.hasOwnProperty.call(b2, keys2[i2])) + return false; + for (i2 = length; i2-- !== 0; ) { + var key = keys2[i2]; + if (!equal(a2[key], b2[key])) + return false; + } + return true; + } + return a2 !== a2 && b2 !== b2; + }; + } +}); + +// core/src/index.ts +var src_exports = {}; +__export(src_exports, { + createRafDriver: () => createRafDriver, + getProject: () => getProject, + notify: () => notify, + onChange: () => onChange, + types: () => propTypes_exports, + val: () => val7 +}); +module.exports = __toCommonJS(src_exports); + +// core/src/coreExports.ts +var coreExports_exports = {}; +__export(coreExports_exports, { + createRafDriver: () => createRafDriver, + getProject: () => getProject, + notify: () => notify, + onChange: () => onChange, + types: () => propTypes_exports, + val: () => val7 +}); + +// core/src/projects/projectsSingleton.ts +var import_dataverse = require("@theatre/dataverse"); +var ProjectsSingleton = class { + constructor() { + __publicField(this, "atom", new import_dataverse.Atom({ projects: {} })); + } + /** + * We're trusting here that each project id is unique + */ + add(id, project) { + this.atom.setByPointer((p2) => p2.projects[id], project); + } + get(id) { + return this.atom.get().projects[id]; + } + has(id) { + return !!this.get(id); + } +}; +var singleton = new ProjectsSingleton(); +var projectsSingleton_default = singleton; + +// core/src/privateAPIs.ts +var publicAPIToPrivateAPIMap = /* @__PURE__ */ new WeakMap(); +function privateAPI(pub) { + return publicAPIToPrivateAPIMap.get(pub); +} +function setPrivateAPI(pub, priv) { + publicAPIToPrivateAPIMap.set(pub, priv); +} + +// shared/src/utils/index.ts +var emptyArray = []; + +// ../node_modules/lodash-es/isArray.js +var isArray = Array.isArray; +var isArray_default = isArray; + +// ../node_modules/lodash-es/_freeGlobal.js +var freeGlobal = typeof global == "object" && global && global.Object === Object && global; +var freeGlobal_default = freeGlobal; + +// ../node_modules/lodash-es/_root.js +var freeSelf = typeof self == "object" && self && self.Object === Object && self; +var root = freeGlobal_default || freeSelf || Function("return this")(); +var root_default = root; + +// ../node_modules/lodash-es/_Symbol.js +var Symbol2 = root_default.Symbol; +var Symbol_default = Symbol2; + +// ../node_modules/lodash-es/_getRawTag.js +var objectProto = Object.prototype; +var hasOwnProperty = objectProto.hasOwnProperty; +var nativeObjectToString = objectProto.toString; +var symToStringTag = Symbol_default ? Symbol_default.toStringTag : void 0; +function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag]; + try { + value[symToStringTag] = void 0; + var unmasked = true; + } catch (e2) { + } + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; +} +var getRawTag_default = getRawTag; + +// ../node_modules/lodash-es/_objectToString.js +var objectProto2 = Object.prototype; +var nativeObjectToString2 = objectProto2.toString; +function objectToString(value) { + return nativeObjectToString2.call(value); +} +var objectToString_default = objectToString; + +// ../node_modules/lodash-es/_baseGetTag.js +var nullTag = "[object Null]"; +var undefinedTag = "[object Undefined]"; +var symToStringTag2 = Symbol_default ? Symbol_default.toStringTag : void 0; +function baseGetTag(value) { + if (value == null) { + return value === void 0 ? undefinedTag : nullTag; + } + return symToStringTag2 && symToStringTag2 in Object(value) ? getRawTag_default(value) : objectToString_default(value); +} +var baseGetTag_default = baseGetTag; + +// ../node_modules/lodash-es/isObjectLike.js +function isObjectLike(value) { + return value != null && typeof value == "object"; +} +var isObjectLike_default = isObjectLike; + +// ../node_modules/lodash-es/isSymbol.js +var symbolTag = "[object Symbol]"; +function isSymbol(value) { + return typeof value == "symbol" || isObjectLike_default(value) && baseGetTag_default(value) == symbolTag; +} +var isSymbol_default = isSymbol; + +// ../node_modules/lodash-es/_isKey.js +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/; +var reIsPlainProp = /^\w*$/; +function isKey(value, object) { + if (isArray_default(value)) { + return false; + } + var type = typeof value; + if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol_default(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object); +} +var isKey_default = isKey; + +// ../node_modules/lodash-es/isObject.js +function isObject(value) { + var type = typeof value; + return value != null && (type == "object" || type == "function"); +} +var isObject_default = isObject; + +// ../node_modules/lodash-es/isFunction.js +var asyncTag = "[object AsyncFunction]"; +var funcTag = "[object Function]"; +var genTag = "[object GeneratorFunction]"; +var proxyTag = "[object Proxy]"; +function isFunction(value) { + if (!isObject_default(value)) { + return false; + } + var tag = baseGetTag_default(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; +} +var isFunction_default = isFunction; + +// ../node_modules/lodash-es/_coreJsData.js +var coreJsData = root_default["__core-js_shared__"]; +var coreJsData_default = coreJsData; + +// ../node_modules/lodash-es/_isMasked.js +var maskSrcKey = function() { + var uid = /[^.]+$/.exec(coreJsData_default && coreJsData_default.keys && coreJsData_default.keys.IE_PROTO || ""); + return uid ? "Symbol(src)_1." + uid : ""; +}(); +function isMasked(func) { + return !!maskSrcKey && maskSrcKey in func; +} +var isMasked_default = isMasked; + +// ../node_modules/lodash-es/_toSource.js +var funcProto = Function.prototype; +var funcToString = funcProto.toString; +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e2) { + } + try { + return func + ""; + } catch (e2) { + } + } + return ""; +} +var toSource_default = toSource; + +// ../node_modules/lodash-es/_baseIsNative.js +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; +var reIsHostCtor = /^\[object .+?Constructor\]$/; +var funcProto2 = Function.prototype; +var objectProto3 = Object.prototype; +var funcToString2 = funcProto2.toString; +var hasOwnProperty2 = objectProto3.hasOwnProperty; +var reIsNative = RegExp( + "^" + funcToString2.call(hasOwnProperty2).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" +); +function baseIsNative(value) { + if (!isObject_default(value) || isMasked_default(value)) { + return false; + } + var pattern = isFunction_default(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource_default(value)); +} +var baseIsNative_default = baseIsNative; + +// ../node_modules/lodash-es/_getValue.js +function getValue(object, key) { + return object == null ? void 0 : object[key]; +} +var getValue_default = getValue; + +// ../node_modules/lodash-es/_getNative.js +function getNative(object, key) { + var value = getValue_default(object, key); + return baseIsNative_default(value) ? value : void 0; +} +var getNative_default = getNative; + +// ../node_modules/lodash-es/_nativeCreate.js +var nativeCreate = getNative_default(Object, "create"); +var nativeCreate_default = nativeCreate; + +// ../node_modules/lodash-es/_hashClear.js +function hashClear() { + this.__data__ = nativeCreate_default ? nativeCreate_default(null) : {}; + this.size = 0; +} +var hashClear_default = hashClear; + +// ../node_modules/lodash-es/_hashDelete.js +function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; +} +var hashDelete_default = hashDelete; + +// ../node_modules/lodash-es/_hashGet.js +var HASH_UNDEFINED = "__lodash_hash_undefined__"; +var objectProto4 = Object.prototype; +var hasOwnProperty3 = objectProto4.hasOwnProperty; +function hashGet(key) { + var data = this.__data__; + if (nativeCreate_default) { + var result = data[key]; + return result === HASH_UNDEFINED ? void 0 : result; + } + return hasOwnProperty3.call(data, key) ? data[key] : void 0; +} +var hashGet_default = hashGet; + +// ../node_modules/lodash-es/_hashHas.js +var objectProto5 = Object.prototype; +var hasOwnProperty4 = objectProto5.hasOwnProperty; +function hashHas(key) { + var data = this.__data__; + return nativeCreate_default ? data[key] !== void 0 : hasOwnProperty4.call(data, key); +} +var hashHas_default = hashHas; + +// ../node_modules/lodash-es/_hashSet.js +var HASH_UNDEFINED2 = "__lodash_hash_undefined__"; +function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = nativeCreate_default && value === void 0 ? HASH_UNDEFINED2 : value; + return this; +} +var hashSet_default = hashSet; + +// ../node_modules/lodash-es/_Hash.js +function Hash(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} +Hash.prototype.clear = hashClear_default; +Hash.prototype["delete"] = hashDelete_default; +Hash.prototype.get = hashGet_default; +Hash.prototype.has = hashHas_default; +Hash.prototype.set = hashSet_default; +var Hash_default = Hash; + +// ../node_modules/lodash-es/_listCacheClear.js +function listCacheClear() { + this.__data__ = []; + this.size = 0; +} +var listCacheClear_default = listCacheClear; + +// ../node_modules/lodash-es/eq.js +function eq(value, other) { + return value === other || value !== value && other !== other; +} +var eq_default = eq; + +// ../node_modules/lodash-es/_assocIndexOf.js +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq_default(array[length][0], key)) { + return length; + } + } + return -1; +} +var assocIndexOf_default = assocIndexOf; + +// ../node_modules/lodash-es/_listCacheDelete.js +var arrayProto = Array.prototype; +var splice = arrayProto.splice; +function listCacheDelete(key) { + var data = this.__data__, index = assocIndexOf_default(data, key); + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; +} +var listCacheDelete_default = listCacheDelete; + +// ../node_modules/lodash-es/_listCacheGet.js +function listCacheGet(key) { + var data = this.__data__, index = assocIndexOf_default(data, key); + return index < 0 ? void 0 : data[index][1]; +} +var listCacheGet_default = listCacheGet; + +// ../node_modules/lodash-es/_listCacheHas.js +function listCacheHas(key) { + return assocIndexOf_default(this.__data__, key) > -1; +} +var listCacheHas_default = listCacheHas; + +// ../node_modules/lodash-es/_listCacheSet.js +function listCacheSet(key, value) { + var data = this.__data__, index = assocIndexOf_default(data, key); + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} +var listCacheSet_default = listCacheSet; + +// ../node_modules/lodash-es/_ListCache.js +function ListCache(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} +ListCache.prototype.clear = listCacheClear_default; +ListCache.prototype["delete"] = listCacheDelete_default; +ListCache.prototype.get = listCacheGet_default; +ListCache.prototype.has = listCacheHas_default; +ListCache.prototype.set = listCacheSet_default; +var ListCache_default = ListCache; + +// ../node_modules/lodash-es/_Map.js +var Map2 = getNative_default(root_default, "Map"); +var Map_default = Map2; + +// ../node_modules/lodash-es/_mapCacheClear.js +function mapCacheClear() { + this.size = 0; + this.__data__ = { + "hash": new Hash_default(), + "map": new (Map_default || ListCache_default)(), + "string": new Hash_default() + }; +} +var mapCacheClear_default = mapCacheClear; + +// ../node_modules/lodash-es/_isKeyable.js +function isKeyable(value) { + var type = typeof value; + return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null; +} +var isKeyable_default = isKeyable; + +// ../node_modules/lodash-es/_getMapData.js +function getMapData(map, key) { + var data = map.__data__; + return isKeyable_default(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map; +} +var getMapData_default = getMapData; + +// ../node_modules/lodash-es/_mapCacheDelete.js +function mapCacheDelete(key) { + var result = getMapData_default(this, key)["delete"](key); + this.size -= result ? 1 : 0; + return result; +} +var mapCacheDelete_default = mapCacheDelete; + +// ../node_modules/lodash-es/_mapCacheGet.js +function mapCacheGet(key) { + return getMapData_default(this, key).get(key); +} +var mapCacheGet_default = mapCacheGet; + +// ../node_modules/lodash-es/_mapCacheHas.js +function mapCacheHas(key) { + return getMapData_default(this, key).has(key); +} +var mapCacheHas_default = mapCacheHas; + +// ../node_modules/lodash-es/_mapCacheSet.js +function mapCacheSet(key, value) { + var data = getMapData_default(this, key), size = data.size; + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; +} +var mapCacheSet_default = mapCacheSet; + +// ../node_modules/lodash-es/_MapCache.js +function MapCache(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} +MapCache.prototype.clear = mapCacheClear_default; +MapCache.prototype["delete"] = mapCacheDelete_default; +MapCache.prototype.get = mapCacheGet_default; +MapCache.prototype.has = mapCacheHas_default; +MapCache.prototype.set = mapCacheSet_default; +var MapCache_default = MapCache; + +// ../node_modules/lodash-es/memoize.js +var FUNC_ERROR_TEXT = "Expected a function"; +function memoize(func, resolver) { + if (typeof func != "function" || resolver != null && typeof resolver != "function") { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache2 = memoized.cache; + if (cache2.has(key)) { + return cache2.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache2.set(key, result) || cache2; + return result; + }; + memoized.cache = new (memoize.Cache || MapCache_default)(); + return memoized; +} +memoize.Cache = MapCache_default; +var memoize_default = memoize; + +// ../node_modules/lodash-es/_memoizeCapped.js +var MAX_MEMOIZE_SIZE = 500; +function memoizeCapped(func) { + var result = memoize_default(func, function(key) { + if (cache2.size === MAX_MEMOIZE_SIZE) { + cache2.clear(); + } + return key; + }); + var cache2 = result.cache; + return result; +} +var memoizeCapped_default = memoizeCapped; + +// ../node_modules/lodash-es/_stringToPath.js +var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; +var reEscapeChar = /\\(\\)?/g; +var stringToPath = memoizeCapped_default(function(string2) { + var result = []; + if (string2.charCodeAt(0) === 46) { + result.push(""); + } + string2.replace(rePropName, function(match, number2, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, "$1") : number2 || match); + }); + return result; +}); +var stringToPath_default = stringToPath; + +// ../node_modules/lodash-es/_arrayMap.js +function arrayMap(array, iteratee) { + var index = -1, length = array == null ? 0 : array.length, result = Array(length); + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; +} +var arrayMap_default = arrayMap; + +// ../node_modules/lodash-es/_baseToString.js +var INFINITY = 1 / 0; +var symbolProto = Symbol_default ? Symbol_default.prototype : void 0; +var symbolToString = symbolProto ? symbolProto.toString : void 0; +function baseToString(value) { + if (typeof value == "string") { + return value; + } + if (isArray_default(value)) { + return arrayMap_default(value, baseToString) + ""; + } + if (isSymbol_default(value)) { + return symbolToString ? symbolToString.call(value) : ""; + } + var result = value + ""; + return result == "0" && 1 / value == -INFINITY ? "-0" : result; +} +var baseToString_default = baseToString; + +// ../node_modules/lodash-es/toString.js +function toString(value) { + return value == null ? "" : baseToString_default(value); +} +var toString_default = toString; + +// ../node_modules/lodash-es/_castPath.js +function castPath(value, object) { + if (isArray_default(value)) { + return value; + } + return isKey_default(value, object) ? [value] : stringToPath_default(toString_default(value)); +} +var castPath_default = castPath; + +// ../node_modules/lodash-es/_toKey.js +var INFINITY2 = 1 / 0; +function toKey(value) { + if (typeof value == "string" || isSymbol_default(value)) { + return value; + } + var result = value + ""; + return result == "0" && 1 / value == -INFINITY2 ? "-0" : result; +} +var toKey_default = toKey; + +// ../node_modules/lodash-es/_baseGet.js +function baseGet(object, path) { + path = castPath_default(path, object); + var index = 0, length = path.length; + while (object != null && index < length) { + object = object[toKey_default(path[index++])]; + } + return index && index == length ? object : void 0; +} +var baseGet_default = baseGet; + +// ../node_modules/lodash-es/get.js +function get(object, path, defaultValue) { + var result = object == null ? void 0 : baseGet_default(object, path); + return result === void 0 ? defaultValue : result; +} +var get_default = get; + +// shared/src/utils/getDeep.ts +function getDeep(v2, path) { + if (path.length === 0) + return v2; + return get_default(v2, path); +} + +// shared/src/utils/SimpleCache.ts +var SimpleCache = class { + constructor() { + /** + * NOTE this could also be a Map. + */ + __publicField(this, "_values", {}); + } + /** + * get the cache item at `key` or produce it using `producer` and cache _that_. + * + * Note that this won't work if you change the producer, like `get(key, producer1); get(key, producer2)`. + */ + get(key, producer) { + if (this.has(key)) { + return this._values[key]; + } else { + const cachedValue = producer(); + this._values[key] = cachedValue; + return cachedValue; + } + } + /** + * Returns true if the cache has an item at `key`. + */ + has(key) { + return this._values.hasOwnProperty(key); + } +}; + +// core/src/sheetObjects/SheetObjectTemplate.ts +var import_dataverse6 = require("@theatre/dataverse"); + +// ../node_modules/lodash-es/_defineProperty.js +var defineProperty = function() { + try { + var func = getNative_default(Object, "defineProperty"); + func({}, "", {}); + return func; + } catch (e2) { + } +}(); +var defineProperty_default = defineProperty; + +// ../node_modules/lodash-es/_baseAssignValue.js +function baseAssignValue(object, key, value) { + if (key == "__proto__" && defineProperty_default) { + defineProperty_default(object, key, { + "configurable": true, + "enumerable": true, + "value": value, + "writable": true + }); + } else { + object[key] = value; + } +} +var baseAssignValue_default = baseAssignValue; + +// ../node_modules/lodash-es/_assignValue.js +var objectProto6 = Object.prototype; +var hasOwnProperty5 = objectProto6.hasOwnProperty; +function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty5.call(object, key) && eq_default(objValue, value)) || value === void 0 && !(key in object)) { + baseAssignValue_default(object, key, value); + } +} +var assignValue_default = assignValue; + +// ../node_modules/lodash-es/_isIndex.js +var MAX_SAFE_INTEGER = 9007199254740991; +var reIsUint = /^(?:0|[1-9]\d*)$/; +function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length); +} +var isIndex_default = isIndex; + +// ../node_modules/lodash-es/_baseSet.js +function baseSet(object, path, value, customizer) { + if (!isObject_default(object)) { + return object; + } + path = castPath_default(path, object); + var index = -1, length = path.length, lastIndex = length - 1, nested = object; + while (nested != null && ++index < length) { + var key = toKey_default(path[index]), newValue = value; + if (key === "__proto__" || key === "constructor" || key === "prototype") { + return object; + } + if (index != lastIndex) { + var objValue = nested[key]; + newValue = customizer ? customizer(objValue, key, nested) : void 0; + if (newValue === void 0) { + newValue = isObject_default(objValue) ? objValue : isIndex_default(path[index + 1]) ? [] : {}; + } + } + assignValue_default(nested, key, newValue); + nested = nested[key]; + } + return object; +} +var baseSet_default = baseSet; + +// ../node_modules/lodash-es/set.js +function set(object, path, value) { + return object == null ? object : baseSet_default(object, path, value); +} +var set_default = set; + +// core/src/sheetObjects/getPropDefaultsOfSheetObject.ts +var cachedDefaults = /* @__PURE__ */ new WeakMap(); +function getPropDefaultsOfSheetObject(config) { + return getDefaultsOfPropTypeConfig(config); +} +function getDefaultsOfPropTypeConfig(config) { + if (cachedDefaults.has(config)) { + return cachedDefaults.get(config); + } + const generated = config.type === "compound" ? generateDefaultsForCompound(config) : config.type === "enum" ? generateDefaultsForEnum(config) : config.default; + cachedDefaults.set(config, generated); + return generated; +} +function generateDefaultsForEnum(config) { + const defaults = { + $case: config.defaultCase + }; + for (const [case_, caseConf] of Object.entries(config.cases)) { + defaults[case_] = getDefaultsOfPropTypeConfig(caseConf); + } + return defaults; +} +function generateDefaultsForCompound(config) { + const defaults = {}; + for (const [key, propConf] of Object.entries(config.props)) { + defaults[key] = getDefaultsOfPropTypeConfig(propConf); + } + return defaults; +} + +// core/src/sequences/interpolationTripleAtPosition.ts +var import_dataverse2 = require("@theatre/dataverse"); +var import_UnitBezier = __toESM(require_UnitBezier()); +function interpolationTripleAtPosition(ctx, trackP, timeD) { + return (0, import_dataverse2.prism)(() => { + const track = (0, import_dataverse2.val)(trackP); + const driverD = import_dataverse2.prism.memo( + "driver", + () => { + if (!track) { + return (0, import_dataverse2.prism)(() => void 0); + } else if (track.type === "BasicKeyframedTrack") { + return _forKeyframedTrack(ctx, track, timeD); + } else { + ctx.logger.error("Track type not yet supported."); + return (0, import_dataverse2.prism)(() => void 0); + } + }, + [track] + ); + return driverD.getValue(); + }); +} +function _forKeyframedTrack(ctx, track, timeD) { + return (0, import_dataverse2.prism)(() => { + let stateRef = import_dataverse2.prism.ref("state", { started: false }); + let state = stateRef.current; + const time = timeD.getValue(); + if (!state.started || time < state.validFrom || state.validTo <= time) { + stateRef.current = state = updateState(ctx, timeD, track); + } + return state.der.getValue(); + }); +} +var undefinedConstD = (0, import_dataverse2.prism)(() => void 0); +function updateState(ctx, progressionD, track) { + const progression = progressionD.getValue(); + if (track.keyframes.length === 0) { + return { + started: true, + validFrom: -Infinity, + validTo: Infinity, + der: undefinedConstD + }; + } + let currentKeyframeIndex = 0; + while (true) { + const currentKeyframe = track.keyframes[currentKeyframeIndex]; + if (!currentKeyframe) { + if (process.env.NODE_ENV !== "production") { + ctx.logger.error("Bug here"); + } + return states.error; + } + const isLastKeyframe = currentKeyframeIndex === track.keyframes.length - 1; + if (progression < currentKeyframe.position) { + if (currentKeyframeIndex === 0) { + return states.beforeFirstKeyframe(currentKeyframe); + } else { + if (process.env.NODE_ENV !== "production") { + ctx.logger.error("Bug here"); + } + return states.error; + } + } else if (currentKeyframe.position === progression) { + if (isLastKeyframe) { + return states.lastKeyframe(currentKeyframe); + } else { + return states.between( + currentKeyframe, + track.keyframes[currentKeyframeIndex + 1], + progressionD + ); + } + } else { + if (currentKeyframeIndex === track.keyframes.length - 1) { + return states.lastKeyframe(currentKeyframe); + } else { + const nextKeyframeIndex = currentKeyframeIndex + 1; + if (track.keyframes[nextKeyframeIndex].position <= progression) { + currentKeyframeIndex = nextKeyframeIndex; + continue; + } else { + return states.between( + currentKeyframe, + track.keyframes[currentKeyframeIndex + 1], + progressionD + ); + } + } + } + } +} +var states = { + beforeFirstKeyframe(kf) { + return { + started: true, + validFrom: -Infinity, + validTo: kf.position, + der: (0, import_dataverse2.prism)(() => ({ left: kf.value, progression: 0 })) + }; + }, + lastKeyframe(kf) { + return { + started: true, + validFrom: kf.position, + validTo: Infinity, + der: (0, import_dataverse2.prism)(() => ({ left: kf.value, progression: 0 })) + }; + }, + between(left, right, progressionD) { + if (!left.connectedRight) { + return { + started: true, + validFrom: left.position, + validTo: right.position, + der: (0, import_dataverse2.prism)(() => ({ left: left.value, progression: 0 })) + }; + } + const globalProgressionToLocalProgression = (globalProgression) => { + return (globalProgression - left.position) / (right.position - left.position); + }; + if (!left.type || left.type === "bezier") { + const solver = new import_UnitBezier.default( + left.handles[2], + left.handles[3], + right.handles[0], + right.handles[1] + ); + const bezierDer = (0, import_dataverse2.prism)(() => { + const progression = globalProgressionToLocalProgression( + progressionD.getValue() + ); + const valueProgression = solver.solveSimple(progression); + return { + left: left.value, + right: right.value, + progression: valueProgression + }; + }); + return { + started: true, + validFrom: left.position, + validTo: right.position, + der: bezierDer + }; + } + const holdDer = (0, import_dataverse2.prism)(() => { + const progression = globalProgressionToLocalProgression( + progressionD.getValue() + ); + const valueProgression = Math.floor(progression); + return { + left: left.value, + right: right.value, + progression: valueProgression + }; + }); + return { + started: true, + validFrom: left.position, + validTo: right.position, + der: holdDer + }; + }, + error: { + started: true, + validFrom: -Infinity, + validTo: Infinity, + der: undefinedConstD + } +}; + +// shared/src/utils/deepMergeWithCache.ts +function deepMergeWithCache(base, override, cache2) { + const _cache = cache2; + const possibleCachedValue = _cache.get(base); + if (possibleCachedValue && possibleCachedValue.override === override) { + return possibleCachedValue.merged; + } + const merged = __spreadValues({}, base); + for (const key of Object.keys(override)) { + const valueInOverride = override[key]; + const valueInBase = base[key]; + merged[key] = typeof valueInOverride === "object" && typeof valueInBase === "object" ? deepMergeWithCache( + valueInBase, + valueInOverride, + cache2 + ) : valueInOverride === void 0 ? valueInBase : valueInOverride; + } + cache2.set(base, { override, merged }); + return merged; +} + +// shared/src/utils/pointerDeep.ts +function pointerDeep(base, toAppend) { + let p2 = base; + for (const k2 of toAppend) { + p2 = p2[k2]; + } + return p2; +} + +// shared/src/utils/valToAtom.ts +var import_dataverse3 = require("@theatre/dataverse"); +var valToAtom = (key, vals) => { + const a2 = import_dataverse3.prism.memo(key, () => new import_dataverse3.Atom(vals), []); + a2.set(vals); + return a2; +}; + +// core/src/sheetObjects/SheetObject.ts +var import_dataverse5 = require("@theatre/dataverse"); + +// core/src/sheetObjects/TheatreSheetObject.ts +var import_dataverse4 = require("@theatre/dataverse"); + +// ../node_modules/lodash-es/_trimmedEndIndex.js +var reWhitespace = /\s/; +function trimmedEndIndex(string2) { + var index = string2.length; + while (index-- && reWhitespace.test(string2.charAt(index))) { + } + return index; +} +var trimmedEndIndex_default = trimmedEndIndex; + +// ../node_modules/lodash-es/_baseTrim.js +var reTrimStart = /^\s+/; +function baseTrim(string2) { + return string2 ? string2.slice(0, trimmedEndIndex_default(string2) + 1).replace(reTrimStart, "") : string2; +} +var baseTrim_default = baseTrim; + +// ../node_modules/lodash-es/toNumber.js +var NAN = 0 / 0; +var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; +var reIsBinary = /^0b[01]+$/i; +var reIsOctal = /^0o[0-7]+$/i; +var freeParseInt = parseInt; +function toNumber(value) { + if (typeof value == "number") { + return value; + } + if (isSymbol_default(value)) { + return NAN; + } + if (isObject_default(value)) { + var other = typeof value.valueOf == "function" ? value.valueOf() : value; + value = isObject_default(other) ? other + "" : other; + } + if (typeof value != "string") { + return value === 0 ? value : +value; + } + value = baseTrim_default(value); + var isBinary = reIsBinary.test(value); + return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; +} +var toNumber_default = toNumber; + +// ../node_modules/lodash-es/toFinite.js +var INFINITY3 = 1 / 0; +var MAX_INTEGER = 17976931348623157e292; +function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber_default(value); + if (value === INFINITY3 || value === -INFINITY3) { + var sign = value < 0 ? -1 : 1; + return sign * MAX_INTEGER; + } + return value === value ? value : 0; +} +var toFinite_default = toFinite; + +// ../node_modules/lodash-es/toInteger.js +function toInteger(value) { + var result = toFinite_default(value), remainder = result % 1; + return result === result ? remainder ? result - remainder : result : 0; +} +var toInteger_default = toInteger; + +// ../node_modules/lodash-es/identity.js +function identity(value) { + return value; +} +var identity_default = identity; + +// ../node_modules/lodash-es/_WeakMap.js +var WeakMap2 = getNative_default(root_default, "WeakMap"); +var WeakMap_default = WeakMap2; + +// ../node_modules/lodash-es/_baseCreate.js +var objectCreate = Object.create; +var baseCreate = function() { + function object() { + } + return function(proto) { + if (!isObject_default(proto)) { + return {}; + } + if (objectCreate) { + return objectCreate(proto); + } + object.prototype = proto; + var result = new object(); + object.prototype = void 0; + return result; + }; +}(); +var baseCreate_default = baseCreate; + +// ../node_modules/lodash-es/_copyArray.js +function copyArray(source, array) { + var index = -1, length = source.length; + array || (array = Array(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; +} +var copyArray_default = copyArray; + +// ../node_modules/lodash-es/_arrayEach.js +function arrayEach(array, iteratee) { + var index = -1, length = array == null ? 0 : array.length; + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; +} +var arrayEach_default = arrayEach; + +// ../node_modules/lodash-es/_copyObject.js +function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + var index = -1, length = props.length; + while (++index < length) { + var key = props[index]; + var newValue = customizer ? customizer(object[key], source[key], key, object, source) : void 0; + if (newValue === void 0) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue_default(object, key, newValue); + } else { + assignValue_default(object, key, newValue); + } + } + return object; +} +var copyObject_default = copyObject; + +// ../node_modules/lodash-es/isLength.js +var MAX_SAFE_INTEGER2 = 9007199254740991; +function isLength(value) { + return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER2; +} +var isLength_default = isLength; + +// ../node_modules/lodash-es/isArrayLike.js +function isArrayLike(value) { + return value != null && isLength_default(value.length) && !isFunction_default(value); +} +var isArrayLike_default = isArrayLike; + +// ../node_modules/lodash-es/_isPrototype.js +var objectProto7 = Object.prototype; +function isPrototype(value) { + var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto7; + return value === proto; +} +var isPrototype_default = isPrototype; + +// ../node_modules/lodash-es/_baseTimes.js +function baseTimes(n2, iteratee) { + var index = -1, result = Array(n2); + while (++index < n2) { + result[index] = iteratee(index); + } + return result; +} +var baseTimes_default = baseTimes; + +// ../node_modules/lodash-es/_baseIsArguments.js +var argsTag = "[object Arguments]"; +function baseIsArguments(value) { + return isObjectLike_default(value) && baseGetTag_default(value) == argsTag; +} +var baseIsArguments_default = baseIsArguments; + +// ../node_modules/lodash-es/isArguments.js +var objectProto8 = Object.prototype; +var hasOwnProperty6 = objectProto8.hasOwnProperty; +var propertyIsEnumerable = objectProto8.propertyIsEnumerable; +var isArguments = baseIsArguments_default(function() { + return arguments; +}()) ? baseIsArguments_default : function(value) { + return isObjectLike_default(value) && hasOwnProperty6.call(value, "callee") && !propertyIsEnumerable.call(value, "callee"); +}; +var isArguments_default = isArguments; + +// ../node_modules/lodash-es/stubFalse.js +function stubFalse() { + return false; +} +var stubFalse_default = stubFalse; + +// ../node_modules/lodash-es/isBuffer.js +var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports; +var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module; +var moduleExports = freeModule && freeModule.exports === freeExports; +var Buffer2 = moduleExports ? root_default.Buffer : void 0; +var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0; +var isBuffer = nativeIsBuffer || stubFalse_default; +var isBuffer_default = isBuffer; + +// ../node_modules/lodash-es/_baseIsTypedArray.js +var argsTag2 = "[object Arguments]"; +var arrayTag = "[object Array]"; +var boolTag = "[object Boolean]"; +var dateTag = "[object Date]"; +var errorTag = "[object Error]"; +var funcTag2 = "[object Function]"; +var mapTag = "[object Map]"; +var numberTag = "[object Number]"; +var objectTag = "[object Object]"; +var regexpTag = "[object RegExp]"; +var setTag = "[object Set]"; +var stringTag = "[object String]"; +var weakMapTag = "[object WeakMap]"; +var arrayBufferTag = "[object ArrayBuffer]"; +var dataViewTag = "[object DataView]"; +var float32Tag = "[object Float32Array]"; +var float64Tag = "[object Float64Array]"; +var int8Tag = "[object Int8Array]"; +var int16Tag = "[object Int16Array]"; +var int32Tag = "[object Int32Array]"; +var uint8Tag = "[object Uint8Array]"; +var uint8ClampedTag = "[object Uint8ClampedArray]"; +var uint16Tag = "[object Uint16Array]"; +var uint32Tag = "[object Uint32Array]"; +var typedArrayTags = {}; +typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; +typedArrayTags[argsTag2] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag2] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; +function baseIsTypedArray(value) { + return isObjectLike_default(value) && isLength_default(value.length) && !!typedArrayTags[baseGetTag_default(value)]; +} +var baseIsTypedArray_default = baseIsTypedArray; + +// ../node_modules/lodash-es/_baseUnary.js +function baseUnary(func) { + return function(value) { + return func(value); + }; +} +var baseUnary_default = baseUnary; + +// ../node_modules/lodash-es/_nodeUtil.js +var freeExports2 = typeof exports == "object" && exports && !exports.nodeType && exports; +var freeModule2 = freeExports2 && typeof module == "object" && module && !module.nodeType && module; +var moduleExports2 = freeModule2 && freeModule2.exports === freeExports2; +var freeProcess = moduleExports2 && freeGlobal_default.process; +var nodeUtil = function() { + try { + var types = freeModule2 && freeModule2.require && freeModule2.require("util").types; + if (types) { + return types; + } + return freeProcess && freeProcess.binding && freeProcess.binding("util"); + } catch (e2) { + } +}(); +var nodeUtil_default = nodeUtil; + +// ../node_modules/lodash-es/isTypedArray.js +var nodeIsTypedArray = nodeUtil_default && nodeUtil_default.isTypedArray; +var isTypedArray = nodeIsTypedArray ? baseUnary_default(nodeIsTypedArray) : baseIsTypedArray_default; +var isTypedArray_default = isTypedArray; + +// ../node_modules/lodash-es/_arrayLikeKeys.js +var objectProto9 = Object.prototype; +var hasOwnProperty7 = objectProto9.hasOwnProperty; +function arrayLikeKeys(value, inherited) { + var isArr = isArray_default(value), isArg = !isArr && isArguments_default(value), isBuff = !isArr && !isArg && isBuffer_default(value), isType = !isArr && !isArg && !isBuff && isTypedArray_default(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes_default(value.length, String) : [], length = result.length; + for (var key in value) { + if ((inherited || hasOwnProperty7.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode. + (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers. + isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays. + isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties. + isIndex_default(key, length)))) { + result.push(key); + } + } + return result; +} +var arrayLikeKeys_default = arrayLikeKeys; + +// ../node_modules/lodash-es/_overArg.js +function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; +} +var overArg_default = overArg; + +// ../node_modules/lodash-es/_nativeKeys.js +var nativeKeys = overArg_default(Object.keys, Object); +var nativeKeys_default = nativeKeys; + +// ../node_modules/lodash-es/_baseKeys.js +var objectProto10 = Object.prototype; +var hasOwnProperty8 = objectProto10.hasOwnProperty; +function baseKeys(object) { + if (!isPrototype_default(object)) { + return nativeKeys_default(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty8.call(object, key) && key != "constructor") { + result.push(key); + } + } + return result; +} +var baseKeys_default = baseKeys; + +// ../node_modules/lodash-es/keys.js +function keys(object) { + return isArrayLike_default(object) ? arrayLikeKeys_default(object) : baseKeys_default(object); +} +var keys_default = keys; + +// ../node_modules/lodash-es/_nativeKeysIn.js +function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } + } + return result; +} +var nativeKeysIn_default = nativeKeysIn; + +// ../node_modules/lodash-es/_baseKeysIn.js +var objectProto11 = Object.prototype; +var hasOwnProperty9 = objectProto11.hasOwnProperty; +function baseKeysIn(object) { + if (!isObject_default(object)) { + return nativeKeysIn_default(object); + } + var isProto = isPrototype_default(object), result = []; + for (var key in object) { + if (!(key == "constructor" && (isProto || !hasOwnProperty9.call(object, key)))) { + result.push(key); + } + } + return result; +} +var baseKeysIn_default = baseKeysIn; + +// ../node_modules/lodash-es/keysIn.js +function keysIn(object) { + return isArrayLike_default(object) ? arrayLikeKeys_default(object, true) : baseKeysIn_default(object); +} +var keysIn_default = keysIn; + +// ../node_modules/lodash-es/_arrayPush.js +function arrayPush(array, values) { + var index = -1, length = values.length, offset = array.length; + while (++index < length) { + array[offset + index] = values[index]; + } + return array; +} +var arrayPush_default = arrayPush; + +// ../node_modules/lodash-es/_getPrototype.js +var getPrototype = overArg_default(Object.getPrototypeOf, Object); +var getPrototype_default = getPrototype; + +// ../node_modules/lodash-es/isPlainObject.js +var objectTag2 = "[object Object]"; +var funcProto3 = Function.prototype; +var objectProto12 = Object.prototype; +var funcToString3 = funcProto3.toString; +var hasOwnProperty10 = objectProto12.hasOwnProperty; +var objectCtorString = funcToString3.call(Object); +function isPlainObject(value) { + if (!isObjectLike_default(value) || baseGetTag_default(value) != objectTag2) { + return false; + } + var proto = getPrototype_default(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty10.call(proto, "constructor") && proto.constructor; + return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString3.call(Ctor) == objectCtorString; +} +var isPlainObject_default = isPlainObject; + +// ../node_modules/lodash-es/_baseSlice.js +function baseSlice(array, start, end) { + var index = -1, length = array.length; + if (start < 0) { + start = -start > length ? 0 : length + start; + } + end = end > length ? length : end; + if (end < 0) { + end += length; + } + length = start > end ? 0 : end - start >>> 0; + start >>>= 0; + var result = Array(length); + while (++index < length) { + result[index] = array[index + start]; + } + return result; +} +var baseSlice_default = baseSlice; + +// ../node_modules/lodash-es/_castSlice.js +function castSlice(array, start, end) { + var length = array.length; + end = end === void 0 ? length : end; + return !start && end >= length ? array : baseSlice_default(array, start, end); +} +var castSlice_default = castSlice; + +// ../node_modules/lodash-es/_hasUnicode.js +var rsAstralRange = "\\ud800-\\udfff"; +var rsComboMarksRange = "\\u0300-\\u036f"; +var reComboHalfMarksRange = "\\ufe20-\\ufe2f"; +var rsComboSymbolsRange = "\\u20d0-\\u20ff"; +var rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange; +var rsVarRange = "\\ufe0e\\ufe0f"; +var rsZWJ = "\\u200d"; +var reHasUnicode = RegExp("[" + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + "]"); +function hasUnicode(string2) { + return reHasUnicode.test(string2); +} +var hasUnicode_default = hasUnicode; + +// ../node_modules/lodash-es/_asciiToArray.js +function asciiToArray(string2) { + return string2.split(""); +} +var asciiToArray_default = asciiToArray; + +// ../node_modules/lodash-es/_unicodeToArray.js +var rsAstralRange2 = "\\ud800-\\udfff"; +var rsComboMarksRange2 = "\\u0300-\\u036f"; +var reComboHalfMarksRange2 = "\\ufe20-\\ufe2f"; +var rsComboSymbolsRange2 = "\\u20d0-\\u20ff"; +var rsComboRange2 = rsComboMarksRange2 + reComboHalfMarksRange2 + rsComboSymbolsRange2; +var rsVarRange2 = "\\ufe0e\\ufe0f"; +var rsAstral = "[" + rsAstralRange2 + "]"; +var rsCombo = "[" + rsComboRange2 + "]"; +var rsFitz = "\\ud83c[\\udffb-\\udfff]"; +var rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")"; +var rsNonAstral = "[^" + rsAstralRange2 + "]"; +var rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}"; +var rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]"; +var rsZWJ2 = "\\u200d"; +var reOptMod = rsModifier + "?"; +var rsOptVar = "[" + rsVarRange2 + "]?"; +var rsOptJoin = "(?:" + rsZWJ2 + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*"; +var rsSeq = rsOptVar + reOptMod + rsOptJoin; +var rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")"; +var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g"); +function unicodeToArray(string2) { + return string2.match(reUnicode) || []; +} +var unicodeToArray_default = unicodeToArray; + +// ../node_modules/lodash-es/_stringToArray.js +function stringToArray(string2) { + return hasUnicode_default(string2) ? unicodeToArray_default(string2) : asciiToArray_default(string2); +} +var stringToArray_default = stringToArray; + +// ../node_modules/lodash-es/_baseClamp.js +function baseClamp(number2, lower, upper) { + if (number2 === number2) { + if (upper !== void 0) { + number2 = number2 <= upper ? number2 : upper; + } + if (lower !== void 0) { + number2 = number2 >= lower ? number2 : lower; + } + } + return number2; +} +var baseClamp_default = baseClamp; + +// ../node_modules/lodash-es/clamp.js +function clamp(number2, lower, upper) { + if (upper === void 0) { + upper = lower; + lower = void 0; + } + if (upper !== void 0) { + upper = toNumber_default(upper); + upper = upper === upper ? upper : 0; + } + if (lower !== void 0) { + lower = toNumber_default(lower); + lower = lower === lower ? lower : 0; + } + return baseClamp_default(toNumber_default(number2), lower, upper); +} +var clamp_default = clamp; + +// ../node_modules/lodash-es/_stackClear.js +function stackClear() { + this.__data__ = new ListCache_default(); + this.size = 0; +} +var stackClear_default = stackClear; + +// ../node_modules/lodash-es/_stackDelete.js +function stackDelete(key) { + var data = this.__data__, result = data["delete"](key); + this.size = data.size; + return result; +} +var stackDelete_default = stackDelete; + +// ../node_modules/lodash-es/_stackGet.js +function stackGet(key) { + return this.__data__.get(key); +} +var stackGet_default = stackGet; + +// ../node_modules/lodash-es/_stackHas.js +function stackHas(key) { + return this.__data__.has(key); +} +var stackHas_default = stackHas; + +// ../node_modules/lodash-es/_stackSet.js +var LARGE_ARRAY_SIZE = 200; +function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache_default) { + var pairs = data.__data__; + if (!Map_default || pairs.length < LARGE_ARRAY_SIZE - 1) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache_default(pairs); + } + data.set(key, value); + this.size = data.size; + return this; +} +var stackSet_default = stackSet; + +// ../node_modules/lodash-es/_Stack.js +function Stack(entries) { + var data = this.__data__ = new ListCache_default(entries); + this.size = data.size; +} +Stack.prototype.clear = stackClear_default; +Stack.prototype["delete"] = stackDelete_default; +Stack.prototype.get = stackGet_default; +Stack.prototype.has = stackHas_default; +Stack.prototype.set = stackSet_default; +var Stack_default = Stack; + +// ../node_modules/lodash-es/_baseAssign.js +function baseAssign(object, source) { + return object && copyObject_default(source, keys_default(source), object); +} +var baseAssign_default = baseAssign; + +// ../node_modules/lodash-es/_baseAssignIn.js +function baseAssignIn(object, source) { + return object && copyObject_default(source, keysIn_default(source), object); +} +var baseAssignIn_default = baseAssignIn; + +// ../node_modules/lodash-es/_cloneBuffer.js +var freeExports3 = typeof exports == "object" && exports && !exports.nodeType && exports; +var freeModule3 = freeExports3 && typeof module == "object" && module && !module.nodeType && module; +var moduleExports3 = freeModule3 && freeModule3.exports === freeExports3; +var Buffer3 = moduleExports3 ? root_default.Buffer : void 0; +var allocUnsafe = Buffer3 ? Buffer3.allocUnsafe : void 0; +function cloneBuffer(buffer, isDeep) { + if (isDeep) { + return buffer.slice(); + } + var length = buffer.length, result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); + buffer.copy(result); + return result; +} +var cloneBuffer_default = cloneBuffer; + +// ../node_modules/lodash-es/_arrayFilter.js +function arrayFilter(array, predicate) { + var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = []; + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; +} +var arrayFilter_default = arrayFilter; + +// ../node_modules/lodash-es/stubArray.js +function stubArray() { + return []; +} +var stubArray_default = stubArray; + +// ../node_modules/lodash-es/_getSymbols.js +var objectProto13 = Object.prototype; +var propertyIsEnumerable2 = objectProto13.propertyIsEnumerable; +var nativeGetSymbols = Object.getOwnPropertySymbols; +var getSymbols = !nativeGetSymbols ? stubArray_default : function(object) { + if (object == null) { + return []; + } + object = Object(object); + return arrayFilter_default(nativeGetSymbols(object), function(symbol) { + return propertyIsEnumerable2.call(object, symbol); + }); +}; +var getSymbols_default = getSymbols; + +// ../node_modules/lodash-es/_copySymbols.js +function copySymbols(source, object) { + return copyObject_default(source, getSymbols_default(source), object); +} +var copySymbols_default = copySymbols; + +// ../node_modules/lodash-es/_getSymbolsIn.js +var nativeGetSymbols2 = Object.getOwnPropertySymbols; +var getSymbolsIn = !nativeGetSymbols2 ? stubArray_default : function(object) { + var result = []; + while (object) { + arrayPush_default(result, getSymbols_default(object)); + object = getPrototype_default(object); + } + return result; +}; +var getSymbolsIn_default = getSymbolsIn; + +// ../node_modules/lodash-es/_copySymbolsIn.js +function copySymbolsIn(source, object) { + return copyObject_default(source, getSymbolsIn_default(source), object); +} +var copySymbolsIn_default = copySymbolsIn; + +// ../node_modules/lodash-es/_baseGetAllKeys.js +function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray_default(object) ? result : arrayPush_default(result, symbolsFunc(object)); +} +var baseGetAllKeys_default = baseGetAllKeys; + +// ../node_modules/lodash-es/_getAllKeys.js +function getAllKeys(object) { + return baseGetAllKeys_default(object, keys_default, getSymbols_default); +} +var getAllKeys_default = getAllKeys; + +// ../node_modules/lodash-es/_getAllKeysIn.js +function getAllKeysIn(object) { + return baseGetAllKeys_default(object, keysIn_default, getSymbolsIn_default); +} +var getAllKeysIn_default = getAllKeysIn; + +// ../node_modules/lodash-es/_DataView.js +var DataView = getNative_default(root_default, "DataView"); +var DataView_default = DataView; + +// ../node_modules/lodash-es/_Promise.js +var Promise2 = getNative_default(root_default, "Promise"); +var Promise_default = Promise2; + +// ../node_modules/lodash-es/_Set.js +var Set2 = getNative_default(root_default, "Set"); +var Set_default = Set2; + +// ../node_modules/lodash-es/_getTag.js +var mapTag2 = "[object Map]"; +var objectTag3 = "[object Object]"; +var promiseTag = "[object Promise]"; +var setTag2 = "[object Set]"; +var weakMapTag2 = "[object WeakMap]"; +var dataViewTag2 = "[object DataView]"; +var dataViewCtorString = toSource_default(DataView_default); +var mapCtorString = toSource_default(Map_default); +var promiseCtorString = toSource_default(Promise_default); +var setCtorString = toSource_default(Set_default); +var weakMapCtorString = toSource_default(WeakMap_default); +var getTag = baseGetTag_default; +if (DataView_default && getTag(new DataView_default(new ArrayBuffer(1))) != dataViewTag2 || Map_default && getTag(new Map_default()) != mapTag2 || Promise_default && getTag(Promise_default.resolve()) != promiseTag || Set_default && getTag(new Set_default()) != setTag2 || WeakMap_default && getTag(new WeakMap_default()) != weakMapTag2) { + getTag = function(value) { + var result = baseGetTag_default(value), Ctor = result == objectTag3 ? value.constructor : void 0, ctorString = Ctor ? toSource_default(Ctor) : ""; + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: + return dataViewTag2; + case mapCtorString: + return mapTag2; + case promiseCtorString: + return promiseTag; + case setCtorString: + return setTag2; + case weakMapCtorString: + return weakMapTag2; + } + } + return result; + }; +} +var getTag_default = getTag; + +// ../node_modules/lodash-es/_initCloneArray.js +var objectProto14 = Object.prototype; +var hasOwnProperty11 = objectProto14.hasOwnProperty; +function initCloneArray(array) { + var length = array.length, result = new array.constructor(length); + if (length && typeof array[0] == "string" && hasOwnProperty11.call(array, "index")) { + result.index = array.index; + result.input = array.input; + } + return result; +} +var initCloneArray_default = initCloneArray; + +// ../node_modules/lodash-es/_Uint8Array.js +var Uint8Array2 = root_default.Uint8Array; +var Uint8Array_default = Uint8Array2; + +// ../node_modules/lodash-es/_cloneArrayBuffer.js +function cloneArrayBuffer(arrayBuffer) { + var result = new arrayBuffer.constructor(arrayBuffer.byteLength); + new Uint8Array_default(result).set(new Uint8Array_default(arrayBuffer)); + return result; +} +var cloneArrayBuffer_default = cloneArrayBuffer; + +// ../node_modules/lodash-es/_cloneDataView.js +function cloneDataView(dataView, isDeep) { + var buffer = isDeep ? cloneArrayBuffer_default(dataView.buffer) : dataView.buffer; + return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); +} +var cloneDataView_default = cloneDataView; + +// ../node_modules/lodash-es/_cloneRegExp.js +var reFlags = /\w*$/; +function cloneRegExp(regexp) { + var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); + result.lastIndex = regexp.lastIndex; + return result; +} +var cloneRegExp_default = cloneRegExp; + +// ../node_modules/lodash-es/_cloneSymbol.js +var symbolProto2 = Symbol_default ? Symbol_default.prototype : void 0; +var symbolValueOf = symbolProto2 ? symbolProto2.valueOf : void 0; +function cloneSymbol(symbol) { + return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; +} +var cloneSymbol_default = cloneSymbol; + +// ../node_modules/lodash-es/_cloneTypedArray.js +function cloneTypedArray(typedArray, isDeep) { + var buffer = isDeep ? cloneArrayBuffer_default(typedArray.buffer) : typedArray.buffer; + return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); +} +var cloneTypedArray_default = cloneTypedArray; + +// ../node_modules/lodash-es/_initCloneByTag.js +var boolTag2 = "[object Boolean]"; +var dateTag2 = "[object Date]"; +var mapTag3 = "[object Map]"; +var numberTag2 = "[object Number]"; +var regexpTag2 = "[object RegExp]"; +var setTag3 = "[object Set]"; +var stringTag2 = "[object String]"; +var symbolTag2 = "[object Symbol]"; +var arrayBufferTag2 = "[object ArrayBuffer]"; +var dataViewTag3 = "[object DataView]"; +var float32Tag2 = "[object Float32Array]"; +var float64Tag2 = "[object Float64Array]"; +var int8Tag2 = "[object Int8Array]"; +var int16Tag2 = "[object Int16Array]"; +var int32Tag2 = "[object Int32Array]"; +var uint8Tag2 = "[object Uint8Array]"; +var uint8ClampedTag2 = "[object Uint8ClampedArray]"; +var uint16Tag2 = "[object Uint16Array]"; +var uint32Tag2 = "[object Uint32Array]"; +function initCloneByTag(object, tag, isDeep) { + var Ctor = object.constructor; + switch (tag) { + case arrayBufferTag2: + return cloneArrayBuffer_default(object); + case boolTag2: + case dateTag2: + return new Ctor(+object); + case dataViewTag3: + return cloneDataView_default(object, isDeep); + case float32Tag2: + case float64Tag2: + case int8Tag2: + case int16Tag2: + case int32Tag2: + case uint8Tag2: + case uint8ClampedTag2: + case uint16Tag2: + case uint32Tag2: + return cloneTypedArray_default(object, isDeep); + case mapTag3: + return new Ctor(); + case numberTag2: + case stringTag2: + return new Ctor(object); + case regexpTag2: + return cloneRegExp_default(object); + case setTag3: + return new Ctor(); + case symbolTag2: + return cloneSymbol_default(object); + } +} +var initCloneByTag_default = initCloneByTag; + +// ../node_modules/lodash-es/_initCloneObject.js +function initCloneObject(object) { + return typeof object.constructor == "function" && !isPrototype_default(object) ? baseCreate_default(getPrototype_default(object)) : {}; +} +var initCloneObject_default = initCloneObject; + +// ../node_modules/lodash-es/_baseIsMap.js +var mapTag4 = "[object Map]"; +function baseIsMap(value) { + return isObjectLike_default(value) && getTag_default(value) == mapTag4; +} +var baseIsMap_default = baseIsMap; + +// ../node_modules/lodash-es/isMap.js +var nodeIsMap = nodeUtil_default && nodeUtil_default.isMap; +var isMap = nodeIsMap ? baseUnary_default(nodeIsMap) : baseIsMap_default; +var isMap_default = isMap; + +// ../node_modules/lodash-es/_baseIsSet.js +var setTag4 = "[object Set]"; +function baseIsSet(value) { + return isObjectLike_default(value) && getTag_default(value) == setTag4; +} +var baseIsSet_default = baseIsSet; + +// ../node_modules/lodash-es/isSet.js +var nodeIsSet = nodeUtil_default && nodeUtil_default.isSet; +var isSet = nodeIsSet ? baseUnary_default(nodeIsSet) : baseIsSet_default; +var isSet_default = isSet; + +// ../node_modules/lodash-es/_baseClone.js +var CLONE_DEEP_FLAG = 1; +var CLONE_FLAT_FLAG = 2; +var CLONE_SYMBOLS_FLAG = 4; +var argsTag3 = "[object Arguments]"; +var arrayTag2 = "[object Array]"; +var boolTag3 = "[object Boolean]"; +var dateTag3 = "[object Date]"; +var errorTag2 = "[object Error]"; +var funcTag3 = "[object Function]"; +var genTag2 = "[object GeneratorFunction]"; +var mapTag5 = "[object Map]"; +var numberTag3 = "[object Number]"; +var objectTag4 = "[object Object]"; +var regexpTag3 = "[object RegExp]"; +var setTag5 = "[object Set]"; +var stringTag3 = "[object String]"; +var symbolTag3 = "[object Symbol]"; +var weakMapTag3 = "[object WeakMap]"; +var arrayBufferTag3 = "[object ArrayBuffer]"; +var dataViewTag4 = "[object DataView]"; +var float32Tag3 = "[object Float32Array]"; +var float64Tag3 = "[object Float64Array]"; +var int8Tag3 = "[object Int8Array]"; +var int16Tag3 = "[object Int16Array]"; +var int32Tag3 = "[object Int32Array]"; +var uint8Tag3 = "[object Uint8Array]"; +var uint8ClampedTag3 = "[object Uint8ClampedArray]"; +var uint16Tag3 = "[object Uint16Array]"; +var uint32Tag3 = "[object Uint32Array]"; +var cloneableTags = {}; +cloneableTags[argsTag3] = cloneableTags[arrayTag2] = cloneableTags[arrayBufferTag3] = cloneableTags[dataViewTag4] = cloneableTags[boolTag3] = cloneableTags[dateTag3] = cloneableTags[float32Tag3] = cloneableTags[float64Tag3] = cloneableTags[int8Tag3] = cloneableTags[int16Tag3] = cloneableTags[int32Tag3] = cloneableTags[mapTag5] = cloneableTags[numberTag3] = cloneableTags[objectTag4] = cloneableTags[regexpTag3] = cloneableTags[setTag5] = cloneableTags[stringTag3] = cloneableTags[symbolTag3] = cloneableTags[uint8Tag3] = cloneableTags[uint8ClampedTag3] = cloneableTags[uint16Tag3] = cloneableTags[uint32Tag3] = true; +cloneableTags[errorTag2] = cloneableTags[funcTag3] = cloneableTags[weakMapTag3] = false; +function baseClone(value, bitmask, customizer, key, object, stack) { + var result, isDeep = bitmask & CLONE_DEEP_FLAG, isFlat = bitmask & CLONE_FLAT_FLAG, isFull = bitmask & CLONE_SYMBOLS_FLAG; + if (customizer) { + result = object ? customizer(value, key, object, stack) : customizer(value); + } + if (result !== void 0) { + return result; + } + if (!isObject_default(value)) { + return value; + } + var isArr = isArray_default(value); + if (isArr) { + result = initCloneArray_default(value); + if (!isDeep) { + return copyArray_default(value, result); + } + } else { + var tag = getTag_default(value), isFunc = tag == funcTag3 || tag == genTag2; + if (isBuffer_default(value)) { + return cloneBuffer_default(value, isDeep); + } + if (tag == objectTag4 || tag == argsTag3 || isFunc && !object) { + result = isFlat || isFunc ? {} : initCloneObject_default(value); + if (!isDeep) { + return isFlat ? copySymbolsIn_default(value, baseAssignIn_default(result, value)) : copySymbols_default(value, baseAssign_default(result, value)); + } + } else { + if (!cloneableTags[tag]) { + return object ? value : {}; + } + result = initCloneByTag_default(value, tag, isDeep); + } + } + stack || (stack = new Stack_default()); + var stacked = stack.get(value); + if (stacked) { + return stacked; + } + stack.set(value, result); + if (isSet_default(value)) { + value.forEach(function(subValue) { + result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); + }); + } else if (isMap_default(value)) { + value.forEach(function(subValue, key2) { + result.set(key2, baseClone(subValue, bitmask, customizer, key2, value, stack)); + }); + } + var keysFunc = isFull ? isFlat ? getAllKeysIn_default : getAllKeys_default : isFlat ? keysIn_default : keys_default; + var props = isArr ? void 0 : keysFunc(value); + arrayEach_default(props || value, function(subValue, key2) { + if (props) { + key2 = subValue; + subValue = value[key2]; + } + assignValue_default(result, key2, baseClone(subValue, bitmask, customizer, key2, value, stack)); + }); + return result; +} +var baseClone_default = baseClone; + +// ../node_modules/lodash-es/cloneDeep.js +var CLONE_DEEP_FLAG2 = 1; +var CLONE_SYMBOLS_FLAG2 = 4; +function cloneDeep(value) { + return baseClone_default(value, CLONE_DEEP_FLAG2 | CLONE_SYMBOLS_FLAG2); +} +var cloneDeep_default = cloneDeep; + +// ../node_modules/lodash-es/_setCacheAdd.js +var HASH_UNDEFINED3 = "__lodash_hash_undefined__"; +function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED3); + return this; +} +var setCacheAdd_default = setCacheAdd; + +// ../node_modules/lodash-es/_setCacheHas.js +function setCacheHas(value) { + return this.__data__.has(value); +} +var setCacheHas_default = setCacheHas; + +// ../node_modules/lodash-es/_SetCache.js +function SetCache(values) { + var index = -1, length = values == null ? 0 : values.length; + this.__data__ = new MapCache_default(); + while (++index < length) { + this.add(values[index]); + } +} +SetCache.prototype.add = SetCache.prototype.push = setCacheAdd_default; +SetCache.prototype.has = setCacheHas_default; +var SetCache_default = SetCache; + +// ../node_modules/lodash-es/_arraySome.js +function arraySome(array, predicate) { + var index = -1, length = array == null ? 0 : array.length; + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; +} +var arraySome_default = arraySome; + +// ../node_modules/lodash-es/_cacheHas.js +function cacheHas(cache2, key) { + return cache2.has(key); +} +var cacheHas_default = cacheHas; + +// ../node_modules/lodash-es/_equalArrays.js +var COMPARE_PARTIAL_FLAG = 1; +var COMPARE_UNORDERED_FLAG = 2; +function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length; + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + var index = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache_default() : void 0; + stack.set(array, other); + stack.set(other, array); + while (++index < arrLength) { + var arrValue = array[index], othValue = other[index]; + if (customizer) { + var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== void 0) { + if (compared) { + continue; + } + result = false; + break; + } + if (seen) { + if (!arraySome_default(other, function(othValue2, othIndex) { + if (!cacheHas_default(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + result = false; + break; + } + } + stack["delete"](array); + stack["delete"](other); + return result; +} +var equalArrays_default = equalArrays; + +// ../node_modules/lodash-es/_mapToArray.js +function mapToArray(map) { + var index = -1, result = Array(map.size); + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; +} +var mapToArray_default = mapToArray; + +// ../node_modules/lodash-es/_setToArray.js +function setToArray(set2) { + var index = -1, result = Array(set2.size); + set2.forEach(function(value) { + result[++index] = value; + }); + return result; +} +var setToArray_default = setToArray; + +// ../node_modules/lodash-es/_equalByTag.js +var COMPARE_PARTIAL_FLAG2 = 1; +var COMPARE_UNORDERED_FLAG2 = 2; +var boolTag4 = "[object Boolean]"; +var dateTag4 = "[object Date]"; +var errorTag3 = "[object Error]"; +var mapTag6 = "[object Map]"; +var numberTag4 = "[object Number]"; +var regexpTag4 = "[object RegExp]"; +var setTag6 = "[object Set]"; +var stringTag4 = "[object String]"; +var symbolTag4 = "[object Symbol]"; +var arrayBufferTag4 = "[object ArrayBuffer]"; +var dataViewTag5 = "[object DataView]"; +var symbolProto3 = Symbol_default ? Symbol_default.prototype : void 0; +var symbolValueOf2 = symbolProto3 ? symbolProto3.valueOf : void 0; +function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag5: + if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) { + return false; + } + object = object.buffer; + other = other.buffer; + case arrayBufferTag4: + if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array_default(object), new Uint8Array_default(other))) { + return false; + } + return true; + case boolTag4: + case dateTag4: + case numberTag4: + return eq_default(+object, +other); + case errorTag3: + return object.name == other.name && object.message == other.message; + case regexpTag4: + case stringTag4: + return object == other + ""; + case mapTag6: + var convert = mapToArray_default; + case setTag6: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG2; + convert || (convert = setToArray_default); + if (object.size != other.size && !isPartial) { + return false; + } + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= COMPARE_UNORDERED_FLAG2; + stack.set(object, other); + var result = equalArrays_default(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack["delete"](object); + return result; + case symbolTag4: + if (symbolValueOf2) { + return symbolValueOf2.call(object) == symbolValueOf2.call(other); + } + } + return false; +} +var equalByTag_default = equalByTag; + +// ../node_modules/lodash-es/_equalObjects.js +var COMPARE_PARTIAL_FLAG3 = 1; +var objectProto15 = Object.prototype; +var hasOwnProperty12 = objectProto15.hasOwnProperty; +function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG3, objProps = getAllKeys_default(object), objLength = objProps.length, othProps = getAllKeys_default(other), othLength = othProps.length; + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty12.call(other, key))) { + return false; + } + } + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], othValue = other[key]; + if (customizer) { + var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack); + } + if (!(compared === void 0 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) { + result = false; + break; + } + skipCtor || (skipCtor = key == "constructor"); + } + if (result && !skipCtor) { + var objCtor = object.constructor, othCtor = other.constructor; + if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) { + result = false; + } + } + stack["delete"](object); + stack["delete"](other); + return result; +} +var equalObjects_default = equalObjects; + +// ../node_modules/lodash-es/_baseIsEqualDeep.js +var COMPARE_PARTIAL_FLAG4 = 1; +var argsTag4 = "[object Arguments]"; +var arrayTag3 = "[object Array]"; +var objectTag5 = "[object Object]"; +var objectProto16 = Object.prototype; +var hasOwnProperty13 = objectProto16.hasOwnProperty; +function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray_default(object), othIsArr = isArray_default(other), objTag = objIsArr ? arrayTag3 : getTag_default(object), othTag = othIsArr ? arrayTag3 : getTag_default(other); + objTag = objTag == argsTag4 ? objectTag5 : objTag; + othTag = othTag == argsTag4 ? objectTag5 : othTag; + var objIsObj = objTag == objectTag5, othIsObj = othTag == objectTag5, isSameTag = objTag == othTag; + if (isSameTag && isBuffer_default(object)) { + if (!isBuffer_default(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new Stack_default()); + return objIsArr || isTypedArray_default(object) ? equalArrays_default(object, other, bitmask, customizer, equalFunc, stack) : equalByTag_default(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & COMPARE_PARTIAL_FLAG4)) { + var objIsWrapped = objIsObj && hasOwnProperty13.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty13.call(other, "__wrapped__"); + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other; + stack || (stack = new Stack_default()); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack_default()); + return equalObjects_default(object, other, bitmask, customizer, equalFunc, stack); +} +var baseIsEqualDeep_default = baseIsEqualDeep; + +// ../node_modules/lodash-es/_baseIsEqual.js +function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || !isObjectLike_default(value) && !isObjectLike_default(other)) { + return value !== value && other !== other; + } + return baseIsEqualDeep_default(value, other, bitmask, customizer, baseIsEqual, stack); +} +var baseIsEqual_default = baseIsEqual; + +// ../node_modules/lodash-es/_baseIsMatch.js +var COMPARE_PARTIAL_FLAG5 = 1; +var COMPARE_UNORDERED_FLAG3 = 2; +function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, length = index, noCustomizer = !customizer; + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], objValue = object[key], srcValue = data[1]; + if (noCustomizer && data[2]) { + if (objValue === void 0 && !(key in object)) { + return false; + } + } else { + var stack = new Stack_default(); + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === void 0 ? baseIsEqual_default(srcValue, objValue, COMPARE_PARTIAL_FLAG5 | COMPARE_UNORDERED_FLAG3, customizer, stack) : result)) { + return false; + } + } + } + return true; +} +var baseIsMatch_default = baseIsMatch; + +// ../node_modules/lodash-es/_isStrictComparable.js +function isStrictComparable(value) { + return value === value && !isObject_default(value); +} +var isStrictComparable_default = isStrictComparable; + +// ../node_modules/lodash-es/_getMatchData.js +function getMatchData(object) { + var result = keys_default(object), length = result.length; + while (length--) { + var key = result[length], value = object[key]; + result[length] = [key, value, isStrictComparable_default(value)]; + } + return result; +} +var getMatchData_default = getMatchData; + +// ../node_modules/lodash-es/_matchesStrictComparable.js +function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && (srcValue !== void 0 || key in Object(object)); + }; +} +var matchesStrictComparable_default = matchesStrictComparable; + +// ../node_modules/lodash-es/_baseMatches.js +function baseMatches(source) { + var matchData = getMatchData_default(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable_default(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch_default(object, source, matchData); + }; +} +var baseMatches_default = baseMatches; + +// ../node_modules/lodash-es/_baseHasIn.js +function baseHasIn(object, key) { + return object != null && key in Object(object); +} +var baseHasIn_default = baseHasIn; + +// ../node_modules/lodash-es/_hasPath.js +function hasPath(object, path, hasFunc) { + path = castPath_default(path, object); + var index = -1, length = path.length, result = false; + while (++index < length) { + var key = toKey_default(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result || ++index != length) { + return result; + } + length = object == null ? 0 : object.length; + return !!length && isLength_default(length) && isIndex_default(key, length) && (isArray_default(object) || isArguments_default(object)); +} +var hasPath_default = hasPath; + +// ../node_modules/lodash-es/hasIn.js +function hasIn(object, path) { + return object != null && hasPath_default(object, path, baseHasIn_default); +} +var hasIn_default = hasIn; + +// ../node_modules/lodash-es/_baseMatchesProperty.js +var COMPARE_PARTIAL_FLAG6 = 1; +var COMPARE_UNORDERED_FLAG4 = 2; +function baseMatchesProperty(path, srcValue) { + if (isKey_default(path) && isStrictComparable_default(srcValue)) { + return matchesStrictComparable_default(toKey_default(path), srcValue); + } + return function(object) { + var objValue = get_default(object, path); + return objValue === void 0 && objValue === srcValue ? hasIn_default(object, path) : baseIsEqual_default(srcValue, objValue, COMPARE_PARTIAL_FLAG6 | COMPARE_UNORDERED_FLAG4); + }; +} +var baseMatchesProperty_default = baseMatchesProperty; + +// ../node_modules/lodash-es/_baseProperty.js +function baseProperty(key) { + return function(object) { + return object == null ? void 0 : object[key]; + }; +} +var baseProperty_default = baseProperty; + +// ../node_modules/lodash-es/_basePropertyDeep.js +function basePropertyDeep(path) { + return function(object) { + return baseGet_default(object, path); + }; +} +var basePropertyDeep_default = basePropertyDeep; + +// ../node_modules/lodash-es/property.js +function property(path) { + return isKey_default(path) ? baseProperty_default(toKey_default(path)) : basePropertyDeep_default(path); +} +var property_default = property; + +// ../node_modules/lodash-es/_baseIteratee.js +function baseIteratee(value) { + if (typeof value == "function") { + return value; + } + if (value == null) { + return identity_default; + } + if (typeof value == "object") { + return isArray_default(value) ? baseMatchesProperty_default(value[0], value[1]) : baseMatches_default(value); + } + return property_default(value); +} +var baseIteratee_default = baseIteratee; + +// ../node_modules/lodash-es/_createBaseFor.js +function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length; + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; +} +var createBaseFor_default = createBaseFor; + +// ../node_modules/lodash-es/_baseFor.js +var baseFor = createBaseFor_default(); +var baseFor_default = baseFor; + +// ../node_modules/lodash-es/_baseForOwn.js +function baseForOwn(object, iteratee) { + return object && baseFor_default(object, iteratee, keys_default); +} +var baseForOwn_default = baseForOwn; + +// ../node_modules/lodash-es/now.js +var now = function() { + return root_default.Date.now(); +}; +var now_default = now; + +// ../node_modules/lodash-es/debounce.js +var FUNC_ERROR_TEXT2 = "Expected a function"; +var nativeMax = Math.max; +var nativeMin = Math.min; +function debounce(func, wait, options) { + var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true; + if (typeof func != "function") { + throw new TypeError(FUNC_ERROR_TEXT2); + } + wait = toNumber_default(wait) || 0; + if (isObject_default(options)) { + leading = !!options.leading; + maxing = "maxWait" in options; + maxWait = maxing ? nativeMax(toNumber_default(options.maxWait) || 0, wait) : maxWait; + trailing = "trailing" in options ? !!options.trailing : trailing; + } + function invokeFunc(time) { + var args = lastArgs, thisArg = lastThis; + lastArgs = lastThis = void 0; + lastInvokeTime = time; + result = func.apply(thisArg, args); + return result; + } + function leadingEdge(time) { + lastInvokeTime = time; + timerId = setTimeout(timerExpired, wait); + return leading ? invokeFunc(time) : result; + } + function remainingWait(time) { + var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, timeWaiting = wait - timeSinceLastCall; + return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting; + } + function shouldInvoke(time) { + var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime; + return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait; + } + function timerExpired() { + var time = now_default(); + if (shouldInvoke(time)) { + return trailingEdge(time); + } + timerId = setTimeout(timerExpired, remainingWait(time)); + } + function trailingEdge(time) { + timerId = void 0; + if (trailing && lastArgs) { + return invokeFunc(time); + } + lastArgs = lastThis = void 0; + return result; + } + function cancel() { + if (timerId !== void 0) { + clearTimeout(timerId); + } + lastInvokeTime = 0; + lastArgs = lastCallTime = lastThis = timerId = void 0; + } + function flush() { + return timerId === void 0 ? result : trailingEdge(now_default()); + } + function debounced() { + var time = now_default(), isInvoking = shouldInvoke(time); + lastArgs = arguments; + lastThis = this; + lastCallTime = time; + if (isInvoking) { + if (timerId === void 0) { + return leadingEdge(lastCallTime); + } + if (maxing) { + clearTimeout(timerId); + timerId = setTimeout(timerExpired, wait); + return invokeFunc(lastCallTime); + } + } + if (timerId === void 0) { + timerId = setTimeout(timerExpired, wait); + } + return result; + } + debounced.cancel = cancel; + debounced.flush = flush; + return debounced; +} +var debounce_default = debounce; + +// ../node_modules/lodash-es/last.js +function last(array) { + var length = array == null ? 0 : array.length; + return length ? array[length - 1] : void 0; +} +var last_default = last; + +// ../node_modules/lodash-es/_parent.js +function parent(object, path) { + return path.length < 2 ? object : baseGet_default(object, baseSlice_default(path, 0, -1)); +} +var parent_default = parent; + +// ../node_modules/lodash-es/isInteger.js +function isInteger(value) { + return typeof value == "number" && value == toInteger_default(value); +} +var isInteger_default = isInteger; + +// ../node_modules/lodash-es/mapValues.js +function mapValues(object, iteratee) { + var result = {}; + iteratee = baseIteratee_default(iteratee, 3); + baseForOwn_default(object, function(value, key, object2) { + baseAssignValue_default(result, key, iteratee(value, key, object2)); + }); + return result; +} +var mapValues_default = mapValues; + +// ../node_modules/lodash-es/_baseUnset.js +function baseUnset(object, path) { + path = castPath_default(path, object); + object = parent_default(object, path); + return object == null || delete object[toKey_default(last_default(path))]; +} +var baseUnset_default = baseUnset; + +// ../node_modules/lodash-es/_baseRepeat.js +var MAX_SAFE_INTEGER3 = 9007199254740991; +var nativeFloor = Math.floor; +function baseRepeat(string2, n2) { + var result = ""; + if (!string2 || n2 < 1 || n2 > MAX_SAFE_INTEGER3) { + return result; + } + do { + if (n2 % 2) { + result += string2; + } + n2 = nativeFloor(n2 / 2); + if (n2) { + string2 += string2; + } + } while (n2); + return result; +} +var baseRepeat_default = baseRepeat; + +// ../node_modules/lodash-es/_asciiSize.js +var asciiSize = baseProperty_default("length"); +var asciiSize_default = asciiSize; + +// ../node_modules/lodash-es/_unicodeSize.js +var rsAstralRange3 = "\\ud800-\\udfff"; +var rsComboMarksRange3 = "\\u0300-\\u036f"; +var reComboHalfMarksRange3 = "\\ufe20-\\ufe2f"; +var rsComboSymbolsRange3 = "\\u20d0-\\u20ff"; +var rsComboRange3 = rsComboMarksRange3 + reComboHalfMarksRange3 + rsComboSymbolsRange3; +var rsVarRange3 = "\\ufe0e\\ufe0f"; +var rsAstral2 = "[" + rsAstralRange3 + "]"; +var rsCombo2 = "[" + rsComboRange3 + "]"; +var rsFitz2 = "\\ud83c[\\udffb-\\udfff]"; +var rsModifier2 = "(?:" + rsCombo2 + "|" + rsFitz2 + ")"; +var rsNonAstral2 = "[^" + rsAstralRange3 + "]"; +var rsRegional2 = "(?:\\ud83c[\\udde6-\\uddff]){2}"; +var rsSurrPair2 = "[\\ud800-\\udbff][\\udc00-\\udfff]"; +var rsZWJ3 = "\\u200d"; +var reOptMod2 = rsModifier2 + "?"; +var rsOptVar2 = "[" + rsVarRange3 + "]?"; +var rsOptJoin2 = "(?:" + rsZWJ3 + "(?:" + [rsNonAstral2, rsRegional2, rsSurrPair2].join("|") + ")" + rsOptVar2 + reOptMod2 + ")*"; +var rsSeq2 = rsOptVar2 + reOptMod2 + rsOptJoin2; +var rsSymbol2 = "(?:" + [rsNonAstral2 + rsCombo2 + "?", rsCombo2, rsRegional2, rsSurrPair2, rsAstral2].join("|") + ")"; +var reUnicode2 = RegExp(rsFitz2 + "(?=" + rsFitz2 + ")|" + rsSymbol2 + rsSeq2, "g"); +function unicodeSize(string2) { + var result = reUnicode2.lastIndex = 0; + while (reUnicode2.test(string2)) { + ++result; + } + return result; +} +var unicodeSize_default = unicodeSize; + +// ../node_modules/lodash-es/_stringSize.js +function stringSize(string2) { + return hasUnicode_default(string2) ? unicodeSize_default(string2) : asciiSize_default(string2); +} +var stringSize_default = stringSize; + +// ../node_modules/lodash-es/_createPadding.js +var nativeCeil = Math.ceil; +function createPadding(length, chars) { + chars = chars === void 0 ? " " : baseToString_default(chars); + var charsLength = chars.length; + if (charsLength < 2) { + return charsLength ? baseRepeat_default(chars, length) : chars; + } + var result = baseRepeat_default(chars, nativeCeil(length / stringSize_default(chars))); + return hasUnicode_default(chars) ? castSlice_default(stringToArray_default(result), 0, length).join("") : result.slice(0, length); +} +var createPadding_default = createPadding; + +// ../node_modules/lodash-es/padStart.js +function padStart(string2, length, chars) { + string2 = toString_default(string2); + length = toInteger_default(length); + var strLength = length ? stringSize_default(string2) : 0; + return length && strLength < length ? createPadding_default(length - strLength, chars) + string2 : string2; +} +var padStart_default = padStart; + +// ../node_modules/lodash-es/unset.js +function unset(object, path) { + return object == null ? true : baseUnset_default(object, path); +} +var unset_default = unset; + +// core/src/sheetObjects/TheatreSheetObject.ts +var KEEP_HOT_FOR_MS = 5 * 1e3; +var TheatreSheetObject = class { + /** + * @internal + */ + constructor(internals) { + __publicField(this, "_cache", new SimpleCache()); + /** @internal See https://linear.app/theatre/issue/P-217/if-objvalue-is-read-make-sure-its-derivation-remains-hot-for-a-while */ + __publicField(this, "_keepHotUntapDebounce"); + setPrivateAPI(this, internals); + } + get type() { + return "Theatre_SheetObject_PublicAPI"; + } + get props() { + return privateAPI(this).propsP; + } + get sheet() { + return privateAPI(this).sheet.publicApi; + } + get project() { + return privateAPI(this).sheet.project.publicApi; + } + get address() { + return __spreadValues({}, privateAPI(this).address); + } + _valuesPrism() { + return this._cache.get("_valuesPrism", () => { + const sheetObject = privateAPI(this); + const d2 = (0, import_dataverse4.prism)(() => { + return (0, import_dataverse4.val)(sheetObject.getValues().getValue()); + }); + return d2; + }); + } + onValuesChange(fn2, rafDriver) { + return onChange(this._valuesPrism(), fn2, rafDriver); + } + // internal: Make the deviration keepHot if directly read + get value() { + const der = this._valuesPrism(); + if (KEEP_HOT_FOR_MS != null) { + if (!der.isHot) { + if (this._keepHotUntapDebounce != null) { + if (process.env.NODE_ENV === "development") { + privateAPI(this)._logger.errorDev( + "`sheet.value` keepHot debouncer is set, even though the derivation is not actually hot." + ); + } + this._keepHotUntapDebounce.flush(); + } + const untap = der.keepHot(); + this._keepHotUntapDebounce = debounce_default(() => { + untap(); + this._keepHotUntapDebounce = void 0; + }, KEEP_HOT_FOR_MS); + } + if (this._keepHotUntapDebounce) { + this._keepHotUntapDebounce(); + } + } + return der.getValue(); + } + set initialValue(val8) { + privateAPI(this).setInitialValue(val8); + } +}; + +// shared/src/utils/memoizeFn.ts +function memoizeFn(producer) { + const cache2 = /* @__PURE__ */ new WeakMap(); + return (k2) => { + if (!cache2.has(k2)) { + cache2.set(k2, producer(k2)); + } + return cache2.get(k2); + }; +} + +// shared/src/propTypes/utils.ts +function isPropConfigComposite(c2) { + return c2.type === "compound" || c2.type === "enum"; +} +function getPropConfigByPath(parentConf, path) { + if (!parentConf) + return void 0; + const [key, ...rest] = path; + if (key === void 0) + return parentConf; + if (!isPropConfigComposite(parentConf)) + return void 0; + const sub = parentConf.type === "enum" ? parentConf.cases[key] : parentConf.props[key]; + return getPropConfigByPath(sub, rest); +} +function isPropConfSequencable(conf) { + return !isPropConfigComposite(conf); +} +var compoundHasSimpleDescendants = memoizeFn( + (conf) => { + if (conf.type === "enum") { + throw new Error("Not implemented yet for enums"); + } + for (const key in conf.props) { + const subConf = conf.props[key]; + if (isPropConfigComposite(subConf)) { + if (compoundHasSimpleDescendants(subConf)) { + return true; + } + } else { + return true; + } + } + return false; + } +); + +// core/src/sheetObjects/SheetObject.ts +var SheetObject = class { + constructor(sheet, template, nativeObject) { + this.sheet = sheet; + this.template = template; + this.nativeObject = nativeObject; + __publicField(this, "$$isPointerToPrismProvider", true); + __publicField(this, "address"); + __publicField(this, "publicApi"); + __publicField(this, "_initialValue", new import_dataverse5.Atom({})); + __publicField(this, "_cache", new SimpleCache()); + __publicField(this, "_logger"); + __publicField(this, "_internalUtilCtx"); + this._logger = sheet._logger.named( + "SheetObject", + template.address.objectKey + ); + this._logger._trace("creating object"); + this._internalUtilCtx = { logger: this._logger.utilFor.internal() }; + this.address = __spreadProps(__spreadValues({}, template.address), { + sheetInstanceId: sheet.address.sheetInstanceId + }); + this.publicApi = new TheatreSheetObject(this); + } + get type() { + return "Theatre_SheetObject"; + } + getValues() { + return this._cache.get( + "getValues()", + () => (0, import_dataverse5.prism)(() => { + const defaults = (0, import_dataverse5.val)(this.template.getDefaultValues()); + const initial = (0, import_dataverse5.val)(this._initialValue.pointer); + const withInitialCache = import_dataverse5.prism.memo( + "withInitialCache", + () => /* @__PURE__ */ new WeakMap(), + [] + ); + const withInitial = deepMergeWithCache( + defaults, + initial, + withInitialCache + ); + const statics = (0, import_dataverse5.val)(this.template.getStaticValues()); + const withStaticsCache = import_dataverse5.prism.memo( + "withStatics", + () => /* @__PURE__ */ new WeakMap(), + [] + ); + const withStatics = deepMergeWithCache( + withInitial, + statics, + withStaticsCache + ); + let final = withStatics; + let sequenced; + { + const pointerToSequencedValuesD = import_dataverse5.prism.memo( + "seq", + () => this.getSequencedValues(), + [] + ); + const withSeqsCache = import_dataverse5.prism.memo( + "withSeqsCache", + () => /* @__PURE__ */ new WeakMap(), + [] + ); + sequenced = (0, import_dataverse5.val)((0, import_dataverse5.val)(pointerToSequencedValuesD)); + const withSeqs = deepMergeWithCache(final, sequenced, withSeqsCache); + final = withSeqs; + } + const a2 = valToAtom("finalAtom", final); + return a2.pointer; + }) + ); + } + getValueByPointer(pointer3) { + const allValuesP = (0, import_dataverse5.val)(this.getValues()); + const { path } = (0, import_dataverse5.getPointerParts)(pointer3); + return (0, import_dataverse5.val)( + pointerDeep(allValuesP, path) + ); + } + pointerToPrism(pointer3) { + const { path } = (0, import_dataverse5.getPointerParts)(pointer3); + return (0, import_dataverse5.prism)(() => { + const allValuesP = (0, import_dataverse5.val)(this.getValues()); + return (0, import_dataverse5.val)(pointerDeep(allValuesP, path)); + }); + } + /** + * Returns values of props that are sequenced. + */ + getSequencedValues() { + return (0, import_dataverse5.prism)(() => { + const tracksToProcessD = import_dataverse5.prism.memo( + "tracksToProcess", + () => this.template.getArrayOfValidSequenceTracks(), + [] + ); + const tracksToProcess = (0, import_dataverse5.val)(tracksToProcessD); + const valsAtom = new import_dataverse5.Atom({}); + const config = (0, import_dataverse5.val)(this.template.configPointer); + import_dataverse5.prism.effect( + "processTracks", + () => { + const untaps = []; + for (const { trackId, pathToProp } of tracksToProcess) { + const pr = this._trackIdToPrism(trackId); + const propConfig = getPropConfigByPath( + config, + pathToProp + ); + const deserializeAndSanitize = propConfig.deserializeAndSanitize; + const interpolate = propConfig.interpolate; + const updateSequenceValueFromItsPrism = () => { + const triple = pr.getValue(); + if (!triple) + return valsAtom.setByPointer( + (p2) => pointerDeep(p2, pathToProp), + void 0 + ); + const leftDeserialized = deserializeAndSanitize(triple.left); + const left = leftDeserialized === void 0 ? propConfig.default : leftDeserialized; + if (triple.right === void 0) + return valsAtom.setByPointer( + (p2) => pointerDeep(p2, pathToProp), + left + ); + const rightDeserialized = deserializeAndSanitize(triple.right); + const right = rightDeserialized === void 0 ? propConfig.default : rightDeserialized; + return valsAtom.setByPointer( + (p2) => pointerDeep(p2, pathToProp), + interpolate(left, right, triple.progression) + ); + }; + const untap = pr.onStale(updateSequenceValueFromItsPrism); + updateSequenceValueFromItsPrism(); + untaps.push(untap); + } + return () => { + for (const untap of untaps) { + untap(); + } + }; + }, + [config, ...tracksToProcess] + ); + return valsAtom.pointer; + }); + } + _trackIdToPrism(trackId) { + const trackP = this.template.project.pointers.historic.sheetsById[this.address.sheetId].sequence.tracksByObject[this.address.objectKey].trackData[trackId]; + const timeD = this.sheet.getSequence().positionPrism; + return interpolationTripleAtPosition(this._internalUtilCtx, trackP, timeD); + } + get propsP() { + return this._cache.get( + "propsP", + () => (0, import_dataverse5.pointer)({ root: this, path: [] }) + ); + } + validateValue(pointer3, value) { + } + setInitialValue(val8) { + this.validateValue(this.propsP, val8); + this._initialValue.set(val8); + } +}; + +// shared/src/_logger/logger.ts +function lazy(f2) { + return function lazyLogIncluded(m, lazyArg) { + return f2(m, lazyArg()); + }; +} +var LEVELS = { + _hmm: getLogMeta(524 /* _HMM */), + _todo: getLogMeta(522 /* _TODO */), + _error: getLogMeta(521 /* _ERROR */), + errorDev: getLogMeta(529 /* ERROR_DEV */), + errorPublic: getLogMeta(545 /* ERROR_PUBLIC */), + _kapow: getLogMeta(268 /* _KAPOW */), + _warn: getLogMeta(265 /* _WARN */), + warnDev: getLogMeta(273 /* WARN_DEV */), + warnPublic: getLogMeta(289 /* WARN_PUBLIC */), + _debug: getLogMeta(137 /* _DEBUG */), + debugDev: getLogMeta(145 /* DEBUG_DEV */), + _trace: getLogMeta(73 /* _TRACE */), + traceDev: getLogMeta(81 /* TRACE_DEV */) +}; +function getLogMeta(level) { + return Object.freeze({ + audience: hasFlag(level, 8 /* INTERNAL */) ? "internal" : hasFlag(level, 16 /* DEV */) ? "dev" : "public", + category: hasFlag(level, 4 /* TROUBLESHOOTING */) ? "troubleshooting" : hasFlag(level, 2 /* TODO */) ? "todo" : "general", + level: ( + // I think this is equivalent... but I'm not using it until we have tests. + // this code won't really impact performance much anyway, since it's just computed once + // up front. + // level & + // (TheatreLoggerLevel.TRACE | + // TheatreLoggerLevel.DEBUG | + // TheatreLoggerLevel.WARN | + // TheatreLoggerLevel.ERROR), + hasFlag(level, 512 /* ERROR */) ? 512 /* ERROR */ : hasFlag(level, 256 /* WARN */) ? 256 /* WARN */ : hasFlag(level, 128 /* DEBUG */) ? 128 /* DEBUG */ : ( + // no other option + 64 /* TRACE */ + ) + ) + }); +} +function hasFlag(level, flag) { + return (level & flag) === flag; +} +function shouldLog(includes, level) { + return ((level & 32 /* PUBLIC */) === 32 /* PUBLIC */ ? true : (level & 16 /* DEV */) === 16 /* DEV */ ? includes.dev : (level & 8 /* INTERNAL */) === 8 /* INTERNAL */ ? includes.internal : false) && includes.min <= level; +} +var DEFAULTS = { + loggingConsoleStyle: true, + loggerConsoleStyle: true, + includes: Object.freeze({ + internal: false, + dev: false, + min: 256 /* WARN */ + }), + filtered: function defaultFiltered() { + }, + include: function defaultInclude() { + return {}; + }, + create: null, + creatExt: null, + named(parent2, name, key) { + return this.create({ + names: [...parent2.names, { name, key }] + }); + }, + style: { + bold: void 0, + // /Service$/ + italic: void 0, + // /Model$/ + cssMemo: /* @__PURE__ */ new Map([ + // handle empty names so we don't have to check for + // name.length > 0 during this.css('') + ["", ""] + // bring a specific override + // ["Marker", "color:#aea9ff;font-size:0.75em;text-transform:uppercase"] + ]), + collapseOnRE: /[a-z- ]+/g, + color: void 0, + // create collapsed name + // insert collapsed name into cssMemo with original's style + collapsed(name) { + if (name.length < 5) + return name; + const collapsed = name.replace(this.collapseOnRE, ""); + if (!this.cssMemo.has(collapsed)) { + this.cssMemo.set(collapsed, this.css(name)); + } + return collapsed; + }, + css(name) { + var _a, _b, _c, _d; + const found = this.cssMemo.get(name); + if (found) + return found; + let css = "color:".concat((_b = (_a = this.color) == null ? void 0 : _a.call(this, name)) != null ? _b : "hsl(".concat((name.charCodeAt(0) + name.charCodeAt(name.length - 1)) % 360, ", 100%, 60%)")); + if ((_c = this.bold) == null ? void 0 : _c.test(name)) { + css += ";font-weight:600"; + } + if ((_d = this.italic) == null ? void 0 : _d.test(name)) { + css += ";font-style:italic"; + } + this.cssMemo.set(name, css); + return css; + } + } +}; +function createTheatreInternalLogger(useConsole = console, _options = {}) { + const ref = __spreadProps(__spreadValues({}, DEFAULTS), { includes: __spreadValues({}, DEFAULTS.includes) }); + const createConsole = { + styled: createConsoleLoggerStyled.bind(ref, useConsole), + noStyle: createConsoleLoggerNoStyle.bind(ref, useConsole) + }; + const createExtBound = createExtLogger.bind(ref); + function getConCreate() { + return ref.loggingConsoleStyle && ref.loggerConsoleStyle ? createConsole.styled : createConsole.noStyle; + } + ref.create = getConCreate(); + return { + configureLogger(config) { + var _a; + if (config === "console") { + ref.loggerConsoleStyle = DEFAULTS.loggerConsoleStyle; + ref.create = getConCreate(); + } else if (config.type === "console") { + ref.loggerConsoleStyle = (_a = config.style) != null ? _a : DEFAULTS.loggerConsoleStyle; + ref.create = getConCreate(); + } else if (config.type === "keyed") { + ref.creatExt = (source) => config.keyed(source.names); + ref.create = createExtBound; + } else if (config.type === "named") { + ref.creatExt = configNamedToKeyed.bind(null, config.named); + ref.create = createExtBound; + } + }, + configureLogging(config) { + var _a, _b, _c, _d, _e; + ref.includes.dev = (_a = config.dev) != null ? _a : DEFAULTS.includes.dev; + ref.includes.internal = (_b = config.internal) != null ? _b : DEFAULTS.includes.internal; + ref.includes.min = (_c = config.min) != null ? _c : DEFAULTS.includes.min; + ref.include = (_d = config.include) != null ? _d : DEFAULTS.include; + ref.loggingConsoleStyle = (_e = config.consoleStyle) != null ? _e : DEFAULTS.loggingConsoleStyle; + ref.create = getConCreate(); + }, + getLogger() { + return ref.create({ names: [] }); + } + }; +} +function configNamedToKeyed(namedFn, source) { + const names = []; + for (let { name, key } of source.names) { + names.push(key == null ? name : "".concat(name, " (").concat(key, ")")); + } + return namedFn(names); +} +function createExtLogger(source) { + const includes = __spreadValues(__spreadValues({}, this.includes), this.include(source)); + const f2 = this.filtered; + const named = this.named.bind(this, source); + const ext = this.creatExt(source); + const _HMM = shouldLog(includes, 524 /* _HMM */); + const _TODO = shouldLog(includes, 522 /* _TODO */); + const _ERROR = shouldLog(includes, 521 /* _ERROR */); + const ERROR_DEV = shouldLog(includes, 529 /* ERROR_DEV */); + const ERROR_PUBLIC = shouldLog(includes, 545 /* ERROR_PUBLIC */); + const _WARN = shouldLog(includes, 265 /* _WARN */); + const _KAPOW = shouldLog(includes, 268 /* _KAPOW */); + const WARN_DEV = shouldLog(includes, 273 /* WARN_DEV */); + const WARN_PUBLIC = shouldLog(includes, 289 /* WARN_PUBLIC */); + const _DEBUG = shouldLog(includes, 137 /* _DEBUG */); + const DEBUG_DEV = shouldLog(includes, 145 /* DEBUG_DEV */); + const _TRACE = shouldLog(includes, 73 /* _TRACE */); + const TRACE_DEV = shouldLog(includes, 81 /* TRACE_DEV */); + const _hmm = _HMM ? ext.error.bind(ext, LEVELS._hmm) : f2.bind(source, 524 /* _HMM */); + const _todo = _TODO ? ext.error.bind(ext, LEVELS._todo) : f2.bind(source, 522 /* _TODO */); + const _error = _ERROR ? ext.error.bind(ext, LEVELS._error) : f2.bind(source, 521 /* _ERROR */); + const errorDev = ERROR_DEV ? ext.error.bind(ext, LEVELS.errorDev) : f2.bind(source, 529 /* ERROR_DEV */); + const errorPublic = ERROR_PUBLIC ? ext.error.bind(ext, LEVELS.errorPublic) : f2.bind(source, 545 /* ERROR_PUBLIC */); + const _kapow = _KAPOW ? ext.warn.bind(ext, LEVELS._kapow) : f2.bind(source, 268 /* _KAPOW */); + const _warn = _WARN ? ext.warn.bind(ext, LEVELS._warn) : f2.bind(source, 265 /* _WARN */); + const warnDev = WARN_DEV ? ext.warn.bind(ext, LEVELS.warnDev) : f2.bind(source, 273 /* WARN_DEV */); + const warnPublic = WARN_PUBLIC ? ext.warn.bind(ext, LEVELS.warnPublic) : f2.bind(source, 273 /* WARN_DEV */); + const _debug = _DEBUG ? ext.debug.bind(ext, LEVELS._debug) : f2.bind(source, 137 /* _DEBUG */); + const debugDev = DEBUG_DEV ? ext.debug.bind(ext, LEVELS.debugDev) : f2.bind(source, 145 /* DEBUG_DEV */); + const _trace = _TRACE ? ext.trace.bind(ext, LEVELS._trace) : f2.bind(source, 73 /* _TRACE */); + const traceDev = TRACE_DEV ? ext.trace.bind(ext, LEVELS.traceDev) : f2.bind(source, 81 /* TRACE_DEV */); + const logger = { + _hmm, + _todo, + _error, + errorDev, + errorPublic, + _kapow, + _warn, + warnDev, + warnPublic, + _debug, + debugDev, + _trace, + traceDev, + lazy: { + _hmm: _HMM ? lazy(_hmm) : _hmm, + _todo: _TODO ? lazy(_todo) : _todo, + _error: _ERROR ? lazy(_error) : _error, + errorDev: ERROR_DEV ? lazy(errorDev) : errorDev, + errorPublic: ERROR_PUBLIC ? lazy(errorPublic) : errorPublic, + _kapow: _KAPOW ? lazy(_kapow) : _kapow, + _warn: _WARN ? lazy(_warn) : _warn, + warnDev: WARN_DEV ? lazy(warnDev) : warnDev, + warnPublic: WARN_PUBLIC ? lazy(warnPublic) : warnPublic, + _debug: _DEBUG ? lazy(_debug) : _debug, + debugDev: DEBUG_DEV ? lazy(debugDev) : debugDev, + _trace: _TRACE ? lazy(_trace) : _trace, + traceDev: TRACE_DEV ? lazy(traceDev) : traceDev + }, + // + named, + utilFor: { + internal() { + return { + debug: logger._debug, + error: logger._error, + warn: logger._warn, + trace: logger._trace, + named(name, key) { + return logger.named(name, key).utilFor.internal(); + } + }; + }, + dev() { + return { + debug: logger.debugDev, + error: logger.errorDev, + warn: logger.warnDev, + trace: logger.traceDev, + named(name, key) { + return logger.named(name, key).utilFor.dev(); + } + }; + }, + public() { + return { + error: logger.errorPublic, + warn: logger.warnPublic, + debug(message, obj) { + logger._warn('(public "debug" filtered out) '.concat(message), obj); + }, + trace(message, obj) { + logger._warn('(public "trace" filtered out) '.concat(message), obj); + }, + named(name, key) { + return logger.named(name, key).utilFor.public(); + } + }; + } + } + }; + return logger; +} +function createConsoleLoggerStyled(con, source) { + const includes = __spreadValues(__spreadValues({}, this.includes), this.include(source)); + const styleArgs = []; + let prefix = ""; + for (let i2 = 0; i2 < source.names.length; i2++) { + const { name, key } = source.names[i2]; + prefix += " %c".concat(name); + styleArgs.push(this.style.css(name)); + if (key != null) { + const keyStr = "%c#".concat(key); + prefix += keyStr; + styleArgs.push(this.style.css(keyStr)); + } + } + const f2 = this.filtered; + const named = this.named.bind(this, source); + const prefixArr = [prefix, ...styleArgs]; + return _createConsoleLogger( + f2, + source, + includes, + con, + prefixArr, + styledKapowPrefix(prefixArr), + named + ); +} +function styledKapowPrefix(args) { + const start = args.slice(0); + for (let i2 = 1; i2 < start.length; i2++) + start[i2] += ";background-color:#e0005a;padding:2px;color:white"; + return start; +} +function createConsoleLoggerNoStyle(con, source) { + const includes = __spreadValues(__spreadValues({}, this.includes), this.include(source)); + let prefix = ""; + for (let i2 = 0; i2 < source.names.length; i2++) { + const { name, key } = source.names[i2]; + prefix += " ".concat(name); + if (key != null) { + prefix += "#".concat(key); + } + } + const f2 = this.filtered; + const named = this.named.bind(this, source); + const prefixArr = [prefix]; + return _createConsoleLogger( + f2, + source, + includes, + con, + prefixArr, + prefixArr, + named + ); +} +function _createConsoleLogger(f2, source, includes, con, prefix, kapowPrefix, named) { + const _HMM = shouldLog(includes, 524 /* _HMM */); + const _TODO = shouldLog(includes, 522 /* _TODO */); + const _ERROR = shouldLog(includes, 521 /* _ERROR */); + const ERROR_DEV = shouldLog(includes, 529 /* ERROR_DEV */); + const ERROR_PUBLIC = shouldLog(includes, 545 /* ERROR_PUBLIC */); + const _WARN = shouldLog(includes, 265 /* _WARN */); + const _KAPOW = shouldLog(includes, 268 /* _KAPOW */); + const WARN_DEV = shouldLog(includes, 273 /* WARN_DEV */); + const WARN_PUBLIC = shouldLog(includes, 289 /* WARN_PUBLIC */); + const _DEBUG = shouldLog(includes, 137 /* _DEBUG */); + const DEBUG_DEV = shouldLog(includes, 145 /* DEBUG_DEV */); + const _TRACE = shouldLog(includes, 73 /* _TRACE */); + const TRACE_DEV = shouldLog(includes, 81 /* TRACE_DEV */); + const _hmm = _HMM ? con.error.bind(con, ...prefix) : f2.bind(source, 524 /* _HMM */); + const _todo = _TODO ? con.error.bind(con, ...prefix) : f2.bind(source, 522 /* _TODO */); + const _error = _ERROR ? con.error.bind(con, ...prefix) : f2.bind(source, 521 /* _ERROR */); + const errorDev = ERROR_DEV ? con.error.bind(con, ...prefix) : f2.bind(source, 529 /* ERROR_DEV */); + const errorPublic = ERROR_PUBLIC ? con.error.bind(con, ...prefix) : f2.bind(source, 545 /* ERROR_PUBLIC */); + const _kapow = _KAPOW ? con.warn.bind(con, ...kapowPrefix) : f2.bind(source, 268 /* _KAPOW */); + const _warn = _WARN ? con.warn.bind(con, ...prefix) : f2.bind(source, 265 /* _WARN */); + const warnDev = WARN_DEV ? con.warn.bind(con, ...prefix) : f2.bind(source, 273 /* WARN_DEV */); + const warnPublic = WARN_PUBLIC ? con.warn.bind(con, ...prefix) : f2.bind(source, 273 /* WARN_DEV */); + const _debug = _DEBUG ? con.info.bind(con, ...prefix) : f2.bind(source, 137 /* _DEBUG */); + const debugDev = DEBUG_DEV ? con.info.bind(con, ...prefix) : f2.bind(source, 145 /* DEBUG_DEV */); + const _trace = _TRACE ? con.debug.bind(con, ...prefix) : f2.bind(source, 73 /* _TRACE */); + const traceDev = TRACE_DEV ? con.debug.bind(con, ...prefix) : f2.bind(source, 81 /* TRACE_DEV */); + const logger = { + _hmm, + _todo, + _error, + errorDev, + errorPublic, + _kapow, + _warn, + warnDev, + warnPublic, + _debug, + debugDev, + _trace, + traceDev, + lazy: { + _hmm: _HMM ? lazy(_hmm) : _hmm, + _todo: _TODO ? lazy(_todo) : _todo, + _error: _ERROR ? lazy(_error) : _error, + errorDev: ERROR_DEV ? lazy(errorDev) : errorDev, + errorPublic: ERROR_PUBLIC ? lazy(errorPublic) : errorPublic, + _kapow: _KAPOW ? lazy(_kapow) : _kapow, + _warn: _WARN ? lazy(_warn) : _warn, + warnDev: WARN_DEV ? lazy(warnDev) : warnDev, + warnPublic: WARN_PUBLIC ? lazy(warnPublic) : warnPublic, + _debug: _DEBUG ? lazy(_debug) : _debug, + debugDev: DEBUG_DEV ? lazy(debugDev) : debugDev, + _trace: _TRACE ? lazy(_trace) : _trace, + traceDev: TRACE_DEV ? lazy(traceDev) : traceDev + }, + // + named, + utilFor: { + internal() { + return { + debug: logger._debug, + error: logger._error, + warn: logger._warn, + trace: logger._trace, + named(name, key) { + return logger.named(name, key).utilFor.internal(); + } + }; + }, + dev() { + return { + debug: logger.debugDev, + error: logger.errorDev, + warn: logger.warnDev, + trace: logger.traceDev, + named(name, key) { + return logger.named(name, key).utilFor.dev(); + } + }; + }, + public() { + return { + error: logger.errorPublic, + warn: logger.warnPublic, + debug(message, obj) { + logger._warn('(public "debug" filtered out) '.concat(message), obj); + }, + trace(message, obj) { + logger._warn('(public "trace" filtered out) '.concat(message), obj); + }, + named(name, key) { + return logger.named(name, key).utilFor.public(); + } + }; + } + } + }; + return logger; +} + +// shared/src/logger.ts +var internal = createTheatreInternalLogger(console, { + _debug: function() { + }, + _error: function() { + } +}); +internal.configureLogging({ + dev: true, + min: 64 /* TRACE */ +}); +var logger_default = internal.getLogger().named("Theatre.js (default logger)").utilFor.dev(); + +// core/src/sheetObjects/getOrderingOfPropTypeConfig.ts +var cache = /* @__PURE__ */ new WeakMap(); +function getOrderingOfPropTypeConfig(config) { + const existing = cache.get(config); + if (existing) + return existing; + const map = /* @__PURE__ */ new Map(); + cache.set(config, map); + iterateOnCompound([], config, map); + return map; +} +function iterateOnCompound(path, config, map) { + for (const [key, subConf] of Object.entries(config.props)) { + if (!isPropConfigComposite(subConf)) { + const subPath = [...path, key]; + map.set(JSON.stringify(subPath), map.size); + iterateOnAny(subPath, subConf, map); + } + } + for (const [key, subConf] of Object.entries(config.props)) { + if (isPropConfigComposite(subConf)) { + const subPath = [...path, key]; + map.set(JSON.stringify(subPath), map.size); + iterateOnAny(subPath, subConf, map); + } + } +} +function iterateOnAny(path, config, map) { + if (config.type === "compound") { + iterateOnCompound(path, config, map); + } else if (config.type === "enum") { + throw new Error("Enums aren't supported yet"); + } else { + map.set(JSON.stringify(path), map.size); + } +} + +// core/src/sheetObjects/SheetObjectTemplate.ts +function isObjectEmpty(obj) { + return typeof obj === "object" && obj !== null && Object.keys(obj).length === 0; +} +var SheetObjectTemplate = class { + constructor(sheetTemplate, objectKey, nativeObject, config, _temp_actions) { + this.sheetTemplate = sheetTemplate; + __publicField(this, "address"); + __publicField(this, "type", "Theatre_SheetObjectTemplate"); + __publicField(this, "_config"); + __publicField(this, "_temp_actions_atom"); + __publicField(this, "_cache", new SimpleCache()); + __publicField(this, "project"); + __publicField(this, "pointerToSheetState"); + __publicField(this, "pointerToStaticOverrides"); + this.address = __spreadProps(__spreadValues({}, sheetTemplate.address), { objectKey }); + this._config = new import_dataverse6.Atom(config); + this._temp_actions_atom = new import_dataverse6.Atom(_temp_actions); + this.project = sheetTemplate.project; + this.pointerToSheetState = this.sheetTemplate.project.pointers.historic.sheetsById[this.address.sheetId]; + this.pointerToStaticOverrides = this.pointerToSheetState.staticOverrides.byObject[this.address.objectKey]; + } + get staticConfig() { + return this._config.get(); + } + get configPointer() { + return this._config.pointer; + } + get _temp_actions() { + return this._temp_actions_atom.get(); + } + get _temp_actionsPointer() { + return this._temp_actions_atom.pointer; + } + createInstance(sheet, nativeObject, config) { + this._config.set(config); + return new SheetObject(sheet, this, nativeObject); + } + reconfigure(config) { + this._config.set(config); + } + /** + * The `actions` api is temporary until we implement events. + */ + _temp_setActions(actions) { + this._temp_actions_atom.set(actions); + } + /** + * Returns the default values (all defaults are read from the config) + */ + getDefaultValues() { + return this._cache.get( + "getDefaultValues()", + () => (0, import_dataverse6.prism)(() => { + const config = (0, import_dataverse6.val)(this.configPointer); + return getPropDefaultsOfSheetObject(config); + }) + ); + } + /** + * Returns values that are set statically (ie, not sequenced, and not defaults) + */ + getStaticValues() { + return this._cache.get( + "getStaticValues", + () => (0, import_dataverse6.prism)(() => { + var _a; + const json = (_a = (0, import_dataverse6.val)(this.pointerToStaticOverrides)) != null ? _a : {}; + const config = (0, import_dataverse6.val)(this.configPointer); + const deserialized = config.deserializeAndSanitize(json) || {}; + return deserialized; + }) + ); + } + /** + * Filters through the sequenced tracks and returns those tracks who are valid + * according to the object's prop types, then sorted in the same order as the config + * + * Returns an array. + */ + getArrayOfValidSequenceTracks() { + return this._cache.get( + "getArrayOfValidSequenceTracks", + () => (0, import_dataverse6.prism)(() => { + const pointerToSheetState = this.project.pointers.historic.sheetsById[this.address.sheetId]; + const trackIdByPropPath = (0, import_dataverse6.val)( + pointerToSheetState.sequence.tracksByObject[this.address.objectKey].trackIdByPropPath + ); + if (!trackIdByPropPath) + return emptyArray; + const arrayOfIds = []; + if (!trackIdByPropPath) + return emptyArray; + const objectConfig = (0, import_dataverse6.val)(this.configPointer); + const _entries = Object.entries(trackIdByPropPath); + for (const [pathToPropInString, trackId] of _entries) { + const pathToProp = parsePathToProp(pathToPropInString); + if (!pathToProp) + continue; + const propConfig = getPropConfigByPath(objectConfig, pathToProp); + const isSequencable = propConfig && isPropConfSequencable(propConfig); + if (!isSequencable) + continue; + arrayOfIds.push({ pathToProp, trackId }); + } + const mapping = getOrderingOfPropTypeConfig(objectConfig); + arrayOfIds.sort((a2, b2) => { + const pathToPropA = a2.pathToProp; + const pathToPropB = b2.pathToProp; + const indexA = mapping.get(JSON.stringify(pathToPropA)); + const indexB = mapping.get(JSON.stringify(pathToPropB)); + if (indexA > indexB) { + return 1; + } + return -1; + }); + if (arrayOfIds.length === 0) { + return emptyArray; + } else { + return arrayOfIds; + } + }) + ); + } + /** + * Filters through the sequenced tracks those tracks that are valid + * according to the object's prop types. + * + * Returns a map. + * + * Not available in core. + */ + getMapOfValidSequenceTracks_forStudio() { + return this._cache.get( + "getMapOfValidSequenceTracks_forStudio", + () => (0, import_dataverse6.prism)(() => { + const arr = (0, import_dataverse6.val)(this.getArrayOfValidSequenceTracks()); + let map = {}; + for (const { pathToProp, trackId } of arr) { + set_default(map, pathToProp, trackId); + } + return map; + }) + ); + } + /** + * @returns The static overrides that are not sequenced. Returns undefined if there are no static overrides, + * or if all those static overrides are sequenced. + */ + getStaticButNotSequencedOverrides() { + return this._cache.get( + "getStaticButNotSequencedOverrides", + () => (0, import_dataverse6.prism)(() => { + const staticOverrides = (0, import_dataverse6.val)(this.getStaticValues()); + const arrayOfValidSequenceTracks = (0, import_dataverse6.val)( + this.getArrayOfValidSequenceTracks() + ); + const staticButNotSequencedOverrides = cloneDeep_default(staticOverrides); + for (const { pathToProp } of arrayOfValidSequenceTracks) { + unset_default(staticButNotSequencedOverrides, pathToProp); + let parentPath = pathToProp.slice(0, -1); + while (parentPath.length > 0) { + const parentValue = getDeep( + staticButNotSequencedOverrides, + parentPath + ); + if (!isObjectEmpty(parentValue)) + break; + unset_default(staticButNotSequencedOverrides, parentPath); + parentPath = parentPath.slice(0, -1); + } + } + if (isObjectEmpty(staticButNotSequencedOverrides)) { + return void 0; + } else { + return staticButNotSequencedOverrides; + } + }) + ); + } + getDefaultsAtPointer(pointer3) { + const { path } = (0, import_dataverse6.getPointerParts)(pointer3); + const defaults = this.getDefaultValues().getValue(); + const defaultsAtPath = getDeep(defaults, path); + return defaultsAtPath; + } +}; +function parsePathToProp(pathToPropInString) { + try { + const pathToProp = JSON.parse(pathToPropInString); + return pathToProp; + } catch (e2) { + logger_default.warn( + "property ".concat(JSON.stringify( + pathToPropInString + ), " cannot be parsed. Skipping.") + ); + return void 0; + } +} + +// core/src/sheets/SheetTemplate.ts +var import_dataverse15 = require("@theatre/dataverse"); + +// shared/src/utils/addresses.ts +var encodePathToProp = memoizeFn( + (p2) => ( + // we're using JSON.stringify here, but we could use a faster alternative. + // If you happen to do that, first make sure no `PathToProp_Encoded` is ever + // used in the store, otherwise you'll have to write a migration. + JSON.stringify(p2) + ) +); + +// shared/src/utils/didYouMean.ts +var import_propose = __toESM(require_propose()); +function didYouMean(str, dictionary, prepend = "Did you mean ", append = "?") { + const p2 = (0, import_propose.default)(str, dictionary, { + threshold: 0.7 + }); + if (p2) { + return prepend + JSON.stringify(p2) + append; + } else { + return ""; + } +} + +// shared/src/utils/errors.ts +var TheatreError = class extends Error { +}; +var InvalidArgumentError = class extends TheatreError { +}; + +// core/src/sequences/Sequence.ts +var import_dataverse10 = require("@theatre/dataverse"); +var import_dataverse11 = require("@theatre/dataverse"); +var import_dataverse12 = require("@theatre/dataverse"); +var import_dataverse13 = require("@theatre/dataverse"); + +// shared/src/utils/defer.ts +function defer() { + let resolve; + let reject; + const promise = new Promise((rs, rj) => { + resolve = (v2) => { + rs(v2); + deferred.status = "resolved"; + }; + reject = (v2) => { + rj(v2); + deferred.status = "rejected"; + }; + }); + const deferred = { + resolve, + reject, + promise, + status: "pending" + }; + return deferred; +} + +// shared/src/utils/noop.ts +var noop = () => { +}; +var noop_default = noop; + +// core/src/sequences/playbackControllers/DefaultPlaybackController.ts +var import_dataverse7 = require("@theatre/dataverse"); +var DefaultPlaybackController = class { + constructor() { + __publicField(this, "_stopPlayCallback", noop_default); + __publicField(this, "_state", new import_dataverse7.Atom({ + position: 0, + playing: false + })); + __publicField(this, "statePointer"); + this.statePointer = this._state.pointer; + } + destroy() { + } + pause() { + this._stopPlayCallback(); + this.playing = false; + this._stopPlayCallback = noop_default; + } + gotoPosition(time) { + this._updatePositionInState(time); + } + _updatePositionInState(time) { + this._state.setByPointer((p2) => p2.position, time); + } + getCurrentPosition() { + return this._state.get().position; + } + get playing() { + return this._state.get().playing; + } + set playing(playing) { + this._state.setByPointer((p2) => p2.playing, playing); + } + play(iterationCount, range, rate, direction, ticker) { + if (this.playing) { + this.pause(); + } + this.playing = true; + const iterationLength = range[1] - range[0]; + { + const startPos = this.getCurrentPosition(); + if (startPos < range[0] || startPos > range[1]) { + if (direction === "normal" || direction === "alternate") { + this._updatePositionInState(range[0]); + } else if (direction === "reverse" || direction === "alternateReverse") { + this._updatePositionInState(range[1]); + } + } else if (direction === "normal" || direction === "alternate") { + if (startPos === range[1]) { + this._updatePositionInState(range[0]); + } + } else { + if (startPos === range[0]) { + this._updatePositionInState(range[1]); + } + } + } + const deferred = defer(); + const initialTickerTime = ticker.time; + const totalPlaybackLength = iterationLength * iterationCount; + let initialElapsedPos = this.getCurrentPosition() - range[0]; + if (direction === "reverse" || direction === "alternateReverse") { + initialElapsedPos = range[1] - this.getCurrentPosition(); + } + const tick = (currentTickerTime) => { + const elapsedTickerTime = Math.max( + currentTickerTime - initialTickerTime, + 0 + ); + const elapsedTickerTimeInSeconds = elapsedTickerTime / 1e3; + const elapsedPos = Math.min( + elapsedTickerTimeInSeconds * rate + initialElapsedPos, + totalPlaybackLength + ); + if (elapsedPos !== totalPlaybackLength) { + const iterationNumber = Math.floor(elapsedPos / iterationLength); + let currentIterationPos = elapsedPos / iterationLength % 1 * iterationLength; + if (direction !== "normal") { + if (direction === "reverse") { + currentIterationPos = iterationLength - currentIterationPos; + } else { + const isCurrentIterationNumberEven = iterationNumber % 2 === 0; + if (direction === "alternate") { + if (!isCurrentIterationNumberEven) { + currentIterationPos = iterationLength - currentIterationPos; + } + } else { + if (isCurrentIterationNumberEven) { + currentIterationPos = iterationLength - currentIterationPos; + } + } + } + } + this._updatePositionInState(currentIterationPos + range[0]); + requestNextTick(); + } else { + if (direction === "normal") { + this._updatePositionInState(range[1]); + } else if (direction === "reverse") { + this._updatePositionInState(range[0]); + } else { + const isLastIterationEven = (iterationCount - 1) % 2 === 0; + if (direction === "alternate") { + if (isLastIterationEven) { + this._updatePositionInState(range[1]); + } else { + this._updatePositionInState(range[0]); + } + } else { + if (isLastIterationEven) { + this._updatePositionInState(range[0]); + } else { + this._updatePositionInState(range[1]); + } + } + } + this.playing = false; + deferred.resolve(true); + } + }; + this._stopPlayCallback = () => { + ticker.offThisOrNextTick(tick); + ticker.offNextTick(tick); + if (this.playing) + deferred.resolve(false); + }; + const requestNextTick = () => ticker.onNextTick(tick); + ticker.onThisOrNextTick(tick); + return deferred.promise; + } + playDynamicRange(rangeD, ticker) { + if (this.playing) { + this.pause(); + } + this.playing = true; + const deferred = defer(); + const untapFromRangeD = rangeD.keepHot(); + void deferred.promise.then(untapFromRangeD, untapFromRangeD); + let lastTickerTime = ticker.time; + const tick = (currentTickerTime) => { + const elapsedSinceLastTick = Math.max( + currentTickerTime - lastTickerTime, + 0 + ); + lastTickerTime = currentTickerTime; + const elapsedSinceLastTickInSeconds = elapsedSinceLastTick / 1e3; + const lastPosition = this.getCurrentPosition(); + const range = rangeD.getValue(); + if (lastPosition < range[0] || lastPosition > range[1]) { + this.gotoPosition(range[0]); + } else { + let newPosition = lastPosition + elapsedSinceLastTickInSeconds; + if (newPosition > range[1]) { + newPosition = range[0] + (newPosition - range[1]); + } + this.gotoPosition(newPosition); + } + requestNextTick(); + }; + this._stopPlayCallback = () => { + ticker.offThisOrNextTick(tick); + ticker.offNextTick(tick); + deferred.resolve(false); + }; + const requestNextTick = () => ticker.onNextTick(tick); + ticker.onThisOrNextTick(tick); + return deferred.promise; + } +}; + +// core/src/sequences/playbackControllers/AudioPlaybackController.ts +var import_dataverse8 = require("@theatre/dataverse"); + +// shared/src/globalVariableNames.ts +var studioBundle = "__TheatreJS_StudioBundle"; +var coreBundle = "__TheatreJS_CoreBundle"; +var notifications = "__TheatreJS_Notifications"; + +// shared/src/notify.ts +var createHandler = (type) => (...args) => { + var _a; + switch (type) { + case "success": { + logger_default.debug(args.slice(0, 2).join("\n")); + break; + } + case "info": { + logger_default.debug(args.slice(0, 2).join("\n")); + break; + } + case "warning": { + logger_default.warn(args.slice(0, 2).join("\n")); + break; + } + case "error": { + } + } + return typeof window !== "undefined" ? ( + // @ts-ignore + (_a = window[notifications]) == null ? void 0 : _a.notify[type](...args) + ) : void 0; +}; +var notify = { + warning: createHandler("warning"), + success: createHandler("success"), + info: createHandler("info"), + error: createHandler("error") +}; +if (typeof window !== "undefined") { + window.addEventListener("error", (e2) => { + notify.error( + "An error occurred", + "
".concat(e2.message, "
\n\nSee **console** for details.") + ); + }); + window.addEventListener("unhandledrejection", (e2) => { + notify.error( + "An error occurred", + "
".concat(e2.reason, "
\n\nSee **console** for details.") + ); + }); +} + +// core/src/sequences/playbackControllers/AudioPlaybackController.ts +var AudioPlaybackController = class { + constructor(_decodedBuffer, _audioContext, _nodeDestination) { + this._decodedBuffer = _decodedBuffer; + this._audioContext = _audioContext; + this._nodeDestination = _nodeDestination; + __publicField(this, "_mainGain"); + __publicField(this, "_state", new import_dataverse8.Atom({ + position: 0, + playing: false + })); + __publicField(this, "statePointer"); + __publicField(this, "_stopPlayCallback", noop_default); + this.statePointer = this._state.pointer; + this._mainGain = this._audioContext.createGain(); + this._mainGain.connect(this._nodeDestination); + } + playDynamicRange(rangeD, ticker) { + const deferred = defer(); + if (this._playing) + this.pause(); + this._playing = true; + let stop = void 0; + const play = () => { + stop == null ? void 0 : stop(); + stop = this._loopInRange(rangeD.getValue(), ticker).stop; + }; + const untapFromRangeD = rangeD.onStale(play); + play(); + this._stopPlayCallback = () => { + stop == null ? void 0 : stop(); + untapFromRangeD(); + deferred.resolve(false); + }; + return deferred.promise; + } + _loopInRange(range, ticker) { + const rate = 1; + let startPos = this.getCurrentPosition(); + const iterationLength = range[1] - range[0]; + if (startPos < range[0] || startPos > range[1]) { + this._updatePositionInState(range[0]); + } else if (startPos === range[1]) { + this._updatePositionInState(range[0]); + } + startPos = this.getCurrentPosition(); + const currentSource = this._audioContext.createBufferSource(); + currentSource.buffer = this._decodedBuffer; + currentSource.connect(this._mainGain); + currentSource.playbackRate.value = rate; + currentSource.loop = true; + currentSource.loopStart = range[0]; + currentSource.loopEnd = range[1]; + const initialTickerTime = ticker.time; + let initialElapsedPos = startPos - range[0]; + currentSource.start(0, startPos); + const tick = (currentTickerTime) => { + const elapsedTickerTime = Math.max( + currentTickerTime - initialTickerTime, + 0 + ); + const elapsedTickerTimeInSeconds = elapsedTickerTime / 1e3; + const elapsedPos = elapsedTickerTimeInSeconds * rate + initialElapsedPos; + let currentIterationPos = elapsedPos / iterationLength % 1 * iterationLength; + this._updatePositionInState(currentIterationPos + range[0]); + requestNextTick(); + }; + const requestNextTick = () => ticker.onNextTick(tick); + ticker.onThisOrNextTick(tick); + const stop = () => { + currentSource.stop(); + currentSource.disconnect(); + ticker.offThisOrNextTick(tick); + ticker.offNextTick(tick); + }; + return { stop }; + } + get _playing() { + return this._state.get().playing; + } + set _playing(playing) { + this._state.setByPointer((p2) => p2.playing, playing); + } + destroy() { + } + pause() { + this._stopPlayCallback(); + this._playing = false; + this._stopPlayCallback = noop_default; + } + gotoPosition(time) { + this._updatePositionInState(time); + } + _updatePositionInState(time) { + this._state.reduce((s2) => __spreadProps(__spreadValues({}, s2), { position: time })); + } + getCurrentPosition() { + return this._state.get().position; + } + play(iterationCount, range, rate, direction, ticker) { + if (this._playing) { + this.pause(); + } + this._playing = true; + let startPos = this.getCurrentPosition(); + const iterationLength = range[1] - range[0]; + if (direction !== "normal") { + throw new InvalidArgumentError( + 'Audio-controlled sequences can only be played in the "normal" direction. ' + "'".concat(direction, "' given.") + ); + } + if (startPos < range[0] || startPos > range[1]) { + this._updatePositionInState(range[0]); + } else if (startPos === range[1]) { + this._updatePositionInState(range[0]); + } + startPos = this.getCurrentPosition(); + const deferred = defer(); + const currentSource = this._audioContext.createBufferSource(); + currentSource.buffer = this._decodedBuffer; + currentSource.connect(this._mainGain); + currentSource.playbackRate.value = rate; + if (iterationCount > 1e3) { + notify.warning( + "Can't play sequences with audio more than 1000 times", + "The sequence will still play, but only 1000 times. The `iterationCount: ".concat(iterationCount, "` provided to `sequence.play()`\nis too high for a sequence with audio.\n\nTo fix this, either set `iterationCount` to a lower value, or remove the audio from the sequence."), + [ + { + url: "https://www.theatrejs.com/docs/latest/manual/audio", + title: "Using Audio" + }, + { + url: "https://www.theatrejs.com/docs/latest/api/core#sequence.attachaudio", + title: "Audio API" + } + ] + ); + iterationCount = 1e3; + } + if (iterationCount > 1) { + currentSource.loop = true; + currentSource.loopStart = range[0]; + currentSource.loopEnd = range[1]; + } + const initialTickerTime = ticker.time; + let initialElapsedPos = startPos - range[0]; + const totalPlaybackLength = iterationLength * iterationCount; + currentSource.start(0, startPos, totalPlaybackLength - initialElapsedPos); + const tick = (currentTickerTime) => { + const elapsedTickerTime = Math.max( + currentTickerTime - initialTickerTime, + 0 + ); + const elapsedTickerTimeInSeconds = elapsedTickerTime / 1e3; + const elapsedPos = Math.min( + elapsedTickerTimeInSeconds * rate + initialElapsedPos, + totalPlaybackLength + ); + if (elapsedPos !== totalPlaybackLength) { + let currentIterationPos = elapsedPos / iterationLength % 1 * iterationLength; + this._updatePositionInState(currentIterationPos + range[0]); + requestNextTick(); + } else { + this._updatePositionInState(range[1]); + this._playing = false; + cleanup(); + deferred.resolve(true); + } + }; + const cleanup = () => { + currentSource.stop(); + currentSource.disconnect(); + }; + this._stopPlayCallback = () => { + cleanup(); + ticker.offThisOrNextTick(tick); + ticker.offNextTick(tick); + if (this._playing) + deferred.resolve(false); + }; + const requestNextTick = () => ticker.onNextTick(tick); + ticker.onThisOrNextTick(tick); + return deferred.promise; + } +}; + +// core/src/rafDrivers.ts +var import_dataverse9 = require("@theatre/dataverse"); +var lastDriverId = 0; +function createRafDriver(conf) { + var _a; + const tick = (time) => { + ticker.tick(time); + }; + const ticker = new import_dataverse9.Ticker({ + onActive() { + var _a2; + (_a2 = conf == null ? void 0 : conf.start) == null ? void 0 : _a2.call(conf); + }, + onDormant() { + var _a2; + (_a2 = conf == null ? void 0 : conf.stop) == null ? void 0 : _a2.call(conf); + } + }); + const driverPublicApi = { + tick, + id: lastDriverId++, + name: (_a = conf == null ? void 0 : conf.name) != null ? _a : "CustomRafDriver-".concat(lastDriverId), + type: "Theatre_RafDriver_PublicAPI" + }; + const driverPrivateApi = { + type: "Theatre_RafDriver_PrivateAPI", + publicApi: driverPublicApi, + ticker, + start: conf == null ? void 0 : conf.start, + stop: conf == null ? void 0 : conf.stop + }; + setPrivateAPI(driverPublicApi, driverPrivateApi); + return driverPublicApi; +} + +// core/src/coreTicker.ts +function createBasicRafDriver() { + let rafId = null; + const start = () => { + if (typeof window !== "undefined") { + const onAnimationFrame = (t2) => { + driver.tick(t2); + rafId = window.requestAnimationFrame(onAnimationFrame); + }; + rafId = window.requestAnimationFrame(onAnimationFrame); + } else { + driver.tick(0); + setTimeout(() => driver.tick(1), 0); + } + }; + const stop = () => { + if (typeof window !== "undefined") { + if (rafId !== null) { + window.cancelAnimationFrame(rafId); + } + } else { + } + }; + const driver = createRafDriver({ name: "DefaultCoreRafDriver", start, stop }); + return driver; +} +var coreRafDriver; +function getCoreRafDriver() { + if (!coreRafDriver) { + setCoreRafDriver(createBasicRafDriver()); + } + return coreRafDriver; +} +function getCoreTicker() { + return getCoreRafDriver().ticker; +} +function setCoreRafDriver(driver) { + if (coreRafDriver) { + throw new Error("`setCoreRafDriver()` is already called."); + } + const driverPrivateApi = privateAPI(driver); + coreRafDriver = driverPrivateApi; +} + +// core/src/sequences/TheatreSequence.ts +var TheatreSequence = class { + get type() { + return "Theatre_Sequence_PublicAPI"; + } + /** + * @internal + */ + constructor(sheet) { + setPrivateAPI(this, sheet); + } + play(conf) { + const priv = privateAPI(this); + if (priv._project.isReady()) { + const ticker = (conf == null ? void 0 : conf.rafDriver) ? privateAPI(conf.rafDriver).ticker : getCoreTicker(); + return priv.play(conf != null ? conf : {}, ticker); + } else { + if (process.env.NODE_ENV !== "production") { + notify.warning( + "Sequence can't be played", + "You seem to have called `sequence.play()` before the project has finished loading.\n\nThis would **not** a problem in production when using `@theatre/core`, since Theatre.js loads instantly in core mode. However, when using `@theatre/studio`, it takes a few milliseconds for it to load your project's state, before which your sequences cannot start playing.\n\nTo fix this, simply defer calling `sequence.play()` until after the project is loaded, like this:\n\n```\nproject.ready.then(() => {\n sequence.play()\n})\n```", + [ + { + url: "https://www.theatrejs.com/docs/0.5/api/core#project.ready", + title: "Project.ready" + } + ] + ); + } + const d2 = defer(); + d2.resolve(true); + return d2.promise; + } + } + pause() { + privateAPI(this).pause(); + } + get position() { + return privateAPI(this).position; + } + set position(position) { + privateAPI(this).position = position; + } + __experimental_getKeyframes(prop) { + return privateAPI(this).getKeyframesOfSimpleProp(prop); + } + async attachAudio(args) { + const { audioContext, destinationNode, decodedBuffer, gainNode } = await resolveAudioBuffer(args); + const playbackController = new AudioPlaybackController( + decodedBuffer, + audioContext, + gainNode + ); + privateAPI(this).replacePlaybackController(playbackController); + return { audioContext, destinationNode, decodedBuffer, gainNode }; + } + get pointer() { + return privateAPI(this).pointer; + } +}; +async function resolveAudioBuffer(args) { + function getAudioContext() { + if (args.audioContext) + return Promise.resolve(args.audioContext); + const ctx = new AudioContext(); + if (ctx.state === "running") + return Promise.resolve(ctx); + if (typeof window === "undefined") { + return Promise.resolve(ctx); + } + return new Promise((resolve) => { + const listener = () => { + ctx.resume().catch((err) => { + console.error(err); + }); + }; + const eventsToHookInto = [ + "mousedown", + "keydown", + "touchstart" + ]; + const eventListenerOpts = { capture: true, passive: false }; + eventsToHookInto.forEach((eventName) => { + window.addEventListener(eventName, listener, eventListenerOpts); + }); + ctx.addEventListener("statechange", () => { + if (ctx.state === "running") { + eventsToHookInto.forEach((eventName) => { + window.removeEventListener(eventName, listener, eventListenerOpts); + }); + resolve(ctx); + } + }); + }); + } + async function getAudioBuffer() { + if (args.source instanceof AudioBuffer) { + return args.source; + } + const decodedBufferDeferred = defer(); + if (typeof args.source !== "string") { + throw new Error( + "Error validating arguments to sequence.attachAudio(). args.source must either be a string or an instance of AudioBuffer." + ); + } + let fetchResponse; + try { + fetchResponse = await fetch(args.source); + } catch (e2) { + console.error(e2); + throw new Error( + "Could not fetch '".concat(args.source, "'. Network error logged above.") + ); + } + let arrayBuffer; + try { + arrayBuffer = await fetchResponse.arrayBuffer(); + } catch (e2) { + console.error(e2); + throw new Error("Could not read '".concat(args.source, "' as an arrayBuffer.")); + } + const audioContext2 = await audioContextPromise; + audioContext2.decodeAudioData( + arrayBuffer, + decodedBufferDeferred.resolve, + decodedBufferDeferred.reject + ); + let decodedBuffer2; + try { + decodedBuffer2 = await decodedBufferDeferred.promise; + } catch (e2) { + console.error(e2); + throw new Error("Could not decode ".concat(args.source, " as an audio file.")); + } + return decodedBuffer2; + } + const audioContextPromise = getAudioContext(); + const audioBufferPromise = getAudioBuffer(); + const [audioContext, decodedBuffer] = await Promise.all([ + audioContextPromise, + audioBufferPromise + ]); + const destinationNode = args.destinationNode || audioContext.destination; + const gainNode = audioContext.createGain(); + gainNode.connect(destinationNode); + return { + audioContext, + decodedBuffer, + gainNode, + destinationNode + }; +} + +// shared/src/instanceTypes.ts +var isProject = typeAsserter("Theatre_Project"); +var isSheet = typeAsserter("Theatre_Sheet"); +var isSheetTemplate = typeAsserter( + "Theatre_SheetTemplate" +); +var isSheetObject = typeAsserter("Theatre_SheetObject"); +var isSequence = typeAsserter("Theatre_Sequence"); +var isSheetObjectTemplate = typeAsserter( + "Theatre_SheetObjectTemplate" +); +var isProjectPublicAPI = typeAsserter( + "Theatre_Project_PublicAPI" +); +var isSheetPublicAPI = typeAsserter("Theatre_Sheet_PublicAPI"); +var isSheetObjectPublicAPI = typeAsserter( + "Theatre_SheetObject_PublicAPI" +); +function typeAsserter(t2) { + return (v2) => typeof v2 === "object" && !!v2 && v2.type === t2; +} + +// core/src/sequences/Sequence.ts +var possibleDirections = [ + "normal", + "reverse", + "alternate", + "alternateReverse" +]; +var Sequence = class { + constructor(_project, _sheet, _lengthD, _subUnitsPerUnitD, playbackController) { + this._project = _project; + this._sheet = _sheet; + this._lengthD = _lengthD; + this._subUnitsPerUnitD = _subUnitsPerUnitD; + __publicField(this, "address"); + __publicField(this, "publicApi"); + __publicField(this, "_playbackControllerBox"); + __publicField(this, "_prismOfStatePointer"); + __publicField(this, "_positionD"); + __publicField(this, "_positionFormatterD"); + __publicField(this, "_playableRangeD"); + __publicField(this, "pointer", (0, import_dataverse12.pointer)({ root: this, path: [] })); + __publicField(this, "$$isPointerToPrismProvider", true); + __publicField(this, "_logger"); + __publicField(this, "closestGridPosition", (posInUnitSpace) => { + const subUnitsPerUnit = this.subUnitsPerUnit; + const gridLength = 1 / subUnitsPerUnit; + return parseFloat( + (Math.round(posInUnitSpace / gridLength) * gridLength).toFixed(3) + ); + }); + this._logger = _project._logger.named("Sheet", _sheet.address.sheetId).named("Instance", _sheet.address.sheetInstanceId); + this.address = __spreadProps(__spreadValues({}, this._sheet.address), { sequenceName: "default" }); + this.publicApi = new TheatreSequence(this); + this._playbackControllerBox = new import_dataverse11.Atom( + playbackController != null ? playbackController : new DefaultPlaybackController() + ); + this._prismOfStatePointer = (0, import_dataverse13.prism)( + () => this._playbackControllerBox.prism.getValue().statePointer + ); + this._positionD = (0, import_dataverse13.prism)(() => { + const statePointer = this._prismOfStatePointer.getValue(); + return (0, import_dataverse13.val)(statePointer.position); + }); + this._positionFormatterD = (0, import_dataverse13.prism)(() => { + const subUnitsPerUnit = (0, import_dataverse13.val)(this._subUnitsPerUnitD); + return new TimeBasedPositionFormatter(subUnitsPerUnit); + }); + } + get type() { + return "Theatre_Sequence"; + } + pointerToPrism(pointer3) { + const { path } = (0, import_dataverse10.getPointerParts)(pointer3); + if (path.length === 0) { + return (0, import_dataverse13.prism)(() => ({ + length: (0, import_dataverse13.val)(this.pointer.length), + playing: (0, import_dataverse13.val)(this.pointer.playing), + position: (0, import_dataverse13.val)(this.pointer.position), + subUnitsPerUnit: (0, import_dataverse13.val)(this.pointer.subUnitsPerUnit) + })); + } + if (path.length > 1) { + return (0, import_dataverse13.prism)(() => void 0); + } + const [prop] = path; + if (prop === "length") { + return this._lengthD; + } else if (prop === "subUnitsPerUnit") { + return this._subUnitsPerUnitD; + } else if (prop === "position") { + return this._positionD; + } else if (prop === "playing") { + return (0, import_dataverse13.prism)(() => { + return (0, import_dataverse13.val)(this._prismOfStatePointer.getValue().playing); + }); + } else { + return (0, import_dataverse13.prism)(() => void 0); + } + } + /** + * Takes a pointer to a property of a SheetObject and returns the keyframes of that property. + * + * Theoretically, this method can be called from inside a prism so it can be reactive. + */ + getKeyframesOfSimpleProp(prop) { + const { path, root: root2 } = (0, import_dataverse10.getPointerParts)(prop); + if (!isSheetObject(root2)) { + throw new InvalidArgumentError( + "Argument prop must be a pointer to a SheetObject property" + ); + } + const trackP = (0, import_dataverse13.val)( + this._project.pointers.historic.sheetsById[this._sheet.address.sheetId].sequence.tracksByObject[root2.address.objectKey] + ); + if (!trackP) { + return []; + } + const { trackData, trackIdByPropPath } = trackP; + const objectAddress = encodePathToProp(path); + const id = trackIdByPropPath[objectAddress]; + if (!id) { + return []; + } + const track = trackData[id]; + if (!track) { + return []; + } + return track.keyframes; + } + get positionFormatter() { + return this._positionFormatterD.getValue(); + } + get prismOfStatePointer() { + return this._prismOfStatePointer; + } + get length() { + return this._lengthD.getValue(); + } + get positionPrism() { + return this._positionD; + } + get position() { + return this._playbackControllerBox.get().getCurrentPosition(); + } + get subUnitsPerUnit() { + return this._subUnitsPerUnitD.getValue(); + } + get positionSnappedToGrid() { + return this.closestGridPosition(this.position); + } + set position(requestedPosition) { + let position = requestedPosition; + this.pause(); + if (process.env.NODE_ENV !== "production") { + if (typeof position !== "number") { + console.error( + "value t in sequence.position = t must be a number. ".concat(typeof position, " given") + ); + position = 0; + } + if (position < 0) { + console.error( + "sequence.position must be a positive number. ".concat(position, " given") + ); + position = 0; + } + } + if (position > this.length) { + position = this.length; + } + const dur = this.length; + this._playbackControllerBox.get().gotoPosition(position > dur ? dur : position); + } + getDurationCold() { + return this._lengthD.getValue(); + } + get playing() { + return (0, import_dataverse13.val)(this._playbackControllerBox.get().statePointer.playing); + } + _makeRangeFromSequenceTemplate() { + return (0, import_dataverse13.prism)(() => { + return [0, (0, import_dataverse13.val)(this._lengthD)]; + }); + } + /** + * Controls the playback within a range. Repeats infinitely unless stopped. + * + * @remarks + * One use case for this is to play the playback within the focus range. + * + * @param rangeD - The prism that contains the range that will be used for the playback + * + * @returns a promise that gets rejected if the playback stopped for whatever reason + * + */ + playDynamicRange(rangeD, ticker) { + return this._playbackControllerBox.get().playDynamicRange(rangeD, ticker); + } + async play(conf, ticker) { + const sequenceDuration = this.length; + const range = conf && conf.range ? conf.range : [0, sequenceDuration]; + if (process.env.NODE_ENV !== "production") { + if (typeof range[0] !== "number" || range[0] < 0) { + throw new InvalidArgumentError( + "Argument conf.range[0] in sequence.play(conf) must be a positive number. ".concat(JSON.stringify( + range[0] + ), " given.") + ); + } + if (range[0] >= sequenceDuration) { + throw new InvalidArgumentError( + "Argument conf.range[0] in sequence.play(conf) cannot be longer than the duration of the sequence, which is ".concat(sequenceDuration, "s. ").concat(JSON.stringify( + range[0] + ), " given.") + ); + } + if (typeof range[1] !== "number" || range[1] <= 0) { + throw new InvalidArgumentError( + "Argument conf.range[1] in sequence.play(conf) must be a number larger than zero. ".concat(JSON.stringify( + range[1] + ), " given.") + ); + } + if (range[1] > sequenceDuration) { + notify.warning( + "Couldn't play sequence in given range", + "Your animation will still play until the end of the sequence, however the argument `conf.range[1]` given in `sequence.play(conf)` (".concat(JSON.stringify( + range[1] + ), "s) is longer than the duration of the sequence (").concat(sequenceDuration, "s).\n\nTo fix this, either set `conf.range[1]` to be less the duration of the sequence, or adjust the sequence duration in the UI."), + [ + { + url: "https://www.theatrejs.com/docs/latest/manual/sequences", + title: "Sequences" + }, + { + url: "https://www.theatrejs.com/docs/latest/manual/sequences", + title: "Playback API" + } + ] + ); + range[1] = sequenceDuration; + } + if (range[1] <= range[0]) { + throw new InvalidArgumentError( + "Argument conf.range[1] in sequence.play(conf) must be larger than conf.range[0]. ".concat(JSON.stringify( + range + ), " given.") + ); + } + } + const iterationCount = conf && typeof conf.iterationCount === "number" ? conf.iterationCount : 1; + if (process.env.NODE_ENV !== "production") { + if (!(Number.isInteger(iterationCount) && iterationCount > 0) && iterationCount !== Infinity) { + throw new InvalidArgumentError( + "Argument conf.iterationCount in sequence.play(conf) must be an integer larger than 0. ".concat(JSON.stringify( + iterationCount + ), " given.") + ); + } + } + const rate = conf && typeof conf.rate !== "undefined" ? conf.rate : 1; + if (process.env.NODE_ENV !== "production") { + if (typeof rate !== "number" || rate === 0) { + throw new InvalidArgumentError( + "Argument conf.rate in sequence.play(conf) must be a number larger than 0. ".concat(JSON.stringify( + rate + ), " given.") + ); + } + if (rate < 0) { + throw new InvalidArgumentError( + "Argument conf.rate in sequence.play(conf) must be a number larger than 0. ".concat(JSON.stringify( + rate + ), " given. If you want the animation to play backwards, try setting conf.direction to 'reverse' or 'alternateReverse'.") + ); + } + } + const direction = conf && conf.direction ? conf.direction : "normal"; + if (process.env.NODE_ENV !== "production") { + if (possibleDirections.indexOf(direction) === -1) { + throw new InvalidArgumentError( + "Argument conf.direction in sequence.play(conf) must be one of ".concat(JSON.stringify( + possibleDirections + ), ". ").concat(JSON.stringify(direction), " given. ").concat(didYouMean( + direction, + possibleDirections + )) + ); + } + } + return await this._play( + iterationCount, + [range[0], range[1]], + rate, + direction, + ticker + ); + } + _play(iterationCount, range, rate, direction, ticker) { + return this._playbackControllerBox.get().play(iterationCount, range, rate, direction, ticker); + } + pause() { + this._playbackControllerBox.get().pause(); + } + replacePlaybackController(playbackController) { + this.pause(); + const oldController = this._playbackControllerBox.get(); + this._playbackControllerBox.set(playbackController); + const time = oldController.getCurrentPosition(); + oldController.destroy(); + playbackController.gotoPosition(time); + } +}; +var TimeBasedPositionFormatter = class { + constructor(_fps) { + this._fps = _fps; + } + formatSubUnitForGrid(posInUnitSpace) { + const subSecondPos = posInUnitSpace % 1; + const frame = 1 / this._fps; + const frames = Math.round(subSecondPos / frame); + return frames + "f"; + } + formatFullUnitForGrid(posInUnitSpace) { + let p2 = posInUnitSpace; + let s2 = ""; + if (p2 >= hour) { + const hours = Math.floor(p2 / hour); + s2 += hours + "h"; + p2 = p2 % hour; + } + if (p2 >= minute) { + const minutes = Math.floor(p2 / minute); + s2 += minutes + "m"; + p2 = p2 % minute; + } + if (p2 >= second) { + const seconds = Math.floor(p2 / second); + s2 += seconds + "s"; + p2 = p2 % second; + } + const frame = 1 / this._fps; + if (p2 >= frame) { + const frames = Math.floor(p2 / frame); + s2 += frames + "f"; + p2 = p2 % frame; + } + return s2.length === 0 ? "0s" : s2; + } + formatForPlayhead(posInUnitSpace) { + let p2 = posInUnitSpace; + let s2 = ""; + if (p2 >= hour) { + const hours = Math.floor(p2 / hour); + s2 += padStart_default(hours.toString(), 2, "0") + "h"; + p2 = p2 % hour; + } + if (p2 >= minute) { + const minutes = Math.floor(p2 / minute); + s2 += padStart_default(minutes.toString(), 2, "0") + "m"; + p2 = p2 % minute; + } else if (s2.length > 0) { + s2 += "00m"; + } + if (p2 >= second) { + const seconds = Math.floor(p2 / second); + s2 += padStart_default(seconds.toString(), 2, "0") + "s"; + p2 = p2 % second; + } else { + s2 += "00s"; + } + const frameLength = 1 / this._fps; + if (p2 >= frameLength) { + const frames = Math.round(p2 / frameLength); + s2 += padStart_default(frames.toString(), 2, "0") + "f"; + p2 = p2 % frameLength; + } else if (p2 / frameLength > 0.98) { + const frames = 1; + s2 += padStart_default(frames.toString(), 2, "0") + "f"; + p2 = p2 % frameLength; + } else { + s2 += "00f"; + } + return s2.length === 0 ? "00s00f" : s2; + } + formatBasic(posInUnitSpace) { + return posInUnitSpace.toFixed(2) + "s"; + } +}; +var second = 1; +var minute = second * 60; +var hour = minute * 60; + +// core/src/propTypes/index.ts +var propTypes_exports = {}; +__export(propTypes_exports, { + boolean: () => boolean, + compound: () => compound, + file: () => file, + image: () => image, + number: () => number, + rgba: () => rgba, + string: () => string, + stringLiteral: () => stringLiteral +}); + +// shared/src/utils/ellipsify.ts +function ellipsify(str, maxLength) { + if (str.length <= maxLength) + return str; + return str.substr(0, maxLength - 3) + "..."; +} + +// shared/src/utils/userReadableTypeOfValue.ts +var userReadableTypeOfValue = (v2) => { + if (typeof v2 === "string") { + return 'string("'.concat(ellipsify(v2, 10), '")'); + } else if (typeof v2 === "number") { + return "number(".concat(ellipsify(String(v2), 10), ")"); + } else if (v2 === null) { + return "null"; + } else if (v2 === void 0) { + return "undefined"; + } else if (typeof v2 === "boolean") { + return String(v2); + } else if (Array.isArray(v2)) { + return "array"; + } else if (typeof v2 === "object") { + return "object"; + } else { + return "unknown"; + } +}; +var userReadableTypeOfValue_default = userReadableTypeOfValue; + +// shared/src/utils/color.ts +function rgba2hex(rgba2, { + /** Alpha is usually an optional value for most hex inputs, so if it's opaque, we can omit its value. */ + removeAlphaIfOpaque = false +} = {}) { + const alpha = (rgba2.a * 255 | 1 << 8).toString(16).slice(1); + const hex = (rgba2.r * 255 | 1 << 8).toString(16).slice(1) + (rgba2.g * 255 | 1 << 8).toString(16).slice(1) + (rgba2.b * 255 | 1 << 8).toString(16).slice(1) + (removeAlphaIfOpaque && alpha === "ff" ? "" : alpha); + return "#".concat(hex); +} +function decorateRgba(rgba2) { + return __spreadProps(__spreadValues({}, rgba2), { + toString() { + return rgba2hex(this, { removeAlphaIfOpaque: true }); + } + }); +} +function clampRgba(rgba2) { + return Object.fromEntries( + Object.entries(rgba2).map(([key, value]) => [key, clamp_default(value, 0, 1)]) + ); +} +function linearSrgbToSrgb(rgba2) { + function compress(x2) { + if (x2 >= 31308e-7) + return 1.055 * x2 ** (1 / 2.4) - 0.055; + else + return 12.92 * x2; + } + return clampRgba({ + r: compress(rgba2.r), + g: compress(rgba2.g), + b: compress(rgba2.b), + a: rgba2.a + }); +} +function srgbToLinearSrgb(rgba2) { + function expand(x2) { + if (x2 >= 0.04045) + return ((x2 + 0.055) / (1 + 0.055)) ** 2.4; + else + return x2 / 12.92; + } + return { + r: expand(rgba2.r), + g: expand(rgba2.g), + b: expand(rgba2.b), + a: rgba2.a + }; +} +function linearSrgbToOklab(rgba2) { + let l2 = 0.4122214708 * rgba2.r + 0.5363325363 * rgba2.g + 0.0514459929 * rgba2.b; + let m = 0.2119034982 * rgba2.r + 0.6806995451 * rgba2.g + 0.1073969566 * rgba2.b; + let s2 = 0.0883024619 * rgba2.r + 0.2817188376 * rgba2.g + 0.6299787005 * rgba2.b; + let l_ = Math.cbrt(l2); + let m_ = Math.cbrt(m); + let s_ = Math.cbrt(s2); + return { + L: 0.2104542553 * l_ + 0.793617785 * m_ - 0.0040720468 * s_, + a: 1.9779984951 * l_ - 2.428592205 * m_ + 0.4505937099 * s_, + b: 0.0259040371 * l_ + 0.7827717662 * m_ - 0.808675766 * s_, + alpha: rgba2.a + }; +} +function oklabToLinearSrgb(laba) { + let l_ = laba.L + 0.3963377774 * laba.a + 0.2158037573 * laba.b; + let m_ = laba.L - 0.1055613458 * laba.a - 0.0638541728 * laba.b; + let s_ = laba.L - 0.0894841775 * laba.a - 1.291485548 * laba.b; + let l2 = l_ * l_ * l_; + let m = m_ * m_ * m_; + let s2 = s_ * s_ * s_; + return { + r: 4.0767416621 * l2 - 3.3077115913 * m + 0.2309699292 * s2, + g: -1.2684380046 * l2 + 2.6097574011 * m - 0.3413193965 * s2, + b: -0.0041960863 * l2 - 0.7034186147 * m + 1.707614701 * s2, + a: laba.alpha + }; +} + +// core/src/propTypes/internals.ts +var propTypeSymbol = Symbol("TheatrePropType_Basic"); +function isLonghandPropType(t2) { + return typeof t2 === "object" && !!t2 && t2[propTypeSymbol] === "TheatrePropType"; +} +function toLonghandProp(p2) { + if (typeof p2 === "number") { + return number(p2); + } else if (typeof p2 === "boolean") { + return boolean(p2); + } else if (typeof p2 === "string") { + return string(p2); + } else if (typeof p2 === "object" && !!p2) { + if (isLonghandPropType(p2)) + return p2; + if (isPlainObject_default(p2)) { + return compound(p2); + } else { + throw new InvalidArgumentError( + "This value is not a valid prop type: ".concat(userReadableTypeOfValue_default(p2)) + ); + } + } else { + throw new InvalidArgumentError( + "This value is not a valid prop type: ".concat(userReadableTypeOfValue_default(p2)) + ); + } +} +function sanitizeCompoundProps(props) { + const sanitizedProps = {}; + if (process.env.NODE_ENV !== "production") { + if (typeof props !== "object" || !props) { + throw new InvalidArgumentError( + "t.compound() expects an object, like: {x: 10}. ".concat(userReadableTypeOfValue_default( + props + ), " given.") + ); + } + } + for (const key of Object.keys(props)) { + if (process.env.NODE_ENV !== "production") { + if (typeof key !== "string") { + throw new InvalidArgumentError( + "t.compound()'s keys must be all strings. ".concat(userReadableTypeOfValue_default( + key + ), " given.") + ); + } else if (key.length === 0 || !key.match(/^\w+$/)) { + throw new InvalidArgumentError( + "compound key ".concat(userReadableTypeOfValue_default( + key + ), " is invalid. The keys must be alphanumeric and start with a letter.") + ); + } else if (key.length > 64) { + throw new InvalidArgumentError( + "compound key ".concat(userReadableTypeOfValue_default(key), " is too long.") + ); + } + } + const val8 = props[key]; + if (isLonghandPropType(val8)) { + sanitizedProps[key] = val8; + } else { + sanitizedProps[key] = toLonghandProp(val8); + } + } + return sanitizedProps; +} + +// core/src/propTypes/index.ts +var validateCommonOpts = (fnCallSignature, opts) => { + if (process.env.NODE_ENV !== "production") { + if (opts === void 0) + return; + if (typeof opts !== "object" || opts === null) { + throw new Error( + "opts in ".concat(fnCallSignature, " must either be undefined or an object.") + ); + } + if (Object.prototype.hasOwnProperty.call(opts, "label")) { + const { label } = opts; + if (typeof label !== "string") { + throw new Error( + "opts.label in ".concat(fnCallSignature, " should be a string. ").concat(userReadableTypeOfValue_default( + label + ), " given.") + ); + } + if (label.trim().length !== label.length) { + throw new Error( + "opts.label in ".concat(fnCallSignature, ' should not start/end with whitespace. "').concat(label, '" given.') + ); + } + if (label.length === 0) { + throw new Error( + "opts.label in ".concat(fnCallSignature, " should not be an empty string. If you wish to have no label, remove opts.label from opts.") + ); + } + } + } +}; +var compound = (props, opts = {}) => { + validateCommonOpts("t.compound(props, opts)", opts); + const sanitizedProps = sanitizeCompoundProps(props); + const deserializationCache = /* @__PURE__ */ new WeakMap(); + const config = { + type: "compound", + props: sanitizedProps, + valueType: null, + [propTypeSymbol]: "TheatrePropType", + label: opts.label, + default: mapValues_default(sanitizedProps, (p2) => p2.default), + deserializeAndSanitize: (json) => { + if (typeof json !== "object" || !json) + return void 0; + if (deserializationCache.has(json)) { + return deserializationCache.get(json); + } + const deserialized = {}; + let atLeastOnePropWasDeserialized = false; + for (const [key, propConfig] of Object.entries(sanitizedProps)) { + if (Object.prototype.hasOwnProperty.call(json, key)) { + const deserializedSub = propConfig.deserializeAndSanitize( + json[key] + ); + if (deserializedSub != null) { + atLeastOnePropWasDeserialized = true; + deserialized[key] = deserializedSub; + } + } + } + deserializationCache.set(json, deserialized); + if (atLeastOnePropWasDeserialized) { + return deserialized; + } + } + }; + return config; +}; +var file = (defaultValue, opts = {}) => { + if (process.env.NODE_ENV !== "production") { + validateCommonOpts("t.file(defaultValue, opts)", opts); + } + const interpolate = (left, right, progression) => { + var _a; + const stringInterpolate = (_a = opts.interpolate) != null ? _a : leftInterpolate; + return { + type: "file", + id: stringInterpolate(left.id, right.id, progression) + }; + }; + return { + type: "file", + default: { type: "file", id: defaultValue }, + valueType: null, + [propTypeSymbol]: "TheatrePropType", + label: opts.label, + interpolate, + deserializeAndSanitize: _ensureFile + }; +}; +var _ensureFile = (val8) => { + if (!val8) + return void 0; + let valid = true; + if (typeof val8.id !== "string" && ![null, void 0].includes(val8.id)) { + valid = false; + } + if (val8.type !== "file") + valid = false; + if (!valid) + return void 0; + return val8; +}; +var image = (defaultValue, opts = {}) => { + if (process.env.NODE_ENV !== "production") { + validateCommonOpts("t.image(defaultValue, opts)", opts); + } + const interpolate = (left, right, progression) => { + var _a; + const stringInterpolate = (_a = opts.interpolate) != null ? _a : leftInterpolate; + return { + type: "image", + id: stringInterpolate(left.id, right.id, progression) + }; + }; + return { + type: "image", + default: { type: "image", id: defaultValue }, + valueType: null, + [propTypeSymbol]: "TheatrePropType", + label: opts.label, + interpolate, + deserializeAndSanitize: _ensureImage + }; +}; +var _ensureImage = (val8) => { + if (!val8) + return void 0; + let valid = true; + if (typeof val8.id !== "string" && ![null, void 0].includes(val8.id)) { + valid = false; + } + if (val8.type !== "image") + valid = false; + if (!valid) + return void 0; + return val8; +}; +var number = (defaultValue, opts = {}) => { + var _a; + if (process.env.NODE_ENV !== "production") { + validateCommonOpts("t.number(defaultValue, opts)", opts); + if (typeof defaultValue !== "number" || !isFinite(defaultValue)) { + throw new Error( + "Argument defaultValue in t.number(defaultValue) must be a number. ".concat(userReadableTypeOfValue_default( + defaultValue + ), " given.") + ); + } + if (typeof opts === "object" && opts !== null) { + if (Object.prototype.hasOwnProperty.call(opts, "range")) { + if (!Array.isArray(opts.range)) { + throw new Error( + "opts.range in t.number(defaultValue, opts) must be a tuple of two numbers. ".concat(userReadableTypeOfValue_default( + opts.range + ), " given.") + ); + } + if (opts.range.length !== 2) { + throw new Error( + "opts.range in t.number(defaultValue, opts) must have two elements. ".concat(opts.range.length, " given.") + ); + } + if (!opts.range.every((n2) => typeof n2 === "number" && !isNaN(n2))) { + throw new Error( + "opts.range in t.number(defaultValue, opts) must be a tuple of two numbers." + ); + } + if (opts.range[0] >= opts.range[1]) { + throw new Error( + "opts.range[0] in t.number(defaultValue, opts) must be smaller than opts.range[1]. Given: ".concat(JSON.stringify( + opts.range + )) + ); + } + } + if (Object.prototype.hasOwnProperty.call(opts, "nudgeMultiplier")) { + if (typeof opts.nudgeMultiplier !== "number" || !isFinite(opts.nudgeMultiplier)) { + throw new Error( + "opts.nudgeMultiplier in t.number(defaultValue, opts) must be a finite number. ".concat(userReadableTypeOfValue_default( + opts.nudgeMultiplier + ), " given.") + ); + } + } + if (Object.prototype.hasOwnProperty.call(opts, "nudgeFn")) { + if (typeof opts.nudgeFn !== "function") { + throw new Error( + "opts.nudgeFn in t.number(defaultValue, opts) must be a function. ".concat(userReadableTypeOfValue_default( + opts.nudgeFn + ), " given.") + ); + } + } + } + } + return __spreadProps(__spreadValues({ + type: "number", + valueType: 0, + default: defaultValue, + [propTypeSymbol]: "TheatrePropType" + }, opts ? opts : {}), { + label: opts.label, + nudgeFn: (_a = opts.nudgeFn) != null ? _a : defaultNumberNudgeFn, + nudgeMultiplier: typeof opts.nudgeMultiplier === "number" ? opts.nudgeMultiplier : void 0, + interpolate: _interpolateNumber, + deserializeAndSanitize: numberDeserializer(opts.range) + }); +}; +var numberDeserializer = (range) => range ? (json) => { + if (!(typeof json === "number" && isFinite(json))) + return void 0; + return clamp_default(json, range[0], range[1]); +} : _ensureNumber; +var _ensureNumber = (value) => typeof value === "number" && isFinite(value) ? value : void 0; +var _interpolateNumber = (left, right, progression) => { + return left + progression * (right - left); +}; +var rgba = (defaultValue = { r: 0, g: 0, b: 0, a: 1 }, opts = {}) => { + if (process.env.NODE_ENV !== "production") { + validateCommonOpts("t.rgba(defaultValue, opts)", opts); + let valid = true; + for (const p2 of ["r", "g", "b", "a"]) { + if (!Object.prototype.hasOwnProperty.call(defaultValue, p2) || typeof defaultValue[p2] !== "number") { + valid = false; + } + } + if (!valid) { + throw new Error( + "Argument defaultValue in t.rgba(defaultValue) must be of the shape { r: number; g: number, b: number, a: number; }." + ); + } + } + const sanitized = {}; + for (const component of ["r", "g", "b", "a"]) { + ; + sanitized[component] = Math.min( + Math.max(defaultValue[component], 0), + 1 + ); + } + return { + type: "rgba", + valueType: null, + default: decorateRgba(sanitized), + [propTypeSymbol]: "TheatrePropType", + label: opts.label, + interpolate: _interpolateRgba, + deserializeAndSanitize: _sanitizeRgba + }; +}; +var _sanitizeRgba = (val8) => { + if (!val8) + return void 0; + let valid = true; + for (const c2 of ["r", "g", "b", "a"]) { + if (!Object.prototype.hasOwnProperty.call(val8, c2) || typeof val8[c2] !== "number") { + valid = false; + } + } + if (!valid) + return void 0; + const sanitized = {}; + for (const c2 of ["r", "g", "b", "a"]) { + ; + sanitized[c2] = Math.min( + Math.max(val8[c2], 0), + 1 + ); + } + return decorateRgba(sanitized); +}; +var _interpolateRgba = (left, right, progression) => { + const leftLab = linearSrgbToOklab(srgbToLinearSrgb(left)); + const rightLab = linearSrgbToOklab(srgbToLinearSrgb(right)); + const interpolatedLab = { + L: (1 - progression) * leftLab.L + progression * rightLab.L, + a: (1 - progression) * leftLab.a + progression * rightLab.a, + b: (1 - progression) * leftLab.b + progression * rightLab.b, + alpha: (1 - progression) * leftLab.alpha + progression * rightLab.alpha + }; + const interpolatedRgba = linearSrgbToSrgb(oklabToLinearSrgb(interpolatedLab)); + return decorateRgba(interpolatedRgba); +}; +var boolean = (defaultValue, opts = {}) => { + var _a; + if (process.env.NODE_ENV !== "production") { + validateCommonOpts("t.boolean(defaultValue, opts)", opts); + if (typeof defaultValue !== "boolean") { + throw new Error( + "defaultValue in t.boolean(defaultValue) must be a boolean. ".concat(userReadableTypeOfValue_default( + defaultValue + ), " given.") + ); + } + } + return { + type: "boolean", + default: defaultValue, + valueType: null, + [propTypeSymbol]: "TheatrePropType", + label: opts.label, + interpolate: (_a = opts.interpolate) != null ? _a : leftInterpolate, + deserializeAndSanitize: _ensureBoolean + }; +}; +var _ensureBoolean = (val8) => { + return typeof val8 === "boolean" ? val8 : void 0; +}; +function leftInterpolate(left) { + return left; +} +var string = (defaultValue, opts = {}) => { + var _a; + if (process.env.NODE_ENV !== "production") { + validateCommonOpts("t.string(defaultValue, opts)", opts); + if (typeof defaultValue !== "string") { + throw new Error( + "defaultValue in t.string(defaultValue) must be a string. ".concat(userReadableTypeOfValue_default( + defaultValue + ), " given.") + ); + } + } + return { + type: "string", + default: defaultValue, + valueType: null, + [propTypeSymbol]: "TheatrePropType", + label: opts.label, + interpolate: (_a = opts.interpolate) != null ? _a : leftInterpolate, + deserializeAndSanitize: _ensureString + }; +}; +function _ensureString(s2) { + return typeof s2 === "string" ? s2 : void 0; +} +function stringLiteral(defaultValue, valuesAndLabels, opts = {}) { + var _a, _b; + return { + type: "stringLiteral", + default: defaultValue, + valuesAndLabels: __spreadValues({}, valuesAndLabels), + [propTypeSymbol]: "TheatrePropType", + valueType: null, + as: (_a = opts.as) != null ? _a : "menu", + label: opts.label, + interpolate: (_b = opts.interpolate) != null ? _b : leftInterpolate, + deserializeAndSanitize(json) { + if (typeof json !== "string") + return void 0; + if (Object.prototype.hasOwnProperty.call(valuesAndLabels, json)) { + return json; + } else { + return void 0; + } + } + }; +} +var defaultNumberNudgeFn = ({ + config, + deltaX, + deltaFraction, + magnitude +}) => { + var _a; + const { range } = config; + if (!config.nudgeMultiplier && range && !range.includes(Infinity) && !range.includes(-Infinity)) { + return deltaFraction * (range[1] - range[0]) * magnitude; + } + return deltaX * magnitude * ((_a = config.nudgeMultiplier) != null ? _a : 1); +}; + +// shared/src/utils/slashedPaths.ts +var normalizeSlashedPath = (p2) => p2.replace(/^[\s\/]*/, "").replace(/[\s\/]*$/, "").replace(/\s*\/\s*/g, " / "); +var getValidationErrorsOfSlashedPath = (p2) => { + if (typeof p2 !== "string") + return "it is not a string. (it is a ".concat(typeof p2, ")"); + const components = p2.split(/\//); + if (components.length === 0) + return "it is empty."; + for (let i2 = 0; i2 < components.length; i2++) { + const component = components[i2].trim(); + if (component.length === 0) + return "the component #".concat(i2 + 1, " is empty."); + if (component.length > 64) + return "the component '".concat(component, "' must have 64 characters or less."); + } +}; +function validateAndSanitiseSlashedPathOrThrow(unsanitisedPath, fnName) { + const sanitisedPath = normalizeSlashedPath(unsanitisedPath); + if (process.env.NODE_ENV !== "development") { + return sanitisedPath; + } + const validation = getValidationErrorsOfSlashedPath(sanitisedPath); + if (validation) { + throw new InvalidArgumentError( + "The path in ".concat(fnName, "(").concat(typeof unsanitisedPath === "string" ? '"'.concat(unsanitisedPath, '"') : "", ") is invalid because ").concat(validation) + ); + } + if (unsanitisedPath !== sanitisedPath) { + notify.warning( + "Invalid path provided to object", + "The path in `".concat(fnName, '("').concat(unsanitisedPath, '")` was sanitized to `"').concat(sanitisedPath, '"`.\n\n') + "Please replace the path with the sanitized one, otherwise it will likely break in the future.", + [ + { + url: "https://www.theatrejs.com/docs/latest/manual/objects#creating-sheet-objects", + title: "Sheet Objects" + }, + { + url: "https://www.theatrejs.com/docs/latest/api/core#sheet.object", + title: "API" + } + ] + ); + } + return sanitisedPath; +} + +// core/src/sheets/TheatreSheet.ts +var import_fast_deep_equal = __toESM(require_fast_deep_equal()); +var weakMapOfUnsanitizedProps = /* @__PURE__ */ new WeakMap(); +var TheatreSheet = class { + get type() { + return "Theatre_Sheet_PublicAPI"; + } + /** + * @internal + */ + constructor(sheet) { + setPrivateAPI(this, sheet); + } + object(key, config, opts) { + const internal2 = privateAPI(this); + const sanitizedPath = validateAndSanitiseSlashedPathOrThrow( + key, + "sheet.object" + ); + const existingObject = internal2.getObject(sanitizedPath); + const nativeObject = null; + const actions = opts == null ? void 0 : opts.__actions__THIS_API_IS_UNSTABLE_AND_WILL_CHANGE_IN_THE_NEXT_VERSION; + if (existingObject) { + if (process.env.NODE_ENV !== "production") { + const prevConfig = weakMapOfUnsanitizedProps.get(existingObject); + if (prevConfig) { + if (!(0, import_fast_deep_equal.default)(config, prevConfig)) { + if ((opts == null ? void 0 : opts.reconfigure) === true) { + const sanitizedConfig = compound(config); + existingObject.template.reconfigure(sanitizedConfig); + weakMapOfUnsanitizedProps.set(existingObject, config); + return existingObject.publicApi; + } else { + throw new Error( + 'You seem to have called sheet.object("'.concat(key, '", config) twice, with different values for `config`. ') + "This is disallowed because changing the config of an object on the fly would make it difficult to reason about.\n\n" + 'You can fix this by either re-using the existing object, or calling sheet.object("'.concat(key, '", config) with the same config.\n\n') + "If you mean to reconfigure the object's config, set `{reconfigure: true}` in sheet.object(\"".concat(key, '", config, {reconfigure: true})') + ); + } + } + } + } + if (actions) { + existingObject.template._temp_setActions(actions); + } + return existingObject.publicApi; + } else { + const sanitizedConfig = compound(config); + const object = internal2.createObject( + sanitizedPath, + nativeObject, + sanitizedConfig, + actions + ); + if (process.env.NODE_ENV !== "production") { + weakMapOfUnsanitizedProps.set(object, config); + } + return object.publicApi; + } + } + __experimental_getExistingObject(key) { + const internal2 = privateAPI(this); + const sanitizedPath = validateAndSanitiseSlashedPathOrThrow( + key, + "sheet.object" + ); + const existingObject = internal2.getObject(sanitizedPath); + return existingObject == null ? void 0 : existingObject.publicApi; + } + get sequence() { + return privateAPI(this).getSequence().publicApi; + } + get project() { + return privateAPI(this).project.publicApi; + } + get address() { + return __spreadValues({}, privateAPI(this).address); + } + detachObject(key) { + const internal2 = privateAPI(this); + const sanitizedPath = validateAndSanitiseSlashedPathOrThrow( + key, + 'sheet.deleteObject("'.concat(key, '")') + ); + const obj = internal2.getObject(sanitizedPath); + if (!obj) { + notify.warning( + "Couldn't delete object \"".concat(sanitizedPath, '"'), + 'There is no object with key "'.concat(sanitizedPath, '".\n\nTo fix this, make sure you are calling `sheet.deleteObject("').concat(sanitizedPath, '")` with the correct key.') + ); + console.warn('Object key "'.concat(sanitizedPath, '" does not exist.')); + return; + } + internal2.deleteObject(sanitizedPath); + } +}; + +// core/src/sheets/Sheet.ts +var import_dataverse14 = require("@theatre/dataverse"); +var Sheet = class { + constructor(template, instanceId) { + this.template = template; + this.instanceId = instanceId; + __publicField(this, "_objects", new import_dataverse14.Atom({})); + __publicField(this, "_sequence"); + __publicField(this, "address"); + __publicField(this, "publicApi"); + __publicField(this, "project"); + __publicField(this, "objectsP", this._objects.pointer); + __publicField(this, "type", "Theatre_Sheet"); + __publicField(this, "_logger"); + this._logger = template.project._logger.named("Sheet", instanceId); + this._logger._trace("creating sheet"); + this.project = template.project; + this.address = __spreadProps(__spreadValues({}, template.address), { + sheetInstanceId: this.instanceId + }); + this.publicApi = new TheatreSheet(this); + } + /** + * @remarks At some point, we have to reconcile the concept of "an object" + * with that of "an element." + */ + createObject(objectKey, nativeObject, config, actions = {}) { + const objTemplate = this.template.getObjectTemplate( + objectKey, + nativeObject, + config, + actions + ); + const object = objTemplate.createInstance(this, nativeObject, config); + this._objects.setByPointer((p2) => p2[objectKey], object); + return object; + } + getObject(key) { + return this._objects.get()[key]; + } + deleteObject(objectKey) { + this._objects.reduce((state) => { + const newState = __spreadValues({}, state); + delete newState[objectKey]; + return newState; + }); + } + getSequence() { + if (!this._sequence) { + const lengthD = (0, import_dataverse14.prism)(() => { + const unsanitized = (0, import_dataverse14.val)( + this.project.pointers.historic.sheetsById[this.address.sheetId].sequence.length + ); + return sanitizeSequenceLength(unsanitized); + }); + const subUnitsPerUnitD = (0, import_dataverse14.prism)(() => { + const unsanitized = (0, import_dataverse14.val)( + this.project.pointers.historic.sheetsById[this.address.sheetId].sequence.subUnitsPerUnit + ); + return sanitizeSequenceSubUnitsPerUnit(unsanitized); + }); + this._sequence = new Sequence( + this.template.project, + this, + lengthD, + subUnitsPerUnitD + ); + } + return this._sequence; + } +}; +var sanitizeSequenceLength = (len) => typeof len === "number" && isFinite(len) && len > 0 ? len : 10; +var sanitizeSequenceSubUnitsPerUnit = (subs) => typeof subs === "number" && isInteger_default(subs) && subs >= 1 && subs <= 1e3 ? subs : 30; + +// core/src/sheets/SheetTemplate.ts +var SheetTemplate = class { + constructor(project, sheetId) { + this.project = project; + __publicField(this, "type", "Theatre_SheetTemplate"); + __publicField(this, "address"); + __publicField(this, "_instances", new import_dataverse15.Atom({})); + __publicField(this, "instancesP", this._instances.pointer); + __publicField(this, "_objectTemplates", new import_dataverse15.Atom({})); + __publicField(this, "objectTemplatesP", this._objectTemplates.pointer); + this.address = __spreadProps(__spreadValues({}, project.address), { sheetId }); + } + getInstance(instanceId) { + let inst = this._instances.get()[instanceId]; + if (!inst) { + inst = new Sheet(this, instanceId); + this._instances.setByPointer((p2) => p2[instanceId], inst); + } + return inst; + } + getObjectTemplate(objectKey, nativeObject, config, actions) { + let template = this._objectTemplates.get()[objectKey]; + if (!template) { + template = new SheetObjectTemplate( + this, + objectKey, + nativeObject, + config, + actions + ); + this._objectTemplates.setByPointer((p2) => p2[objectKey], template); + } + return template; + } +}; + +// core/src/projects/Project.ts +var import_dataverse16 = require("@theatre/dataverse"); +var import_dataverse17 = require("@theatre/dataverse"); + +// shared/src/utils/delay.ts +var delay = (dur) => new Promise((resolve) => setTimeout(resolve, dur)); +var delay_default = delay; + +// ../node_modules/immer/dist/immer.esm.js +function n(n2) { + for (var t2 = arguments.length, r2 = Array(t2 > 1 ? t2 - 1 : 0), e2 = 1; e2 < t2; e2++) + r2[e2 - 1] = arguments[e2]; + if ("production" !== process.env.NODE_ENV) { + var i2 = Y[n2], o2 = i2 ? "function" == typeof i2 ? i2.apply(null, r2) : i2 : "unknown error nr: " + n2; + throw Error("[Immer] " + o2); + } + throw Error("[Immer] minified error nr: " + n2 + (r2.length ? " " + r2.map(function(n3) { + return "'" + n3 + "'"; + }).join(",") : "") + ". Find the full error at: https://bit.ly/3cXEKWf"); +} +function t(n2) { + return !!n2 && !!n2[Q]; +} +function r(n2) { + return !!n2 && (function(n3) { + if (!n3 || "object" != typeof n3) + return false; + var t2 = Object.getPrototypeOf(n3); + if (null === t2) + return true; + var r2 = Object.hasOwnProperty.call(t2, "constructor") && t2.constructor; + return r2 === Object || "function" == typeof r2 && Function.toString.call(r2) === Z; + }(n2) || Array.isArray(n2) || !!n2[L] || !!n2.constructor[L] || s(n2) || v(n2)); +} +function e(r2) { + return t(r2) || n(23, r2), r2[Q].t; +} +function i(n2, t2, r2) { + void 0 === r2 && (r2 = false), 0 === o(n2) ? (r2 ? Object.keys : nn)(n2).forEach(function(e2) { + r2 && "symbol" == typeof e2 || t2(e2, n2[e2], n2); + }) : n2.forEach(function(r3, e2) { + return t2(e2, r3, n2); + }); +} +function o(n2) { + var t2 = n2[Q]; + return t2 ? t2.i > 3 ? t2.i - 4 : t2.i : Array.isArray(n2) ? 1 : s(n2) ? 2 : v(n2) ? 3 : 0; +} +function u(n2, t2) { + return 2 === o(n2) ? n2.has(t2) : Object.prototype.hasOwnProperty.call(n2, t2); +} +function a(n2, t2) { + return 2 === o(n2) ? n2.get(t2) : n2[t2]; +} +function f(n2, t2, r2) { + var e2 = o(n2); + 2 === e2 ? n2.set(t2, r2) : 3 === e2 ? (n2.delete(t2), n2.add(r2)) : n2[t2] = r2; +} +function c(n2, t2) { + return n2 === t2 ? 0 !== n2 || 1 / n2 == 1 / t2 : n2 != n2 && t2 != t2; +} +function s(n2) { + return X && n2 instanceof Map; +} +function v(n2) { + return q && n2 instanceof Set; +} +function p(n2) { + return n2.o || n2.t; +} +function l(n2) { + if (Array.isArray(n2)) + return Array.prototype.slice.call(n2); + var t2 = tn(n2); + delete t2[Q]; + for (var r2 = nn(t2), e2 = 0; e2 < r2.length; e2++) { + var i2 = r2[e2], o2 = t2[i2]; + false === o2.writable && (o2.writable = true, o2.configurable = true), (o2.get || o2.set) && (t2[i2] = { configurable: true, writable: true, enumerable: o2.enumerable, value: n2[i2] }); + } + return Object.create(Object.getPrototypeOf(n2), t2); +} +function d(n2, e2) { + return void 0 === e2 && (e2 = false), y(n2) || t(n2) || !r(n2) ? n2 : (o(n2) > 1 && (n2.set = n2.add = n2.clear = n2.delete = h), Object.freeze(n2), e2 && i(n2, function(n3, t2) { + return d(t2, true); + }, true), n2); +} +function h() { + n(2); +} +function y(n2) { + return null == n2 || "object" != typeof n2 || Object.isFrozen(n2); +} +function b(t2) { + var r2 = rn[t2]; + return r2 || n(18, t2), r2; +} +function _() { + return "production" === process.env.NODE_ENV || U || n(0), U; +} +function j(n2, t2) { + t2 && (b("Patches"), n2.u = [], n2.s = [], n2.v = t2); +} +function O(n2) { + g(n2), n2.p.forEach(S), n2.p = null; +} +function g(n2) { + n2 === U && (U = n2.l); +} +function w(n2) { + return U = { p: [], l: U, h: n2, m: true, _: 0 }; +} +function S(n2) { + var t2 = n2[Q]; + 0 === t2.i || 1 === t2.i ? t2.j() : t2.O = true; +} +function P(t2, e2) { + e2._ = e2.p.length; + var i2 = e2.p[0], o2 = void 0 !== t2 && t2 !== i2; + return e2.h.g || b("ES5").S(e2, t2, o2), o2 ? (i2[Q].P && (O(e2), n(4)), r(t2) && (t2 = M(e2, t2), e2.l || x(e2, t2)), e2.u && b("Patches").M(i2[Q], t2, e2.u, e2.s)) : t2 = M(e2, i2, []), O(e2), e2.u && e2.v(e2.u, e2.s), t2 !== H ? t2 : void 0; +} +function M(n2, t2, r2) { + if (y(t2)) + return t2; + var e2 = t2[Q]; + if (!e2) + return i(t2, function(i2, o3) { + return A(n2, e2, t2, i2, o3, r2); + }, true), t2; + if (e2.A !== n2) + return t2; + if (!e2.P) + return x(n2, e2.t, true), e2.t; + if (!e2.I) { + e2.I = true, e2.A._--; + var o2 = 4 === e2.i || 5 === e2.i ? e2.o = l(e2.k) : e2.o; + i(3 === e2.i ? new Set(o2) : o2, function(t3, i2) { + return A(n2, e2, o2, t3, i2, r2); + }), x(n2, o2, false), r2 && n2.u && b("Patches").R(e2, r2, n2.u, n2.s); + } + return e2.o; +} +function A(e2, i2, o2, a2, c2, s2) { + if ("production" !== process.env.NODE_ENV && c2 === o2 && n(5), t(c2)) { + var v2 = M(e2, c2, s2 && i2 && 3 !== i2.i && !u(i2.D, a2) ? s2.concat(a2) : void 0); + if (f(o2, a2, v2), !t(v2)) + return; + e2.m = false; + } + if (r(c2) && !y(c2)) { + if (!e2.h.F && e2._ < 1) + return; + M(e2, c2), i2 && i2.A.l || x(e2, c2); + } +} +function x(n2, t2, r2) { + void 0 === r2 && (r2 = false), n2.h.F && n2.m && d(t2, r2); +} +function z(n2, t2) { + var r2 = n2[Q]; + return (r2 ? p(r2) : n2)[t2]; +} +function I(n2, t2) { + if (t2 in n2) + for (var r2 = Object.getPrototypeOf(n2); r2; ) { + var e2 = Object.getOwnPropertyDescriptor(r2, t2); + if (e2) + return e2; + r2 = Object.getPrototypeOf(r2); + } +} +function k(n2) { + n2.P || (n2.P = true, n2.l && k(n2.l)); +} +function E(n2) { + n2.o || (n2.o = l(n2.t)); +} +function R(n2, t2, r2) { + var e2 = s(t2) ? b("MapSet").N(t2, r2) : v(t2) ? b("MapSet").T(t2, r2) : n2.g ? function(n3, t3) { + var r3 = Array.isArray(n3), e3 = { i: r3 ? 1 : 0, A: t3 ? t3.A : _(), P: false, I: false, D: {}, l: t3, t: n3, k: null, o: null, j: null, C: false }, i2 = e3, o2 = en; + r3 && (i2 = [e3], o2 = on); + var u2 = Proxy.revocable(i2, o2), a2 = u2.revoke, f2 = u2.proxy; + return e3.k = f2, e3.j = a2, f2; + }(t2, r2) : b("ES5").J(t2, r2); + return (r2 ? r2.A : _()).p.push(e2), e2; +} +function D(e2) { + return t(e2) || n(22, e2), function n2(t2) { + if (!r(t2)) + return t2; + var e3, u2 = t2[Q], c2 = o(t2); + if (u2) { + if (!u2.P && (u2.i < 4 || !b("ES5").K(u2))) + return u2.t; + u2.I = true, e3 = F(t2, c2), u2.I = false; + } else + e3 = F(t2, c2); + return i(e3, function(t3, r2) { + u2 && a(u2.t, t3) === r2 || f(e3, t3, n2(r2)); + }), 3 === c2 ? new Set(e3) : e3; + }(e2); +} +function F(n2, t2) { + switch (t2) { + case 2: + return new Map(n2); + case 3: + return Array.from(n2); + } + return l(n2); +} +var G; +var U; +var W = "undefined" != typeof Symbol && "symbol" == typeof Symbol("x"); +var X = "undefined" != typeof Map; +var q = "undefined" != typeof Set; +var B = "undefined" != typeof Proxy && void 0 !== Proxy.revocable && "undefined" != typeof Reflect; +var H = W ? Symbol.for("immer-nothing") : ((G = {})["immer-nothing"] = true, G); +var L = W ? Symbol.for("immer-draftable") : "__$immer_draftable"; +var Q = W ? Symbol.for("immer-state") : "__$immer_state"; +var Y = { 0: "Illegal state", 1: "Immer drafts cannot have computed properties", 2: "This object has been frozen and should not be mutated", 3: function(n2) { + return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? " + n2; +}, 4: "An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.", 5: "Immer forbids circular references", 6: "The first or second argument to `produce` must be a function", 7: "The third argument to `produce` must be a function or undefined", 8: "First argument to `createDraft` must be a plain object, an array, or an immerable object", 9: "First argument to `finishDraft` must be a draft returned by `createDraft`", 10: "The given draft is already finalized", 11: "Object.defineProperty() cannot be used on an Immer draft", 12: "Object.setPrototypeOf() cannot be used on an Immer draft", 13: "Immer only supports deleting array indices", 14: "Immer only supports setting array indices and the 'length' property", 15: function(n2) { + return "Cannot apply patch, path doesn't resolve: " + n2; +}, 16: 'Sets cannot have "replace" patches.', 17: function(n2) { + return "Unsupported patch operation: " + n2; +}, 18: function(n2) { + return "The plugin for '" + n2 + "' has not been loaded into Immer. To enable the plugin, import and call `enable" + n2 + "()` when initializing your application."; +}, 20: "Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available", 21: function(n2) { + return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '" + n2 + "'"; +}, 22: function(n2) { + return "'current' expects a draft, got: " + n2; +}, 23: function(n2) { + return "'original' expects a draft, got: " + n2; +}, 24: "Patching reserved attributes like __proto__, prototype and constructor is not allowed" }; +var Z = "" + Object.prototype.constructor; +var nn = "undefined" != typeof Reflect && Reflect.ownKeys ? Reflect.ownKeys : void 0 !== Object.getOwnPropertySymbols ? function(n2) { + return Object.getOwnPropertyNames(n2).concat(Object.getOwnPropertySymbols(n2)); +} : Object.getOwnPropertyNames; +var tn = Object.getOwnPropertyDescriptors || function(n2) { + var t2 = {}; + return nn(n2).forEach(function(r2) { + t2[r2] = Object.getOwnPropertyDescriptor(n2, r2); + }), t2; +}; +var rn = {}; +var en = { get: function(n2, t2) { + if (t2 === Q) + return n2; + var e2 = p(n2); + if (!u(e2, t2)) + return function(n3, t3, r2) { + var e3, i3 = I(t3, r2); + return i3 ? "value" in i3 ? i3.value : null === (e3 = i3.get) || void 0 === e3 ? void 0 : e3.call(n3.k) : void 0; + }(n2, e2, t2); + var i2 = e2[t2]; + return n2.I || !r(i2) ? i2 : i2 === z(n2.t, t2) ? (E(n2), n2.o[t2] = R(n2.A.h, i2, n2)) : i2; +}, has: function(n2, t2) { + return t2 in p(n2); +}, ownKeys: function(n2) { + return Reflect.ownKeys(p(n2)); +}, set: function(n2, t2, r2) { + var e2 = I(p(n2), t2); + if (null == e2 ? void 0 : e2.set) + return e2.set.call(n2.k, r2), true; + if (!n2.P) { + var i2 = z(p(n2), t2), o2 = null == i2 ? void 0 : i2[Q]; + if (o2 && o2.t === r2) + return n2.o[t2] = r2, n2.D[t2] = false, true; + if (c(r2, i2) && (void 0 !== r2 || u(n2.t, t2))) + return true; + E(n2), k(n2); + } + return n2.o[t2] === r2 && "number" != typeof r2 && (void 0 !== r2 || t2 in n2.o) || (n2.o[t2] = r2, n2.D[t2] = true, true); +}, deleteProperty: function(n2, t2) { + return void 0 !== z(n2.t, t2) || t2 in n2.t ? (n2.D[t2] = false, E(n2), k(n2)) : delete n2.D[t2], n2.o && delete n2.o[t2], true; +}, getOwnPropertyDescriptor: function(n2, t2) { + var r2 = p(n2), e2 = Reflect.getOwnPropertyDescriptor(r2, t2); + return e2 ? { writable: true, configurable: 1 !== n2.i || "length" !== t2, enumerable: e2.enumerable, value: r2[t2] } : e2; +}, defineProperty: function() { + n(11); +}, getPrototypeOf: function(n2) { + return Object.getPrototypeOf(n2.t); +}, setPrototypeOf: function() { + n(12); +} }; +var on = {}; +i(en, function(n2, t2) { + on[n2] = function() { + return arguments[0] = arguments[0][0], t2.apply(this, arguments); + }; +}), on.deleteProperty = function(t2, r2) { + return "production" !== process.env.NODE_ENV && isNaN(parseInt(r2)) && n(13), en.deleteProperty.call(this, t2[0], r2); +}, on.set = function(t2, r2, e2) { + return "production" !== process.env.NODE_ENV && "length" !== r2 && isNaN(parseInt(r2)) && n(14), en.set.call(this, t2[0], r2, e2, t2[0]); +}; +var un = function() { + function e2(t2) { + var e3 = this; + this.g = B, this.F = true, this.produce = function(t3, i3, o2) { + if ("function" == typeof t3 && "function" != typeof i3) { + var u2 = i3; + i3 = t3; + var a2 = e3; + return function(n2) { + var t4 = this; + void 0 === n2 && (n2 = u2); + for (var r2 = arguments.length, e4 = Array(r2 > 1 ? r2 - 1 : 0), o3 = 1; o3 < r2; o3++) + e4[o3 - 1] = arguments[o3]; + return a2.produce(n2, function(n3) { + var r3; + return (r3 = i3).call.apply(r3, [t4, n3].concat(e4)); + }); + }; + } + var f2; + if ("function" != typeof i3 && n(6), void 0 !== o2 && "function" != typeof o2 && n(7), r(t3)) { + var c2 = w(e3), s2 = R(e3, t3, void 0), v2 = true; + try { + f2 = i3(s2), v2 = false; + } finally { + v2 ? O(c2) : g(c2); + } + return "undefined" != typeof Promise && f2 instanceof Promise ? f2.then(function(n2) { + return j(c2, o2), P(n2, c2); + }, function(n2) { + throw O(c2), n2; + }) : (j(c2, o2), P(f2, c2)); + } + if (!t3 || "object" != typeof t3) { + if ((f2 = i3(t3)) === H) + return; + return void 0 === f2 && (f2 = t3), e3.F && d(f2, true), f2; + } + n(21, t3); + }, this.produceWithPatches = function(n2, t3) { + return "function" == typeof n2 ? function(t4) { + for (var r3 = arguments.length, i4 = Array(r3 > 1 ? r3 - 1 : 0), o2 = 1; o2 < r3; o2++) + i4[o2 - 1] = arguments[o2]; + return e3.produceWithPatches(t4, function(t5) { + return n2.apply(void 0, [t5].concat(i4)); + }); + } : [e3.produce(n2, t3, function(n3, t4) { + r2 = n3, i3 = t4; + }), r2, i3]; + var r2, i3; + }, "boolean" == typeof (null == t2 ? void 0 : t2.useProxies) && this.setUseProxies(t2.useProxies), "boolean" == typeof (null == t2 ? void 0 : t2.autoFreeze) && this.setAutoFreeze(t2.autoFreeze); + } + var i2 = e2.prototype; + return i2.createDraft = function(e3) { + r(e3) || n(8), t(e3) && (e3 = D(e3)); + var i3 = w(this), o2 = R(this, e3, void 0); + return o2[Q].C = true, g(i3), o2; + }, i2.finishDraft = function(t2, r2) { + var e3 = t2 && t2[Q]; + "production" !== process.env.NODE_ENV && (e3 && e3.C || n(9), e3.I && n(10)); + var i3 = e3.A; + return j(i3, r2), P(void 0, i3); + }, i2.setAutoFreeze = function(n2) { + this.F = n2; + }, i2.setUseProxies = function(t2) { + t2 && !B && n(20), this.g = t2; + }, i2.applyPatches = function(n2, r2) { + var e3; + for (e3 = r2.length - 1; e3 >= 0; e3--) { + var i3 = r2[e3]; + if (0 === i3.path.length && "replace" === i3.op) { + n2 = i3.value; + break; + } + } + var o2 = b("Patches").$; + return t(n2) ? o2(n2, r2) : this.produce(n2, function(n3) { + return o2(n3, r2.slice(e3 + 1)); + }); + }, e2; +}(); +var an = new un(); +var fn = an.produce; +var cn = an.produceWithPatches.bind(an); +var sn = an.setAutoFreeze.bind(an); +var vn = an.setUseProxies.bind(an); +var pn = an.applyPatches.bind(an); +var ln = an.createDraft.bind(an); +var dn = an.finishDraft.bind(an); + +// shared/src/globals.ts +var globals = { + /** + * If the schema of the redux store changes in a backwards-incompatible way, then this version number should be incremented. + * + * While this looks like semver, it is not. There are no patch numbers, so any change in this number is a breaking change. + * + * However, as long as the schema of the redux store is backwards-compatible, then we don't have to change this number. + * + * Since the 0.4.0 release, this number has not had to change. + */ + currentProjectStateDefinitionVersion: "0.4.0" +}; +var globals_default = globals; + +// core/src/projects/initialiseProjectState.ts +async function initialiseProjectState(studio, project, onDiskState) { + await delay_default(0); + studio.transaction(({ drafts }) => { + var _a; + const projectId = project.address.projectId; + drafts.ephemeral.coreByProject[projectId] = { + lastExportedObject: null, + loadingState: { type: "loading" } + }; + drafts.ahistoric.coreByProject[projectId] = { + ahistoricStuff: "" + }; + function useInitialState() { + drafts.ephemeral.coreByProject[projectId].loadingState = { + type: "loaded" + }; + drafts.historic.coreByProject[projectId] = { + sheetsById: {}, + definitionVersion: globals_default.currentProjectStateDefinitionVersion, + revisionHistory: [] + }; + } + function useOnDiskState(state) { + drafts.ephemeral.coreByProject[projectId].loadingState = { + type: "loaded" + }; + drafts.historic.coreByProject[projectId] = state; + } + function useBrowserState() { + drafts.ephemeral.coreByProject[projectId].loadingState = { + type: "loaded" + }; + } + function browserStateIsNotBasedOnDiskState(onDiskState2) { + drafts.ephemeral.coreByProject[projectId].loadingState = { + type: "browserStateIsNotBasedOnDiskState", + onDiskState: onDiskState2 + }; + } + const browserState = (_a = e(drafts.historic)) == null ? void 0 : _a.coreByProject[project.address.projectId]; + if (!browserState) { + if (!onDiskState) { + useInitialState(); + } else { + useOnDiskState(onDiskState); + } + } else { + if (!onDiskState) { + useBrowserState(); + } else { + if (browserState.revisionHistory.indexOf( + onDiskState.revisionHistory[0] + ) == -1) { + browserStateIsNotBasedOnDiskState(onDiskState); + } else { + useBrowserState(); + } + } + } + }); +} + +// core/src/_coreLogger.ts +function noop2() { +} +function _coreLogger(config) { + var _a, _b; + const internalMin = ((_a = config == null ? void 0 : config.logging) == null ? void 0 : _a.internal) ? (_b = config.logging.min) != null ? _b : 256 /* WARN */ : Infinity; + const shouldDebugLogger = internalMin <= 128 /* DEBUG */; + const shouldShowLoggerErrors = internalMin <= 512 /* ERROR */; + const internal2 = createTheatreInternalLogger(void 0, { + _debug: shouldDebugLogger ? console.debug.bind(console, "_coreLogger(TheatreInternalLogger) debug") : noop2, + _error: shouldShowLoggerErrors ? console.error.bind(console, "_coreLogger(TheatreInternalLogger) error") : noop2 + }); + if (config) { + const { logger, logging } = config; + if (logger) + internal2.configureLogger(logger); + if (logging) + internal2.configureLogging(logging); + else { + internal2.configureLogging({ + dev: process.env.NODE_ENV !== "production" + }); + } + } + return internal2.getLogger().named("Theatre"); +} + +// core/src/projects/Project.ts +var Project = class { + constructor(id, config = {}, publicApi) { + this.config = config; + this.publicApi = publicApi; + __publicField(this, "pointers"); + __publicField(this, "_pointerProxies"); + __publicField(this, "address"); + __publicField(this, "_studioReadyDeferred"); + __publicField(this, "_assetStorageReadyDeferred"); + __publicField(this, "_readyPromise"); + __publicField(this, "_sheetTemplates", new import_dataverse17.Atom({})); + __publicField(this, "sheetTemplatesP", this._sheetTemplates.pointer); + __publicField(this, "_studio"); + __publicField(this, "assetStorage"); + __publicField(this, "type", "Theatre_Project"); + __publicField(this, "_logger"); + var _a; + this._logger = _coreLogger({ logging: { dev: true } }).named("Project", id); + this._logger.traceDev("creating project"); + this.address = { projectId: id }; + const onDiskStateAtom = new import_dataverse17.Atom({ + ahistoric: { + ahistoricStuff: "" + }, + historic: (_a = config.state) != null ? _a : { + sheetsById: {}, + definitionVersion: globals_default.currentProjectStateDefinitionVersion, + revisionHistory: [] + }, + ephemeral: { + loadingState: { + type: "loaded" + }, + lastExportedObject: null + } + }); + this._assetStorageReadyDeferred = defer(); + this.assetStorage = { + getAssetUrl: (assetId) => { + var _a2; + return "".concat((_a2 = config.assets) == null ? void 0 : _a2.baseUrl, "/").concat(assetId); + }, + // Until the asset storage is ready, we'll throw an error when the user tries to use it + createAsset: () => { + throw new Error("Please wait for Project.ready to use assets."); + } + }; + this._pointerProxies = { + historic: new import_dataverse16.PointerProxy(onDiskStateAtom.pointer.historic), + ahistoric: new import_dataverse16.PointerProxy(onDiskStateAtom.pointer.ahistoric), + ephemeral: new import_dataverse16.PointerProxy(onDiskStateAtom.pointer.ephemeral) + }; + this.pointers = { + historic: this._pointerProxies.historic.pointer, + ahistoric: this._pointerProxies.ahistoric.pointer, + ephemeral: this._pointerProxies.ephemeral.pointer + }; + projectsSingleton_default.add(id, this); + this._studioReadyDeferred = defer(); + this._readyPromise = Promise.all([ + this._studioReadyDeferred.promise, + this._assetStorageReadyDeferred.promise + // hide the array from the user, i.e. make it Promise instead of Promise<[undefined, undefined]> + ]).then(() => { + }); + if (config.state) { + setTimeout(() => { + if (!this._studio) { + this._studioReadyDeferred.resolve(void 0); + this._assetStorageReadyDeferred.resolve(void 0); + this._logger._trace("ready deferred resolved with no state"); + } + }, 0); + } else { + if (typeof window === "undefined") { + if (process.env.NODE_ENV === "production") { + console.error( + 'Argument config.state in Theatre.getProject("'.concat(id, '", config) is empty. ') + "You can safely ignore this message if you're developing a Next.js/Remix project in development mode. But if you are shipping to your end-users, then you need to set config.state, otherwise your project's state will be empty and nothing will animate. Learn more at https://www.theatrejs.com/docs/latest/manual/projects#state" + ); + } + } else { + setTimeout(() => { + if (!this._studio) { + throw new Error( + 'Argument config.state in Theatre.getProject("'.concat(id, '", config) is empty. This is fine ') + "while you are using @theatre/core along with @theatre/studio. But since @theatre/studio " + 'is not loaded, the state of project "'.concat(id, '" will be empty.\n\n') + "To fix this, you need to add @theatre/studio into the bundle and export the project's state. Learn how to do that at https://www.theatrejs.com/docs/latest/manual/projects#state\n" + ); + } + }, 1e3); + } + } + } + attachToStudio(studio) { + if (this._studio) { + if (this._studio !== studio) { + throw new Error( + "Project ".concat(this.address.projectId, " is already attached to studio ").concat(this._studio.address.studioId) + ); + } else { + console.warn( + "Project ".concat(this.address.projectId, " is already attached to studio ").concat(this._studio.address.studioId) + ); + return; + } + } + this._studio = studio; + studio.initialized.then(async () => { + var _a; + await initialiseProjectState(studio, this, this.config.state); + this._pointerProxies.historic.setPointer( + studio.atomP.historic.coreByProject[this.address.projectId] + ); + this._pointerProxies.ahistoric.setPointer( + studio.atomP.ahistoric.coreByProject[this.address.projectId] + ); + this._pointerProxies.ephemeral.setPointer( + studio.atomP.ephemeral.coreByProject[this.address.projectId] + ); + await studio.createAssetStorage(this, (_a = this.config.assets) == null ? void 0 : _a.baseUrl).then((assetStorage) => { + this.assetStorage = assetStorage; + this._assetStorageReadyDeferred.resolve(void 0); + }); + this._studioReadyDeferred.resolve(void 0); + }).catch((err) => { + console.error(err); + throw err; + }); + } + get isAttachedToStudio() { + return !!this._studio; + } + get ready() { + return this._readyPromise; + } + isReady() { + return this._studioReadyDeferred.status === "resolved" && this._assetStorageReadyDeferred.status === "resolved"; + } + getOrCreateSheet(sheetId, instanceId = "default") { + let template = this._sheetTemplates.get()[sheetId]; + if (!template) { + template = new SheetTemplate(this, sheetId); + this._sheetTemplates.reduce((s2) => __spreadProps(__spreadValues({}, s2), { [sheetId]: template })); + } + return template.getInstance(instanceId); + } +}; + +// shared/src/utils/sanitizers.ts +var _validateSym = (val8, thingy, range) => { + if (typeof val8 !== "string") { + return "".concat(thingy, " must be a string. ").concat(userReadableTypeOfValue_default(val8), " given."); + } else if (val8.trim().length !== val8.length) { + return "".concat(thingy, " must not have leading or trailing spaces. '").concat(val8, "' given."); + } else if (val8.length < range[0] || val8.length > range[1]) { + return "".concat(thingy, " must have between ").concat(range[0], " and ").concat(range[1], " characters. '").concat(val8, "' given."); + } +}; +var validateName = (name, thingy, shouldThrow = false) => { + const result = _validateSym(name, thingy, [3, 32]); + if (typeof result === "string" && shouldThrow) { + throw new InvalidArgumentError(result); + } else { + return result; + } +}; +var validateInstanceId = (name, thingy, shouldThrow = false) => { + const result = _validateSym(name, thingy, [1, 32]); + if (typeof result === "string" && shouldThrow) { + throw new InvalidArgumentError(result); + } else { + return result; + } +}; + +// core/src/projects/TheatreProject.ts +var TheatreProject = class { + get type() { + return "Theatre_Project_PublicAPI"; + } + /** + * @internal + */ + constructor(id, config = {}) { + setPrivateAPI(this, new Project(id, config, this)); + } + get ready() { + return privateAPI(this).ready; + } + get isReady() { + return privateAPI(this).isReady(); + } + get address() { + return __spreadValues({}, privateAPI(this).address); + } + getAssetUrl(asset) { + if (!this.isReady) { + console.error( + "Calling `project.getAssetUrl()` before `project.ready` is resolved, will always return `undefined`. Either use `project.ready.then(() => project.getAssetUrl())` or `await project.ready` before calling `project.getAssetUrl()`." + ); + return void 0; + } + return asset.id ? privateAPI(this).assetStorage.getAssetUrl(asset.id) : void 0; + } + sheet(sheetId, instanceId = "default") { + const sanitizedPath = validateAndSanitiseSlashedPathOrThrow( + sheetId, + "project.sheet" + ); + if (process.env.NODE_ENV !== "production") { + validateInstanceId( + instanceId, + "instanceId in project.sheet(sheetId, instanceId)", + true + ); + } + return privateAPI(this).getOrCreateSheet( + sanitizedPath, + instanceId + ).publicApi; + } +}; + +// core/src/coreExports.ts +var import_fast_deep_equal2 = __toESM(require_fast_deep_equal()); +var import_dataverse18 = require("@theatre/dataverse"); +var import_dataverse19 = require("@theatre/dataverse"); +function getProject(id, config = {}) { + const existingProject = projectsSingleton_default.get(id); + if (existingProject) { + if (process.env.NODE_ENV !== "production") { + if (!(0, import_fast_deep_equal2.default)(config, existingProject.config)) { + throw new Error( + 'You seem to have called Theatre.getProject("'.concat(id, '", config) twice, with different config objects. ') + "This is disallowed because changing the config of a project on the fly can lead to hard-to-debug issues.\n\nYou can fix this by either calling Theatre.getProject() once per projectId, or calling it multiple times but with the exact same config." + ); + } + } + return existingProject.publicApi; + } + const rootLogger = _coreLogger(); + const plogger = rootLogger.named("Project", id); + if (process.env.NODE_ENV !== "production") { + validateName(id, "projectName in Theatre.getProject(projectName)", true); + validateProjectIdOrThrow(id); + plogger._debug("validated projectName", { projectName: id }); + } + if (config.state) { + if (process.env.NODE_ENV !== "production") { + shallowValidateOnDiskState(id, config.state); + plogger._debug("shallow validated config.state on disk"); + } else { + deepValidateOnDiskState(id, config.state); + plogger._debug("deep validated config.state on disk"); + } + } else { + plogger._debug("no config.state"); + } + return new TheatreProject(id, config); +} +var shallowValidateOnDiskState = (projectId, s2) => { + if (Array.isArray(s2) || s2 == null || s2.definitionVersion !== globals_default.currentProjectStateDefinitionVersion) { + throw new InvalidArgumentError( + "Error validating conf.state in Theatre.getProject(".concat(JSON.stringify( + projectId + ), ", conf). The state seems to be formatted in a way that is unreadable to Theatre.js. Read more at https://www.theatrejs.com/docs/latest/manual/projects#state") + ); + } +}; +var deepValidateOnDiskState = (projectId, s2) => { + shallowValidateOnDiskState(projectId, s2); +}; +var validateProjectIdOrThrow = (value) => { + if (typeof value !== "string") { + throw new InvalidArgumentError( + "Argument 'projectId' in `Theatre.getProject(projectId, ...)` must be a string. Instead, it was ".concat(userReadableTypeOfValue_default( + value + ), ".") + ); + } + const idTrimmed = value.trim(); + if (idTrimmed.length !== value.length) { + throw new InvalidArgumentError( + "Argument 'projectId' in `Theatre.getProject(\"".concat(value, '", ...)` should not have surrounding whitespace.') + ); + } + if (idTrimmed.length < 3) { + throw new InvalidArgumentError( + "Argument 'projectId' in `Theatre.getProject(\"".concat(value, '", ...)` should be at least 3 characters long.') + ); + } +}; +function onChange(pointer3, callback, rafDriver) { + const ticker = rafDriver ? privateAPI(rafDriver).ticker : getCoreTicker(); + if ((0, import_dataverse18.isPointer)(pointer3)) { + const pr = (0, import_dataverse19.pointerToPrism)(pointer3); + return pr.onChange(ticker, callback, true); + } else if ((0, import_dataverse19.isPrism)(pointer3)) { + return pointer3.onChange(ticker, callback, true); + } else { + throw new Error( + "Called onChange(p) where p is neither a pointer nor a prism." + ); + } +} +function val7(pointer3) { + if ((0, import_dataverse18.isPointer)(pointer3)) { + return (0, import_dataverse19.pointerToPrism)(pointer3).getValue(); + } else { + throw new Error("Called val(p) where p is not a pointer."); + } +} + +// core/src/CoreBundle.ts +var CoreBundle = class { + constructor() { + __publicField(this, "_studio"); + } + get type() { + return "Theatre_CoreBundle"; + } + get version() { + return "0.7.2"; + } + getBitsForStudio(studio, callback) { + if (this._studio) { + throw new Error("@theatre/core is already attached to @theatre/studio"); + } + this._studio = studio; + const bits = { + projectsP: projectsSingleton_default.atom.pointer.projects, + privateAPI, + coreExports: coreExports_exports, + getCoreRafDriver + }; + callback(bits); + } +}; + +// core/src/index.ts +registerCoreBundle(); +function registerCoreBundle() { + if (typeof window == "undefined") + return; + const existingBundle = ( + // @ts-ignore ignore + window[coreBundle] + ); + if (typeof existingBundle !== "undefined") { + if (typeof existingBundle === "object" && existingBundle && typeof existingBundle.version === "string") { + throw new Error( + "It seems that the module '@theatre/core' is loaded more than once. This could have two possible causes:\n1. You might have two separate versions of Theatre.js in node_modules.\n2. Or this might be a bundling misconfiguration, in case you're using a bundler like Webpack/ESBuild/Rollup.\n\nNote that it **is okay** to import '@theatre/core' multiple times. But those imports should point to the same module." + ); + } else { + throw new Error( + "The variable window.".concat(coreBundle, " seems to be already set by a module other than @theatre/core.") + ); + } + } + const coreBundle2 = new CoreBundle(); + window[coreBundle] = coreBundle2; + const possibleExistingStudioBundle = ( + // @ts-ignore ignore + window[studioBundle] + ); + if (possibleExistingStudioBundle && possibleExistingStudioBundle !== null && possibleExistingStudioBundle.type === "Theatre_StudioBundle") { + possibleExistingStudioBundle.registerCoreBundle(coreBundle2); + } +} +/*! Bundled license information: + +lodash-es/lodash.js: + (** + * @license + * Lodash (Custom Build) + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) +*/ +//# sourceMappingURL=index.js.map diff --git a/public/theatre-studio.js b/public/theatre-studio.js new file mode 100644 index 0000000..20852fe --- /dev/null +++ b/public/theatre-studio.js @@ -0,0 +1,105 @@ +"use strict";var wq=Object.create,xf=Object.freeze,L7=Object.defineProperty,Bq=Object.defineProperties,yq=Object.getOwnPropertyDescriptor,Sq=Object.getOwnPropertyDescriptors,kq=Object.getOwnPropertyNames,ge=Object.getOwnPropertySymbols,Aq=Object.getPrototypeOf,hv=Object.prototype.hasOwnProperty,Cf=Object.prototype.propertyIsEnumerable;var ov=(t,a)=>{if(a=Symbol[t])return a;throw Error("Symbol."+t+" is not defined")},vv=Math.pow,nv=(t,a,c)=>a in t?L7(t,a,{enumerable:!0,configurable:!0,writable:!0,value:c}):t[a]=c,S=(t,a)=>{for(var c in a||(a={}))hv.call(a,c)&&nv(t,c,a[c]);if(ge)for(var c of ge(a))Cf.call(a,c)&&nv(t,c,a[c]);return t},D=(t,a)=>Bq(t,Sq(a));var m4=(t,a)=>{var c={};for(var r in t)hv.call(t,r)&&a.indexOf(r)<0&&(c[r]=t[r]);if(t!=null&&ge)for(var r of ge(t))a.indexOf(r)<0&&Cf.call(t,r)&&(c[r]=t[r]);return c};var x=(t,a)=>()=>(t&&(a=t(t=0)),a);var L1=(t,a)=>()=>(a||t((a={exports:{}}).exports,a),a.exports),Lf=(t,a)=>{for(var c in a)L7(t,c,{get:a[c],enumerable:!0})},Hf=(t,a,c,r)=>{if(a&&typeof a=="object"||typeof a=="function")for(let e of kq(a))!hv.call(t,e)&&e!==c&&L7(t,e,{get:()=>a[e],enumerable:!(r=yq(a,e))||r.enumerable});return t};var I=(t,a,c)=>(c=t!=null?wq(Aq(t)):{},Hf(a||!t||!t.__esModule?L7(c,"default",{value:t,enumerable:!0}):c,t)),Rq=t=>Hf(L7({},"__esModule",{value:!0}),t);var y1=(t,a,c)=>(nv(t,typeof a!="symbol"?a+"":a,c),c);var V=(t,a)=>xf(L7(t,"raw",{value:xf(a||t.slice())})),e2=(t,a,c)=>new Promise((r,e)=>{var l=n=>{try{o(c.next(n))}catch(h){e(h)}},i=n=>{try{o(c.throw(n))}catch(h){e(h)}},o=n=>n.done?r(n.value):Promise.resolve(n.value).then(l,i);o((c=c.apply(t,a)).next())}),bq=function(t,a){this[0]=t,this[1]=a};var Vf=t=>{var a=t[ov("asyncIterator")],c=!1,r,e={};return a==null?(a=t[ov("iterator")](),r=l=>e[l]=i=>a[l](i)):(a=a.call(t),r=l=>e[l]=i=>{if(c){if(c=!1,l==="throw")throw i;return i}return c=!0,{done:!1,value:new bq(new Promise(o=>{var n=a[l](i);if(!(n instanceof Object))throw TypeError("Object expected");o(n)}),1)}}),e[ov("iterator")]=()=>e,r("next"),"throw"in a?r("throw"):e.throw=l=>{throw l},"return"in a&&r("return"),e};function Bf(t){wf=t}function T(){return wf}var wf,f1=x(()=>{"use strict"});function q5(t,a,c=[]){if(typeof t=="object"&&t){if(Fq(t)||Iq(t)){a(t,c);return}for(let[r,e]of Object.entries(t))q5(e,a,[...c,r])}else{if(t==null)return;a(t,c)}}var Fq,Iq,de=x(()=>{"use strict";Fq=t=>typeof t=="object"&&t!==null&&Object.hasOwnProperty.call(t,"type")&&t.type==="image"&&Object.hasOwnProperty.call(t,"id")&&typeof t.id=="string"&&t.id!=="",Iq=t=>typeof t=="object"&&t!==null&&Object.hasOwnProperty.call(t,"r")&&Object.hasOwnProperty.call(t,"g")&&Object.hasOwnProperty.call(t,"b")&&Object.hasOwnProperty.call(t,"a")&&typeof t.r=="number"&&typeof t.g=="number"&&typeof t.b=="number"&&typeof t.a=="number"});function c5(t){return a=>typeof a=="object"&&!!a&&a.type===t}var se,H7,yf,c0,Sf,kf,ul1,gv,dv,N5=x(()=>{"use strict";se=c5("Theatre_Project"),H7=c5("Theatre_Sheet"),yf=c5("Theatre_SheetTemplate"),c0=c5("Theatre_SheetObject"),Sf=c5("Theatre_Sequence"),kf=c5("Theatre_SheetObjectTemplate"),ul1=c5("Theatre_Project_PublicAPI"),gv=c5("Theatre_Sheet_PublicAPI"),dv=c5("Theatre_SheetObject_PublicAPI")});var Gq,ze,zv=x(()=>{Gq=typeof global=="object"&&global&&global.Object===Object&&global,ze=Gq});var Tq,Zq,g2,m3=x(()=>{zv();Tq=typeof self=="object"&&self&&self.Object===Object&&self,Zq=ze||Tq||Function("return this")(),g2=Zq});var Oq,p0,V7=x(()=>{m3();Oq=g2.Symbol,p0=Oq});function Wq(t){var a=Eq.call(t,ta),c=t[ta];try{t[ta]=void 0;var r=!0}catch(l){}var e=Dq.call(t);return r&&(a?t[ta]=c:delete t[ta]),e}var Af,Eq,Dq,ta,Rf,bf=x(()=>{V7();Af=Object.prototype,Eq=Af.hasOwnProperty,Dq=Af.toString,ta=p0?p0.toStringTag:void 0;Rf=Wq});function qq(t){return jq.call(t)}var _q,jq,Ff,If=x(()=>{_q=Object.prototype,jq=_q.toString;Ff=qq});function Kq(t){return t==null?t===void 0?Uq:Nq:Pf&&Pf in Object(t)?Rf(t):Ff(t)}var Nq,Uq,Pf,q0,p8=x(()=>{V7();bf();If();Nq="[object Null]",Uq="[object Undefined]",Pf=p0?p0.toStringTag:void 0;q0=Kq});function $q(t){return t!=null&&typeof t=="object"}var N0,m8=x(()=>{N0=$q});function Xq(t){return typeof t=="symbol"||N0(t)&&q0(t)==Qq}var Qq,E3,w7=x(()=>{p8();m8();Qq="[object Symbol]";E3=Xq});function Yq(t,a){for(var c=-1,r=t==null?0:t.length,e=Array(r);++c{U5=Yq});var Jq,o2,f3=x(()=>{Jq=Array.isArray,o2=Jq});function Zf(t){if(typeof t=="string")return t;if(o2(t))return U5(t,Zf)+"";if(E3(t))return Tf?Tf.call(t):"";var a=t+"";return a=="0"&&1/t==-tN?"-0":a}var tN,Gf,Tf,Of,Ef=x(()=>{V7();ue();f3();w7();tN=1/0,Gf=p0?p0.prototype:void 0,Tf=Gf?Gf.toString:void 0;Of=Zf});function cN(t){for(var a=t.length;a--&&aN.test(t.charAt(a)););return a}var aN,Df,Wf=x(()=>{aN=/\s/;Df=cN});function eN(t){return t&&t.slice(0,Df(t)+1).replace(rN,"")}var rN,_f,jf=x(()=>{Wf();rN=/^\s+/;_f=eN});function lN(t){var a=typeof t;return t!=null&&(a=="object"||a=="function")}var r0,K5=x(()=>{r0=lN});function vN(t){if(typeof t=="number")return t;if(E3(t))return qf;if(r0(t)){var a=typeof t.valueOf=="function"?t.valueOf():t;t=r0(a)?a+"":a}if(typeof t!="string")return t===0?t:+t;t=_f(t);var c=oN.test(t);return c||nN.test(t)?hN(t.slice(2),c?2:8):iN.test(t)?qf:+t}var qf,iN,oN,nN,hN,U0,B7=x(()=>{jf();K5();w7();qf=0/0,iN=/^[-+]0x[0-9a-f]+$/i,oN=/^0b[01]+$/i,nN=/^0o[0-7]+$/i,hN=parseInt;U0=vN});function dN(t){if(!t)return t===0?t:0;if(t=U0(t),t===Nf||t===-Nf){var a=t<0?-1:1;return a*gN}return t===t?t:0}var Nf,gN,aa,uv=x(()=>{B7();Nf=1/0,gN=17976931348623157e292;aa=dN});function sN(t){var a=aa(t),c=a%1;return a===a?c?a-c:a:0}var $5,ca=x(()=>{uv();$5=sN});function zN(t){return t}var Q5,ra=x(()=>{Q5=zN});function MN(t){if(!r0(t))return!1;var a=q0(t);return a==pN||a==mN||a==uN||a==fN}var uN,pN,mN,fN,pe,pv=x(()=>{p8();K5();uN="[object AsyncFunction]",pN="[object Function]",mN="[object GeneratorFunction]",fN="[object Proxy]";pe=MN});var xN,me,Uf=x(()=>{m3();xN=g2["__core-js_shared__"],me=xN});function CN(t){return!!Kf&&Kf in t}var Kf,$f,Qf=x(()=>{Uf();Kf=function(){var t=/[^.]+$/.exec(me&&me.keys&&me.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();$f=CN});function VN(t){if(t!=null){try{return HN.call(t)}catch(a){}try{return t+""}catch(a){}}return""}var LN,HN,r5,mv=x(()=>{LN=Function.prototype,HN=LN.toString;r5=VN});function bN(t){if(!r0(t)||$f(t))return!1;var a=pe(t)?RN:BN;return a.test(r5(t))}var wN,BN,yN,SN,kN,AN,RN,Xf,Yf=x(()=>{pv();Qf();K5();mv();wN=/[\\^$.*+?()[\]{}|]/g,BN=/^\[object .+?Constructor\]$/,yN=Function.prototype,SN=Object.prototype,kN=yN.toString,AN=SN.hasOwnProperty,RN=RegExp("^"+kN.call(AN).replace(wN,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");Xf=bN});function FN(t,a){return t==null?void 0:t[a]}var Jf,tM=x(()=>{Jf=FN});function IN(t,a){var c=Jf(t,a);return Xf(c)?c:void 0}var w0,X5=x(()=>{Yf();tM();w0=IN});var PN,fe,aM=x(()=>{X5();m3();PN=w0(g2,"WeakMap"),fe=PN});function GN(t,a,c){switch(c.length){case 0:return t.call(a);case 1:return t.call(a,c[0]);case 2:return t.call(a,c[0],c[1]);case 3:return t.call(a,c[0],c[1],c[2])}return t.apply(a,c)}var cM,rM=x(()=>{cM=GN});function TN(){}var eM,lM=x(()=>{eM=TN});function ZN(t,a){var c=-1,r=t.length;for(a||(a=Array(r));++c{iM=ZN});function WN(t){var a=0,c=0;return function(){var r=DN(),e=EN-(r-c);if(c=r,e>0){if(++a>=ON)return arguments[0]}else a=0;return t.apply(void 0,arguments)}}var ON,EN,DN,nM,hM=x(()=>{ON=800,EN=16,DN=Date.now;nM=WN});function _N(t){return function(){return t}}var vM,gM=x(()=>{vM=_N});var jN,y7,fv=x(()=>{X5();jN=function(){try{var t=w0(Object,"defineProperty");return t({},"",{}),t}catch(a){}}(),y7=jN});var qN,dM,sM=x(()=>{gM();fv();ra();qN=y7?function(t,a){return y7(t,"toString",{configurable:!0,enumerable:!1,value:vM(a),writable:!0})}:Q5,dM=qN});var NN,zM,uM=x(()=>{sM();hM();NN=nM(dM),zM=NN});function UN(t,a,c,r){for(var e=t.length,l=c+(r?1:-1);r?l--:++l{S7=UN});function KN(t){return t!==t}var pM,mM=x(()=>{pM=KN});function $N(t,a,c){for(var r=c-1,e=t.length;++r{fM=$N});function QN(t,a,c){return a===a?fM(t,a,c):S7(t,pM,c)}var xe,Mv=x(()=>{Me();mM();MM();xe=QN});function XN(t,a){var c=t==null?0:t.length;return!!c&&xe(t,a,0)>-1}var xM,CM=x(()=>{Mv();xM=XN});function tU(t,a){var c=typeof t;return a=a==null?YN:a,!!a&&(c=="number"||c!="symbol"&&JN.test(t))&&t>-1&&t%1==0&&t{YN=9007199254740991,JN=/^(?:0|[1-9]\d*)$/;Y5=tU});function aU(t,a,c){a=="__proto__"&&y7?y7(t,a,{configurable:!0,enumerable:!0,value:c,writable:!0}):t[a]=c}var k7,Ce=x(()=>{fv();k7=aU});function cU(t,a){return t===a||t!==t&&a!==a}var J5,la=x(()=>{J5=cU});function lU(t,a,c){var r=t[a];(!(eU.call(t,a)&&J5(r,c))||c===void 0&&!(a in t))&&k7(t,a,c)}var rU,eU,LM,HM=x(()=>{Ce();la();rU=Object.prototype,eU=rU.hasOwnProperty;LM=lU});function iU(t,a,c){return a=VM(a===void 0?t.length-1:a,0),function(){for(var r=arguments,e=-1,l=VM(r.length-a,0),i=Array(l);++e{rM();VM=Math.max;wM=iU});function oU(t,a){return zM(wM(t,a,Q5),t+"")}var Le,xv=x(()=>{ra();BM();uM();Le=oU});function hU(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=nU}var nU,A7,He=x(()=>{nU=9007199254740991;A7=hU});function vU(t){return t!=null&&A7(t.length)&&!pe(t)}var t6,ia=x(()=>{pv();He();t6=vU});function gU(t,a,c){if(!r0(c))return!1;var r=typeof a;return(r=="number"?t6(c)&&Y5(a,c.length):r=="string"&&a in c)?J5(c[a],t):!1}var Cv,yM=x(()=>{la();ia();ea();K5();Cv=gU});function sU(t){var a=t&&t.constructor,c=typeof a=="function"&&a.prototype||dU;return t===c}var dU,SM,kM=x(()=>{dU=Object.prototype;SM=sU});function zU(t,a){for(var c=-1,r=Array(t);++c{AM=zU});function pU(t){return N0(t)&&q0(t)==uU}var uU,Lv,bM=x(()=>{p8();m8();uU="[object Arguments]";Lv=pU});var FM,mU,fU,MU,R7,Ve=x(()=>{bM();m8();FM=Object.prototype,mU=FM.hasOwnProperty,fU=FM.propertyIsEnumerable,MU=Lv(function(){return arguments}())?Lv:function(t){return N0(t)&&mU.call(t,"callee")&&!fU.call(t,"callee")},R7=MU});function xU(){return!1}var IM,PM=x(()=>{IM=xU});var ZM,GM,CU,TM,LU,HU,oa,Hv=x(()=>{m3();PM();ZM=typeof exports=="object"&&exports&&!exports.nodeType&&exports,GM=ZM&&typeof module=="object"&&module&&!module.nodeType&&module,CU=GM&&GM.exports===ZM,TM=CU?g2.Buffer:void 0,LU=TM?TM.isBuffer:void 0,HU=LU||IM,oa=HU});function KU(t){return N0(t)&&A7(t.length)&&!!J1[q0(t)]}var VU,wU,BU,yU,SU,kU,AU,RU,bU,FU,IU,PU,GU,TU,ZU,OU,EU,DU,WU,_U,jU,qU,NU,UU,J1,OM,EM=x(()=>{p8();He();m8();VU="[object Arguments]",wU="[object Array]",BU="[object Boolean]",yU="[object Date]",SU="[object Error]",kU="[object Function]",AU="[object Map]",RU="[object Number]",bU="[object Object]",FU="[object RegExp]",IU="[object Set]",PU="[object String]",GU="[object WeakMap]",TU="[object ArrayBuffer]",ZU="[object DataView]",OU="[object Float32Array]",EU="[object Float64Array]",DU="[object Int8Array]",WU="[object Int16Array]",_U="[object Int32Array]",jU="[object Uint8Array]",qU="[object Uint8ClampedArray]",NU="[object Uint16Array]",UU="[object Uint32Array]",J1={};J1[OU]=J1[EU]=J1[DU]=J1[WU]=J1[_U]=J1[jU]=J1[qU]=J1[NU]=J1[UU]=!0;J1[VU]=J1[wU]=J1[TU]=J1[BU]=J1[ZU]=J1[yU]=J1[SU]=J1[kU]=J1[AU]=J1[RU]=J1[bU]=J1[FU]=J1[IU]=J1[PU]=J1[GU]=!1;OM=KU});function $U(t){return function(a){return t(a)}}var b7,we=x(()=>{b7=$U});var DM,na,QU,Vv,XU,wv,WM=x(()=>{zv();DM=typeof exports=="object"&&exports&&!exports.nodeType&&exports,na=DM&&typeof module=="object"&&module&&!module.nodeType&&module,QU=na&&na.exports===DM,Vv=QU&&ze.process,XU=function(){try{var t=na&&na.require&&na.require("util").types;return t||Vv&&Vv.binding&&Vv.binding("util")}catch(a){}}(),wv=XU});var _M,YU,Be,Bv=x(()=>{EM();we();WM();_M=wv&&wv.isTypedArray,YU=_M?b7(_M):OM,Be=YU});function aK(t,a){var c=o2(t),r=!c&&R7(t),e=!c&&!r&&oa(t),l=!c&&!r&&!e&&Be(t),i=c||r||e||l,o=i?AM(t.length,String):[],n=o.length;for(var h in t)(a||tK.call(t,h))&&!(i&&(h=="length"||e&&(h=="offset"||h=="parent")||l&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||Y5(h,n)))&&o.push(h);return o}var JU,tK,jM,qM=x(()=>{RM();Ve();f3();Hv();ea();Bv();JU=Object.prototype,tK=JU.hasOwnProperty;jM=aK});function cK(t,a){return function(c){return t(a(c))}}var ye,yv=x(()=>{ye=cK});var rK,NM,UM=x(()=>{yv();rK=ye(Object.keys,Object),NM=rK});function iK(t){if(!SM(t))return NM(t);var a=[];for(var c in Object(t))lK.call(t,c)&&c!="constructor"&&a.push(c);return a}var eK,lK,KM,$M=x(()=>{kM();UM();eK=Object.prototype,lK=eK.hasOwnProperty;KM=iK});function oK(t){return t6(t)?jM(t):KM(t)}var F7,Se=x(()=>{qM();$M();ia();F7=oK});function vK(t,a){if(o2(t))return!1;var c=typeof t;return c=="number"||c=="symbol"||c=="boolean"||t==null||E3(t)?!0:hK.test(t)||!nK.test(t)||a!=null&&t in Object(a)}var nK,hK,I7,ke=x(()=>{f3();w7();nK=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,hK=/^\w*$/;I7=vK});var gK,e5,ha=x(()=>{X5();gK=w0(Object,"create"),e5=gK});function dK(){this.__data__=e5?e5(null):{},this.size=0}var QM,XM=x(()=>{ha();QM=dK});function sK(t){var a=this.has(t)&&delete this.__data__[t];return this.size-=a?1:0,a}var YM,JM=x(()=>{YM=sK});function mK(t){var a=this.__data__;if(e5){var c=a[t];return c===zK?void 0:c}return pK.call(a,t)?a[t]:void 0}var zK,uK,pK,tx,ax=x(()=>{ha();zK="__lodash_hash_undefined__",uK=Object.prototype,pK=uK.hasOwnProperty;tx=mK});function xK(t){var a=this.__data__;return e5?a[t]!==void 0:MK.call(a,t)}var fK,MK,cx,rx=x(()=>{ha();fK=Object.prototype,MK=fK.hasOwnProperty;cx=xK});function LK(t,a){var c=this.__data__;return this.size+=this.has(t)?0:1,c[t]=e5&&a===void 0?CK:a,this}var CK,ex,lx=x(()=>{ha();CK="__lodash_hash_undefined__";ex=LK});function P7(t){var a=-1,c=t==null?0:t.length;for(this.clear();++a{XM();JM();ax();rx();lx();P7.prototype.clear=QM;P7.prototype.delete=YM;P7.prototype.get=tx;P7.prototype.has=cx;P7.prototype.set=ex;Sv=P7});function HK(){this.__data__=[],this.size=0}var ox,nx=x(()=>{ox=HK});function VK(t,a){for(var c=t.length;c--;)if(J5(t[c][0],a))return c;return-1}var a6,va=x(()=>{la();a6=VK});function yK(t){var a=this.__data__,c=a6(a,t);if(c<0)return!1;var r=a.length-1;return c==r?a.pop():BK.call(a,c,1),--this.size,!0}var wK,BK,hx,vx=x(()=>{va();wK=Array.prototype,BK=wK.splice;hx=yK});function SK(t){var a=this.__data__,c=a6(a,t);return c<0?void 0:a[c][1]}var gx,dx=x(()=>{va();gx=SK});function kK(t){return a6(this.__data__,t)>-1}var sx,zx=x(()=>{va();sx=kK});function AK(t,a){var c=this.__data__,r=a6(c,t);return r<0?(++this.size,c.push([t,a])):c[r][1]=a,this}var ux,px=x(()=>{va();ux=AK});function G7(t){var a=-1,c=t==null?0:t.length;for(this.clear();++a{nx();vx();dx();zx();px();G7.prototype.clear=ox;G7.prototype.delete=hx;G7.prototype.get=gx;G7.prototype.has=sx;G7.prototype.set=ux;c6=G7});var RK,r6,Ae=x(()=>{X5();m3();RK=w0(g2,"Map"),r6=RK});function bK(){this.size=0,this.__data__={hash:new Sv,map:new(r6||c6),string:new Sv}}var mx,fx=x(()=>{ix();ga();Ae();mx=bK});function FK(t){var a=typeof t;return a=="string"||a=="number"||a=="symbol"||a=="boolean"?t!=="__proto__":t===null}var Mx,xx=x(()=>{Mx=FK});function IK(t,a){var c=t.__data__;return Mx(a)?c[typeof a=="string"?"string":"hash"]:c.map}var e6,da=x(()=>{xx();e6=IK});function PK(t){var a=e6(this,t).delete(t);return this.size-=a?1:0,a}var Cx,Lx=x(()=>{da();Cx=PK});function GK(t){return e6(this,t).get(t)}var Hx,Vx=x(()=>{da();Hx=GK});function TK(t){return e6(this,t).has(t)}var wx,Bx=x(()=>{da();wx=TK});function ZK(t,a){var c=e6(this,t),r=c.size;return c.set(t,a),this.size+=c.size==r?0:1,this}var yx,Sx=x(()=>{da();yx=ZK});function T7(t){var a=-1,c=t==null?0:t.length;for(this.clear();++a{fx();Lx();Vx();Bx();Sx();T7.prototype.clear=mx;T7.prototype.delete=Cx;T7.prototype.get=Hx;T7.prototype.has=wx;T7.prototype.set=yx;f8=T7});function kv(t,a){if(typeof t!="function"||a!=null&&typeof a!="function")throw new TypeError(OK);var c=function(){var r=arguments,e=a?a.apply(this,r):r[0],l=c.cache;if(l.has(e))return l.get(e);var i=t.apply(this,r);return c.cache=l.set(e,i)||l,i};return c.cache=new(kv.Cache||f8),c}var OK,sa,Av=x(()=>{Re();OK="Expected a function";kv.Cache=f8;sa=kv});function DK(t){var a=sa(t,function(r){return c.size===EK&&c.clear(),r}),c=a.cache;return a}var EK,kx,Ax=x(()=>{Av();EK=500;kx=DK});var WK,_K,jK,Rx,bx=x(()=>{Ax();WK=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,_K=/\\(\\)?/g,jK=kx(function(t){var a=[];return t.charCodeAt(0)===46&&a.push(""),t.replace(WK,function(c,r,e,l){a.push(e?l.replace(_K,"$1"):r||c)}),a}),Rx=jK});function qK(t){return t==null?"":Of(t)}var za,Rv=x(()=>{Ef();za=qK});function NK(t,a){return o2(t)?t:I7(t,a)?[t]:Rx(za(t))}var Z7,be=x(()=>{f3();ke();bx();Rv();Z7=NK});function KK(t){if(typeof t=="string"||E3(t))return t;var a=t+"";return a=="0"&&1/t==-UK?"-0":a}var UK,f4,O7=x(()=>{w7();UK=1/0;f4=KK});function $K(t,a){a=Z7(a,t);for(var c=0,r=a.length;t!=null&&c{be();O7();E7=$K});function QK(t,a,c){var r=t==null?void 0:E7(t,a);return r===void 0?c:r}var D3,D7=x(()=>{Fe();D3=QK});function XK(t,a){for(var c=-1,r=a.length,e=t.length;++c{Ie=XK});function YK(t){return o2(t)||R7(t)||!!(Fx&&t&&t[Fx])}var Fx,Ix,Px=x(()=>{V7();Ve();f3();Fx=p0?p0.isConcatSpreadable:void 0;Ix=YK});function Gx(t,a,c,r,e){var l=-1,i=t.length;for(c||(c=Ix),e||(e=[]);++l0&&c(o)?a>1?Gx(o,a-1,c,r,e):Ie(e,o):r||(e[e.length]=o)}return e}var Tx,Zx=x(()=>{bv();Px();Tx=Gx});var JK,Ox,Ex=x(()=>{yv();JK=ye(Object.getPrototypeOf,Object),Ox=JK});function l$(t){if(!N0(t)||q0(t)!=t$)return!1;var a=Ox(t);if(a===null)return!0;var c=r$.call(a,"constructor")&&a.constructor;return typeof c=="function"&&c instanceof c&&Dx.call(c)==e$}var t$,a$,c$,Dx,r$,e$,M8,Fv=x(()=>{p8();Ex();m8();t$="[object Object]",a$=Function.prototype,c$=Object.prototype,Dx=a$.toString,r$=c$.hasOwnProperty,e$=Dx.call(Object);M8=l$});function n$(t){var a=Math[t];return function(c,r){if(c=U0(c),r=r==null?0:o$($5(r),292),r&&i$(c)){var e=(za(c)+"e").split("e"),l=a(e[0]+"e"+(+e[1]+r));return e=(za(l)+"e").split("e"),+(e[0]+"e"+(+e[1]-r))}return a(c)}}var i$,o$,Wx,_x=x(()=>{m3();ca();B7();Rv();i$=g2.isFinite,o$=Math.min;Wx=n$});function h$(t,a,c){return t===t&&(c!==void 0&&(t=t<=c?t:c),a!==void 0&&(t=t>=a?t:a)),t}var jx,qx=x(()=>{jx=h$});function v$(t,a,c){return c===void 0&&(c=a,a=void 0),c!==void 0&&(c=U0(c),c=c===c?c:0),a!==void 0&&(a=U0(a),a=a===a?a:0),jx(U0(t),a,c)}var b1,ua=x(()=>{qx();B7();b1=v$});function g$(){this.__data__=new c6,this.size=0}var Nx,Ux=x(()=>{ga();Nx=g$});function d$(t){var a=this.__data__,c=a.delete(t);return this.size=a.size,c}var Kx,$x=x(()=>{Kx=d$});function s$(t){return this.__data__.get(t)}var Qx,Xx=x(()=>{Qx=s$});function z$(t){return this.__data__.has(t)}var Yx,Jx=x(()=>{Yx=z$});function p$(t,a){var c=this.__data__;if(c instanceof c6){var r=c.__data__;if(!r6||r.length{ga();Ae();Re();u$=200;tC=p$});function W7(t){var a=this.__data__=new c6(t);this.size=a.size}var _7,Iv=x(()=>{ga();Ux();$x();Xx();Jx();aC();W7.prototype.clear=Nx;W7.prototype.delete=Kx;W7.prototype.get=Qx;W7.prototype.has=Yx;W7.prototype.set=tC;_7=W7});function m$(t,a){for(var c=-1,r=t==null?0:t.length,e=0,l=[];++c{cC=m$});function f$(){return[]}var eC,lC=x(()=>{eC=f$});var M$,x$,iC,C$,oC,nC=x(()=>{rC();lC();M$=Object.prototype,x$=M$.propertyIsEnumerable,iC=Object.getOwnPropertySymbols,C$=iC?function(t){return t==null?[]:(t=Object(t),cC(iC(t),function(a){return x$.call(t,a)}))}:eC,oC=C$});function L$(t,a,c){var r=a(t);return o2(t)?r:Ie(r,c(t))}var hC,vC=x(()=>{bv();f3();hC=L$});function H$(t){return hC(t,F7,oC)}var Pv,gC=x(()=>{vC();nC();Se();Pv=H$});var V$,Pe,dC=x(()=>{X5();m3();V$=w0(g2,"DataView"),Pe=V$});var w$,Ge,sC=x(()=>{X5();m3();w$=w0(g2,"Promise"),Ge=w$});var B$,l6,Gv=x(()=>{X5();m3();B$=w0(g2,"Set"),l6=B$});var zC,y$,uC,pC,mC,fC,S$,k$,A$,R$,b$,x8,Tv,MC=x(()=>{dC();Ae();sC();Gv();aM();p8();mv();zC="[object Map]",y$="[object Object]",uC="[object Promise]",pC="[object Set]",mC="[object WeakMap]",fC="[object DataView]",S$=r5(Pe),k$=r5(r6),A$=r5(Ge),R$=r5(l6),b$=r5(fe),x8=q0;(Pe&&x8(new Pe(new ArrayBuffer(1)))!=fC||r6&&x8(new r6)!=zC||Ge&&x8(Ge.resolve())!=uC||l6&&x8(new l6)!=pC||fe&&x8(new fe)!=mC)&&(x8=function(t){var a=q0(t),c=a==y$?t.constructor:void 0,r=c?r5(c):"";if(r)switch(r){case S$:return fC;case k$:return zC;case A$:return uC;case R$:return pC;case b$:return mC}return a});Tv=x8});var F$,Zv,xC=x(()=>{m3();F$=g2.Uint8Array,Zv=F$});function P$(t){return this.__data__.set(t,I$),this}var I$,CC,LC=x(()=>{I$="__lodash_hash_undefined__";CC=P$});function G$(t){return this.__data__.has(t)}var HC,VC=x(()=>{HC=G$});function Te(t){var a=-1,c=t==null?0:t.length;for(this.__data__=new f8;++a{Re();LC();VC();Te.prototype.add=Te.prototype.push=CC;Te.prototype.has=HC;Ze=Te});function T$(t,a){for(var c=-1,r=t==null?0:t.length;++c{wC=T$});function Z$(t,a){return t.has(a)}var Oe,Ev=x(()=>{Oe=Z$});function D$(t,a,c,r,e,l){var i=c&O$,o=t.length,n=a.length;if(o!=n&&!(i&&n>o))return!1;var h=l.get(t),v=l.get(a);if(h&&v)return h==a&&v==t;var g=-1,s=!0,d=c&E$?new Ze:void 0;for(l.set(t,a),l.set(a,t);++g{Ov();BC();Ev();O$=1,E$=2;Ee=D$});function W$(t){var a=-1,c=Array(t.size);return t.forEach(function(r,e){c[++a]=[e,r]}),c}var yC,SC=x(()=>{yC=W$});function _$(t){var a=-1,c=Array(t.size);return t.forEach(function(r){c[++a]=r}),c}var j7,De=x(()=>{j7=_$});function rQ(t,a,c,r,e,l,i){switch(c){case cQ:if(t.byteLength!=a.byteLength||t.byteOffset!=a.byteOffset)return!1;t=t.buffer,a=a.buffer;case aQ:return!(t.byteLength!=a.byteLength||!l(new Zv(t),new Zv(a)));case N$:case U$:case Q$:return J5(+t,+a);case K$:return t.name==a.name&&t.message==a.message;case X$:case J$:return t==a+"";case $$:var o=yC;case Y$:var n=r&j$;if(o||(o=j7),t.size!=a.size&&!n)return!1;var h=i.get(t);if(h)return h==a;r|=q$,i.set(t,a);var v=Ee(o(t),o(a),r,e,l,i);return i.delete(t),v;case tQ:if(Wv)return Wv.call(t)==Wv.call(a)}return!1}var j$,q$,N$,U$,K$,$$,Q$,X$,Y$,J$,tQ,aQ,cQ,kC,Wv,AC,RC=x(()=>{V7();xC();la();Dv();SC();De();j$=1,q$=2,N$="[object Boolean]",U$="[object Date]",K$="[object Error]",$$="[object Map]",Q$="[object Number]",X$="[object RegExp]",Y$="[object Set]",J$="[object String]",tQ="[object Symbol]",aQ="[object ArrayBuffer]",cQ="[object DataView]",kC=p0?p0.prototype:void 0,Wv=kC?kC.valueOf:void 0;AC=rQ});function oQ(t,a,c,r,e,l){var i=c&eQ,o=Pv(t),n=o.length,h=Pv(a),v=h.length;if(n!=v&&!i)return!1;for(var g=n;g--;){var s=o[g];if(!(i?s in a:iQ.call(a,s)))return!1}var d=l.get(t),z=l.get(a);if(d&&z)return d==a&&z==t;var u=!0;l.set(t,a),l.set(a,t);for(var f=i;++g{gC();eQ=1,lQ=Object.prototype,iQ=lQ.hasOwnProperty;bC=oQ});function vQ(t,a,c,r,e,l){var i=o2(t),o=o2(a),n=i?PC:Tv(t),h=o?PC:Tv(a);n=n==IC?We:n,h=h==IC?We:h;var v=n==We,g=h==We,s=n==h;if(s&&oa(t)){if(!oa(a))return!1;i=!0,v=!1}if(s&&!v)return l||(l=new _7),i||Be(t)?Ee(t,a,c,r,e,l):AC(t,a,n,c,r,e,l);if(!(c&nQ)){var d=v&&GC.call(t,"__wrapped__"),z=g&&GC.call(a,"__wrapped__");if(d||z){var u=d?t.value():t,f=z?a.value():a;return l||(l=new _7),e(u,f,c,r,l)}}return s?(l||(l=new _7),bC(t,a,c,r,e,l)):!1}var nQ,IC,PC,We,hQ,GC,TC,ZC=x(()=>{Iv();Dv();RC();FC();MC();f3();Hv();Bv();nQ=1,IC="[object Arguments]",PC="[object Array]",We="[object Object]",hQ=Object.prototype,GC=hQ.hasOwnProperty;TC=vQ});function OC(t,a,c,r,e){return t===a?!0:t==null||a==null||!N0(t)&&!N0(a)?t!==t&&a!==a:TC(t,a,c,r,OC,e)}var _e,_v=x(()=>{ZC();m8();_e=OC});function sQ(t,a,c,r){var e=c.length,l=e,i=!r;if(t==null)return!l;for(t=Object(t);e--;){var o=c[e];if(i&&o[2]?o[1]!==t[o[0]]:!(o[0]in t))return!1}for(;++e{Iv();_v();gQ=1,dQ=2;EC=sQ});function zQ(t){return t===t&&!r0(t)}var je,jv=x(()=>{K5();je=zQ});function uQ(t){for(var a=F7(t),c=a.length;c--;){var r=a[c],e=t[r];a[c]=[r,e,je(e)]}return a}var WC,_C=x(()=>{jv();Se();WC=uQ});function pQ(t,a){return function(c){return c==null?!1:c[t]===a&&(a!==void 0||t in Object(c))}}var qe,qv=x(()=>{qe=pQ});function mQ(t){var a=WC(t);return a.length==1&&a[0][2]?qe(a[0][0],a[0][1]):function(c){return c===t||EC(c,t,a)}}var jC,qC=x(()=>{DC();_C();qv();jC=mQ});function fQ(t,a){return t!=null&&a in Object(t)}var NC,UC=x(()=>{NC=fQ});function MQ(t,a,c){a=Z7(a,t);for(var r=-1,e=a.length,l=!1;++r{be();Ve();f3();ea();He();O7();KC=MQ});function xQ(t,a){return t!=null&&KC(t,a,NC)}var QC,XC=x(()=>{UC();$C();QC=xQ});function HQ(t,a){return I7(t)&&je(a)?qe(f4(t),a):function(c){var r=D3(c,t);return r===void 0&&r===a?QC(c,t):_e(a,r,CQ|LQ)}}var CQ,LQ,YC,JC=x(()=>{_v();D7();XC();ke();jv();qv();O7();CQ=1,LQ=2;YC=HQ});function VQ(t){return function(a){return a==null?void 0:a[t]}}var tL,aL=x(()=>{tL=VQ});function wQ(t){return function(a){return E7(a,t)}}var cL,rL=x(()=>{Fe();cL=wQ});function BQ(t){return I7(t)?tL(f4(t)):cL(t)}var eL,lL=x(()=>{aL();rL();ke();O7();eL=BQ});function yQ(t){return typeof t=="function"?t:t==null?Q5:typeof t=="object"?o2(t)?YC(t[0],t[1]):jC(t):eL(t)}var M4,q7=x(()=>{qC();JC();ra();f3();lL();M4=yQ});function SQ(t,a,c,r){for(var e=-1,l=t==null?0:t.length;++e{iL=SQ});function kQ(t){return function(a,c,r){for(var e=-1,l=Object(a),i=r(a),o=i.length;o--;){var n=i[t?o:++e];if(c(l[n],n,l)===!1)break}return a}}var nL,hL=x(()=>{nL=kQ});var AQ,vL,gL=x(()=>{hL();AQ=nL(),vL=AQ});function RQ(t,a){return t&&vL(t,a,F7)}var Ne,Nv=x(()=>{gL();Se();Ne=RQ});function bQ(t,a){return function(c,r){if(c==null)return c;if(!t6(c))return t(c,r);for(var e=c.length,l=a?e:-1,i=Object(c);(a?l--:++l{ia();dL=bQ});var FQ,Ue,Uv=x(()=>{Nv();sL();FQ=dL(Ne),Ue=FQ});function IQ(t,a,c,r){return Ue(t,function(e,l,i){a(r,e,c(e),i)}),r}var zL,uL=x(()=>{Uv();zL=IQ});function PQ(t,a){return function(c,r){var e=o2(c)?iL:zL,l=a?a():{};return e(c,t,M4(r,2),l)}}var pL,mL=x(()=>{oL();uL();q7();f3();pL=PQ});var GQ,Ke,fL=x(()=>{m3();GQ=function(){return g2.Date.now()},Ke=GQ});function EQ(t,a,c){var r,e,l,i,o,n,h=0,v=!1,g=!1,s=!0;if(typeof t!="function")throw new TypeError(TQ);a=U0(a)||0,r0(c)&&(v=!!c.leading,g="maxWait"in c,l=g?ZQ(U0(c.maxWait)||0,a):l,s="trailing"in c?!!c.trailing:s);function d(y){var k=r,F=e;return r=e=void 0,h=y,i=t.apply(F,k),i}function z(y){return h=y,o=setTimeout(p,a),v?d(y):i}function u(y){var k=y-n,F=y-h,U=a-k;return g?OQ(U,l-F):U}function f(y){var k=y-n,F=y-h;return n===void 0||k>=a||k<0||g&&F>=l}function p(){var y=Ke();if(f(y))return m(y);o=setTimeout(p,u(y))}function m(y){return o=void 0,s&&r?d(y):(r=e=void 0,i)}function M(){o!==void 0&&clearTimeout(o),h=0,r=n=e=o=void 0}function w(){return o===void 0?i:m(Ke())}function H(){var y=Ke(),k=f(y);if(r=arguments,e=this,n=y,k){if(o===void 0)return z(n);if(g)return clearTimeout(o),o=setTimeout(p,a),d(n)}return o===void 0&&(o=setTimeout(p,a)),i}return H.cancel=M,H.flush=w,H}var TQ,ZQ,OQ,pa,Kv=x(()=>{K5();fL();B7();TQ="Expected a function",ZQ=Math.max,OQ=Math.min;pa=EQ});function DQ(t,a,c){for(var r=-1,e=t==null?0:t.length;++r{ML=DQ});function WQ(t){var a=t==null?0:t.length;return a?t[a-1]:void 0}var M3,ma=x(()=>{M3=WQ});function jQ(t,a,c){var r=t==null?0:t.length;if(!r)return-1;var e=c==null?0:$5(c);return e<0&&(e=_Q(r+e,0)),S7(t,M4(a,3),e)}var _Q,$e,CL=x(()=>{Me();q7();ca();_Q=Math.max;$e=jQ});function UQ(t,a,c){var r=t==null?0:t.length;if(!r)return-1;var e=r-1;return c!==void 0&&(e=$5(c),e=c<0?qQ(r+e,0):NQ(e,r-1)),S7(t,M4(a,3),e,!0)}var qQ,NQ,LL,HL=x(()=>{Me();q7();ca();qQ=Math.max,NQ=Math.min;LL=UQ});function KQ(t,a){var c=-1,r=t6(t)?Array(t.length):[];return Ue(t,function(e,l,i){r[++c]=a(e,l,i)}),r}var VL,wL=x(()=>{Uv();ia();VL=KQ});function XQ(t,a,c){return t>=QQ(a,c)&&t<$Q(a,c)}var $Q,QQ,BL,yL=x(()=>{$Q=Math.max,QQ=Math.min;BL=XQ});function YQ(t,a,c){return a=aa(a),c===void 0?(c=a,a=0):c=aa(c),t=U0(t),BL(t,a,c)}var Qe,SL=x(()=>{yL();uv();B7();Qe=YQ});function JQ(t){return typeof t=="number"&&t==$5(t)}var fa,$v=x(()=>{ca();fa=JQ});var tX,Ma,kL=x(()=>{Ce();mL();tX=pL(function(t,a,c){k7(t,c,a)}),Ma=tX});function aX(t,a){var c={};return a=M4(a,3),Ne(t,function(r,e,l){k7(c,e,a(r,e,l))}),c}var l5,Qv=x(()=>{Ce();Nv();q7();l5=aX});function cX(t,a,c,r){if(!r0(t))return t;a=Z7(a,t);for(var e=-1,l=a.length,i=l-1,o=t;o!=null&&++e{HM();be();ea();K5();O7();AL=cX});function rX(t,a){var c=t.length;for(t.sort(a);c--;)t[c]=t[c].value;return t}var bL,FL=x(()=>{bL=rX});function eX(t,a){if(t!==a){var c=t!==void 0,r=t===null,e=t===t,l=E3(t),i=a!==void 0,o=a===null,n=a===a,h=E3(a);if(!o&&!h&&!l&&t>a||l&&i&&n&&!o&&!h||r&&i&&n||!c&&n||!e)return 1;if(!r&&!l&&!h&&t{w7();IL=eX});function lX(t,a,c){for(var r=-1,e=t.criteria,l=a.criteria,i=e.length,o=c.length;++r=o)return n;var h=c[r];return n*(h=="desc"?-1:1)}}return t.index-a.index}var GL,TL=x(()=>{PL();GL=lX});function iX(t,a,c){a.length?a=U5(a,function(l){return o2(l)?function(i){return E7(i,l.length===1?l[0]:l)}:l}):a=[Q5];var r=-1;a=U5(a,b7(M4));var e=VL(t,function(l,i,o){var n=U5(a,function(h){return h(l)});return{criteria:n,index:++r,value:l}});return bL(e,function(l,i){return GL(l,i,c)})}var ZL,OL=x(()=>{ue();Fe();q7();wL();FL();we();TL();ra();f3();ZL=iX});function oX(t,a,c,r){for(var e=c-1,l=t.length;++e{EL=oX});function hX(t,a,c,r){var e=r?EL:xe,l=-1,i=a.length,o=t;for(t===a&&(a=iM(a)),c&&(o=U5(t,b7(c)));++l-1;)o!==t&&WL.call(o,n,1),WL.call(t,n,1);return t}var nX,WL,_L,jL=x(()=>{ue();Mv();DL();we();oM();nX=Array.prototype,WL=nX.splice;_L=hX});function vX(t,a){return t&&t.length&&a&&a.length?_L(t,a):t}var qL,NL=x(()=>{jL();qL=vX});var gX,UL,KL=x(()=>{xv();NL();gX=Le(qL),UL=gX});var dX,Xv,$L=x(()=>{_x();dX=Wx("round"),Xv=dX});function sX(t,a,c){return t==null?t:AL(t,a,c)}var i6,Xe=x(()=>{RL();i6=sX});var zX,QL,XL=x(()=>{Zx();OL();xv();yM();zX=Le(function(t,a){if(t==null)return[];var c=a.length;return c>1&&Cv(t,a[0],a[1])?a=[]:c>2&&Cv(a[0],a[1],a[2])&&(a=[a[0]]),ZL(t,Tx(a,1),[])}),QL=zX});var uX,pX,YL,JL=x(()=>{Gv();lM();De();uX=1/0,pX=l6&&1/j7(new l6([,-0]))[1]==uX?function(t){return new l6(t)}:eM,YL=pX});function fX(t,a,c){var r=-1,e=xM,l=t.length,i=!0,o=[],n=o;if(c)i=!1,e=ML;else if(l>=mX){var h=a?null:YL(t);if(h)return j7(h);i=!1,e=Oe,n=new Ze}else n=a?[]:o;t:for(;++r{Ov();CM();xL();Ev();JL();De();mX=200;tH=fX});function MX(t){return t&&t.length?tH(t):[]}var x3,cH=x(()=>{aH();x3=MX});var H2=x(()=>{ua();Kv();CL();SL();$v();Fv();ma();Qv();Av();$L();cH();});var lH=L1((yz1,eH)=>{var rH;eH.exports=typeof queueMicrotask=="function"?queueMicrotask.bind(typeof window!="undefined"?window:global):t=>(rH||(rH=Promise.resolve())).then(t).catch(a=>setTimeout(()=>{throw a},0))});var pH=L1(F1=>{"use strict";var xa=Symbol.for("react.element"),xX=Symbol.for("react.portal"),CX=Symbol.for("react.fragment"),LX=Symbol.for("react.strict_mode"),HX=Symbol.for("react.profiler"),VX=Symbol.for("react.provider"),wX=Symbol.for("react.context"),BX=Symbol.for("react.forward_ref"),yX=Symbol.for("react.suspense"),SX=Symbol.for("react.memo"),kX=Symbol.for("react.lazy"),iH=Symbol.iterator;function AX(t){return t===null||typeof t!="object"?null:(t=iH&&t[iH]||t["@@iterator"],typeof t=="function"?t:null)}var hH={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},vH=Object.assign,gH={};function N7(t,a,c){this.props=t,this.context=a,this.refs=gH,this.updater=c||hH}N7.prototype.isReactComponent={};N7.prototype.setState=function(t,a){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,a,"setState")};N7.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function dH(){}dH.prototype=N7.prototype;function Jv(t,a,c){this.props=t,this.context=a,this.refs=gH,this.updater=c||hH}var tg=Jv.prototype=new dH;tg.constructor=Jv;vH(tg,N7.prototype);tg.isPureReactComponent=!0;var oH=Array.isArray,sH=Object.prototype.hasOwnProperty,ag={current:null},zH={key:!0,ref:!0,__self:!0,__source:!0};function uH(t,a,c){var r,e={},l=null,i=null;if(a!=null)for(r in a.ref!==void 0&&(i=a.ref),a.key!==void 0&&(l=""+a.key),a)sH.call(a,r)&&!zH.hasOwnProperty(r)&&(e[r]=a[r]);var o=arguments.length-2;if(o===1)e.children=c;else if(1{"use strict";mH.exports=pH()});var yH=L1(K1=>{"use strict";function ig(t,a){var c=t.length;t.push(a);t:for(;0>>1,e=t[r];if(0>>1;ral(o,c))nal(h,o)?(t[r]=h,t[n]=c,r=n):(t[r]=o,t[i]=c,r=i);else if(nal(h,c))t[r]=h,t[n]=c,r=n;else break t}}return a}function al(t,a){var c=t.sortIndex-a.sortIndex;return c!==0?c:t.id-a.id}typeof performance=="object"&&typeof performance.now=="function"?(fH=performance,K1.unstable_now=function(){return fH.now()}):(rg=Date,MH=rg.now(),K1.unstable_now=function(){return rg.now()-MH});var fH,rg,MH,x4=[],o6=[],PX=1,C3=null,e0=3,el=!1,C8=!1,La=!1,LH=typeof setTimeout=="function"?setTimeout:null,HH=typeof clearTimeout=="function"?clearTimeout:null,xH=typeof setImmediate!="undefined"?setImmediate:null;typeof navigator!="undefined"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function og(t){for(var a=W3(o6);a!==null;){if(a.callback===null)rl(o6);else if(a.startTime<=t)rl(o6),a.sortIndex=a.expirationTime,ig(x4,a);else break;a=W3(o6)}}function ng(t){if(La=!1,og(t),!C8)if(W3(x4)!==null)C8=!0,vg(hg);else{var a=W3(o6);a!==null&&gg(ng,a.startTime-t)}}function hg(t,a){C8=!1,La&&(La=!1,HH(Ha),Ha=-1),el=!0;var c=e0;try{for(og(a),C3=W3(x4);C3!==null&&(!(C3.expirationTime>a)||t&&!BH());){var r=C3.callback;if(typeof r=="function"){C3.callback=null,e0=C3.priorityLevel;var e=r(C3.expirationTime<=a);a=K1.unstable_now(),typeof e=="function"?C3.callback=e:C3===W3(x4)&&rl(x4),og(a)}else rl(x4);C3=W3(x4)}if(C3!==null)var l=!0;else{var i=W3(o6);i!==null&&gg(ng,i.startTime-a),l=!1}return l}finally{C3=null,e0=c,el=!1}}var ll=!1,cl=null,Ha=-1,VH=5,wH=-1;function BH(){return!(K1.unstable_now()-wHt||125r?(t.sortIndex=c,ig(o6,t),W3(x4)===null&&t===W3(o6)&&(La?(HH(Ha),Ha=-1):La=!0,gg(ng,c-r))):(t.sortIndex=e,ig(x4,t),C8||el||(C8=!0,vg(hg))),t};K1.unstable_shouldYield=BH;K1.unstable_wrapCallback=function(t){var a=e0;return function(){var c=e0;e0=a;try{return t.apply(this,arguments)}finally{e0=c}}}});var kH=L1((Rz1,SH)=>{"use strict";SH.exports=yH()});var PB=L1(J0=>{"use strict";var GV=G(),X0=kH();function n1(t){for(var a="https://reactjs.org/docs/error-decoder.html?invariant="+t,c=1;ca}return!1}function x0(t,a,c,r,e,l,i){this.acceptsBooleans=a===2||a===3||a===4,this.attributeName=r,this.attributeNamespace=e,this.mustUseProperty=c,this.propertyName=t,this.type=a,this.sanitizeURL=l,this.removeEmptyString=i}var q2={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){q2[t]=new x0(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var a=t[0];q2[a]=new x0(a,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){q2[t]=new x0(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){q2[t]=new x0(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){q2[t]=new x0(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){q2[t]=new x0(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){q2[t]=new x0(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){q2[t]=new x0(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){q2[t]=new x0(t,5,!1,t.toLowerCase(),null,!1,!1)});var Bd=/[\-:]([a-z])/g;function yd(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var a=t.replace(Bd,yd);q2[a]=new x0(a,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var a=t.replace(Bd,yd);q2[a]=new x0(a,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var a=t.replace(Bd,yd);q2[a]=new x0(a,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){q2[t]=new x0(t,1,!1,t.toLowerCase(),null,!1,!1)});q2.xlinkHref=new x0("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){q2[t]=new x0(t,1,!1,t.toLowerCase(),null,!0,!0)});function Sd(t,a,c,r){var e=q2.hasOwnProperty(a)?q2[a]:null;(e!==null?e.type!==0:r||!(2o||e[i]!==l[o]){var n="\n"+e[i].replace(" at new "," at ");return t.displayName&&n.includes("")&&(n=n.replace("",t.displayName)),n}while(1<=i&&0<=o);break}}}finally{sg=!1,Error.prepareStackTrace=c}return(t=t?t.displayName||t.name:"")?ba(t):""}function EX(t){switch(t.tag){case 5:return ba(t.type);case 16:return ba("Lazy");case 13:return ba("Suspense");case 19:return ba("SuspenseList");case 0:case 2:case 15:return t=zg(t.type,!1),t;case 11:return t=zg(t.type.render,!1),t;case 1:return t=zg(t.type,!0),t;default:return""}}function Zg(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case Q7:return"Fragment";case $7:return"Portal";case Pg:return"Profiler";case kd:return"StrictMode";case Gg:return"Suspense";case Tg:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case OV:return(t.displayName||"Context")+".Consumer";case ZV:return(t._context.displayName||"Context")+".Provider";case Ad:var a=t.render;return t=t.displayName,t||(t=a.displayName||a.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Rd:return a=t.displayName||null,a!==null?a:Zg(t.type)||"Memo";case h6:a=t._payload,t=t._init;try{return Zg(t(a))}catch(c){}}return null}function DX(t){var a=t.type;switch(t.tag){case 24:return"Cache";case 9:return(a.displayName||"Context")+".Consumer";case 10:return(a._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=a.render,t=t.displayName||t.name||"",a.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return a;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Zg(a);case 8:return a===kd?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof a=="function")return a.displayName||a.name||null;if(typeof a=="string")return a}return null}function H6(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function DV(t){var a=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function WX(t){var a=DV(t)?"checked":"value",c=Object.getOwnPropertyDescriptor(t.constructor.prototype,a),r=""+t[a];if(!t.hasOwnProperty(a)&&typeof c!="undefined"&&typeof c.get=="function"&&typeof c.set=="function"){var e=c.get,l=c.set;return Object.defineProperty(t,a,{configurable:!0,get:function(){return e.call(this)},set:function(i){r=""+i,l.call(this,i)}}),Object.defineProperty(t,a,{enumerable:c.enumerable}),{getValue:function(){return r},setValue:function(i){r=""+i},stopTracking:function(){t._valueTracker=null,delete t[a]}}}}function ol(t){t._valueTracker||(t._valueTracker=WX(t))}function WV(t){if(!t)return!1;var a=t._valueTracker;if(!a)return!0;var c=a.getValue(),r="";return t&&(r=DV(t)?t.checked?"true":"false":t.value),t=r,t!==c?(a.setValue(t),!0):!1}function Pl(t){if(t=t||(typeof document!="undefined"?document:void 0),typeof t=="undefined")return null;try{return t.activeElement||t.body}catch(a){return t.body}}function Og(t,a){var c=a.checked;return v2({},a,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:c!=null?c:t._wrapperState.initialChecked})}function FH(t,a){var c=a.defaultValue==null?"":a.defaultValue,r=a.checked!=null?a.checked:a.defaultChecked;c=H6(a.value!=null?a.value:c),t._wrapperState={initialChecked:r,initialValue:c,controlled:a.type==="checkbox"||a.type==="radio"?a.checked!=null:a.value!=null}}function _V(t,a){a=a.checked,a!=null&&Sd(t,"checked",a,!1)}function Eg(t,a){_V(t,a);var c=H6(a.value),r=a.type;if(c!=null)r==="number"?(c===0&&t.value===""||t.value!=c)&&(t.value=""+c):t.value!==""+c&&(t.value=""+c);else if(r==="submit"||r==="reset"){t.removeAttribute("value");return}a.hasOwnProperty("value")?Dg(t,a.type,c):a.hasOwnProperty("defaultValue")&&Dg(t,a.type,H6(a.defaultValue)),a.checked==null&&a.defaultChecked!=null&&(t.defaultChecked=!!a.defaultChecked)}function IH(t,a,c){if(a.hasOwnProperty("value")||a.hasOwnProperty("defaultValue")){var r=a.type;if(!(r!=="submit"&&r!=="reset"||a.value!==void 0&&a.value!==null))return;a=""+t._wrapperState.initialValue,c||a===t.value||(t.value=a),t.defaultValue=a}c=t.name,c!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,c!==""&&(t.name=c)}function Dg(t,a,c){(a!=="number"||Pl(t.ownerDocument)!==t)&&(c==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+c&&(t.defaultValue=""+c))}var Fa=Array.isArray;function o9(t,a,c,r){if(t=t.options,a){a={};for(var e=0;e"+a.valueOf().toString()+"",a=nl.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;a.firstChild;)t.appendChild(a.firstChild)}});function Na(t,a){if(a){var c=t.firstChild;if(c&&c===t.lastChild&&c.nodeType===3){c.nodeValue=a;return}}t.textContent=a}var Ga={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},_X=["Webkit","ms","Moz","O"];Object.keys(Ga).forEach(function(t){_X.forEach(function(a){a=a+t.charAt(0).toUpperCase()+t.substring(1),Ga[a]=Ga[t]})});function UV(t,a,c){return a==null||typeof a=="boolean"||a===""?"":c||typeof a!="number"||a===0||Ga.hasOwnProperty(t)&&Ga[t]?(""+a).trim():a+"px"}function KV(t,a){t=t.style;for(var c in a)if(a.hasOwnProperty(c)){var r=c.indexOf("--")===0,e=UV(c,a[c],r);c==="float"&&(c="cssFloat"),r?t.setProperty(c,e):t[c]=e}}var jX=v2({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function jg(t,a){if(a){if(jX[t]&&(a.children!=null||a.dangerouslySetInnerHTML!=null))throw Error(n1(137,t));if(a.dangerouslySetInnerHTML!=null){if(a.children!=null)throw Error(n1(60));if(typeof a.dangerouslySetInnerHTML!="object"||!("__html"in a.dangerouslySetInnerHTML))throw Error(n1(61))}if(a.style!=null&&typeof a.style!="object")throw Error(n1(62))}}function qg(t,a){if(t.indexOf("-")===-1)return typeof a.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ng=null;function bd(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Ug=null,n9=null,h9=null;function TH(t){if(t=vc(t)){if(typeof Ug!="function")throw Error(n1(280));var a=t.stateNode;a&&(a=hi(a),Ug(t.stateNode,t.type,a))}}function $V(t){n9?h9?h9.push(t):h9=[t]:n9=t}function QV(){if(n9){var t=n9,a=h9;if(h9=n9=null,TH(t),a)for(t=0;t>>=0,t===0?32:31-(aY(t)/cY|0)|0}var hl=64,vl=4194304;function Ia(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function Ol(t,a){var c=t.pendingLanes;if(c===0)return 0;var r=0,e=t.suspendedLanes,l=t.pingedLanes,i=c&268435455;if(i!==0){var o=i&~e;o!==0?r=Ia(o):(l&=i,l!==0&&(r=Ia(l)))}else i=c&~e,i!==0?r=Ia(i):l!==0&&(r=Ia(l));if(r===0)return 0;if(a!==0&&a!==r&&!(a&e)&&(e=r&-r,l=a&-a,e>=l||e===16&&(l&4194240)!==0))return a;if(r&4&&(r|=c&16),a=t.entangledLanes,a!==0)for(t=t.entanglements,a&=r;0c;c++)a.push(t);return a}function nc(t,a,c){t.pendingLanes|=a,a!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,a=31-U3(a),t[a]=c}function iY(t,a){var c=t.pendingLanes&~a;t.pendingLanes=a,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=a,t.mutableReadLanes&=a,t.entangledLanes&=a,a=t.entanglements;var r=t.eventTimes;for(t=t.expirationTimes;0=Za),NH=String.fromCharCode(32),UH=!1;function pw(t,a){switch(t){case"keyup":return IY.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function mw(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var X7=!1;function GY(t,a){switch(t){case"compositionend":return mw(a);case"keypress":return a.which!==32?null:(UH=!0,NH);case"textInput":return t=a.data,t===NH&&UH?null:t;default:return null}}function TY(t,a){if(X7)return t==="compositionend"||!Ed&&pw(t,a)?(t=zw(),Bl=Td=s6=null,X7=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1=a)return{node:c,offset:a-t};t=r}t:{for(;c;){if(c.nextSibling){c=c.nextSibling;break t}c=c.parentNode}c=void 0}c=QH(c)}}function Cw(t,a){return t&&a?t===a?!0:t&&t.nodeType===3?!1:a&&a.nodeType===3?Cw(t,a.parentNode):"contains"in t?t.contains(a):t.compareDocumentPosition?!!(t.compareDocumentPosition(a)&16):!1:!1}function Lw(){for(var t=window,a=Pl();a instanceof t.HTMLIFrameElement;){try{var c=typeof a.contentWindow.location.href=="string"}catch(r){c=!1}if(c)t=a.contentWindow;else break;a=Pl(t.document)}return a}function Dd(t){var a=t&&t.nodeName&&t.nodeName.toLowerCase();return a&&(a==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||a==="textarea"||t.contentEditable==="true")}function NY(t){var a=Lw(),c=t.focusedElem,r=t.selectionRange;if(a!==c&&c&&c.ownerDocument&&Cw(c.ownerDocument.documentElement,c)){if(r!==null&&Dd(c)){if(a=r.start,t=r.end,t===void 0&&(t=a),"selectionStart"in c)c.selectionStart=a,c.selectionEnd=Math.min(t,c.value.length);else if(t=(a=c.ownerDocument||document)&&a.defaultView||window,t.getSelection){t=t.getSelection();var e=c.textContent.length,l=Math.min(r.start,e);r=r.end===void 0?l:Math.min(r.end,e),!t.extend&&l>r&&(e=r,r=l,l=e),e=XH(c,l);var i=XH(c,r);e&&i&&(t.rangeCount!==1||t.anchorNode!==e.node||t.anchorOffset!==e.offset||t.focusNode!==i.node||t.focusOffset!==i.offset)&&(a=a.createRange(),a.setStart(e.node,e.offset),t.removeAllRanges(),l>r?(t.addRange(a),t.extend(i.node,i.offset)):(a.setEnd(i.node,i.offset),t.addRange(a)))}}for(a=[],t=c;t=t.parentNode;)t.nodeType===1&&a.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;c=document.documentMode,Y7=null,Jg=null,Ea=null,td=!1;function YH(t,a,c){var r=c.window===c?c.document:c.nodeType===9?c:c.ownerDocument;td||Y7==null||Y7!==Pl(r)||(r=Y7,"selectionStart"in r&&Dd(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Ea&&Ya(Ea,r)||(Ea=r,r=Wl(Jg,"onSelect"),0a9||(t.current=id[a9],id[a9]=null,a9--)}function $1(t,a){a9++,id[a9]=t.current,t.current=a}var V6={},n0=B6(V6),S0=B6(!1),k8=V6;function z9(t,a){var c=t.type.contextTypes;if(!c)return V6;var r=t.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===a)return r.__reactInternalMemoizedMaskedChildContext;var e={},l;for(l in c)e[l]=a[l];return r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=a,t.__reactInternalMemoizedMaskedChildContext=e),e}function k0(t){return t=t.childContextTypes,t!=null}function jl(){a2(S0),a2(n0)}function oV(t,a,c){if(n0.current!==V6)throw Error(n1(168));$1(n0,a),$1(S0,c)}function Rw(t,a,c){var r=t.stateNode;if(a=a.childContextTypes,typeof r.getChildContext!="function")return c;r=r.getChildContext();for(var e in r)if(!(e in a))throw Error(n1(108,DX(t)||"Unknown",e));return v2({},c,r)}function ql(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||V6,k8=n0.current,$1(n0,t),$1(S0,S0.current),!0}function nV(t,a,c){var r=t.stateNode;if(!r)throw Error(n1(169));c?(t=Rw(t,a,k8),r.__reactInternalMemoizedMergedChildContext=t,a2(S0),a2(n0),$1(n0,t)):a2(S0),$1(S0,c)}var o5=null,vi=!1,wg=!1;function bw(t){o5===null?o5=[t]:o5.push(t)}function cJ(t){vi=!0,bw(t)}function y6(){if(!wg&&o5!==null){wg=!0;var t=0,a=W1;try{var c=o5;for(W1=1;t>=i,e-=i,n5=1<<32-U3(a)+e|c<F?(U=k,k=null):U=k.sibling;var A=s(p,k,M[F],w);if(A===null){k===null&&(k=U);break}t&&k&&A.alternate===null&&a(p,k),m=l(A,m,F),y===null?H=A:y.sibling=A,y=A,k=U}if(F===M.length)return c(p,k),l2&&L8(p,F),H;if(k===null){for(;FF?(U=k,k=null):U=k.sibling;var P=s(p,k,A.value,w);if(P===null){k===null&&(k=U);break}t&&k&&P.alternate===null&&a(p,k),m=l(P,m,F),y===null?H=P:y.sibling=P,y=P,k=U}if(A.done)return c(p,k),l2&&L8(p,F),H;if(k===null){for(;!A.done;F++,A=M.next())A=g(p,A.value,w),A!==null&&(m=l(A,m,F),y===null?H=A:y.sibling=A,y=A);return l2&&L8(p,F),H}for(k=r(p,k);!A.done;F++,A=M.next())A=d(k,p,F,A.value,w),A!==null&&(t&&A.alternate!==null&&k.delete(A.key===null?F:A.key),m=l(A,m,F),y===null?H=A:y.sibling=A,y=A);return t&&k.forEach(function(C){return a(p,C)}),l2&&L8(p,F),H}function f(p,m,M,w){if(typeof M=="object"&&M!==null&&M.type===Q7&&M.key===null&&(M=M.props.children),typeof M=="object"&&M!==null){switch(M.$$typeof){case il:t:{for(var H=M.key,y=m;y!==null;){if(y.key===H){if(H=M.type,H===Q7){if(y.tag===7){c(p,y.sibling),m=e(y,M.props.children),m.return=p,p=m;break t}}else if(y.elementType===H||typeof H=="object"&&H!==null&&H.$$typeof===h6&&uV(H)===y.type){c(p,y.sibling),m=e(y,M.props),m.ref=Sa(p,y,M),m.return=p,p=m;break t}c(p,y);break}else a(p,y);y=y.sibling}M.type===Q7?(m=S8(M.props.children,p.mode,w,M.key),m.return=p,p=m):(w=Il(M.type,M.key,M.props,null,p.mode,w),w.ref=Sa(p,m,M),w.return=p,p=w)}return i(p);case $7:t:{for(y=M.key;m!==null;){if(m.key===y)if(m.tag===4&&m.stateNode.containerInfo===M.containerInfo&&m.stateNode.implementation===M.implementation){c(p,m.sibling),m=e(m,M.children||[]),m.return=p,p=m;break t}else{c(p,m);break}else a(p,m);m=m.sibling}m=Fg(M,p.mode,w),m.return=p,p=m}return i(p);case h6:return y=M._init,f(p,m,y(M._payload),w)}if(Fa(M))return z(p,m,M,w);if(Va(M))return u(p,m,M,w);Cl(p,M)}return typeof M=="string"&&M!==""||typeof M=="number"?(M=""+M,m!==null&&m.tag===6?(c(p,m.sibling),m=e(m,M),m.return=p,p=m):(c(p,m),m=bg(M,p.mode,w),m.return=p,p=m),i(p)):c(p,m)}return f}var p9=Ew(!0),Dw=Ew(!1),gc={},w4=B6(gc),cc=B6(gc),rc=B6(gc);function B8(t){if(t===gc)throw Error(n1(174));return t}function Qd(t,a){switch($1(rc,a),$1(cc,t),$1(w4,gc),t=a.nodeType,t){case 9:case 11:a=(a=a.documentElement)?a.namespaceURI:_g(null,"");break;default:t=t===8?a.parentNode:a,a=t.namespaceURI||null,t=t.tagName,a=_g(a,t)}a2(w4),$1(w4,a)}function m9(){a2(w4),a2(cc),a2(rc)}function Ww(t){B8(rc.current);var a=B8(w4.current),c=_g(a,t.type);a!==c&&($1(cc,t),$1(w4,c))}function Xd(t){cc.current===t&&(a2(w4),a2(cc))}var n2=B6(0);function Xl(t){for(var a=t;a!==null;){if(a.tag===13){var c=a.memoizedState;if(c!==null&&(c=c.dehydrated,c===null||c.data==="$?"||c.data==="$!"))return a}else if(a.tag===19&&a.memoizedProps.revealOrder!==void 0){if(a.flags&128)return a}else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}var Bg=[];function Yd(){for(var t=0;tc?c:4,t(!0);var r=yg.transition;yg.transition={};try{t(!1),a()}finally{W1=c,yg.transition=r}}function eB(){return y3().memoizedState}function iJ(t,a,c){var r=C6(t);if(c={lane:r,action:c,hasEagerState:!1,eagerState:null,next:null},lB(t))iB(a,c);else if(c=Gw(t,a,c,r),c!==null){var e=M0();K3(c,t,r,e),oB(c,a,r)}}function oJ(t,a,c){var r=C6(t),e={lane:r,action:c,hasEagerState:!1,eagerState:null,next:null};if(lB(t))iB(a,e);else{var l=t.alternate;if(t.lanes===0&&(l===null||l.lanes===0)&&(l=a.lastRenderedReducer,l!==null))try{var i=a.lastRenderedState,o=l(i,c);if(e.hasEagerState=!0,e.eagerState=o,$3(o,i)){var n=a.interleaved;n===null?(e.next=e,Kd(a)):(e.next=n.next,n.next=e),a.interleaved=e;return}}catch(h){}finally{}c=Gw(t,a,e,r),c!==null&&(e=M0(),K3(c,t,r,e),oB(c,a,r))}}function lB(t){var a=t.alternate;return t===h2||a!==null&&a===h2}function iB(t,a){Da=Yl=!0;var c=t.pending;c===null?a.next=a:(a.next=c.next,c.next=a),t.pending=a}function oB(t,a,c){if(c&4194240){var r=a.lanes;r&=t.pendingLanes,c|=r,a.lanes=c,Id(t,c)}}var Jl={readContext:B3,useCallback:l0,useContext:l0,useEffect:l0,useImperativeHandle:l0,useInsertionEffect:l0,useLayoutEffect:l0,useMemo:l0,useReducer:l0,useRef:l0,useState:l0,useDebugValue:l0,useDeferredValue:l0,useTransition:l0,useMutableSource:l0,useSyncExternalStore:l0,useId:l0,unstable_isNewReconciler:!1},nJ={readContext:B3,useCallback:function(t,a){return L4().memoizedState=[t,a===void 0?null:a],t},useContext:B3,useEffect:mV,useImperativeHandle:function(t,a,c){return c=c!=null?c.concat([t]):null,Al(4194308,4,Jw.bind(null,a,t),c)},useLayoutEffect:function(t,a){return Al(4194308,4,t,a)},useInsertionEffect:function(t,a){return Al(4,2,t,a)},useMemo:function(t,a){var c=L4();return a=a===void 0?null:a,t=t(),c.memoizedState=[t,a],t},useReducer:function(t,a,c){var r=L4();return a=c!==void 0?c(a):a,r.memoizedState=r.baseState=a,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:a},r.queue=t,t=t.dispatch=iJ.bind(null,h2,t),[r.memoizedState,t]},useRef:function(t){var a=L4();return t={current:t},a.memoizedState=t},useState:pV,useDebugValue:rs,useDeferredValue:function(t){return L4().memoizedState=t},useTransition:function(){var t=pV(!1),a=t[0];return t=lJ.bind(null,t[1]),L4().memoizedState=t,[a,t]},useMutableSource:function(){},useSyncExternalStore:function(t,a,c){var r=h2,e=L4();if(l2){if(c===void 0)throw Error(n1(407));c=c()}else{if(c=a(),F2===null)throw Error(n1(349));R8&30||qw(r,a,c)}e.memoizedState=c;var l={value:c,getSnapshot:a};return e.queue=l,mV(Uw.bind(null,r,l,t),[t]),r.flags|=2048,ic(9,Nw.bind(null,r,l,c,a),void 0,null),c},useId:function(){var t=L4(),a=F2.identifierPrefix;if(l2){var c=h5,r=n5;c=(r&~(1<<32-U3(r)-1)).toString(32)+c,a=":"+a+"R"+c,c=ec++,0<\/script>",t=t.removeChild(t.firstChild)):typeof r.is=="string"?t=i.createElement(c,{is:r.is}):(t=i.createElement(c),c==="select"&&(i=t,r.multiple?i.multiple=!0:r.size&&(i.size=r.size))):t=i.createElementNS(t,c),t[H4]=a,t[ac]=r,pB(t,a,!1,!1),a.stateNode=t;t:{switch(i=qg(c,r),c){case"dialog":t2("cancel",t),t2("close",t),e=r;break;case"iframe":case"object":case"embed":t2("load",t),e=r;break;case"video":case"audio":for(e=0;eM9&&(a.flags|=128,r=!0,ka(l,!1),a.lanes=4194304)}else{if(!r)if(t=Xl(i),t!==null){if(a.flags|=128,r=!0,c=t.updateQueue,c!==null&&(a.updateQueue=c,a.flags|=4),ka(l,!0),l.tail===null&&l.tailMode==="hidden"&&!i.alternate&&!l2)return i0(a),null}else 2*m2()-l.renderingStartTime>M9&&c!==1073741824&&(a.flags|=128,r=!0,ka(l,!1),a.lanes=4194304);l.isBackwards?(i.sibling=a.child,a.child=i):(c=l.last,c!==null?c.sibling=i:a.child=i,l.last=i)}return l.tail!==null?(a=l.tail,l.rendering=a,l.tail=a.sibling,l.renderingStartTime=m2(),a.sibling=null,c=n2.current,$1(n2,r?c&1|2:c&1),a):(i0(a),null);case 22:case 23:return hs(),r=a.memoizedState!==null,t!==null&&t.memoizedState!==null!==r&&(a.flags|=8192),r&&a.mode&1?K0&1073741824&&(i0(a),a.subtreeFlags&6&&(a.flags|=8192)):i0(a),null;case 24:return null;case 25:return null}throw Error(n1(156,a.tag))}function pJ(t,a){switch(_d(a),a.tag){case 1:return k0(a.type)&&jl(),t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 3:return m9(),a2(S0),a2(n0),Yd(),t=a.flags,t&65536&&!(t&128)?(a.flags=t&-65537|128,a):null;case 5:return Xd(a),null;case 13:if(a2(n2),t=a.memoizedState,t!==null&&t.dehydrated!==null){if(a.alternate===null)throw Error(n1(340));u9()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 19:return a2(n2),null;case 4:return m9(),null;case 10:return Ud(a.type._context),null;case 22:case 23:return hs(),null;case 24:return null;default:return null}}var Hl=!1,o0=!1,mJ=typeof WeakSet=="function"?WeakSet:Set,p1=null;function l9(t,a){var c=t.ref;if(c!==null)if(typeof c=="function")try{c(null)}catch(r){d2(t,a,r)}else c.current=null}function fd(t,a,c){try{c()}catch(r){d2(t,a,r)}}var BV=!1;function fJ(t,a){if(ad=El,t=Lw(),Dd(t)){if("selectionStart"in t)var c={start:t.selectionStart,end:t.selectionEnd};else t:{c=(c=t.ownerDocument)&&c.defaultView||window;var r=c.getSelection&&c.getSelection();if(r&&r.rangeCount!==0){c=r.anchorNode;var e=r.anchorOffset,l=r.focusNode;r=r.focusOffset;try{c.nodeType,l.nodeType}catch(w){c=null;break t}var i=0,o=-1,n=-1,h=0,v=0,g=t,s=null;a:for(;;){for(var d;g!==c||e!==0&&g.nodeType!==3||(o=i+e),g!==l||r!==0&&g.nodeType!==3||(n=i+r),g.nodeType===3&&(i+=g.nodeValue.length),(d=g.firstChild)!==null;)s=g,g=d;for(;;){if(g===t)break a;if(s===c&&++h===e&&(o=i),s===l&&++v===r&&(n=i),(d=g.nextSibling)!==null)break;g=s,s=g.parentNode}g=d}c=o===-1||n===-1?null:{start:o,end:n}}else c=null}c=c||{start:0,end:0}}else c=null;for(cd={focusedElem:t,selectionRange:c},El=!1,p1=a;p1!==null;)if(a=p1,t=a.child,(a.subtreeFlags&1028)!==0&&t!==null)t.return=a,p1=t;else for(;p1!==null;){a=p1;try{var z=a.alternate;if(a.flags&1024)switch(a.tag){case 0:case 11:case 15:break;case 1:if(z!==null){var u=z.memoizedProps,f=z.memoizedState,p=a.stateNode,m=p.getSnapshotBeforeUpdate(a.elementType===a.type?u:j3(a.type,u),f);p.__reactInternalSnapshotBeforeUpdate=m}break;case 3:var M=a.stateNode.containerInfo;M.nodeType===1?M.textContent="":M.nodeType===9&&M.documentElement&&M.removeChild(M.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(n1(163))}}catch(w){d2(a,a.return,w)}if(t=a.sibling,t!==null){t.return=a.return,p1=t;break}p1=a.return}return z=BV,BV=!1,z}function Wa(t,a,c){var r=a.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var e=r=r.next;do{if((e.tag&t)===t){var l=e.destroy;e.destroy=void 0,l!==void 0&&fd(a,c,l)}e=e.next}while(e!==r)}}function si(t,a){if(a=a.updateQueue,a=a!==null?a.lastEffect:null,a!==null){var c=a=a.next;do{if((c.tag&t)===t){var r=c.create;c.destroy=r()}c=c.next}while(c!==a)}}function Md(t){var a=t.ref;if(a!==null){var c=t.stateNode;switch(t.tag){case 5:t=c;break;default:t=c}typeof a=="function"?a(t):a.current=t}}function MB(t){var a=t.alternate;a!==null&&(t.alternate=null,MB(a)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(a=t.stateNode,a!==null&&(delete a[H4],delete a[ac],delete a[ld],delete a[tJ],delete a[aJ])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function xB(t){return t.tag===5||t.tag===3||t.tag===4}function yV(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||xB(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function xd(t,a,c){var r=t.tag;if(r===5||r===6)t=t.stateNode,a?c.nodeType===8?c.parentNode.insertBefore(t,a):c.insertBefore(t,a):(c.nodeType===8?(a=c.parentNode,a.insertBefore(t,c)):(a=c,a.appendChild(t)),c=c._reactRootContainer,c!=null||a.onclick!==null||(a.onclick=_l));else if(r!==4&&(t=t.child,t!==null))for(xd(t,a,c),t=t.sibling;t!==null;)xd(t,a,c),t=t.sibling}function Cd(t,a,c){var r=t.tag;if(r===5||r===6)t=t.stateNode,a?c.insertBefore(t,a):c.appendChild(t);else if(r!==4&&(t=t.child,t!==null))for(Cd(t,a,c),t=t.sibling;t!==null;)Cd(t,a,c),t=t.sibling}var _2=null,q3=!1;function n6(t,a,c){for(c=c.child;c!==null;)CB(t,a,c),c=c.sibling}function CB(t,a,c){if(V4&&typeof V4.onCommitFiberUnmount=="function")try{V4.onCommitFiberUnmount(li,c)}catch(o){}switch(c.tag){case 5:o0||l9(c,a);case 6:var r=_2,e=q3;_2=null,n6(t,a,c),_2=r,q3=e,_2!==null&&(q3?(t=_2,c=c.stateNode,t.nodeType===8?t.parentNode.removeChild(c):t.removeChild(c)):_2.removeChild(c.stateNode));break;case 18:_2!==null&&(q3?(t=_2,c=c.stateNode,t.nodeType===8?Vg(t.parentNode,c):t.nodeType===1&&Vg(t,c),Qa(t)):Vg(_2,c.stateNode));break;case 4:r=_2,e=q3,_2=c.stateNode.containerInfo,q3=!0,n6(t,a,c),_2=r,q3=e;break;case 0:case 11:case 14:case 15:if(!o0&&(r=c.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){e=r=r.next;do{var l=e,i=l.destroy;l=l.tag,i!==void 0&&(l&2||l&4)&&fd(c,a,i),e=e.next}while(e!==r)}n6(t,a,c);break;case 1:if(!o0&&(l9(c,a),r=c.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=c.memoizedProps,r.state=c.memoizedState,r.componentWillUnmount()}catch(o){d2(c,a,o)}n6(t,a,c);break;case 21:n6(t,a,c);break;case 22:c.mode&1?(o0=(r=o0)||c.memoizedState!==null,n6(t,a,c),o0=r):n6(t,a,c);break;default:n6(t,a,c)}}function SV(t){var a=t.updateQueue;if(a!==null){t.updateQueue=null;var c=t.stateNode;c===null&&(c=t.stateNode=new mJ),a.forEach(function(r){var e=yJ.bind(null,t,r);c.has(r)||(c.add(r),r.then(e,e))})}}function _3(t,a){var c=a.deletions;if(c!==null)for(var r=0;re&&(e=i),r&=~l}if(r=e,r=m2()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*xJ(r/1960))-r,10t?16:t,z6===null)var r=!1;else{if(t=z6,z6=null,ci=0,T1&6)throw Error(n1(331));var e=T1;for(T1|=4,p1=t.current;p1!==null;){var l=p1,i=l.child;if(p1.flags&16){var o=l.deletions;if(o!==null){for(var n=0;nm2()-os?y8(t,0):is|=c),A0(t,a)}function kB(t,a){a===0&&(t.mode&1?(a=vl,vl<<=1,!(vl&130023424)&&(vl=4194304)):a=1);var c=M0();t=s5(t,a),t!==null&&(nc(t,a,c),A0(t,c))}function BJ(t){var a=t.memoizedState,c=0;a!==null&&(c=a.retryLane),kB(t,c)}function yJ(t,a){var c=0;switch(t.tag){case 13:var r=t.stateNode,e=t.memoizedState;e!==null&&(c=e.retryLane);break;case 19:r=t.stateNode;break;default:throw Error(n1(314))}r!==null&&r.delete(a),kB(t,c)}var AB;AB=function(t,a,c){if(t!==null)if(t.memoizedProps!==a.pendingProps||S0.current)y0=!0;else{if(!(t.lanes&c)&&!(a.flags&128))return y0=!1,zJ(t,a,c);y0=!!(t.flags&131072)}else y0=!1,l2&&a.flags&1048576&&Fw(a,Ul,a.index);switch(a.lanes=0,a.tag){case 2:var r=a.type;Rl(t,a),t=a.pendingProps;var e=z9(a,n0.current);g9(a,c),e=ts(null,a,r,t,e,c);var l=as();return a.flags|=1,typeof e=="object"&&e!==null&&typeof e.render=="function"&&e.$$typeof===void 0?(a.tag=1,a.memoizedState=null,a.updateQueue=null,k0(r)?(l=!0,ql(a)):l=!1,a.memoizedState=e.state!==null&&e.state!==void 0?e.state:null,$d(a),e.updater=gi,a.stateNode=e,e._reactInternals=a,gd(a,r,t,c),a=zd(null,a,r,!0,l,c)):(a.tag=0,l2&&l&&Wd(a),f0(null,a,e,c),a=a.child),a;case 16:r=a.elementType;t:{switch(Rl(t,a),t=a.pendingProps,e=r._init,r=e(r._payload),a.type=r,e=a.tag=kJ(r),t=j3(r,t),e){case 0:a=sd(null,a,r,t,c);break t;case 1:a=HV(null,a,r,t,c);break t;case 11:a=CV(null,a,r,t,c);break t;case 14:a=LV(null,a,r,j3(r.type,t),c);break t}throw Error(n1(306,r,""))}return a;case 0:return r=a.type,e=a.pendingProps,e=a.elementType===r?e:j3(r,e),sd(t,a,r,e,c);case 1:return r=a.type,e=a.pendingProps,e=a.elementType===r?e:j3(r,e),HV(t,a,r,e,c);case 3:t:{if(sB(a),t===null)throw Error(n1(387));r=a.pendingProps,l=a.memoizedState,e=l.element,Tw(t,a),Ql(a,r,null,c);var i=a.memoizedState;if(r=i.element,l.isDehydrated)if(l={element:r,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},a.updateQueue.baseState=l,a.memoizedState=l,a.flags&256){e=f9(Error(n1(423)),a),a=VV(t,a,r,c,e);break t}else if(r!==e){e=f9(Error(n1(424)),a),a=VV(t,a,r,c,e);break t}else for($0=f6(a.stateNode.containerInfo.firstChild),Q0=a,l2=!0,N3=null,c=Dw(a,null,r,c),a.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{if(u9(),r===e){a=z5(t,a,c);break t}f0(t,a,r,c)}a=a.child}return a;case 5:return Ww(a),t===null&&nd(a),r=a.type,e=a.pendingProps,l=t!==null?t.memoizedProps:null,i=e.children,rd(r,e)?i=null:l!==null&&rd(r,l)&&(a.flags|=32),dB(t,a),f0(t,a,i,c),a.child;case 6:return t===null&&nd(a),null;case 13:return zB(t,a,c);case 4:return Qd(a,a.stateNode.containerInfo),r=a.pendingProps,t===null?a.child=p9(a,null,r,c):f0(t,a,r,c),a.child;case 11:return r=a.type,e=a.pendingProps,e=a.elementType===r?e:j3(r,e),CV(t,a,r,e,c);case 7:return f0(t,a,a.pendingProps,c),a.child;case 8:return f0(t,a,a.pendingProps.children,c),a.child;case 12:return f0(t,a,a.pendingProps.children,c),a.child;case 10:t:{if(r=a.type._context,e=a.pendingProps,l=a.memoizedProps,i=e.value,$1(Kl,r._currentValue),r._currentValue=i,l!==null)if($3(l.value,i)){if(l.children===e.children&&!S0.current){a=z5(t,a,c);break t}}else for(l=a.child,l!==null&&(l.return=a);l!==null;){var o=l.dependencies;if(o!==null){i=l.child;for(var n=o.firstContext;n!==null;){if(n.context===r){if(l.tag===1){n=v5(-1,c&-c),n.tag=2;var h=l.updateQueue;if(h!==null){h=h.shared;var v=h.pending;v===null?n.next=n:(n.next=v.next,v.next=n),h.pending=n}}l.lanes|=c,n=l.alternate,n!==null&&(n.lanes|=c),hd(l.return,c,a),o.lanes|=c;break}n=n.next}}else if(l.tag===10)i=l.type===a.type?null:l.child;else if(l.tag===18){if(i=l.return,i===null)throw Error(n1(341));i.lanes|=c,o=i.alternate,o!==null&&(o.lanes|=c),hd(i,c,a),i=l.sibling}else i=l.child;if(i!==null)i.return=l;else for(i=l;i!==null;){if(i===a){i=null;break}if(l=i.sibling,l!==null){l.return=i.return,i=l;break}i=i.return}l=i}f0(t,a,e.children,c),a=a.child}return a;case 9:return e=a.type,r=a.pendingProps.children,g9(a,c),e=B3(e),r=r(e),a.flags|=1,f0(t,a,r,c),a.child;case 14:return r=a.type,e=j3(r,a.pendingProps),e=j3(r.type,e),LV(t,a,r,e,c);case 15:return vB(t,a,a.type,a.pendingProps,c);case 17:return r=a.type,e=a.pendingProps,e=a.elementType===r?e:j3(r,e),Rl(t,a),a.tag=1,k0(r)?(t=!0,ql(a)):t=!1,g9(a,c),Ow(a,r,e),gd(a,r,e,c),zd(null,a,r,!0,t,c);case 19:return uB(t,a,c);case 22:return gB(t,a,c)}throw Error(n1(156,a.tag))};function RB(t,a){return rw(t,a)}function SJ(t,a,c,r){this.tag=t,this.key=c,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=a,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function V3(t,a,c,r){return new SJ(t,a,c,r)}function gs(t){return t=t.prototype,!(!t||!t.isReactComponent)}function kJ(t){if(typeof t=="function")return gs(t)?1:0;if(t!=null){if(t=t.$$typeof,t===Ad)return 11;if(t===Rd)return 14}return 2}function L6(t,a){var c=t.alternate;return c===null?(c=V3(t.tag,a,t.key,t.mode),c.elementType=t.elementType,c.type=t.type,c.stateNode=t.stateNode,c.alternate=t,t.alternate=c):(c.pendingProps=a,c.type=t.type,c.flags=0,c.subtreeFlags=0,c.deletions=null),c.flags=t.flags&14680064,c.childLanes=t.childLanes,c.lanes=t.lanes,c.child=t.child,c.memoizedProps=t.memoizedProps,c.memoizedState=t.memoizedState,c.updateQueue=t.updateQueue,a=t.dependencies,c.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},c.sibling=t.sibling,c.index=t.index,c.ref=t.ref,c}function Il(t,a,c,r,e,l){var i=2;if(r=t,typeof t=="function")gs(t)&&(i=1);else if(typeof t=="string")i=5;else t:switch(t){case Q7:return S8(c.children,e,l,a);case kd:i=8,e|=8;break;case Pg:return t=V3(12,c,a,e|2),t.elementType=Pg,t.lanes=l,t;case Gg:return t=V3(13,c,a,e),t.elementType=Gg,t.lanes=l,t;case Tg:return t=V3(19,c,a,e),t.elementType=Tg,t.lanes=l,t;case EV:return ui(c,e,l,a);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case ZV:i=10;break t;case OV:i=9;break t;case Ad:i=11;break t;case Rd:i=14;break t;case h6:i=16,r=null;break t}throw Error(n1(130,t==null?t:typeof t,""))}return a=V3(i,c,a,e),a.elementType=t,a.type=r,a.lanes=l,a}function S8(t,a,c,r){return t=V3(7,t,r,a),t.lanes=c,t}function ui(t,a,c,r){return t=V3(22,t,r,a),t.elementType=EV,t.lanes=c,t.stateNode={isHidden:!1},t}function bg(t,a,c){return t=V3(6,t,null,a),t.lanes=c,t}function Fg(t,a,c){return a=V3(4,t.children!==null?t.children:[],t.key,a),a.lanes=c,a.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},a}function AJ(t,a,c,r,e){this.tag=a,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=pg(0),this.expirationTimes=pg(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=pg(0),this.identifierPrefix=r,this.onRecoverableError=e,this.mutableSourceEagerHydrationData=null}function ds(t,a,c,r,e,l,i,o,n){return t=new AJ(t,a,c,o,n),a===1?(a=1,l===!0&&(a|=8)):a=0,l=V3(3,null,null,a),t.current=l,l.stateNode=t,l.memoizedState={element:r,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null},$d(l),t}function RJ(t,a,c){var r=3{"use strict";function GB(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__=="undefined"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(GB)}catch(t){console.error(t)}}GB(),TB.exports=PB()});function GJ(t){let[,a]=(0,Q3.useState)(0);return(0,Q3.useCallback)(()=>{a(r=>r+1)},[])}function v1(t,a,c){let r=(0,Q3.useCallback)(t,a),e=(0,Q3.useRef)(null);e.current?e.current.set(r):e.current=new H9.Atom(r);let l=(0,Q3.useRef)(null);return l.current||(l.current=(0,H9.prism)(()=>e.current.prism.getValue()())),G8(l.current,c)}function OJ(){ps||(ps=!0,(0,EB.default)(()=>{(0,DB.unstable_batchedUpdates)(function(){var a,c;for(;y4.length>0;){let r=y4.shift();dc.delete(r);let e;L9&&((a=r.debug)==null||a.history.push("queue reached"));try{e=r.der.getValue()}catch(l){L9&&((c=r.debug)==null||c.history.push("queue: der.getValue() errored")),console.error("A `der.getValue()` in `usePrismInstance(der)` threw an error. This may be a zombie child issue, so we're gonna try to get its value again in a normal react render phase.If you see the same error again, then you either have an error in your prism code, or the deps array in `usePrism(fn, deps)` is missing a dependency and causing the prism to read stale values."),console.error(l),r.runUpdate();continue}e!==r.lastValue&&(r.lastValue=e,r.runUpdate())}ps=!1},1)}))}function G8(t,a){var l;let c=GJ(a),r=(0,Q3.useRef)(void 0);r.current||(ZB++,r.current={order:ZB,runUpdate:()=>{r.current.unmounted||c()},der:t,lastValue:void 0,unmounted:!1,queueUpdate:()=>{var i;L9&&((i=r.current.debug)==null||i.history.push("queueUpdate()")),TJ(r.current)},untap:t.onStale(()=>{L9&&r.current.debug.history.push("onStale(cb)"),r.current.queueUpdate()})},L9&&(r.current.debug={label:a,traceOfFirstTimeRender:new Error,history:[]})),(0,Q3.useLayoutEffect)(()=>function(){r.current.unmounted=!0,r.current.untap(),OB(r.current)},[]),OB(r.current);let e=r.current.der.getValue();return r.current.lastValue=e,L9&&((l=r.current.debug)==null||l.history.push("rendered")),e}var H9,EB,Q3,DB,L9,s1,ZB,y4,dc,ps,TJ,ZJ,OB,M1=x(()=>{"use strict";H9=require("@theatre/dataverse");H2();EB=I(lH()),Q3=I(G()),DB=I(B4()),L9=!1;s1=(t,a)=>v1(()=>(0,H9.val)(t),[t],a),ZB=0,y4=[],dc=new Set,ps=!1,TJ=t=>{ZJ(t),OJ()},ZJ=t=>{if(!dc.has(t))if(dc.add(t),y4.length===0)y4.push(t);else{let a=$e(y4,c=>c.order>=t.order);a===-1?y4.push(t):y4[a].order>t.order&&y4.splice(a,0,t)}},OB=t=>{if(!dc.has(t))return;dc.delete(t);let a=$e(y4,c=>c===t);y4.splice(a,1)}});var UB=L1(q1=>{"use strict";var xi=60103,Ci=60106,sc=60107,zc=60108,uc=60114,pc=60109,mc=60110,fc=60112,Mc=60113,ms=60120,xc=60115,Cc=60116,WB=60121,_B=60122,jB=60117,qB=60129,NB=60131;typeof Symbol=="function"&&Symbol.for&&(I2=Symbol.for,xi=I2("react.element"),Ci=I2("react.portal"),sc=I2("react.fragment"),zc=I2("react.strict_mode"),uc=I2("react.profiler"),pc=I2("react.provider"),mc=I2("react.context"),fc=I2("react.forward_ref"),Mc=I2("react.suspense"),ms=I2("react.suspense_list"),xc=I2("react.memo"),Cc=I2("react.lazy"),WB=I2("react.block"),_B=I2("react.server.block"),jB=I2("react.fundamental"),qB=I2("react.debug_trace_mode"),NB=I2("react.legacy_hidden"));var I2;function X3(t){if(typeof t=="object"&&t!==null){var a=t.$$typeof;switch(a){case xi:switch(t=t.type,t){case sc:case uc:case zc:case Mc:case ms:return t;default:switch(t=t&&t.$$typeof,t){case mc:case fc:case Cc:case xc:case pc:return t;default:return a}}case Ci:return a}}}var EJ=pc,DJ=xi,WJ=fc,_J=sc,jJ=Cc,qJ=xc,NJ=Ci,UJ=uc,KJ=zc,$J=Mc;q1.ContextConsumer=mc;q1.ContextProvider=EJ;q1.Element=DJ;q1.ForwardRef=WJ;q1.Fragment=_J;q1.Lazy=jJ;q1.Memo=qJ;q1.Portal=NJ;q1.Profiler=UJ;q1.StrictMode=KJ;q1.Suspense=$J;q1.isAsyncMode=function(){return!1};q1.isConcurrentMode=function(){return!1};q1.isContextConsumer=function(t){return X3(t)===mc};q1.isContextProvider=function(t){return X3(t)===pc};q1.isElement=function(t){return typeof t=="object"&&t!==null&&t.$$typeof===xi};q1.isForwardRef=function(t){return X3(t)===fc};q1.isFragment=function(t){return X3(t)===sc};q1.isLazy=function(t){return X3(t)===Cc};q1.isMemo=function(t){return X3(t)===xc};q1.isPortal=function(t){return X3(t)===Ci};q1.isProfiler=function(t){return X3(t)===uc};q1.isStrictMode=function(t){return X3(t)===zc};q1.isSuspense=function(t){return X3(t)===Mc};q1.isValidElementType=function(t){return typeof t=="string"||typeof t=="function"||t===sc||t===uc||t===qB||t===zc||t===Mc||t===ms||t===NB||typeof t=="object"&&t!==null&&(t.$$typeof===Cc||t.$$typeof===xc||t.$$typeof===pc||t.$$typeof===mc||t.$$typeof===fc||t.$$typeof===jB||t.$$typeof===WB||t[0]===_B)};q1.typeOf=X3});var $B=L1((Tz1,KB)=>{"use strict";KB.exports=UB()});var fs=L1((Zz1,QB)=>{QB.exports=function(a,c,r,e){var l=r?r.call(e,a,c):void 0;if(l!==void 0)return!!l;if(a===c)return!0;if(typeof a!="object"||!a||typeof c!="object"||!c)return!1;var i=Object.keys(a),o=Object.keys(c);if(i.length!==o.length)return!1;for(var n=Object.prototype.hasOwnProperty.bind(c),h=0;hA1)&&(q=(e1=e1.replace(" ",":")).length),0u1&&(u1=($=$.trim()).charCodeAt(0)),u1){case 38:return $.replace(p,"$1"+X.trim());case 58:return X.trim()+$.replace(p,"$1"+X.trim());default:if(0<1*o1&&0<$.indexOf("\f"))return $.replace(p,(X.charCodeAt(0)===58?"":"$1")+X.trim())}return X+$}function e(X,$,o1,u1){var N=X+";",x1=2*$+3*o1+4*u1;if(x1===944){X=N.indexOf(":",9)+1;var i1=N.substring(X,N.length-1).trim();return i1=N.substring(0,X).trim()+i1+";",j===1||j===2&&l(i1,1)?"-webkit-"+i1+i1:i1}if(j===0||j===2&&!l(N,1))return N;switch(x1){case 1015:return N.charCodeAt(10)===97?"-webkit-"+N+N:N;case 951:return N.charCodeAt(3)===116?"-webkit-"+N+N:N;case 963:return N.charCodeAt(5)===110?"-webkit-"+N+N:N;case 1009:if(N.charCodeAt(4)!==100)break;case 969:case 942:return"-webkit-"+N+N;case 978:return"-webkit-"+N+"-moz-"+N+N;case 1019:case 983:return"-webkit-"+N+"-moz-"+N+"-ms-"+N+N;case 883:if(N.charCodeAt(8)===45)return"-webkit-"+N+N;if(0i1.charCodeAt(8))break;case 115:N=N.replace(i1,"-webkit-"+i1)+";"+N;break;case 207:case 102:N=N.replace(i1,"-webkit-"+(102o1.charCodeAt(0)&&(o1=o1.trim()),g1=o1,o1=[g1],0{XB=QJ});var XJ,JB,ty=x(()=>{XJ={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},JB=XJ});function YJ(t){var a=Object.create(null);return function(c){return a[c]===void 0&&(a[c]=t(c)),a[c]}}var ay,cy=x(()=>{ay=YJ});var JJ,t11,Ms,ry=x(()=>{cy();JJ=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,t11=ay(function(t){return JJ.test(t)||t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)<91}),Ms=t11});var ly=L1(_1=>{"use strict";var P2=typeof Symbol=="function"&&Symbol.for,xs=P2?Symbol.for("react.element"):60103,Cs=P2?Symbol.for("react.portal"):60106,Li=P2?Symbol.for("react.fragment"):60107,Hi=P2?Symbol.for("react.strict_mode"):60108,Vi=P2?Symbol.for("react.profiler"):60114,wi=P2?Symbol.for("react.provider"):60109,Bi=P2?Symbol.for("react.context"):60110,Ls=P2?Symbol.for("react.async_mode"):60111,yi=P2?Symbol.for("react.concurrent_mode"):60111,Si=P2?Symbol.for("react.forward_ref"):60112,ki=P2?Symbol.for("react.suspense"):60113,a11=P2?Symbol.for("react.suspense_list"):60120,Ai=P2?Symbol.for("react.memo"):60115,Ri=P2?Symbol.for("react.lazy"):60116,c11=P2?Symbol.for("react.block"):60121,r11=P2?Symbol.for("react.fundamental"):60117,e11=P2?Symbol.for("react.responder"):60118,l11=P2?Symbol.for("react.scope"):60119;function t3(t){if(typeof t=="object"&&t!==null){var a=t.$$typeof;switch(a){case xs:switch(t=t.type,t){case Ls:case yi:case Li:case Vi:case Hi:case ki:return t;default:switch(t=t&&t.$$typeof,t){case Bi:case Si:case Ri:case Ai:case wi:return t;default:return a}}case Cs:return a}}}function ey(t){return t3(t)===yi}_1.AsyncMode=Ls;_1.ConcurrentMode=yi;_1.ContextConsumer=Bi;_1.ContextProvider=wi;_1.Element=xs;_1.ForwardRef=Si;_1.Fragment=Li;_1.Lazy=Ri;_1.Memo=Ai;_1.Portal=Cs;_1.Profiler=Vi;_1.StrictMode=Hi;_1.Suspense=ki;_1.isAsyncMode=function(t){return ey(t)||t3(t)===Ls};_1.isConcurrentMode=ey;_1.isContextConsumer=function(t){return t3(t)===Bi};_1.isContextProvider=function(t){return t3(t)===wi};_1.isElement=function(t){return typeof t=="object"&&t!==null&&t.$$typeof===xs};_1.isForwardRef=function(t){return t3(t)===Si};_1.isFragment=function(t){return t3(t)===Li};_1.isLazy=function(t){return t3(t)===Ri};_1.isMemo=function(t){return t3(t)===Ai};_1.isPortal=function(t){return t3(t)===Cs};_1.isProfiler=function(t){return t3(t)===Vi};_1.isStrictMode=function(t){return t3(t)===Hi};_1.isSuspense=function(t){return t3(t)===ki};_1.isValidElementType=function(t){return typeof t=="string"||typeof t=="function"||t===Li||t===yi||t===Vi||t===Hi||t===ki||t===a11||typeof t=="object"&&t!==null&&(t.$$typeof===Ri||t.$$typeof===Ai||t.$$typeof===wi||t.$$typeof===Bi||t.$$typeof===Si||t.$$typeof===r11||t.$$typeof===e11||t.$$typeof===l11||t.$$typeof===c11)};_1.typeOf=t3});var oy=L1((qz1,iy)=>{"use strict";iy.exports=ly()});var zy=L1((Nz1,sy)=>{"use strict";var Hs=oy(),i11={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o11={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},n11={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},gy={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Vs={};Vs[Hs.ForwardRef]=n11;Vs[Hs.Memo]=gy;function ny(t){return Hs.isMemo(t)?gy:Vs[t.$$typeof]||i11}var h11=Object.defineProperty,v11=Object.getOwnPropertyNames,hy=Object.getOwnPropertySymbols,g11=Object.getOwnPropertyDescriptor,d11=Object.getPrototypeOf,vy=Object.prototype;function dy(t,a,c){if(typeof a!="string"){if(vy){var r=d11(a);r&&r!==vy&&dy(t,r,c)}var e=v11(a);hy&&(e=e.concat(hy(a)));for(var l=ny(t),i=ny(a),o=0;o1?a-1:0),r=1;r0?" Args: "+c.join(", "):""))}function ks(t){var a,c="";for(a=Math.abs(t);a>52;a=a/52|0)c=fy(a%52)+c;return(fy(a%52)+c).replace(B11,"$1-$2")}function By(t){for(var a=0;a0&&(p[0]=p[0].replace(r,d))},s,function(u){if(u===-2){var f=g;return g=[],f}}])),z.hash=h.length?h.reduce(function(u,f){return f.name||p5(15),V9(u,f.name)},5381).toString():"",z}function Ts(){return(0,j1.useContext)(Ps)||R11}function Sy(){return(0,j1.useContext)(Gs)||As}function Zs(t){var a=(0,j1.useState)(t.stylisPlugins),c=a[0],r=a[1],e=Ts(),l=(0,j1.useMemo)(function(){var o=e;return t.sheet?o=t.sheet:t.target&&(o=o.reconstructWithOptions({target:t.target},!1)),t.disableCSSOMInjection&&(o=o.reconstructWithOptions({useCSSOMInjection:!1})),o},[t.disableCSSOMInjection,t.sheet,t.target]),i=(0,j1.useMemo)(function(){return yy({options:{prefix:!t.disableVendorPrefixes},plugins:c})},[t.disableVendorPrefixes,c]);return(0,j1.useEffect)(function(){(0,Ly.default)(c,t.stylisPlugins)||r(t.stylisPlugins)},[t.stylisPlugins]),j1.default.createElement(Ps.Provider,{value:l},j1.default.createElement(Gs.Provider,{value:i},t.children))}function My(t){return F11.test(t)?t.replace(I11,G11).replace(P11,"-ms-"):t}function T8(t,a,c,r){if(Array.isArray(t)){for(var e,l=[],i=0,o=t.length;i1?a-1:0),r=1;r1?a-1:0),r=1;r=0||(A[F]=y[F]);return A}(a,["componentId"]),H=M&&M+"-"+(Fi(m)?m:ws(py(m)));return by(m,Y3({},w,{attrs:s,componentId:H}),c)},Object.defineProperty(z,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(m){this._foldedDefaultProps=r?Ry({},t.defaultProps,m):m}}),Object.defineProperty(z,"toString",{value:function(){return"."+z.styledComponentId}}),e&&(0,Hy.default)(z,t,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),z}function Zi(t){for(var a=arguments.length,c=new Array(a>1?a-1:0),r=1;r{Ti=I($B()),j1=I(G()),Ly=I(fs());YB();ty();ry();Hy=I(zy());uy=function(t,a){for(var c=[t[0]],r=0,e=a.length;r=this.groupSizes.length){for(var e=this.groupSizes,l=e.length,i=l;c>=i;)(i<<=1)<0&&p5(16,""+c);this.groupSizes=new Uint32Array(i),this.groupSizes.set(e),this.length=i;for(var o=l;o=this.length||this.groupSizes[c]===0)return r;for(var e=this.groupSizes[c],l=this.indexOfGroup(c),i=l+e,o=l;o=Lc&&(Lc=a+1),Ii.set(t,a),Gi.set(a,t)},f11="style["+k6+'][data-styled-version="5.3.11"]',M11=new RegExp("^"+k6+'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'),x11=function(t,a,c){for(var r,e=c.split(","),l=0,i=e.length;l=0;h--){var v=n[h];if(v&&v.nodeType===1&&v.hasAttribute(k6))return v}}(c),l=e!==void 0?e.nextSibling:null;r.setAttribute(k6,"active"),r.setAttribute("data-styled-version","5.3.11");var i=Ss();return i&&r.setAttribute("nonce",i),c.insertBefore(r,l),r},L11=function(){function t(c){var r=this.element=Vy(c);r.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var l=document.styleSheets,i=0,o=l.length;i=0){var e=document.createTextNode(r),l=this.nodes[c];return this.element.insertBefore(e,l||null),this.length++,!0}return!1},a.deleteRule=function(c){this.element.removeChild(this.nodes[c]),this.length--},a.getRule=function(c){return c0&&(g+=s+",")}),l+=""+h+v+'{content:"'+g+'"}/*!sc*/\n'}}}return l}(this)},t}(),B11=/(a)(d)/gi,fy=function(t){return String.fromCharCode(t+(t>25?39:97))};V9=function(t,a){for(var c=a.length;c;)t=33*t^a.charCodeAt(--c);return t},wy=function(t){return V9(5381,t)};y11=wy("5.3.11"),S11=function(){function t(a,c,r){this.rules=a,this.staticRulesId="",this.isStatic=(r===void 0||r.isStatic)&&By(a),this.componentId=c,this.baseHash=V9(y11,c),this.baseStyle=r,Vc.registerId(c)}return t.prototype.generateAndInjectStyles=function(a,c,r){var e=this.componentId,l=[];if(this.baseStyle&&l.push(this.baseStyle.generateAndInjectStyles(a,c,r)),this.isStatic&&!r.hash)if(this.staticRulesId&&c.hasNameForId(e,this.staticRulesId))l.push(this.staticRulesId);else{var i=T8(this.rules,a,c,r).join(""),o=ks(V9(this.baseHash,i)>>>0);if(!c.hasNameForId(e,o)){var n=r(i,"."+o,void 0,e);c.insertRules(e,o,n)}l.push(o),this.staticRulesId=o}else{for(var h=this.rules.length,v=V9(this.baseHash,r.hash),g="",s=0;s>>0);if(!c.hasNameForId(e,f)){var p=r(g,"."+f,void 0,e);c.insertRules(e,f,p)}l.push(f)}}return l.join(" ")},t}(),k11=/^\s*\/\/.*$/gm,A11=[":","[",".","#"];Ps=j1.default.createContext(),Xz1=Ps.Consumer,Gs=j1.default.createContext(),R11=(Gs.Consumer,new Vc),As=yy();b11=function(){function t(a,c){var r=this;this.inject=function(e,l){l===void 0&&(l=As);var i=r.name+l.hash;e.hasNameForId(r.id,i)||e.insertRules(r.id,i,l(r.rules,i,"@keyframes"))},this.toString=function(){return p5(12,String(r.name))},this.name=a,this.id="sc-keyframes-"+a,this.rules=c}return t.prototype.getName=function(a){return a===void 0&&(a=As),this.name+a.hash},t}(),F11=/([A-Z])/,I11=/([A-Z])/g,P11=/^ms-/,G11=function(t){return"-"+t.toLowerCase()};xy=function(t){return t==null||t===!1||t===""};Cy=function(t){return Array.isArray(t)&&(t.isCss=!0),t};ky=function(t,a,c){return c===void 0&&(c=S6),t.theme!==c.theme&&t.theme||a||c.theme},T11=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,Z11=/(^-|-$)/g;Ay=function(t){return ks(wy(t)>>>0)};Rs=function(t){return typeof t=="function"||typeof t=="object"&&t!==null&&!Array.isArray(t)},O11=function(t){return t!=="__proto__"&&t!=="constructor"&&t!=="prototype"};Os=j1.default.createContext(),Yz1=Os.Consumer,Bs={};bs=function(t){return function a(c,r,e){if(e===void 0&&(e=S6),!(0,Ti.isValidElementType)(r))return p5(1,String(r));var l=function(){return c(r,e,f2.apply(void 0,arguments))};return l.withConfig=function(i){return a(c,r,Y3({},e,{},i))},l.attrs=function(i){return a(c,r,Y3({},e,{attrs:Array.prototype.concat(e.attrs,i).filter(Boolean)}))},l}(by,t)};["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","textPath","tspan"].forEach(function(t){bs[t]=bs(t)});D11=function(){function t(c,r){this.rules=c,this.componentId=r,this.isStatic=By(c),Vc.registerId(this.componentId+1)}var a=t.prototype;return a.createStyles=function(c,r,e,l){var i=l(T8(this.rules,r,e,l).join(""),""),o=this.componentId+c;e.insertRules(o,o,i)},a.removeStyles=function(c,r){r.clearRules(this.componentId+c)},a.renderStyles=function(c,r,e,l){c>2&&Vc.registerId(this.componentId+c),this.removeStyles(c,e),this.createStyles(c,r,e,l)},t}();Jz1=function(){function t(){var c=this;this._emitSheetCSS=function(){var r=c.instance.toString();if(!r)return"";var e=Ss();return""},this.getStyleTags=function(){return c.sealed?p5(2):c._emitSheetCSS()},this.getStyleElement=function(){var r;if(c.sealed)return p5(2);var e=((r={})[k6]="",r["data-styled-version"]="5.3.11",r.dangerouslySetInnerHTML={__html:c.instance.toString()},r),l=Ss();return l&&(e.nonce=l),[j1.default.createElement("style",Y3({},e,{key:"sc-0-0"}))]},this.seal=function(){c.sealed=!0},this.instance=new Vc({isServer:!0}),this.sealed=!1}var a=t.prototype;return a.collectStyles=function(c){return this.sealed?p5(2):j1.default.createElement(Zs,{sheet:this.instance},c)},a.interleaveWithNodeStream=function(c){return p5(3)},t}(),B=bs});function m5(){return m5=Object.assign||function(t){for(var a=1;a{});function Es(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}var Iy=x(()=>{});function f5(t,a){return f5=Object.setPrototypeOf||function(r,e){return r.__proto__=e,r},f5(t,a)}var Oi=x(()=>{});function Ds(t,a){t.prototype=Object.create(a.prototype),t.prototype.constructor=t,f5(t,a)}var Py=x(()=>{Oi()});function wc(t){return wc=Object.setPrototypeOf?Object.getPrototypeOf:function(c){return c.__proto__||Object.getPrototypeOf(c)},wc(t)}var Gy=x(()=>{});function Ws(t){return Function.toString.call(t).indexOf("[native code]")!==-1}var Ty=x(()=>{});function _s(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}var Zy=x(()=>{});function w9(t,a,c){return _s()?w9=Reflect.construct:w9=function(e,l,i){var o=[null];o.push.apply(o,l);var n=Function.bind.apply(e,o),h=new n;return i&&f5(h,i.prototype),h},w9.apply(null,arguments)}var Oy=x(()=>{Oi();Zy()});function Bc(t){var a=typeof Map=="function"?new Map:void 0;return Bc=function(r){if(r===null||!Ws(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(typeof a!="undefined"){if(a.has(r))return a.get(r);a.set(r,e)}function e(){return w9(r,arguments,wc(this).constructor)}return e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),f5(e,r)},Bc(t)}var Ey=x(()=>{Gy();Oi();Ty();Oy()});var Dy=x(()=>{});function W11(t){return t.charAt(0).toUpperCase()+t.slice(1)}function j11(t,a){if(!t)return a.toLowerCase();var c=t.split("-");if(c.length>1)return c.splice(1,0,a),c.reduce(function(e,l){return""+e+W11(l)});var r=t.replace(/([a-z])([A-Z])/g,"$1"+a+"$2");return t===r?""+t+a:r}function q11(t,a){for(var c={},r=0;r1?a-1:0),r=1;r=0&&e<1?(o=l,n=i):e>=1&&e<2?(o=i,n=l):e>=2&&e<3?(n=l,h=i):e>=3&&e<4?(n=i,h=l):e>=4&&e<5?(o=i,h=l):e>=5&&e<6&&(o=l,h=i);var v=c-l/2,g=o+v,s=n+v,d=h+v;return r(g,s,d)}function U11(t){if(typeof t!="string")return t;var a=t.toLowerCase();return _y[a]?"#"+_y[a]:t}function $s(t){if(typeof t!="string")throw new S4(3);var a=U11(t);if(a.match(K11))return{red:parseInt(""+a[1]+a[2],16),green:parseInt(""+a[3]+a[4],16),blue:parseInt(""+a[5]+a[6],16)};if(a.match($11)){var c=parseFloat((parseInt(""+a[7]+a[8],16)/255).toFixed(2));return{red:parseInt(""+a[1]+a[2],16),green:parseInt(""+a[3]+a[4],16),blue:parseInt(""+a[5]+a[6],16),alpha:c}}if(a.match(Q11))return{red:parseInt(""+a[1]+a[1],16),green:parseInt(""+a[2]+a[2],16),blue:parseInt(""+a[3]+a[3],16)};if(a.match(X11)){var r=parseFloat((parseInt(""+a[4]+a[4],16)/255).toFixed(2));return{red:parseInt(""+a[1]+a[1],16),green:parseInt(""+a[2]+a[2],16),blue:parseInt(""+a[3]+a[3],16),alpha:r}}var e=qs.exec(a);if(e)return{red:parseInt(""+e[1],10),green:parseInt(""+e[2],10),blue:parseInt(""+e[3],10)};var l=Y11.exec(a.substring(0,50));if(l)return{red:parseInt(""+l[1],10),green:parseInt(""+l[2],10),blue:parseInt(""+l[3],10),alpha:parseFloat(""+l[4])};var i=J11.exec(a);if(i){var o=parseInt(""+i[1],10),n=parseInt(""+i[2],10)/100,h=parseInt(""+i[3],10)/100,v="rgb("+yc(o,n,h)+")",g=qs.exec(v);if(!g)throw new S4(4,a,v);return{red:parseInt(""+g[1],10),green:parseInt(""+g[2],10),blue:parseInt(""+g[3],10)}}var s=t21.exec(a.substring(0,50));if(s){var d=parseInt(""+s[1],10),z=parseInt(""+s[2],10)/100,u=parseInt(""+s[3],10)/100,f="rgb("+yc(d,z,u)+")",p=qs.exec(f);if(!p)throw new S4(4,a,f);return{red:parseInt(""+p[1],10),green:parseInt(""+p[2],10),blue:parseInt(""+p[3],10),alpha:parseFloat(""+s[4])}}throw new S4(5)}function a21(t){var a=t.red/255,c=t.green/255,r=t.blue/255,e=Math.max(a,c,r),l=Math.min(a,c,r),i=(e+l)/2;if(e===l)return t.alpha!==void 0?{hue:0,saturation:0,lightness:i,alpha:t.alpha}:{hue:0,saturation:0,lightness:i};var o,n=e-l,h=i>.5?n/(2-e-l):n/(e+l);switch(e){case a:o=(c-r)/n+(c=1?Ei(t,a,c):"rgba("+yc(t,a,c)+","+r+")";if(typeof t=="object"&&a===void 0&&c===void 0&&r===void 0)return t.alpha>=1?Ei(t.hue,t.saturation,t.lightness):"rgba("+yc(t.hue,t.saturation,t.lightness)+","+t.alpha+")";throw new S4(2)}function Ks(t,a,c){if(typeof t=="number"&&typeof a=="number"&&typeof c=="number")return Us("#"+Z8(t)+Z8(a)+Z8(c));if(typeof t=="object"&&a===void 0&&c===void 0)return Us("#"+Z8(t.red)+Z8(t.green)+Z8(t.blue));throw new S4(6)}function jy(t,a,c,r){if(typeof t=="string"&&typeof a=="number"){var e=$s(t);return"rgba("+e.red+","+e.green+","+e.blue+","+a+")"}else{if(typeof t=="number"&&typeof a=="number"&&typeof c=="number"&&typeof r=="number")return r>=1?Ks(t,a,c):"rgba("+t+","+a+","+c+","+r+")";if(typeof t=="object"&&a===void 0&&c===void 0&&r===void 0)return t.alpha>=1?Ks(t.red,t.green,t.blue):"rgba("+t.red+","+t.green+","+t.blue+","+t.alpha+")"}throw new S4(7)}function Xs(t){if(typeof t!="object")throw new S4(8);if(i21(t))return jy(t);if(l21(t))return Ks(t);if(n21(t))return e21(t);if(o21(t))return r21(t);throw new S4(8)}function qy(t,a,c){return function(){var e=c.concat(Array.prototype.slice.call(arguments));return e.length>=a?t.apply(this,e):qy(t,a,e)}}function Di(t){return qy(t,t.length,[])}function Wi(t,a,c){return Math.max(t,Math.min(a,c))}function h21(t,a){if(a==="transparent")return a;var c=Qs(a);return Xs(m5({},c,{lightness:Wi(0,1,c.lightness-parseFloat(t))}))}function v21(t,a){if(a==="transparent")return a;var c=Qs(a);return Xs(m5({},c,{lightness:Wi(0,1,c.lightness+parseFloat(t))}))}function g21(t,a){if(a==="transparent")return a;var c=Qs(a);return Xs(m5({},c,{saturation:Wi(0,1,c.saturation+parseFloat(t))}))}function d21(t,a){if(a==="transparent")return a;var c=$s(a),r=typeof c.alpha=="number"?c.alpha:1,e=m5({},c,{alpha:Wi(0,1,+(r*100-parseFloat(t)*100).toFixed(2)/100)});return jy(e)}function ji(t){for(var a=arguments.length,c=new Array(a>1?a-1:0),r=1;r=0&&t?m5({},Wy.apply(void 0,[""].concat(c)),{position:t}):Wy.apply(void 0,["",t].concat(c))}var S4,_11,_y,K11,$11,Q11,X11,qs,Y11,J11,t21,Us,l21,i21,o21,n21,A6,R6,_i,N2,s21,R0=x(()=>{Fy();Iy();Py();Ey();Dy();S4=function(t){Ds(a,t);function a(c){var r;if(!0)r=t.call(this,"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#"+c+" for more information.")||this;else for(var e,l,i;i=0)&&(c[e]=t[e]);return c}var B9=x(()=>{});var Uy,qi,Ys=x(()=>{Uy=I(G()),qi=(0,Uy.createContext)({})});function u21(t,a,c){return a in t?Object.defineProperty(t,a,{value:c,enumerable:!0,configurable:!0,writable:!0}):t[a]=c,t}function Ky(t,a){var c=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);a&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),c.push.apply(c,r)}return c}function b6(t){for(var a=1;a=0)&&(c[e]=t[e]);return c}function p21(t,a){if(t){if(typeof t=="string")return $y(t,a);var c=Object.prototype.toString.call(t).slice(8,-1);if(c==="Object"&&t.constructor&&(c=t.constructor.name),c==="Map"||c==="Set")return Array.from(t);if(c==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c))return $y(t,a)}}function $y(t,a){(a==null||a>t.length)&&(a=t.length);for(var c=0,r=new Array(a);c=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return c=t[Symbol.iterator](),c.next.bind(c)}var kc=x(()=>{});function m21(t){return typeof t=="function"}var Ni,Qy,Xy=x(()=>{Ni=I(G());Ys();kc();Qy=function(a,c,r){r===void 0&&(r=c.children);var e=(0,Ni.useContext)(qi);if(e.useCreateElement)return e.useCreateElement(a,c,r);if(typeof a=="string"&&m21(r)){var l=c.children,i=Sc(c,["children"]);return r(i)}return(0,Ni.createElement)(a,c,r)}});function f21(t,a,c){return a in t?Object.defineProperty(t,a,{value:c,enumerable:!0,configurable:!0,writable:!0}):t[a]=c,t}function Yy(t,a){var c=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);a&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),c.push.apply(c,r)}return c}function F6(t){for(var a=1;a=0)&&(c[e]=t[e]);return c}var tz=x(()=>{});function tS(t){return typeof t=="object"&&t!=null}var aS=x(()=>{});function Ac(t){var a;if(!tS(t))return!1;var c=Object.getPrototypeOf(t);return c==null?!0:((a=c.constructor)===null||a===void 0?void 0:a.toString())===Object.toString()}var az=x(()=>{aS()});function cS(t,a){for(var c=Object.keys(t),r={},e={},l=0,i=c;l=0?r[o]=t[o]:e[o]=t[o]}return[r,e]}function cz(t,a){if(a===void 0&&(a=[]),!Ac(t.state))return cS(t,a);var c=cS(t,[].concat(a,["state"])),r=c[0],e=c[1],l=r.state,i=Jy(r,["state"]);return[F6(F6({},l),i),e]}var rS=x(()=>{tz();az()});function O8(t,a){if(t===a)return!0;if(!t||!a||typeof t!="object"||typeof a!="object")return!1;var c=Object.keys(t),r=Object.keys(a),e=c.length;if(r.length!==e)return!1;for(var l=0,i=c;l{});function rz(t){return t.name==="normalizePropsAreEqualInner"?t:function(c,r){return!Ac(c.state)||!Ac(r.state)?t(c,r):t(F6(F6({},c.state),c),F6(F6({},r.state),r))}}var eS=x(()=>{tz();az()});function M21(t){return(0,Ki.forwardRef)(t)}function x21(t,a){return(0,Ki.memo)(t,a)}function A4(t){var a=t.as,c=t.useHook,r=t.memo,e=t.propsAreEqual,l=e===void 0?c==null?void 0:c.unstable_propsAreEqual:e,i=t.keys,o=i===void 0?(c==null?void 0:c.__keys)||[]:i,n=t.useCreateElement,h=n===void 0?Qy:n,v=function(s,d){var z=s.as,u=z===void 0?a:z,f=Sc(s,["as"]);if(c){var p,m=cz(f,o),M=m[0],w=m[1],H=c(M,b6({ref:d},w)),y=H.wrapElement,k=Sc(H,["wrapElement"]),F=((p=u.render)===null||p===void 0?void 0:p.__keys)||u.__keys,U=F&&cz(f,F)[0],A=U?b6(b6({},k),U):k,P=h(u,A);return y?y(P):P}return h(u,b6({ref:d},f))};return v=M21(v),r&&(v=x21(v,l&&rz(l))),v.__keys=o,v.unstable_propsAreEqual=rz(l||O8),v}var Ki,y9=x(()=>{Ki=I(G());kc();Xy();rS();Ui();eS()});function Qi(t,a){(0,$i.useDebugValue)(t);var c=(0,$i.useContext)(qi);return c[t]!=null?c[t]:a}var $i,ez=x(()=>{$i=I(G());Ys()});function iS(t,a,c){a===void 0&&(a={}),c===void 0&&(c={});var r="use"+t+"Props";(0,lS.useDebugValue)(r);var e=Qi(r);return e?e(a,c):c}var lS,oS=x(()=>{lS=I(G());ez()});function hS(t,a,c){a===void 0&&(a={}),c===void 0&&(c={});var r="use"+t+"Options";(0,nS.useDebugValue)(r);var e=Qi(r);return e?b6(b6({},a),e(a,c)):a}var nS,vS=x(()=>{nS=I(G());ez();kc()});function gS(t){return Array.isArray(t)?t:typeof t!="undefined"?[t]:[]}var dS=x(()=>{});function R4(t){var a,c,r=gS(t.compose),e=function(n,h){if(t.useOptions&&(n=t.useOptions(n,h)),t.name&&(n=hS(t.name,n,h)),t.compose)for(var v=Js(r),g;!(g=v()).done;){var s=g.value;n=s.__useOptions(n,h)}return n},l=function(n,h,v){if(n===void 0&&(n={}),h===void 0&&(h={}),v===void 0&&(v=!1),v||(n=e(n,h)),t.useProps&&(h=t.useProps(n,h)),t.name&&(h=iS(t.name,n,h)),t.compose)if(t.useComposeOptions&&(n=t.useComposeOptions(n,h)),t.useComposeProps)h=t.useComposeProps(n,h);else for(var g=Js(r),s;!(s=g()).done;){var d=s.value;h=d(n,h,!0)}var z={},u=h||{};for(var f in u)u[f]!==void 0&&(z[f]=u[f]);return z};l.__useOptions=e;var i=r.reduce(function(o,n){return o.push.apply(o,n.__keys||[]),o},[]);return l.__keys=[].concat(i,((a=t.useState)===null||a===void 0?void 0:a.__keys)||[],t.keys||[]),l.unstable_propsAreEqual=t.propsAreEqual||((c=r[0])===null||c===void 0?void 0:c.unstable_propsAreEqual)||O8,l}var cp1,S9=x(()=>{cp1=I(G());oS();kc();vS();Ui();dS()});function sS(t,a){a===void 0&&(a=null),t&&(typeof t=="function"?t(a):t.current=a)}function Xi(t,a){return(0,zS.useMemo)(function(){return t==null&&a==null?null:function(c){sS(t,c),sS(a,c)}},[t,a])}var zS,lz=x(()=>{zS=I(G())});function k9(t){if(t.tagName==="BUTTON")return!0;if(t.tagName==="INPUT"){var a=t;return C21.indexOf(a.type)!==-1}return!1}var C21,Yi=x(()=>{C21=["button","color","file","image","reset","submit"]});var Ji=x(()=>{});var zp1,uS=x(()=>{Ji();zp1=I(G())});var Mp1,Rc=x(()=>{Ji();Mp1=I(G());uS()});function to(t){return t?t.ownerDocument||t:document}var iz=x(()=>{});function pS(t){return t&&to(t).defaultView||oz}var oz,mS=x(()=>{iz();try{oz=window}catch(t){}});function L21(){var t=pS();return!!(typeof t!="undefined"&&t.document&&t.document.createElement)}var E8,ao=x(()=>{mS();E8=L21()});var co,A9,ro=x(()=>{co=I(G());ao();A9=E8?co.useLayoutEffect:co.useEffect});function I6(t){var a=(0,fS.useRef)(t);return A9(function(){a.current=t}),a}var fS,nz=x(()=>{fS=I(G());ro()});function MS(t){return t.target===t.currentTarget}var xS=x(()=>{});function CS(t){var a=to(t),c=a.activeElement;return c!=null&&c.nodeName?c:null}var LS=x(()=>{iz()});function eo(t,a){return t===a||t.contains(a)}var hz=x(()=>{});function HS(t){var a=CS(t);if(!a)return!1;if(eo(t,a))return!0;var c=a.getAttribute("aria-activedescendant");return c?c===t.id?!0:!!t.querySelector("#"+c):!1}var VS=x(()=>{LS();hz()});function wS(t){return!eo(t.currentTarget,t.target)}var BS=x(()=>{hz()});function bc(t){return E8?window.navigator.userAgent.indexOf(t)!==-1:!1}var yS=x(()=>{ao()});function SS(t,a){return"matches"in t?t.matches(a):"msMatchesSelector"in t?t.msMatchesSelector(a):t.webkitMatchesSelector(a)}var kS=x(()=>{});function V21(t){var a=t;return a.offsetWidth>0||a.offsetHeight>0||t.getClientRects().length>0}function AS(t){return SS(t,H21)&&V21(t)}var H21,RS=x(()=>{kS();H21="input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false'])"});var w21,Fc,Qp1,vz=x(()=>{B9();y9();S9();Ui();w21=["unstable_system"],Fc=R4({name:"Role",keys:w21,propsAreEqual:function(a,c){var r=a.unstable_system,e=k4(a,["unstable_system"]),l=c.unstable_system,i=k4(c,["unstable_system"]);return r!==l&&!O8(r,l)?!1:O8(e,i)}}),Qp1=A4({as:"div",useHook:Fc})});function bS(t){!HS(t)&&AS(t)&&t.focus()}function S21(t){return t.tagName==="BUTTON"||t.tagName==="INPUT"||t.tagName==="SELECT"||t.tagName==="TEXTAREA"||t.tagName==="A"}function k21(t){return t.tagName==="BUTTON"||t.tagName==="INPUT"||t.tagName==="SELECT"||t.tagName==="TEXTAREA"}function A21(t,a,c,r){return t?a&&!c?-1:void 0:a?r:r||0}function gz(t,a){return(0,P6.useCallback)(function(c){var r;(r=t.current)===null||r===void 0||r.call(t,c),!c.defaultPrevented&&a&&(c.stopPropagation(),c.preventDefault())},[t,a])}var P6,B21,y21,dz,dm1,FS=x(()=>{B9();y9();S9();P6=I(G());lz();Yi();Rc();nz();ro();VS();BS();yS();RS();vz();B21=["disabled","focusable"],y21=bc("Mac")&&!bc("Chrome")&&(bc("Safari")||bc("Firefox"));dz=R4({name:"Tabbable",compose:Fc,keys:B21,useOptions:function(a,c){var r=c.disabled;return J3({disabled:r},a)},useProps:function(a,c){var r=c.ref,e=c.tabIndex,l=c.onClickCapture,i=c.onMouseDownCapture,o=c.onMouseDown,n=c.onKeyPressCapture,h=c.style,v=k4(c,["ref","tabIndex","onClickCapture","onMouseDownCapture","onMouseDown","onKeyPressCapture","style"]),g=(0,P6.useRef)(null),s=I6(l),d=I6(i),z=I6(o),u=I6(n),f=!!a.disabled&&!a.focusable,p=(0,P6.useState)(!0),m=p[0],M=p[1],w=(0,P6.useState)(!0),H=w[0],y=w[1],k=a.disabled?J3({pointerEvents:"none"},h):h;A9(function(){var C=g.current;C&&(S21(C)||M(!1),k21(C)||y(!1))},[]);var F=gz(s,a.disabled),U=gz(d,a.disabled),A=gz(u,a.disabled),P=(0,P6.useCallback)(function(C){var E;(E=z.current)===null||E===void 0||E.call(z,C);var a1=C.currentTarget;if(!C.defaultPrevented&&y21&&!wS(C)&&k9(a1)){var j=requestAnimationFrame(function(){a1.removeEventListener("mouseup",K,!0),bS(a1)}),K=function(){cancelAnimationFrame(j),bS(a1)};a1.addEventListener("mouseup",K,{once:!0,capture:!0})}},[]);return J3({ref:Xi(g,r),style:k,tabIndex:A21(f,m,H,e),disabled:f&&H?!0:void 0,"aria-disabled":a.disabled?!0:void 0,onClickCapture:F,onMouseDownCapture:U,onMouseDown:P,onKeyPressCapture:A},v)}}),dm1=A4({as:"div",useHook:dz})});function b21(t){var a=t.currentTarget;return t.isTrusted?k9(a)||a.tagName==="INPUT"||a.tagName==="TEXTAREA"||a.tagName==="A"||a.tagName==="SELECT":!1}var Ic,R21,sz,Lm1,IS=x(()=>{B9();y9();S9();Ic=I(G());Yi();Rc();nz();xS();FS();R21=["unstable_clickOnEnter","unstable_clickOnSpace"];sz=R4({name:"Clickable",compose:dz,keys:R21,useOptions:function(a){var c=a.unstable_clickOnEnter,r=c===void 0?!0:c,e=a.unstable_clickOnSpace,l=e===void 0?!0:e,i=k4(a,["unstable_clickOnEnter","unstable_clickOnSpace"]);return J3({unstable_clickOnEnter:r,unstable_clickOnSpace:l},i)},useProps:function(a,c){var r=c.onKeyDown,e=c.onKeyUp,l=k4(c,["onKeyDown","onKeyUp"]),i=(0,Ic.useState)(!1),o=i[0],n=i[1],h=I6(r),v=I6(e),g=(0,Ic.useCallback)(function(d){var z;if((z=h.current)===null||z===void 0||z.call(h,d),!d.defaultPrevented&&!a.disabled&&!d.metaKey&&MS(d)){var u=a.unstable_clickOnEnter&&d.key==="Enter",f=a.unstable_clickOnSpace&&d.key===" ";if(u||f){if(b21(d))return;d.preventDefault(),u?d.currentTarget.click():f&&n(!0)}}},[a.disabled,a.unstable_clickOnEnter,a.unstable_clickOnSpace]),s=(0,Ic.useCallback)(function(d){var z;if((z=v.current)===null||z===void 0||z.call(v,d),!d.defaultPrevented&&!a.disabled&&!d.metaKey){var u=a.unstable_clickOnSpace&&d.key===" ";o&&u&&(n(!1),d.currentTarget.click())}},[a.disabled,a.unstable_clickOnSpace,o]);return J3({"data-active":o||void 0,onKeyDown:g,onKeyUp:s},l)}}),Lm1=A4({as:"button",memo:!0,useHook:sz})});var D8,F21,PS,zz,GS=x(()=>{B9();y9();S9();D8=I(G());lz();Yi();Rc();IS();F21=[],PS=R4({name:"Button",compose:sz,keys:F21,useProps:function(a,c){var r=c.ref,e=k4(c,["ref"]),l=(0,D8.useRef)(null),i=(0,D8.useState)(void 0),o=i[0],n=i[1],h=(0,D8.useState)("button"),v=h[0],g=h[1];return(0,D8.useEffect)(function(){var s=l.current;s&&(k9(s)||(s.tagName!=="A"&&n("button"),g(void 0)))},[]),J3({ref:Xi(l,r),role:o,type:v},e)}}),zz=A4({as:"button",memo:!0,useHook:PS})});var I21,TS,uz,ZS=x(()=>{B9();y9();S9();vz();I21=[],TS=R4({name:"Group",compose:Fc,keys:I21,useProps:function(a,c){return J3({role:"group"},c)}}),uz=A4({as:"div",useHook:TS})});function ES(){return E8?document.body:null}function Pc(t){var a=t.children,c=(0,G6.useContext)(a3)||ES(),r=(0,G6.useState)(function(){if(E8){var l=document.createElement("div");return l.className=Pc.__className,l}return null}),e=r[0];return A9(function(){if(!(!e||!c))return c.appendChild(e),function(){c.removeChild(e)}},[e,c]),e?(0,OS.createPortal)((0,G6.createElement)(a3.Provider,{value:e},a),e):null}var G6,OS,a3,DS=x(()=>{G6=I(G());ro();ao();OS=I(B4());a3=(0,G6.createContext)(ES());Pc.__className="__reakit-portal";Pc.__selector="."+Pc.__className});var P21,pz,Dm1,WS=x(()=>{P21=!1;typeof window!="undefined"&&(pz={get passive(){P21=!0}},window.addEventListener("testPassive",null,pz),window.removeEventListener("testPassive",null,pz));Dm1=typeof window!="undefined"&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||window.navigator.platform==="MacIntel"&&window.navigator.maxTouchPoints>1)});var _m1,qm1,T6=x(()=>{_m1=I(G());Rc();GS();ZS();qm1=I(B4());DS();WS();Ji()});function z1(t){let a=(0,lo.useMemo)(()=>{let e=t;return{get current(){return e},set current(l){e=l,r(l)}}},[]),[c,r]=(0,lo.useState)(()=>t);return[a,c]}var lo,P1=x(()=>{"use strict";lo=I(G())});function US(t){return a=>G2.default.createElement(T21,null,G2.default.createElement(t,S({},a)))}var G2,NS,_S,C1,Z6,jS,G21,qS,mz,fz,T21,G1=x(()=>{"use strict";R0();c1();c1();G2=I(G()),NS=I(B4());T6();P1();C1=f2(_S||(_S=V(["\n #pointer-root & {\n pointer-events: none;\n }\n #pointer-root.normal & {\n pointer-events: auto;\n }\n"]))),Z6={panel:{bg:"#282b2f",head:{title:{color:"#bbb"},punctuation:{color:"#808080"}},body:{compoudThing:{label:{get color(){return R6(.6,Z6.panel.bg)}}}}}},G21=typeof window!="undefined"?Zi(jS||(jS=V(["\n :host {\n all: initial;\n color: white;\n font: 11px -apple-system, BlinkMacSystemFont, Segoe WPC, Segoe Editor,\n HelveticaNeue-Light, Ubuntu, Droid Sans, sans-serif;\n }\n\n * {\n padding: 0;\n margin: 0;\n font-size: 100%;\n font: inherit;\n vertical-align: baseline;\n list-style: none;\n }\n"]))):{},mz=B.div(qS||(qS=V(["\n z-index: 51;\n position: fixed;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n pointer-events: none;\n"]))),fz=t=>G2.default.createElement(Zs,{disableVendorPrefixes:!0,target:t.target},G2.default.createElement(G2.default.Fragment,null,G2.default.createElement(G21,null),t.children));T21=t=>{let[a,c]=(0,G2.useState)(null),[r,e]=(0,G2.useState)(null);(0,G2.useLayoutEffect)(()=>{if(!a)return;let{parentNode:o}=a;if(!o)return;let h=!!o.shadowRoot?parent.shadowRoot:o.attachShadow({mode:"open"});e(h)},[a]);let[l,i]=z1(void 0);return r?NS.default.createPortal(G2.default.createElement(fz,{target:r},G2.default.createElement(G2.default.Fragment,null,G2.default.createElement(mz,{ref:l}),G2.default.createElement(a3.Provider,{value:i},t.children))),r):G2.default.createElement("template",{ref:c,"shadow-root":"open"},t.children)}});var M5,Z21,KS,x5,$S,R9,QS,YS,io,XS,oo,S3,b4=x(()=>{"use strict";G1();c1();M5={get outlinePanel(){return 1},get propsPanel(){return M5.outlinePanel},get sequenceEditorPanel(){return this.outlinePanel-1},get toolbar(){return this.outlinePanel+1},get pluginPanes(){return this.sequenceEditorPanel-1}},Z21=Z6.panel.bg,x5=B.span(KS||(KS=V(["\n white-space: nowrap;\n"]))),R9=B.span($S||($S=V(["\n white-space: nowrap;\n color: ",";\n"])),Z6.panel.head.punctuation.color),YS=B.div(QS||(QS=V(["\n background: ",";\n flex-grow: 1;\n overflow-y: scroll;\n padding: 0;\n"])),Z21),io=18,oo=B.div(XS||(XS=V(["\n height: ","px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n padding: 0 10px;\n position: relative;\n color: #adadadb3;\n border-bottom: 1px solid rgb(0 0 0 / 13%);\n background-color: #25272b;\n font-size: 10px;\n font-weight: 500;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n"])),io),S3=100});var O21,h0,W8=x(()=>{"use strict";O21=()=>{},h0=O21});function E21(t){return Mz.createElement("svg",S({width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),Mz.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1.775 2.781a.5.5 0 01.5.5v1.7H4.67c.108-.957.92-1.7 1.905-1.7h6.608a1.917 1.917 0 110 3.834H6.574c-.78 0-1.452-.466-1.751-1.135H2.275v5.03h2.39a2.032 2.032 0 012.023-1.854h6.38a2.031 2.031 0 110 4.063h-6.38c-.83 0-1.543-.497-1.858-1.21H1.775a.5.5 0 01-.5-.5V3.281a.5.5 0 01.5-.5zm4.799 1.5h6.608a.917.917 0 110 1.834H6.574a.917.917 0 110-1.834zm.114 5.875h6.38a1.031 1.031 0 110 2.063h-6.38a1.032 1.032 0 110-2.063z",fill:"currentColor"}))}var Mz,Gc,JS=x(()=>{"use strict";Mz=I(G());Gc=E21});function D21(t){return xz.createElement("svg",S({width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),xz.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8 10.5L4 6.654 5.2 5.5 8 8.385 10.8 5.5 12 6.654 8 10.5z",fill:"currentColor"}))}var xz,Cz,tk=x(()=>{"use strict";xz=I(G());Cz=D21});function W21(t){return Lz.createElement("svg",S({width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),Lz.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M3.5 3c-1.072 0-1.969.904-1.969 1.969 0 1 .929 1.968 1.969 1.968h9A1.969 1.969 0 1012.5 3h-9zm9 1H5.531v1.938H12.5A.969.969 0 0012.5 4zM3.5 9.14a1.969 1.969 0 000 3.938h9a1.969 1.969 0 100-3.937h-9zm9 1H8.406v1.938H12.5a.969.969 0 100-1.937z",fill:"currentColor"}))}var Lz,Hz,ak=x(()=>{"use strict";Lz=I(G());Hz=W21});function _21(t){return Vz.createElement("svg",S({width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),Vz.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M.166 7.994a2.26 2.26 0 114.518 0 2.26 2.26 0 01-4.518 0zM2.425 6.91a1.085 1.085 0 100 2.17 1.085 1.085 0 000-2.17zM5.74 7.994a2.26 2.26 0 114.519 0 2.26 2.26 0 01-4.519 0zM8 6.91a1.085 1.085 0 100 2.17 1.085 1.085 0 000-2.17zM13.575 5.735a2.26 2.26 0 100 4.519 2.26 2.26 0 000-4.52zm-1.086 2.26a1.085 1.085 0 112.171 0 1.085 1.085 0 01-2.17 0z",fill:"currentColor"}))}var Vz,wz,ck=x(()=>{"use strict";Vz=I(G());wz=_21});function j21(t){return Bz.createElement("svg",S({width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),Bz.createElement("path",{d:"M8.339 4.5l-2.055.644 4.451 1.393v2.748l-2.966.928-2.504-.783V6.738l2.42.758 2.055-.644-4.458-1.395L4 5.858v4.463L7.768 11.5 12 10.175V5.646L8.339 4.5z",fill:"currentColor"}))}var Bz,Tc,rk=x(()=>{"use strict";Bz=I(G());Tc=j21});function q21(t){return yz.createElement("svg",S({width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),yz.createElement("path",{d:"M8 1.57c-.416 0-.752.36-.752.804v.482c-1.715.372-3.006 1.994-3.006 3.938v.473c0 1.18-.407 2.32-1.14 3.205l-.173.208a.85.85 0 00-.125.864.75.75 0 00.686.475h9.019a.752.752 0 00.686-.475.845.845 0 00-.125-.864l-.174-.208a5.026 5.026 0 01-1.139-3.205v-.473c0-1.944-1.291-3.566-3.006-3.938v-.482c0-.445-.336-.804-.752-.804zm1.063 12.39c.282-.301.44-.71.44-1.138H6.496c0 .428.158.837.44 1.138.281.302.664.47 1.063.47.4 0 .783-.168 1.064-.47z",fill:"currentColor"}))}var yz,Zc,ek=x(()=>{"use strict";yz=I(G());Zc=q21});function N21(t){return Sz.createElement("svg",S({width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),Sz.createElement("path",{d:"M6.8 11.6a.6.6 0 00.6-.6V7.4a.6.6 0 00-1.2 0V11a.6.6 0 00.6.6zm6-7.2h-2.4v-.6A1.8 1.8 0 008.6 2H7.4a1.8 1.8 0 00-1.8 1.8v.6H3.2a.6.6 0 100 1.2h.6v6.6A1.8 1.8 0 005.6 14h4.8a1.8 1.8 0 001.8-1.8V5.6h.6a.6.6 0 100-1.2zm-6-.6a.6.6 0 01.6-.6h1.2a.6.6 0 01.6.6v.6H6.8v-.6zm4.2 8.4a.6.6 0 01-.6.6H5.6a.6.6 0 01-.6-.6V5.6h6v6.6zm-1.8-.6a.6.6 0 00.6-.6V7.4a.6.6 0 00-1.2 0V11a.6.6 0 00.6.6z",fill:"currentColor"}))}var Sz,Oc,lk=x(()=>{"use strict";Sz=I(G());Oc=N21});var b9=x(()=>{"use strict";JS();tk();ak();ck();rk();ek();lk()});var F4,ik,kz,ok,U21,nk,K21,hk,$21,vk,Q21,gk,X21,dk,Y21,sk,J21,t01,O6,Ec=x(()=>{"use strict";F4=I(G());c1();W8();G1();b9();kz=B.li(ik||(ik=V(["\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n justify-content: flex-start;\n flex-direction: column;\n align-items: flex-start;\n"]))),U21=B.div(ok||(ok=V([""]))),K21=B(U21)(nk||(nk=V(["\n position: relative;\n margin-top: 2px;\n margin-bottom: 2px;\n margin-left: calc(4px + var(--depth) * 16px);\n padding-left: 4px;\n padding-right: 8px;\n gap: 4px;\n height: 21px;\n line-height: 0;\n box-sizing: border-box;\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n pointer-events: none;\n white-space: nowrap;\n\n border-radius: 2px;\n box-shadow: 0 3px 4px -1px rgba(0, 0, 0, 0.48);\n\n color: rgba(255, 255, 255, 0.9);\n background: rgba(40, 43, 47, 0.65);\n backdrop-filter: blur(14px);\n border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n\n &.descendant-is-selected {\n background: rgba(29, 53, 59, 0.7);\n }\n\n ",";\n &:not(.not-selectable):not(.selected):hover {\n background: rgba(59, 63, 69, 0.9);\n\n border-bottom: 1px solid rgba(255, 255, 255, 0.24);\n }\n\n &:not(.not-selectable):not(.selected):active {\n background: rgba(82, 88, 96, 0.9);\n border-bottom: 1px solid rgba(255, 255, 255, 0.24);\n }\n\n &.selected {\n background: rgba(30, 88, 102, 0.7);\n border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n }\n\n @supports not (backdrop-filter: blur()) {\n background: rgba(40, 43, 47, 0.95);\n }\n"])),C1),$21=f2(hk||(hk=V(["\n font-weight: 500;\n font-size: 11px;\n & {\n }\n"]))),Q21=B.span(vk||(vk=V(["\n ",";\n\n ",";\n position: relative;\n // Compensate for border bottom\n top: 0.5px;\n display: flex;\n height: 20px;\n align-items: center;\n box-sizing: border-box;\n"])),$21,C1),X21=B.div(gk||(gk=V(["\n font-weight: 500;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n opacity: 0.99;\n"]))),Y21=B.span(dk||(dk=V(["\n font-size: 9px;\n position: relative;\n display: block;\n transition: transform 0.1s ease-out;\n\n &:hover {\n transform: rotate(-20deg);\n }\n\n ",".collapsed & {\n transform: rotate(-90deg);\n\n &:hover {\n transform: rotate(-70deg);\n }\n }\n"])),kz),J21=B.ul(sk||(sk=V(["\n margin: 0;\n padding: 0;\n list-style: none;\n\n ",".collapsed & {\n display: none;\n }\n"])),kz),t01=({label:t,children:a,depth:c,select:r,selectionStatus:e,labelDecoration:l,collapsed:i=!1,setIsCollapsed:o})=>{let n=a!==void 0;return F4.default.createElement(kz,{style:{"--depth":c},className:i?"collapsed":""},F4.default.createElement(K21,{className:e,onClick:r!=null?r:h0,"data-header":!0},F4.default.createElement(X21,null,n?F4.default.createElement(Y21,{onClick:h=>{h.stopPropagation(),h.preventDefault(),o==null||o(!i)}},F4.default.createElement(Cz,null)):F4.default.createElement(Tc,null)),F4.default.createElement(Q21,null,F4.default.createElement("span",null,t)),l),n&&F4.default.createElement(J21,null,a))},O6=t01});function c01(t){return Object.keys(t)}function zk(t){return Object.keys((0,I4.val)(t.sheetTemplatesP))}function uk(){let a=x3(c3().filter(c=>H7(c)||c0(c)).map(c=>c0(c)?c.sheet:c))[0];if(a)return a.getSequence()}var I4,c3,a01,C5=x(()=>{"use strict";I4=require("@theatre/dataverse");N5();H2();f1();c3=()=>{var c;let t=(0,I4.val)(T().projectsP),a=((c=(0,I4.val)(T().atomP.historic.panels.outlinePanel.selection))!=null?c:[]).map(r=>{let e=t[r.projectId];if(!e)return;if(r.type==="Project")return e;if(!(0,I4.val)(e.sheetTemplatesP[r.sheetId]))return;let i=a01(e,r.sheetId);if(!i)return;if(r.type==="Sheet")return i;let o=(0,I4.val)(i.objectsP[r.objectKey]);if(o)return o});return x3(a.filter(r=>typeof r!="undefined"))},a01=(t,a)=>{let c=T().atomP.historic.projects.stateByProjectId[t.address.projectId],r=(0,I4.val)(c.stateBySheetId[a].selectedInstanceId),e=(0,I4.val)(t.sheetTemplatesP[a]);if(e){if(r)return(0,I4.val)(e.instancesP[r]);{let l=(0,I4.val)(e.instancesP);return l[c01(l)[0]]}}}});var pk,mk,fk=x(()=>{"use strict";f1();pk=I(G());Ec();M1();C5();mk=({sheetObject:t,depth:a,overrideLabel:c})=>{let r=()=>{T().transaction(({stateEditors:l})=>{l.studio.historic.panels.outline.selection.set([t])})},e=v1(()=>c3(),[]);return pk.default.createElement(O6,{select:r,label:c!=null?c:t.address.objectKey,depth:a,selectionStatus:e.includes(t)?"selected":"not-selected"})}});function F9(t){var l;let a=t.type==="namespace"?"namespace:".concat(t.sheet.address.sheetId,":").concat(t.path.join("/")):t.type==="Theatre_Project"?"project":t.type==="Theatre_Sheet"?"sheetInstance:".concat(t.address.sheetId,":").concat(t.address.sheetInstanceId):"unknown",c=t.type==="namespace"?t.sheet.address.projectId:t.address.projectId,r=(l=s1(T().atomP.ahistoric.projects.stateByProjectId[c].collapsedItemsInOutline[a]))!=null?l:!1,e=(0,Mk.useCallback)(i=>{T().transaction(({stateEditors:o})=>{o.studio.ahistoric.projects.stateByProjectId.collapsedItemsInOutline.set({projectId:c,isCollapsed:i,itemKey:a})})},[a]);return{collapsed:r,setCollapsed:e}}var Mk,no=x(()=>{"use strict";Mk=I(G());f1();M1()});function Hk(t){return P4.default.createElement(P4.default.Fragment,null,[...t.namespace.entries()].map(([a,{object:c,nested:r}])=>P4.default.createElement(e01,{key:a,label:a,object:c,nested:r,visualIndentation:t.visualIndentation,path:t.path,sheet:t.sheet})))}function e01(t){let{nested:a,label:c,object:r,sheet:e}=t,{collapsed:l,setCollapsed:i}=F9({type:"namespace",sheet:e,path:[...t.path,c]}),o=a&&P4.default.createElement(Hk,{namespace:a,path:[...t.path,c],key:"namespaceTree("+c+")",visualIndentation:t.visualIndentation+1,sheet:e}),n=r&&P4.default.createElement(mk,{depth:t.visualIndentation,key:"objectPath("+r.address.objectKey+")",sheetObject:r,overrideLabel:c});return P4.default.createElement(P4.default.Fragment,{key:"".concat(c," - ").concat(t.visualIndentation)},n,o&&P4.default.createElement(O6,{selectionStatus:"not-selectable",label:c,key:"baseItem(".concat(c,")"),depth:t.visualIndentation,children:o,collapsed:l,setIsCollapsed:i}))}function wk(t,a,c=l01(a)){let[r,...e]=c,l=t.get(r);l||(l={nested:void 0,object:void 0,path:[...c]},t.set(r,l)),e.length===0?(console.assert(!l.object,"expect not to have existing object with same name",{existing:l,object:a}),l.object=a):(l.nested||(l.nested=new Map),wk(l.nested,a,e))}function l01(t){let a=xk.get(t);return a||(a=t.address.objectKey.split(i01),console.assert(a.length>0,"expected not empty"),xk.set(t,a)),a}var Lk,P4,Ck,cM1,r01,Vk,i01,xk,Bk=x(()=>{"use strict";M1();Lk=require("@theatre/dataverse"),P4=I(G());c1();fk();Ec();no();cM1=B.li(Ck||(Ck=V(["\n color: ",";\n"])),t=>t.isSelected?"white":"hsl(1, 1%, 80%)"),r01=({sheet:t,depth:a})=>v1(()=>{let c=(0,Lk.val)(t.objectsP),r=Object.values(c).filter(l=>l!=null),e=new Map;return r.forEach(l=>{wk(e,l)}),P4.default.createElement(Hk,{namespace:e,visualIndentation:a,path:[],sheet:t})},[t,a]);Vk=r01;i01=/\s*\/\s*/g,xk=new WeakMap});var _8,yk,o01,Sk,dM1,kk,n01,Ak,Rk=x(()=>{"use strict";f1();C5();M1();_8=I(G());c1();Bk();Ec();no();o01=B.div(yk||(yk=V(["\n display: flex;\n"]))),dM1=B.li(Sk||(Sk=V(["\n color: ",";\n"])),t=>t.isSelected?"white":"hsl(1, 1%, 80%)"),n01=B.div(kk||(kk=V([""]))),Ak=({sheet:t,depth:a})=>{let{collapsed:c,setCollapsed:r}=F9(t),e=(0,_8.useCallback)(()=>{T().transaction(({stateEditors:l})=>{l.studio.historic.panels.outline.selection.set([t])})},[t]);return v1(()=>{let l=c3();return _8.default.createElement(O6,{depth:a,select:e,setIsCollapsed:r,collapsed:c,selectionStatus:l.some(i=>i===t)?"selected":l.some(i=>i.type==="Theatre_SheetObject"&&i.sheet===t)?"descendant-is-selected":"not-selected",label:_8.default.createElement(o01,null,t.address.sheetId,": ",t.address.sheetInstanceId)},_8.default.createElement(n01,null,_8.default.createElement(Vk,{depth:a+1,sheet:t,key:"objectList"+t.address.sheetInstanceId})))},[a,c])}});var Az,I9,bk,fM1,Fk,MM1,Ik,xM1,Pk,Gk=x(()=>{"use strict";M1();Az=require("@theatre/dataverse"),I9=I(G());c1();Rk();fM1=B.div(bk||(bk=V(["\n display: flex;\n"]))),MM1=B.li(Fk||(Fk=V(["\n color: ",";\n"])),t=>t.isSelected?"white":"hsl(1, 1%, 80%)"),xM1=B.div(Ik||(Ik=V([""]))),Pk=({sheetId:t,depth:a,project:c})=>v1(()=>{let r=(0,Az.val)(c.sheetTemplatesP[t]);if(!r)return I9.default.createElement(I9.default.Fragment,null);let e=(0,Az.val)(r.instancesP);return I9.default.createElement(I9.default.Fragment,null,Object.entries(e).map(([l,i])=>I9.default.createElement(Ak,{key:i.address.sheetInstanceId,sheet:i,depth:a})))},[a,t,c])});var ho,h01,Tk,Zk=x(()=>{"use strict";C5();M1();ho=I(G());Gk();h01=({project:t,depth:a})=>v1(()=>{if(!t)return null;let c=zk(t);return ho.default.createElement(ho.default.Fragment,null,c.map(r=>ho.default.createElement(Pk,{depth:a,sheetId:r,key:"sheet-".concat(r),project:t})))},[t,a]),Tk=h01});var P9,Ek,Ok,v01,g01,Dk,Wk=x(()=>{"use strict";P9=I(G());Ec();Zk();f1();M1();C5();Ek=require("@theatre/dataverse");c1();no();v01=B.div(Ok||(Ok=V(["\n color: #ff6363;\n margin-left: 11px;\n background: #4c282d;\n padding: 2px 8px;\n border-radius: 2px;\n font-size: 10px;\n box-shadow: 0 2px 8px -4px black;\n"]))),g01=({depth:t,project:a})=>{let c=v1(()=>c3(),[]),r=v1(()=>{let o=a.address.projectId,n=(0,Ek.val)(T().atomP.ephemeral.coreByProject[o].loadingState);return(n==null?void 0:n.type)==="browserStateIsNotBasedOnDiskState"},[a]),e=(0,P9.useCallback)(()=>{T().transaction(({stateEditors:o})=>{o.studio.historic.panels.outline.selection.set([a])})},[a]),{collapsed:l,setCollapsed:i}=F9(a);return P9.default.createElement(O6,{depth:t,label:a.address.projectId,setIsCollapsed:i,collapsed:l,labelDecoration:r?P9.default.createElement(v01,null,"Has Conflicts"):null,children:P9.default.createElement(Tk,{project:a,depth:t+1}),selectionStatus:c.includes(a)?"selected":c.some(o=>o.address.projectId===a.address.projectId)?"descendant-is-selected":"not-selected",select:e})},Dk=g01});var jk,Rz,_k,d01,s01,qk,Nk=x(()=>{"use strict";jk=require("@theatre/dataverse");M1();f1();Rz=I(G());c1();Wk();d01=B.ul(_k||(_k=V(["\n list-style: none;\n margin: 0;\n padding: 0;\n padding-right: 4px;\n"]))),s01=t=>v1(()=>{let a=(0,jk.val)(T().projectsP);return Rz.default.createElement(d01,null,Object.keys(a).map(c=>{let r=a[c];return Rz.default.createElement(Dk,{depth:0,project:r,key:"projectListItem-".concat(c)})}))},[]),qk=s01});function Dc(t){let[a,c]=(0,vo.useState)(!1);return(0,vo.useEffect)(()=>{let r=l=>{let i=a?200:50,o=56,n=t==="left"?l.xwindow.innerWidth-i;n&&(n=l.y>o),c(!!n)};document.addEventListener("mousemove",r);let e=()=>{c(!1)};return document.addEventListener("mouseleave",e),()=>{document.removeEventListener("mousemove",r),document.removeEventListener("mouseleave",e)}},[a]),a}var vo,bz=x(()=>{"use strict";vo=I(G())});var j8,E6,Uk,Kk,z01,u01,$k,Fz,go,p01,Qk=x(()=>{"use strict";j8=I(G());c1();b4();Nk();M1();f1();bz();E6=require("@theatre/dataverse");G1();Uk="44px",z01=B.div(Kk||(Kk=V(["\n ",";\n background-color: transparent;\n position: absolute;\n left: 8px;\n z-index: ",";\n\n top: calc("," + 8px);\n height: fit-content;\n max-height: calc(100% - ",");\n overflow-y: scroll;\n overflow-x: hidden;\n padding: 0;\n user-select: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n scrollbar-width: none;\n\n display: ",";\n\n &:hover {\n display: block;\n }\n\n // Create a small buffer on the bottom to aid selecting the bottom item in a long, scrolling list\n &::after {\n content: '';\n display: block;\n height: 20px;\n }\n"])),C1,M5.outlinePanel,Uk,Uk,({pin:t})=>t?"block":"none"),u01=()=>{var r;let t=(r=s1(T().atomP.ahistoric.pinOutline))!=null?r:!0,a=s1(p01),c=Dc("left");return(0,j8.useLayoutEffect)(()=>{Fz.set(c)},[c]),(0,j8.useEffect)(()=>()=>{go.set(!1),Fz.set(!1)},[]),j8.default.createElement(z01,{pin:t||a,onMouseEnter:()=>{go.set(!0)},onMouseLeave:()=>{go.set(!1)}},j8.default.createElement(qk,null))},$k=u01,Fz=new E6.Atom(!1),go=new E6.Atom(!1),p01=(0,E6.prism)(()=>{let t=(0,E6.val)(go.prism),a=(0,E6.val)(Fz.prism);return t||a})});var Xk,m01,Yk,Jk=x(()=>{"use strict";c1();m01=B.input.attrs({type:"checkbox"})(Xk||(Xk=V(["\n outline: none;\n"]))),Yk=m01});function M01({propConfig:t,editingTools:a,value:c,autoFocus:r}){let e=(0,so.useCallback)(l=>{a.permanentlySetValue(!!l.target.checked)},[t,a]);return so.default.createElement(f01,{checked:c,onChange:e,autoFocus:r})}var so,tA,f01,aA,cA=x(()=>{"use strict";so=I(G());c1();Jk();f01=B(Yk)(tA||(tA=V(["\n margin-left: 6px;\n\n :focus {\n outline: 1px solid #555;\n }\n"])));aA=M01});function D6(t){return a=>{t.forEach(c=>{typeof c=="function"?c(a):c!=null&&(c.current=a)})}}var Wc=x(()=>{});function q8(t,a,c){(0,rA.useEffect)(()=>{if(!t||c===!1)return;let r=Array.isArray(t)?t.filter(l=>l):[t],e=l=>{r.every(i=>!l.composedPath().includes(i))&&a(l)};return window.addEventListener("mousedown",e,{capture:!0,passive:!1}),()=>{window.removeEventListener("mousedown",e,{capture:!0,passive:!1})}},[t,c])}var rA,zo=x(()=>{"use strict";rA=I(G())});var b0,x01,F0,eA,C01,lA,L01,iA,H01,s2,oA,I0=x(()=>{"use strict";b0=I(G());c1();x01="pointer-root",F0="--lockedCursor",C01=B.div(eA||(eA=V(["\n pointer-events: auto;\n &.normal {\n pointer-events: none;\n }\n"]))),L01=B.div(lA||(lA=V(["\n position: absolute;\n inset: 0;\n pointer-events: none;\n\n #pointer-root:not(.normal) > & {\n pointer-events: auto;\n }\n"]))),iA=(0,b0.createContext)({}),H01=t=>{var l,i,o,n;let[a,c]=(0,b0.useState)([]),r=(0,b0.useMemo)(()=>({getLock:(v,g)=>{let s={className:v,cursor:g};return c(z=>[...z,s]),()=>{c(z=>z.filter(u=>u!==s))}}}),[]),e=(i=(l=a[0])==null?void 0:l.cursor)!=null?i:"";return b0.default.createElement(iA.Provider,{value:r},b0.default.createElement(C01,{id:x01,className:((n=(o=a[0])==null?void 0:o.className)!=null?n:"normal")+" "+t.className},b0.default.createElement(L01,{style:{cursor:e,[F0]:e}},t.children)))},s2=(t,a,c)=>{let r=(0,b0.useContext)(iA);(0,b0.useLayoutEffect)(()=>{if(t)return r.getLock(a,c)},[t,a,c])},oA=H01});function uo(t){return N8.default.createElement(nA.Provider,{value:t.logger},t.children)}function C0(t,a){let c=(0,N8.useContext)(nA);return(0,N8.useMemo)(()=>t?c.named(t,a):c,[c,t,a])}var N8,nA,L5=x(()=>{"use strict";N8=I(G()),nA=N8.default.createContext(null)});function V01(){let t=C0("PointerCapturing"),a=P0.default.useRef(null),c=()=>a.current!=null;return r=>{let e,l=o=>(e=o,a.current=o,o);return{capturing:{capturePointer(o){if(t._debug("Capturing pointer",{forDebugName:r,reason:o}),a.current!=null)throw new Error('"'.concat(r,'" attempted capturing pointer for "').concat(o,'" while already captured by "').concat(a.current.debugOwnerName,'" for "').concat(a.current.debugReason,'"'));let n=l({debugOwnerName:r,debugReason:o});return{isCapturing(){return n===a.current},release(){return n===a.current?(t._debug("Releasing pointer",{forDebugName:r,reason:o}),l(null),!0):!1}}},isPointerBeingCaptured:c},forceRelease(){e&&a.current===e&&(t._debug("Force releasing pointer",{localCapture:e}),l(null))}}}}function vA(t){let a=V01();return P0.default.createElement(hA.Provider,{value:a},P0.default.createElement(w01,{children:t.children}))}function po(t){let a=(0,P0.useContext)(hA),c=(0,P0.useMemo)(()=>a(t),[t,a]);return(0,P0.useEffect)(()=>()=>{c.forceRelease()},[c]),c.capturing}var P0,hA,w01,mo=x(()=>{"use strict";P0=I(G());L5();hA=P0.default.createContext(null),w01=P0.default.memo(({children:t})=>P0.default.createElement(P0.default.Fragment,null,t))});var Iz,gA=x(()=>{"use strict";Iz=typeof window!="undefined"&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent)});function S1(t,a){let c=(0,U8.useRef)(a);c.current=a;let r=a.shouldPointerLock&&!Iz,e=(0,U8.useRef)({domDragStarted:!1}),{capturePointer:l}=po("useDrag for ".concat(a.debugName)),i=(0,U8.useRef)({onDrag:h0,onDragEnd:h0,onClick:h0}),o=(0,U8.useRef)(),[n,h]=z1(!1);return(0,U8.useLayoutEffect)(()=>{if(!t)return;let v=()=>{let m=e.current.domDragStarted&&e.current.detection.detected;n.current!==m&&(n.current=m)},g=m=>{if(!e.current.domDragStarted)return;let M=e.current;if(!y01(m,M)&&(M.detection.detected||(M.detection.totalDistanceMoved+=Math.abs(m.movementY)+Math.abs(m.movementX),M.detection.totalDistanceMoved>B01&&(r&&t.requestPointerLock(),M.detection={detected:!0,dragMovement:{x:0,y:0},dragEventCount:0},v())),M.detection.detected)){M.detection.dragEventCount+=1;let{dragMovement:w}=M.detection;if(r)w.x+=m.movementX,w.y+=m.movementY;else{let{startPos:H}=M;w.x=m.screenX-H.x,w.y=m.screenY-H.y}i.current.onDrag(w.x,w.y,m,m.movementX,m.movementY)}},s=m=>{if(z(),!e.current.domDragStarted)return;let M=e.current.detection.detected;e.current={domDragStarted:!1},a.shouldPointerLock&&!Iz&&document.exitPointerLock(),i.current.onDragEnd(M),window.focus(),M||i.current.onClick(m),v()},d=()=>{document.addEventListener("mousemove",g),document.addEventListener("mouseup",s)},z=()=>{var m;(m=o.current)==null||m.release(),document.removeEventListener("mousemove",g),document.removeEventListener("mouseup",s)},u=m=>{c.current.disabled||e.current.domDragStarted&&e.current.detection.detected&&(c.current.dontBlockMouseDown||(m.stopPropagation(),m.preventDefault()),e.current.detection={detected:!1,totalDistanceMoved:0},v())},f=m=>{var y,k,F,U;(y=o.current)==null||y.release();let M=c.current;if(M.disabled===!0||!((k=M.buttons)!=null?k:[0]).includes(m.button))return;let H=M.onDragStart(m);H!==!1&&(i.current.onDrag=H.onDrag,i.current.onDragEnd=(F=H.onDragEnd)!=null?F:h0,i.current.onClick=(U=H.onClick)!=null?U:h0,o.current=l("Drag start"),M.dontBlockMouseDown||(m.stopPropagation(),m.preventDefault()),e.current={domDragStarted:!0,startPos:{x:m.screenX,y:m.screenY},detection:{detected:!1,totalDistanceMoved:0}},v(),d())},p=m=>{f(m)};return t.addEventListener("mousedown",p),t.addEventListener("click",u),()=>{var m,M;z(),t.removeEventListener("mousedown",p),t.removeEventListener("click",u),e.current.domDragStarted&&((M=(m=i.current).onDragEnd)==null||M.call(m,e.current.detection.detected)),e.current={domDragStarted:!1},v()}},[t]),s2(h&&!!a.lockCSSCursorTo,"dragging",a.lockCSSCursorTo),[h]}function y01(t,a){return(!a.detection.detected||a.detection.detected&&a.detection.dragEventCount<3)&&(Math.abs(t.movementX)>dA||Math.abs(t.movementY)>dA)}var U8,B01,dA,M2=x(()=>{"use strict";U8=I(G());I0();mo();W8();gA();P1();B01=3,dA=100});function F01(t){return isNaN(t)?"NaN":fa(t)?t.toFixed(0):Xv(t,3).toString()}var mA,fA,t4,sA,Pz,zA,S01,uA,k01,pA,A01,R01,b01,G9,fo=x(()=>{"use strict";H2();mA=I(G()),fA=I(G()),t4=I(G());c1();Wc();P1();zo();M2();Pz=B.div(sA||(sA=V(["\n height: 100%;\n width: 100%;\n position: relative;\n z-index: 0;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n\n &:after {\n position: absolute;\n inset: 1px 0 2px;\n display: block;\n content: ' ';\n background-color: transparent;\n border: 1px solid transparent;\n z-index: -2;\n box-sizing: border-box;\n border-radius: 1px;\n }\n\n &:hover,\n &.dragging,\n &.editingViaKeyboard {\n &:after {\n background-color: #10101042;\n border-color: #00000059;\n }\n }\n"]))),S01=B.input(zA||(zA=V(["\n background: transparent;\n border: 1px solid transparent;\n color: rgba(255, 255, 255, 0.9);\n padding: 1px 6px;\n font: inherit;\n outline: none;\n cursor: ew-resize;\n text-align: left;\n width: 100%;\n height: calc(100% - 4px);\n border-radius: 2px;\n\n &:focus {\n cursor: text;\n }\n"]))),k01=B.div(uA||(uA=V(["\n position: absolute;\n inset: 3px 2px 4px;\n transform: scale(var(--percentage), 1);\n transform-origin: top left;\n background-color: #2d5561;\n z-index: -1;\n border-radius: 2px;\n pointer-events: none;\n\n ",".dragging &, ",".noFocus:hover & {\n background-color: #338198;\n }\n"])),Pz,Pz),A01=B.div(pA||(pA=V(["\n display: contents;\n"]))),R01=t=>!0,b01=t=>{var u;let[a]=z1({mode:"noFocus"}),c=(u=t.isValid)!=null?u:R01,r=(0,t4.useRef)(t);r.current=t;let e=(0,t4.useRef)(null);q8(e.current,()=>{e.current.blur()},a.current.mode==="editingViaKeyboard");let l=(0,t4.useRef)(null),i=(0,t4.useMemo)(()=>{let f=U=>{let A=U.target,{value:P}=A,C=a.current;a.current=D(S({},C),{currentEditedValueInString:P});let E=parseFloat(P);!isFinite(E)||!c(E)||r.current.temporarilySetValue(E)},p=()=>{a.current.mode==="editingViaKeyboard"&&(m(),a.current={mode:"noFocus"}),t.onBlur&&t.onBlur()},m=()=>{let U=a.current,A=parseFloat(U.currentEditedValueInString);!isFinite(A)||!c(A)||U.valueBeforeEditing===A?r.current.discardTemporaryValue():r.current.permanentlySetValue(A)},M=U=>{U.key==="Escape"?(r.current.discardTemporaryValue(),a.current={mode:"noFocus"},e.current.blur()):(U.key==="Enter"||U.key==="Tab")&&(m(),e.current.blur())},w=U=>{a.current.mode==="noFocus"&&(e.current.focus(),U.preventDefault()),U.stopPropagation()},H=()=>{a.current.mode==="noFocus"?y():a.current.mode},y=()=>{let U=r.current.value;a.current={mode:"editingViaKeyboard",currentEditedValueInString:String(U),valueBeforeEditing:U},setTimeout(()=>{e.current.focus(),e.current.setSelectionRange(0,100)})},k;return{inputChange:f,onBlur:p,transitionToDraggingMode:()=>{var C;let U=r.current.value;k=(C=e.current)==null?void 0:C.getBoundingClientRect().width,a.current={mode:"dragging"};let A=U,P=U;return l.current=document.body.style.cursor,{onDrag(E,a1,j,K){let Z=j.altKey?K/10:K,J=P+t.nudge({deltaX:Z,deltaFraction:Z/k,magnitude:1});P=t.range?b1(J,t.range[0],t.range[1]):J,r.current.temporarilySetValue(P)},onDragEnd(E){E?(A===P?r.current.discardTemporaryValue():r.current.permanentlySetValue(P),a.current={mode:"noFocus"}):(r.current.discardTemporaryValue(),a.current={mode:"noFocus"})},onClick(){e.current.focus(),e.current.setSelectionRange(0,100)}}},onInputKeyDown:M,onClick:w,onFocus:H}},[]);(0,mA.useEffect)(()=>()=>{i.onBlur()},[]);let o=a.current.mode!=="editingViaKeyboard"?F01(t.value):a.current.currentEditedValueInString;typeof o=="number"&&isNaN(o)&&(o="NaN");let n=[e];t.inputRef&&n.push(t.inputRef);let h=t4.default.createElement(S01,{key:"input",type:"text",onChange:i.inputChange,value:o,onBlur:i.onBlur,onKeyDown:i.onInputKeyDown,onClick:i.onClick,onFocus:i.onFocus,ref:D6(n),onMouseDown:f=>{f.stopPropagation()},onDoubleClick:f=>{f.preventDefault(),f.stopPropagation()},autoFocus:t.autoFocus}),{range:v}=t,g=parseFloat(o),s=v?t4.default.createElement(k01,{style:{"--percentage":b1((g-v[0])/(v[1]-v[0]),0,1)}}):null,[d,z]=(0,fA.useState)(null);return S1(d,{debugName:"form/BasicNumberInput",onDragStart:i.transitionToDraggingMode,lockCSSCursorTo:"ew-resize",shouldPointerLock:!0,disabled:a.current.mode==="editingViaKeyboard"}),t4.default.createElement(Pz,{className:t.className+" "+a.current.mode},t4.default.createElement(A01,{ref:z},h),s)};G9=b01});function I01({propConfig:t,editingTools:a,value:c,autoFocus:r}){let e=(0,Mo.useCallback)(l=>t.nudgeFn(D(S({},l),{config:t})),[t]);return Mo.default.createElement(G9,{value:c,temporarilySetValue:a.temporarilySetValue,discardTemporaryValue:a.discardTemporaryValue,permanentlySetValue:a.permanentlySetValue,range:t.range,nudge:e,autoFocus:r})}var Mo,xo,Gz=x(()=>{"use strict";fo();Mo=I(G());xo=I01});function T01({value:t,onChange:a,options:c,autoFocus:r}){let e=(0,T9.useCallback)(l=>{a(String(l.target.value))},[a]);return T9.default.createElement(LA,{role:"radiogroup"},Object.keys(c).map((l,i)=>T9.default.createElement(P01,{key:"label-"+i,"data-checked":t===l},c[l],T9.default.createElement(G01,{type:"radio",checked:t===l,value:l,onChange:e,name:"switchbox",autoFocus:r}))))}var T9,MA,LA,xA,P01,CA,G01,HA,VA=x(()=>{"use strict";R0();T9=I(G());c1();LA=B.form(MA||(MA=V(["\n display: flex;\n flex-direction: row;\n align-items: stretch;\n vertical-align: middle;\n justify-content: stretch;\n height: 24px;\n width: 100%;\n"]))),P01=B.label(xA||(xA=V(["\n padding: 0 0.5em;\n background: transparent;\n /* background: #373748; */\n display: flex;\n align-items: center;\n justify-content: center;\n flex-grow: 1;\n color: #a7a7a7;\n border: 1px solid transparent;\n box-sizing: border-box;\n border-right-width: 0px;\n\n & + &:last-child {\n border-right-width: 1px;\n }\n\n ",":hover > & {\n border-color: #1c2123;\n /* background-color: #373748; */\n /* color: ","; */\n }\n\n &&:hover {\n background-color: #464654;\n }\n\n &&[data-checked='true'] {\n color: white;\n background: #3f3f4c;\n }\n"])),LA,A6(.1,"white")),G01=B.input(CA||(CA=V(["\n position: absolute;\n opacity: 0;\n pointer-events: none;\n width: 0;\n height: 0;\n"])));HA=T01});var wA=x(()=>{});var Tz,Zz,Oz,Ez=x(()=>{Tz=I(G()),Zz={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Oz=Tz.default.createContext&&Tz.default.createContext(Zz)});function BA(t){return t&&t.map(function(a,c){return Z9.default.createElement(a.tag,W6({key:c},a.attr),BA(a.child))})}function N1(t){return function(a){return Z9.default.createElement(O01,W6({attr:W6({},t.attr)},a),BA(t.child))}}function O01(t){var a=function(c){var r=t.attr,e=t.size,l=t.title,i=Z01(t,["attr","size","title"]),o=e||c.size||"1em",n;return c.className&&(n=c.className),t.className&&(n=(n?n+" ":"")+t.className),Z9.default.createElement("svg",W6({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},c.attr,r,i,{className:n,style:W6(W6({color:t.color||c.color},c.style),t.style),height:o,width:o,xmlns:"http://www.w3.org/2000/svg"}),l&&Z9.default.createElement("title",null,l),t.children)};return Oz!==void 0?Z9.default.createElement(Oz.Consumer,null,function(c){return a(c)}):a(Zz)}var Z9,W6,Z01,yA=x(()=>{Z9=I(G());Ez();W6=function(){return W6=Object.assign||function(t){for(var a,c=1,r=arguments.length;c{wA();yA();Ez()});var SA=x(()=>{z2()});var kA=x(()=>{z2()});function AA(t){return N1({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M289.94 256l95-95A24 24 0 00351 127l-95 95-95-95a24 24 0 00-34 34l95 95-95 95a24 24 0 1034 34l95-95 95 95a24 24 0 0034-34z"}}]})(t)}var RA=x(()=>{z2()});var bA=x(()=>{z2()});var FA=x(()=>{z2()});function IA(t){return N1({tag:"svg",attr:{viewBox:"0 0 8 16"},child:[{tag:"path",attr:{fillRule:"evenodd",d:"M5.5 3L7 4.5 3.25 8 7 11.5 5.5 13l-5-5 5-5z"}}]})(t)}function PA(t){return N1({tag:"svg",attr:{viewBox:"0 0 8 16"},child:[{tag:"path",attr:{fillRule:"evenodd",d:"M7.5 8l-5 5L1 11.5 4.75 8 1 4.5 2.5 3l5 5z"}}]})(t)}var GA=x(()=>{z2()});var TA=x(()=>{z2()});var ZA=x(()=>{z2()});var OA=x(()=>{z2()});var EA=x(()=>{z2()});var DA=x(()=>{z2()});var WA=x(()=>{z2()});var _A=x(()=>{z2()});var jA=x(()=>{z2()});var qA=x(()=>{z2()});function Co(t){return N1({tag:"svg",attr:{fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},child:[{tag:"path",attr:{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 5l7 7-7 7"}}]})(t)}var NA=x(()=>{z2()});var UA=x(()=>{z2()});var KA=x(()=>{z2()});var $A=x(()=>{z2()});function QA(t){return N1({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none"},child:[{tag:"path",attr:{d:"M6 9.65685L7.41421 11.0711L11.6569 6.82843L15.8995 11.0711L17.3137 9.65685L11.6569 4L6 9.65685Z",fill:"currentColor"}},{tag:"path",attr:{d:"M6 14.4433L7.41421 13.0291L11.6569 17.2717L15.8995 13.0291L17.3137 14.4433L11.6569 20.1001L6 14.4433Z",fill:"currentColor"}}]})(t)}var XA=x(()=>{z2()});function YA(t){return N1({tag:"svg",attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{d:"M14 10.44l-.413.56H2.393L2 10.46 7.627 5h.827L14 10.44z"}}]})(t)}var JA=x(()=>{z2()});var K8=x(()=>{SA();kA();RA();bA();FA();GA();TA();ZA();OA();EA();DA();WA();_A();jA();qA();NA();UA();KA();$A();XA();JA()});function _01({value:t,onChange:a,options:c,className:r,autoFocus:e}){let l=(0,_6.useCallback)(i=>{a(String(i.target.value))},[a]);return _6.default.createElement(E01,null,_6.default.createElement(W01,{className:r,value:t,onChange:l,autoFocus:e},Object.keys(c).map((i,o)=>_6.default.createElement("option",{key:"option-"+o,value:i},c[i]))),_6.default.createElement(D01,null,_6.default.createElement(QA,null)))}var _6,tR,E01,aR,D01,cR,W01,rR,eR=x(()=>{"use strict";_6=I(G());c1();K8();E01=B.div(tR||(tR=V(["\n width: 100%;\n position: relative;\n"]))),D01=B.div(aR||(aR=V(["\n position: absolute;\n right: 0px;\n top: 0;\n bottom: 0;\n width: 1.5em;\n font-size: 14px;\n display: flex;\n align-items: center;\n color: #6b7280;\n pointer-events: none;\n"]))),W01=B.select(cR||(cR=V(["\n appearance: none;\n background-color: transparent;\n box-sizing: border-box;\n border: 1px solid transparent;\n color: rgba(255, 255, 255, 0.85);\n padding: 1px 6px;\n font: inherit;\n outline: none;\n text-align: left;\n width: 100%;\n border-radius: 2px;\n /*\n looks like putting percentages in the height of a select box doesn't work in Firefox. Not sure why.\n So we're hard-coding the height to 26px, unlike all other inputs that use a relative height.\n */\n height: 26px /* calc(100% - 4px); */;\n\n @supports (-moz-appearance: none) {\n /* Ugly hack to remove the extra left padding that shows up only in Firefox */\n text-indent: -2px;\n }\n\n &:hover,\n &:focus {\n background-color: #10101042;\n border-color: #00000059;\n }\n"])));rR=_01});function j01({propConfig:t,editingTools:a,value:c,autoFocus:r}){let e=(0,_c.useCallback)(l=>{a.permanentlySetValue(l)},[t,a]);return t.as==="menu"?_c.default.createElement(rR,{value:c,onChange:e,options:t.valuesAndLabels,autoFocus:r}):_c.default.createElement(HA,{value:c,onChange:e,options:t.valuesAndLabels,autoFocus:r})}var _c,lR,iR=x(()=>{"use strict";_c=I(G());VA();eR();lR=j01});var nR,$8,oR,q01,N01,U01,O9,Lo=x(()=>{"use strict";c1();nR=I(G()),$8=I(G());Wc();P1();zo();q01=B.input.attrs({type:"text"})(oR||(oR=V(["\n background: transparent;\n border: 1px solid transparent;\n color: rgba(255, 255, 255, 0.9);\n padding: 1px 6px;\n font: inherit;\n outline: none;\n cursor: text;\n text-align: left;\n width: 100%;\n height: calc(100% - 4px);\n border-radius: 2px;\n border: 1px solid transparent;\n box-sizing: border-box;\n\n &:hover {\n background-color: #10101042;\n border-color: #00000059;\n }\n\n &:hover,\n &:focus {\n cursor: text;\n background-color: #10101042;\n border-color: #00000059;\n }\n\n &.invalid {\n border-color: red;\n }\n"]))),N01=t=>!0,U01=t=>{var h,v;let[a]=z1({mode:"noFocus"}),c=(h=t.isValid)!=null?h:N01,r=(0,$8.useRef)(t);r.current=t;let e=(0,$8.useRef)(null);q8(e.current,()=>{e.current.blur()},a.current.mode==="editingViaKeyboard");let l=(0,$8.useMemo)(()=>{let g=m=>{let M=m.target,{value:w}=M,H=a.current;a.current=D(S({},H),{currentEditedValueInString:w}),c(w)&&r.current.temporarilySetValue(w)},s=()=>{var m,M;a.current.mode==="editingViaKeyboard"&&(d(),a.current={mode:"noFocus"}),(M=(m=r.current).onBlur)==null||M.call(m)},d=()=>{let m=a.current,M=m.currentEditedValueInString;c(M)?m.valueBeforeEditing===M?r.current.discardTemporaryValue():r.current.permanentlySetValue(M):r.current.discardTemporaryValue()},z=m=>{m.key==="Escape"?(r.current.discardTemporaryValue(),a.current={mode:"noFocus"},e.current.blur()):(m.key==="Enter"||m.key==="Tab")&&(d(),e.current.blur())},u=m=>{a.current.mode==="noFocus"&&(e.current.focus(),m.preventDefault()),m.stopPropagation()},f=()=>{a.current.mode==="noFocus"?p():a.current.mode},p=()=>{let m=r.current.value;a.current={mode:"editingViaKeyboard",currentEditedValueInString:String(m),valueBeforeEditing:m},setTimeout(()=>{e.current.focus()})};return{inputChange:g,onBlur:s,onInputKeyDown:z,onClick:u,onFocus:f}},[]);(0,nR.useEffect)(()=>()=>{l.onBlur()},[]);let i=a.current.mode!=="editingViaKeyboard"?t.value:a.current.currentEditedValueInString,o=[e];return t.inputRef&&o.push(t.inputRef),$8.default.createElement(q01,{key:"input",type:"text",className:"".concat((v=t.className)!=null?v:""," ").concat(c(i)?"":"invalid"),onChange:l.inputChange,value:i,onBlur:l.onBlur,onKeyDown:l.onInputKeyDown,onClick:l.onClick,onFocus:l.onFocus,ref:D6(o),onMouseDown:g=>{g.stopPropagation()},onDoubleClick:g=>{g.preventDefault(),g.stopPropagation()},autoFocus:t.autoFocus})},O9=U01});function K01({editingTools:t,value:a,autoFocus:c}){return hR.default.createElement(O9,{value:a,temporarilySetValue:t.temporarilySetValue,discardTemporaryValue:t.discardTemporaryValue,permanentlySetValue:t.permanentlySetValue,autoFocus:c})}var hR,vR,gR=x(()=>{"use strict";hR=I(G());Lo();vR=K01});function dR(t){t=t.trim().toLowerCase();let a=t.match(Dz);if(!a)return{r:0,g:0,b:0,a:1};let c=$01(a[1]);return{r:parseInt(c.substr(0,2),16)/255,g:parseInt(c.substr(2,2),16)/255,b:parseInt(c.substr(4,2),16)/255,a:parseInt(c.substr(6,2),16)/255}}function Ho(t,{removeAlphaIfOpaque:a=!1}={}){let c=(t.a*255|256).toString(16).slice(1),r=(t.r*255|256).toString(16).slice(1)+(t.g*255|256).toString(16).slice(1)+(t.b*255|256).toString(16).slice(1)+(a&&c==="ff"?"":c);return"#".concat(r)}function Vo(t){return D(S({},t),{toString(){return Ho(this,{removeAlphaIfOpaque:!0})}})}function $01(t){switch(t.length){case 3:return"".concat(t.repeat(2),"ff");case 4:let a=t.substr(0,3),c=t[3];return"".concat(a.repeat(2)).concat(c.repeat(2));case 6:return"".concat(t,"ff")}return t}var Dz,Wz=x(()=>{"use strict";Dz=/^#*([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i});function E9(t){let a=(0,_z.useRef)(t),c=(0,_z.useRef)(r=>{a.current&&a.current(r)});return a.current=t,c.current}var _z,jz=x(()=>{"use strict";_z=I(G())});var G4,jc=x(()=>{"use strict";G4=(t,a=0,c=1)=>t>c?c:t{"use strict";j6=I(G()),sR=(0,j6.createContext)(void 0),zR=({children:t})=>{let[a,c]=(0,j6.useState)(!1);return j6.default.createElement(sR.Provider,{value:{editing:a,setEditing:c}},t)},wo=()=>(0,j6.useContext)(sR)});var a4,qc,Q01,qz,uR,pR,X01,mR,Y01,J01,q6,Nc=x(()=>{"use strict";a4=I(G());jz();jc();c1();Bo();qc=t=>"touches"in t,Q01=(t,a)=>{for(let c=0;ct&&t.ownerDocument.defaultView||self,uR=(t,a,c)=>{let r=t.getBoundingClientRect(),e=qc(a)?Q01(a.touches,c):a;return{left:G4((e.pageX-(r.left+qz(t).pageXOffset))/r.width),top:G4((e.pageY-(r.top+qz(t).pageYOffset))/r.height)}},pR=t=>{!qc(t)&&t.preventDefault()},X01=(t,a)=>a&&!qc(t),Y01=B.div(mR||(mR=V(["\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n border-radius: inherit;\n outline: none;\n /* Don't trigger the default scrolling behavior when the event is originating from this element */\n touch-action: none;\n"]))),J01=r=>{var e=r,{onMove:t,onKey:a}=e,c=m4(e,["onMove","onKey"]);let l=(0,a4.useRef)(null),i=E9(t),o=E9(a),n=(0,a4.useRef)(null),h=(0,a4.useRef)(!1),{setEditing:v}=wo(),[g,s,d]=(0,a4.useMemo)(()=>{let z=({nativeEvent:M})=>{let w=l.current;if(w&&(pR(M),!(X01(M,h.current)||!w))){if(qc(M)){h.current=!0;let H=M.changedTouches||[];H.length&&(n.current=H[0].identifier)}w.focus(),v(!0),i(uR(w,M,n.current)),m(!0)}},u=M=>{pR(M),(qc(M)?M.touches.length>0:M.buttons>0)&&l.current?i(uR(l.current,M,n.current)):(v(!1),m(!1))},f=M=>{v(!1),m(!1)},p=M=>{let w=M.which||M.keyCode;w<37||w>40||(M.preventDefault(),o({left:w===39?.05:w===37?-.05:0,top:w===40?.05:w===38?-.05:0}))};function m(M){let w=h.current,H=l.current,y=qz(H),k=M?y.addEventListener:y.removeEventListener;k(w?"touchmove":"mousemove",u),k(w?"touchend":"mouseup",f)}return[z,p,m]},[o,i]);return(0,a4.useEffect)(()=>d,[d]),a4.default.createElement(Y01,D(S({},c),{onTouchStart:g,onMouseDown:g,ref:l,onKeyDown:s,tabIndex:0,role:"slider"}))},q6=a4.default.memo(J01)});var Nz,fR,t31,MR,a31,xR,c31,D9,yo=x(()=>{"use strict";Nz=I(G());c1();Nc();t31=B(q6)(fR||(fR=V([""]))),a31=B.div(MR||(MR=V(["\n position: absolute;\n z-index: 1;\n box-sizing: border-box;\n width: 16px;\n height: 16px;\n transform: translate(-50%, -50%);\n background-color: #fff;\n border: 1px solid #ffffff00;\n border-radius: 2px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n\n ",":focus & {\n transform: translate(-50%, -50%) scale(1.1);\n }\n"])),t31),c31=B.div(xR||(xR=V(["\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n pointer-events: none;\n border-radius: inherit;\n"]))),D9=({className:t,color:a,left:c,top:r=.5})=>{let e={top:"".concat(r*100,"%"),left:"".concat(c*100,"%")};return Nz.default.createElement(a31,{style:e,className:t},Nz.default.createElement(c31,{style:{backgroundColor:a}}))}});var A2,Uc=x(()=>{"use strict";A2=(t,a=0,c=Math.pow(10,a))=>Math.round(c*t)/c});var RL1,CR,Kc,So,LR,HR,$c=x(()=>{"use strict";Uc();RL1={grad:360/400,turn:360,rad:360/(Math.PI*2)},CR=({h:t,s:a,v:c,a:r})=>{let e=(200-a)*c/100;return{h:A2(t),s:A2(e>0&&e<200?a*c/100/(e<=100?e:200-e)*100:0),l:A2(e/2),a:A2(r,2)}},Kc=t=>{let{h:a,s:c,l:r}=CR(t);return"hsl(".concat(a,", ").concat(c,"%, ").concat(r,"%)")},So=t=>{let{h:a,s:c,l:r,a:e}=CR(t);return"hsla(".concat(a,", ").concat(c,"%, ").concat(r,"%, ").concat(e,")")},LR=({h:t,s:a,v:c,a:r})=>{t=t/360*6,a=a/100,c=c/100;let e=Math.floor(t),l=c*(1-a),i=c*(1-(t-e)*a),o=c*(1-(1-t+e)*a),n=e%6;return{r:A2([c,i,l,l,o,c][n]*255),g:A2([o,c,c,i,l,l][n]*255),b:A2([l,l,o,c,c,i][n]*255),a:A2(r,2)}},HR=({r:t,g:a,b:c,a:r})=>{let e=Math.max(t,a,c),l=e-Math.min(t,a,c),i=l?e===t?(a-c)/l:e===a?2+(c-t)/l:4+(t-a)/l:0;return{h:A2(60*(i<0?i+6:i)),s:A2(e?l/e*100:0),v:A2(e/255*100),a:r}}});var Qc,VR,r31,wR,e31,l31,BR,yR=x(()=>{"use strict";Qc=I(G());Nc();yo();$c();jc();Uc();c1();r31=B.div(VR||(VR=V(["\n position: relative;\n height: 16px;\n border-radius: 2px;\n\n background: linear-gradient(\n to right,\n #f00 0%,\n #ff0 17%,\n #0f0 33%,\n #0ff 50%,\n #00f 67%,\n #f0f 83%,\n #f00 100%\n );\n"]))),e31=B(D9)(wR||(wR=V(["\n z-index: 2;\n"]))),l31=({className:t,hue:a,onChange:c})=>Qc.default.createElement(r31,{className:t},Qc.default.createElement(q6,{onMove:l=>{c({h:360*l.left})},onKey:l=>{c({h:G4(a+l.left*360,0,360)})},"aria-label":"Hue","aria-valuetext":A2(a)},Qc.default.createElement(e31,{left:a/360,color:Kc({h:a,s:100,v:100,a:1})}))),BR=Qc.default.memo(l31)});var Xc,SR,i31,kR,o31,n31,AR,RR=x(()=>{"use strict";Xc=I(G());Nc();yo();$c();jc();Uc();c1();i31=B.div(SR||(SR=V(["\n position: relative;\n flex-grow: 1;\n border-color: transparent; /* Fixes https://github.com/omgovich/react-colorful/issues/139 */\n border-bottom: 12px solid #000;\n border-radius: 2px;\n background-image: linear-gradient(to top, #000, rgba(0, 0, 0, 0)),\n linear-gradient(to right, #fff, rgba(255, 255, 255, 0));\n\n // Improve elements rendering on light backgrounds\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05);\n"]))),o31=B(D9)(kR||(kR=V(["\n z-index: 3;\n"]))),n31=({hsva:t,onChange:a})=>{let c=l=>{a({s:l.left*100,v:100-l.top*100})},r=l=>{a({s:G4(t.s+l.left*100,0,100),v:G4(t.v-l.top*100,0,100)})},e={backgroundColor:Kc({h:t.h,s:100,v:100,a:1})};return Xc.default.createElement(i31,{style:e},Xc.default.createElement(q6,{onMove:c,onKey:r,"aria-label":"Color","aria-valuetext":"Saturation ".concat(A2(t.s),"%, Brightness ").concat(A2(t.v),"%")},Xc.default.createElement(o31,{top:1-t.v/100,left:t.s/100,color:Kc(t)})))},AR=Xc.default.memo(n31)});var Yc,bR,h31,FR,v31,IR,g31,PR,GR=x(()=>{"use strict";Yc=I(G());Nc();yo();$c();jc();Uc();c1();h31=B.div(bR||(bR=V(['\n position: relative;\n height: 16px;\n border-radius: 2px;\n // Checkerboard\n background-color: #fff;\n background-image: url(\'data:image/svg+xml,\');\n']))),v31=B.div.attrs(({colorFrom:t,colorTo:a})=>({style:{backgroundImage:"linear-gradient(90deg, ".concat(t,", ").concat(a,")")}}))(FR||(FR=V(["\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n pointer-events: none;\n border-radius: inherit;\n\n // Improve rendering on light backgrounds\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05);\n"]))),g31=B(D9)(IR||(IR=V(['\n // Checkerboard\n background-color: #fff;\n background-image: url(\'data:image/svg+xml,\');\n']))),PR=({className:t,hsva:a,onChange:c})=>{let r=o=>{c({a:o.left})},e=o=>{c({a:G4(a.a+o.left)})},l=So(Object.assign({},a,{a:0})),i=So(Object.assign({},a,{a:1}));return Yc.default.createElement(h31,{className:t},Yc.default.createElement(v31,{colorFrom:l,colorTo:i}),Yc.default.createElement(q6,{onMove:r,onKey:e,"aria-label":"Alpha","aria-valuetext":"".concat(A2(a.a*100),"%")},Yc.default.createElement(g31,{left:a.a,color:So(a)})))}});var Jc,Uz=x(()=>{"use strict";Jc=(t,a)=>{if(t===a)return!0;for(let c in t)if(t[c]!==a[c])return!1;return!0}});function TR(t,a,c,r){let{editing:e}=wo(),[l,i]=(0,k3.useState)(a),o=E9(c),n=E9(r),h=e?l:a,[v,g]=(0,k3.useState)(()=>t.toHsva(h)),s=(0,k3.useRef)({color:h,hsva:v}),d=(0,k3.useRef)({color:h,hsva:v});(0,k3.useEffect)(()=>{e&&i(s.current.color)},[e]),(0,k3.useEffect)(()=>{let u=t.fromHsva(v);e?!Jc(v,s.current.hsva)&&!t.equal(u,s.current.color)&&(s.current={hsva:v,color:u},i(u),o(u)):!Jc(v,d.current.hsva)&&!t.equal(u,d.current.color)&&(d.current={hsva:v,color:u},s.current={hsva:v,color:u},n(u))},[e,v,t,o,n]),(0,k3.useEffect)(()=>{if(!e&&!t.equal(h,d.current.color)){let u=t.toHsva(h);d.current={hsva:u,color:h},g(u)}},[e,h,t]);let z=(0,k3.useCallback)(u=>{g(f=>Object.assign({},f,u))},[]);return[v,z]}var k3,ZR=x(()=>{"use strict";k3=I(G());Uz();jz();Bo()});var Q8,OR,d31,ER,DR=x(()=>{"use strict";Q8=I(G());yR();RR();GR();ZR();c1();d31=B.div(OR||(OR=V(["\n position: relative;\n display: flex;\n gap: 4px;\n flex-direction: column;\n width: 200px;\n height: 200px;\n user-select: none;\n cursor: default;\n"]))),ER=o=>{var n=o,{className:t,colorModel:a,color:c=a.defaultColor,temporarilySetValue:r,permanentlySetValue:e,discardTemporaryValue:l}=n,i=m4(n,["className","colorModel","color","temporarilySetValue","permanentlySetValue","discardTemporaryValue"]);let[h,v]=TR(a,c,r,e);return(0,Q8.useEffect)(()=>()=>{l()},[]),Q8.default.createElement(d31,S({},i),Q8.default.createElement(AR,{hsva:h,onChange:v}),Q8.default.createElement(BR,{hue:h.h,onChange:v}),Q8.default.createElement(PR,{hsva:h,onChange:v}))}});var Kz,s31,z31,u31,$z,WR=x(()=>{"use strict";Kz=I(G());DR();Uz();$c();Bo();s31=t=>({r:t.r/255,g:t.g/255,b:t.b/255,a:t.a}),z31=t=>({r:t.r*255,g:t.g*255,b:t.b*255,a:t.a}),u31={defaultColor:{r:0,g:0,b:0,a:1},toHsva:t=>HR(z31(t)),fromHsva:t=>s31(LR(t)),equal:Jc},$z=t=>Kz.default.createElement(zR,null,Kz.default.createElement(ER,D(S({},t),{permanentlySetValue:a=>{t.permanentlySetValue(a)},colorModel:u31})))});var _R=x(()=>{"use strict";WR()});var jR,p31,qR,NR=x(()=>{jR=I(G()),p31=function(t){(0,jR.useEffect)(t,[])},qR=p31});var UR,m31,KR,$R=x(()=>{UR=I(G());NR();m31=function(t){var a=(0,UR.useRef)(t);a.current=t,qR(function(){return function(){return a.current()}})},KR=m31});var W9,f31,QR,XR=x(()=>{W9=I(G());$R();f31=function(t){var a=(0,W9.useRef)(0),c=(0,W9.useState)(t),r=c[0],e=c[1],l=(0,W9.useCallback)(function(i){cancelAnimationFrame(a.current),a.current=requestAnimationFrame(function(){e(i)})},[]);return KR(function(){cancelAnimationFrame(a.current)}),[r,l]},QR=f31});function YR(t){for(var a=[],c=1;c{ko=typeof window!="undefined"});var ab,M31,_9,Ao=x(()=>{ab=I(G());XR();tb();M31=function(t,a){t===void 0&&(t=1/0),a===void 0&&(a=1/0);var c=QR({width:ko?window.innerWidth:t,height:ko?window.innerHeight:a}),r=c[0],e=c[1];return(0,ab.useEffect)(function(){if(ko){var l=function(){e({width:window.innerWidth,height:window.innerHeight})};return YR(window,"resize",l),function(){JR(window,"resize",l)}}},[]),r},_9=M31});function j9(t){let[a,c]=(0,Ro.useState)(null);return(0,Ro.useLayoutEffect)(()=>(t&&c(t.getBoundingClientRect()),()=>{c(null)}),[t]),a}var Ro,Qz=x(()=>{"use strict";Ro=I(G())});var cb,x31,bo,Xz=x(()=>{"use strict";cb=I(G()),x31=(0,cb.createContext)({}),bo=x31});function Yz(t,a,c){let r=t.getBoundingClientRect(),e=l=>{(l.clientXr.left+r.width+a||l.clientYr.top+r.height+a)&&c(l)};return window.addEventListener("mousemove",e),()=>{window.removeEventListener("mousemove",e)}}var rb=x(()=>{"use strict"});var lb,q9,eb,C31,Fo,Jz=x(()=>{"use strict";lb=I(G()),q9=I(G());Ao();Qz();Xz();P1();zo();rb();W8();H2();eb=8,C31=t=>{var v,g;let a=t.children(),[c,r]=z1(null),e=a.props.style?S({},a.props.style):{};e.position="absolute";let l=j9(r),i=j9(t.target),o=_9(),[n,h]=(0,q9.useState)({});return(0,q9.useLayoutEffect)(()=>{var k,F,U;if(!l||!r||!i)return;let s=(k=t.verticalGap)!=null?k:8,d={},z=(F=t.verticalPlacement)!=null?F:"bottom",u=0,f=0;z==="bottom"?i.bottom+l.height+sl.height+s?(z="top",u=i.top-(l.height+s),d.bottom="0px",d.transform="rotateZ(180deg)"):z="overlay":z==="top"&&(i.top>l.height+s?(z="top",u=i.top-(l.height+s),d.bottom="0px",d.transform="rotateZ(180deg)"):i.bottom+l.height+so.width?(f=o.width-(s+l.width),p=Math.min(A-f,l.width-eb)):(f=A-l.width/2,p=l.width/2),d.left=p+"px"}let{minX:m=-1/0,maxX:M=1/0,minY:w=-1/0,maxY:H=1/0}=(U=t.constraints)!=null?U:{},y={left:b1(f,m,M-l.width),top:b1(u,w,H+l.height)};if(r.style.left=y.left+"px",r.style.top=y.top+"px",h(d),t.onPointerOutside)return Yz(r,t.onPointerOutside.threshold,t.onPointerOutside.callback)},[l,r,t.target,i,o,t.onPointerOutside]),q8([r,(v=t.target)!=null?v:null],(g=t.onClickOutside)!=null?g:h0),lb.default.createElement(bo.Provider,{value:n},(0,q9.cloneElement)(a,{ref:c,style:e}))},Fo=C31});function x2(t,a){let c=(...z)=>{},{isPointerBeingCaptured:r}=po("usePopover"),[e,l]=z1({isOpen:!1}),i=(0,w2.useRef)(t),o=(0,w2.useCallback)(z=>{c('closing due to "'.concat(z,'"')),e.current={isOpen:!1}},[]),n=(0,w2.useCallback)((z,u)=>{var m;let f=typeof i.current=="function"?i.current():i.current;function p(){v.childHasFocusRef.current||f.closeOnClickOutside!==!1&&o("clicked outside popover")}e.current={isOpen:!0,clickPoint:{clientX:z.clientX,clientY:z.clientY},target:u,opts:f,onClickOutside:p,onPointerOutside:f.closeWhenPointerIsDistant===!1?void 0:{threshold:(m=f.pointerDistanceThreshold)!=null?m:100,callback:()=>{v.childHasFocusRef.current||r()||o("pointer outside")}}}},[]),h=(0,w2.useCallback)((...z)=>{e.current.isOpen?o("toggled"):n(...z)},[]),v=L31({_debug:c,state:l}),[,g]=(0,w2.useContext)(N9);(0,w2.useEffect)(()=>{let z;return l.isOpen&&(z=g()),()=>z==null?void 0:z()},[l.isOpen]);let s=(0,w2.useContext)(a3);return{node:l.isOpen?(0,ib.createPortal)(w2.default.createElement(ob.Provider,{value:v.childPopoverLock},w2.default.createElement(Fo,{children:a,target:l.target,onClickOutside:l.onClickOutside,onPointerOutside:l.onPointerOutside,constraints:l.opts.constraints,verticalGap:l.opts.verticalGap})),s):w2.default.createElement(w2.default.Fragment,null),open:n,close:o,toggle:h,isOpen:l.isOpen}}function L31(t){let a=(0,w2.useContext)(ob);(0,w2.useEffect)(()=>{if(t.state.isOpen){let r=a.takeFocus();return t._debug("take focus"),()=>{t._debug("release focus"),r.releaseFocus()}}},[t.state.isOpen]);let c=(0,w2.useRef)(!1);return{childHasFocusRef:c,childPopoverLock:{takeFocus(){return c.current=!0,{releaseFocus(){c.current=!1}}}}}}var w2,ib,ob,c4=x(()=>{"use strict";mo();P1();w2=I(G()),ib=I(B4());T6();Jz();Io();ob=w2.default.createContext({takeFocus(){return{releaseFocus(){}}}})});var r4,nb,H31,hb,V31,vb,w31,gb,B31,db,y31,S31,sb,zb=x(()=>{"use strict";r4=I(G());c1();Xz();H31=B.div(nb||(nb=V(["\n position: absolute;\n width: 0;\n height: 0;\n color: var(--popover-arrow-color);\n pointer-events: none;\n"]))),V31=B.div(hb||(hb=V(["\n width: 12px;\n height: 8px;\n position: absolute;\n left: -7px;\n top: -8px;\n text-align: center;\n line-height: 0;\n"]))),w31=B.path(vb||(vb=V(["\n fill: var(--popover-bg);\n"]))),B31=B.path(gb||(gb=V(["\n fill: var(--popover-inner-stroke);\n"]))),y31=B.path(db||(db=V(["\n fill: var(--popover-outer-stroke);\n"]))),S31=(0,r4.forwardRef)(({className:t},a)=>{let c=(0,r4.useContext)(bo);return r4.default.createElement(H31,{className:t,ref:a,style:S({},c)},r4.default.createElement(V31,null,r4.default.createElement("svg",{width:"12",height:"8",viewBox:"0 0 12 8",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r4.default.createElement(y31,{d:"M6 0L0 6H12L6 0Z"}),r4.default.createElement(B31,{d:"M6 1.5L0 7.5H12L6 1.5Z"}),r4.default.createElement(w31,{d:"M6 3L0 9H12L6 3Z"}))))}),sb=S31});var Po,tu,ub,k31,A31,T2,e4=x(()=>{"use strict";G1();R0();Po=I(G());c1();zb();tu=N2(.05,"#2a2a31"),k31=B.div(ub||(ub=V(["\n position: absolute;\n --popover-bg: ",";\n --popover-inner-stroke: #505159;\n --popover-outer-stroke: #111;\n\n background: var(--popover-bg);\n\n color: white;\n padding: 0;\n margin: 0;\n cursor: default;\n ",";\n border-radius: 3px;\n z-index: 10000;\n border: 1px solid var(--popover-inner-stroke);\n box-shadow: 0 0 0 1px var(--popover-outer-stroke), 0 6px 8px -4px black;\n backdrop-filter: blur(8px);\n\n & a {\n color: inherit;\n }\n"])),tu,C1),A31=Po.default.forwardRef(({children:t,className:a,showPopoverEdgeTriangle:c=!0},r)=>Po.default.createElement(k31,{className:a,ref:r},c?Po.default.createElement(sb,null):void 0,t)),T2=A31});function P31({editingTools:t,value:a,autoFocus:c}){let r=(0,A3.useRef)(null),e=(0,A3.useCallback)(i=>{let o=Vo(dR(i));t.permanentlySetValue(o)},[t]),l=x2({debugName:"RgbaPropEditor"},()=>A3.default.createElement(I31,null,A3.default.createElement($z,{color:{r:a.r,g:a.g,b:a.b,a:a.a},temporarilySetValue:i=>{let o=Vo(i);t.temporarilySetValue(o)},permanentlySetValue:i=>{let o=Vo(i);t.permanentlySetValue(o)},discardTemporaryValue:t.discardTemporaryValue})));return A3.default.createElement(A3.default.Fragment,null,A3.default.createElement(R31,null,A3.default.createElement(b31,{rgbaColor:a,ref:r,onClick:i=>{l.toggle(i,r.current)}}),A3.default.createElement(F31,{value:Ho(a,{removeAlphaIfOpaque:!0}),temporarilySetValue:pb,discardTemporaryValue:pb,permanentlySetValue:e,isValid:i=>!!i.match(Dz),autoFocus:c})),l.node)}var A3,mb,R31,fb,b31,Mb,F31,pb,xb,I31,Cb,Lb=x(()=>{"use strict";Wz();Wz();A3=I(G());_R();c1();c4();Lo();e4();R31=B.div(mb||(mb=V(["\n display: flex;\n align-items: center;\n height: 100%;\n gap: 4px;\n"]))),b31=B.div.attrs(t=>({style:{background:Ho(t.rgbaColor)}}))(fb||(fb=V(["\n height: 18px;\n aspect-ratio: 1;\n border-radius: 99999px;\n"]))),F31=B(O9)(Mb||(Mb=V(["\n flex: 1;\n"]))),pb=()=>{},I31=B.div(xb||(xb=V(["\n position: absolute;\n background-color: ",";\n color: white;\n margin: 0;\n cursor: default;\n border-radius: 3px;\n z-index: 10000;\n backdrop-filter: blur(8px);\n\n padding: 4px;\n pointer-events: all;\n\n border: none;\n box-shadow: none;\n"])),tu);Cb=P31});function D31({propConfig:t,editingTools:a,value:c,autoFocus:r}){let[e,l]=r3.default.useState();(0,r3.useEffect)(()=>{l(c?a.getAssetUrl(c):void 0)},[c]);let i=(0,r3.useCallback)(n=>e2(this,null,function*(){let h=n.target.files[0];a.permanentlySetValue({type:"image",id:void 0});let v=yield a.createAsset(h);v?a.permanentlySetValue({type:"image",id:v}):a.permanentlySetValue(c),n.target.value=null}),[a,c]),o=!(c!=null&&c.id);return r3.default.createElement(Rb,{empty:o},r3.default.createElement(T31,{empty:o,title:o?"Upload image":'"'.concat(c.id,'" (Click to upload new image)')},r3.default.createElement(Z31,{type:"file",onChange:i,accept:"image/*,.hdr",autoFocus:r}),e?r3.default.createElement(O31,{src:e}):r3.default.createElement(G31,null)),!o&&r3.default.createElement(E31,{title:"Delete image",onClick:()=>{a.permanentlySetValue({type:"image",id:void 0})}},r3.default.createElement(Oc,null)))}var r3,Hb,Rb,Vb,G31,wb,Bb,yb,T31,Sb,Z31,kb,O31,Ab,E31,bb,Fb=x(()=>{"use strict";b9();r3=I(G());c1();Rb=B.div(Hb||(Hb=V(["\n display: flex;\n align-items: center;\n height: 100%;\n gap: 4px;\n"]))),G31=B.div(Vb||(Vb=V(["\n position: absolute;\n inset: -5px;\n // rotate 45deg\n transform: rotate(45deg);\n --checker-color: #ededed36;\n &:hover {\n --checker-color: #ededed77;\n }\n // checkerboard background with 4px squares\n background-image: linear-gradient(\n 45deg,\n var(--checker-color) 25%,\n transparent 25%\n ),\n linear-gradient(-45deg, var(--checker-color) 25%, transparent 25%),\n linear-gradient(45deg, transparent 75%, var(--checker-color) 75%),\n linear-gradient(-45deg, transparent 75%, var(--checker-color) 75%);\n background-size: 5px 5px;\n"]))),T31=B.label(yb||(yb=V(["\n position: relative;\n cursor: default;\n box-sizing: border-box;\n\n height: 18px;\n aspect-ratio: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 16px;\n\n overflow: hidden;\n color: #ccc;\n &:hover {\n color: white;\n }\n\n border-radius: 99999px;\n border: 1px solid hwb(220deg 40% 52%);\n &:hover {\n border-color: hwb(220deg 45% 52%);\n }\n\n ","\n"])),t=>t.empty?f2(wb||(wb=V([""]))):f2(Bb||(Bb=V([""])))),Z31=B.input.attrs({type:"file"})(Sb||(Sb=V(["\n display: none;\n"]))),O31=B.img(kb||(kb=V(["\n position: absolute;\n inset: 0;\n height: 100%;\n aspect-ratio: 1;\n\n object-fit: cover;\n"]))),E31=B.button(Ab||(Ab=V(["\n display: flex;\n align-items: center;\n justify-content: center;\n outline: none;\n background: transparent;\n color: #a8a8a9;\n\n border: none;\n height: 100%;\n aspect-ratio: 1/1;\n\n opacity: 0;\n\n ",":hover & {\n opacity: 0.8;\n }\n\n &:hover {\n opacity: 1;\n color: white;\n }\n"])),Rb);bb=D31});function N31({propConfig:t,editingTools:a,value:c,autoFocus:r}){let[e,l]=e3.default.useState();(0,e3.useEffect)(()=>{l(c?a.getAssetUrl(c):void 0)},[c]);let i=(0,e3.useCallback)(n=>e2(this,null,function*(){let h=n.target.files[0];a.permanentlySetValue({type:"file",id:void 0});let v=yield a.createAsset(h);v?a.permanentlySetValue({type:"file",id:v}):a.permanentlySetValue(c),n.target.value=null}),[a,c]),o=!(c!=null&&c.id);return e3.default.createElement(Db,{empty:o},e3.default.createElement(_31,{empty:o,title:o?"Upload file":'"'.concat(c.id,'" (Click to upload new file)')},e3.default.createElement(j31,{type:"file",onChange:i,autoFocus:r}),e?e3.default.createElement(Tc,null):e3.default.createElement(W31,null)),!o&&e3.default.createElement(q31,{title:"Delete file",onClick:()=>{a.permanentlySetValue({type:"file",id:void 0})}},e3.default.createElement(Oc,null)))}var e3,Ib,Db,Pb,W31,Gb,Tb,Zb,_31,Ob,j31,Eb,q31,Wb,_b=x(()=>{"use strict";b9();e3=I(G());c1();Db=B.div(Ib||(Ib=V(["\n display: flex;\n align-items: center;\n height: 100%;\n gap: 4px;\n"]))),W31=B.div(Pb||(Pb=V(["\n position: absolute;\n inset: -5px;\n // rotate 45deg\n transform: rotate(45deg);\n --checker-color: #ededed36;\n &:hover {\n --checker-color: #ededed77;\n }\n // checkerboard background with 4px squares\n background-image: linear-gradient(\n 45deg,\n var(--checker-color) 25%,\n transparent 25%\n ),\n linear-gradient(-45deg, var(--checker-color) 25%, transparent 25%),\n linear-gradient(45deg, transparent 75%, var(--checker-color) 75%),\n linear-gradient(-45deg, transparent 75%, var(--checker-color) 75%);\n background-size: 5px 5px;\n"]))),_31=B.label(Zb||(Zb=V(["\n position: relative;\n cursor: default;\n box-sizing: border-box;\n\n height: 18px;\n aspect-ratio: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 16px;\n\n overflow: hidden;\n color: #ccc;\n &:hover {\n color: white;\n }\n\n border-radius: 99999px;\n border: 1px solid hwb(220deg 40% 52%);\n &:hover {\n border-color: hwb(220deg 45% 52%);\n }\n\n ","\n"])),t=>t.empty?f2(Gb||(Gb=V([""]))):f2(Tb||(Tb=V([""])))),j31=B.input.attrs({type:"file"})(Ob||(Ob=V(["\n display: none;\n"]))),q31=B.button(Eb||(Eb=V(["\n display: flex;\n align-items: center;\n justify-content: center;\n outline: none;\n background: transparent;\n color: #a8a8a9;\n\n border: none;\n height: 100%;\n aspect-ratio: 1/1;\n\n opacity: 0;\n\n ",":hover & {\n opacity: 0.8;\n }\n\n &:hover {\n opacity: 1;\n color: white;\n }\n"])),Db);Wb=N31});var Go,au=x(()=>{"use strict";cA();Gz();iR();gR();Lb();Fb();_b();Go={number:xo,string:vR,boolean:aA,stringLiteral:lR,rgba:Cb,image:bb,file:Wb}});function T4(t){let a=new WeakMap;return c=>(a.has(c)||a.set(c,t(c)),a.get(c))}var tr=x(()=>{"use strict"});function G0(t){return t.type==="compound"||t.type==="enum"}function U9(t,a){if(!t)return;let[c,...r]=a;if(c===void 0)return t;if(!G0(t))return;let e=t.type==="enum"?t.cases[c]:t.props[c];return U9(e,r)}function X8(t,a){let c=a.deserializeAndSanitize(t);return c===void 0?a.default:c}function jb(t){return!G0(t)}function*Y8(t,a){if(t.type==="compound")for(let c in t.props)yield*Vf(Y8(t.props[c],[...a,c]));else{if(t.type==="enum")throw new Error("Not implemented yet");return yield{path:a,conf:t}}}var cu,H5=x(()=>{"use strict";tr();cu=T4(t=>{if(t.type==="enum")throw new Error("Not implemented yet for enums");for(let a in t.props){let c=t.props[a];if(G0(c)){if(cu(c))return!0}else return!0}return!1})});var To,ru=x(()=>{"use strict";To="calc(var(--left-pad) + var(--depth) * var(--step))"});var qb,T0,N6=x(()=>{"use strict";c1();T0=f2(qb||(qb=V(["\n font-weight: 300;\n font-size: 11px;\n color: ",";\n text-shadow: 0.5px 0.5px 2px rgba(0, 0, 0, 0.3);\n"])),t=>t.isHighlighted==="self"?"#CCC":"#919191")});var ar,Zo,Nb,U31,Ub,K31,$31,Kb,eu=x(()=>{"use strict";W8();ar=I(G());c1();Zo=26,U31=B.li(Nb||(Nb=V(["\n height: ","px;\n padding: 0 12px;\n margin: 0;\n display: flex;\n align-items: center;\n font-size: 11px;\n font-weight: 400;\n position: relative;\n color: ",";\n cursor: ",";\n\n &:after {\n position: absolute;\n inset: 2px 1px;\n display: block;\n content: ' ';\n pointer-events: none;\n z-index: -1;\n border-radius: 3px;\n }\n\n &:hover:after {\n background-color: ",";\n }\n"])),Zo,t=>t.enabled?"white":"#8f8f8f",t=>t.enabled?"normal":"not-allowed",t=>t.enabled?"rgba(63, 174, 191, 0.75)":"initial"),K31=B.span(Ub||(Ub=V([""]))),$31=t=>ar.default.createElement(U31,{onClick:t.enabled?t.onClick:h0,enabled:t.enabled,title:t.enabled?void 0:"Disabled"},ar.default.createElement(K31,null,ar.default.createElement(ar.default.Fragment,null,t.label))),Kb=$31});function lu(t){let a=(0,Oo.useRef)(t);a.current=t,(0,Oo.useEffect)(()=>{let c=r=>a.current(r);return window.addEventListener("keydown",c),()=>{window.removeEventListener("keydown",c)}},[])}var Oo,$b=x(()=>{"use strict";Oo=I(G())});var cr,Q31,X31,Qb,Y31,Xb,J31,t41,Eo,iu=x(()=>{"use strict";cr=I(G());eu();c1();R0();G1();Q31=190,X31=!0,Y31=B.ul(Qb||(Qb=V(["\n position: absolute;\n min-width: ","px;\n z-index: 10000;\n background: ",";\n backdrop-filter: blur(2px);\n color: white;\n list-style-type: none;\n padding: 2px 0;\n margin: 0;\n border-radius: 1px;\n cursor: default;\n ",";\n border-radius: 3px;\n"])),Q31,N2(.2,"#111"),C1),J31=B.div(Xb||(Xb=V(["\n padding: 4px 10px;\n border-bottom: 1px solid #6262626d;\n color: #adadadb3;\n font-size: 11px;\n font-weight: 500;\n"]))),t41=cr.default.forwardRef((t,a)=>cr.default.createElement(Y31,{ref:a},X31&&t.displayName?cr.default.createElement(J31,null,t.displayName):null,t.items.map((c,r)=>cr.default.createElement(Kb,{key:"item-".concat(r),label:c.label,enabled:c.enabled!==!1,onClick:e=>{c.callback&&c.callback(e),t.onRequestClose()}})))),Eo=t41});var Yb,Jb,K9,tF,Do,a41,aF,cF=x(()=>{"use strict";Qz();Yb=I(G()),Jb=I(G()),K9=I(G()),tF=I(B4());Ao();eu();T6();$b();iu();Do=20,a41=t=>{let[a,c]=(0,K9.useState)(null),r=j9(a),e=_9();(0,K9.useLayoutEffect)(()=>{if(!r||!a)return;let o={left:r.width/2,top:Zo/2+(t.displayName?Zo:0)},n={left:t.clickPoint.clientX-o.left,top:t.clickPoint.clientY-o.top};n.left<0?n.left=0:n.left+r.width>e.width&&(n.left=e.width-r.width),n.top<0?n.top=0:n.top+r.height>e.height&&(n.top=e.height-r.height),a.style.left=n.left+"px",a.style.top=n.top+"px";let h=v=>{(v.clientXn.left+r.width+Do||v.clientYn.top+r.height+Do)&&t.onRequestClose()};return window.addEventListener("mousemove",h),()=>{window.removeEventListener("mousemove",h)}},[r,a,t.clickPoint,e,t.onRequestClose]);let l=(0,Jb.useContext)(a3);lu(o=>{o.key==="Escape"&&t.onRequestClose()});let i=(0,Yb.useMemo)(()=>{let o=Array.isArray(t.items)?t.items:t.items();return o.length>0?o:[{label:t.displayName?"No actions for ".concat(t.displayName):"No actions found",enabled:!1}]},[t.items]);return(0,tF.createPortal)(K9.default.createElement(Eo,{items:i,onRequestClose:t.onRequestClose,displayName:t.displayName,ref:c}),l)},aF=a41});var $9,c41,rF,eF=x(()=>{"use strict";$9=I(G()),c41=(t,a)=>{let[c,r]=(0,$9.useState)({isOpen:!1}),e=(0,$9.useCallback)(()=>r({isOpen:!1}),[]);return(0,$9.useEffect)(()=>{if(!t||a.disabled===!0){r({isOpen:!1});return}let l=i=>{r({isOpen:!0,event:i}),i.preventDefault(),i.stopPropagation()};return t.addEventListener("contextmenu",l),()=>{t.removeEventListener("contextmenu",l)}},[t,a.disabled]),[c,e]},rF=c41});function Z1(t,a){let[c,r]=rF(t,a),[,e]=(0,U6.useContext)(N9);return(0,U6.useEffect)(()=>{var o;let i;return c.isOpen&&((o=a.onOpen)==null||o.call(a),i=e()),()=>i==null?void 0:i()},[c.isOpen,a.onOpen]),[c.isOpen?U6.default.createElement(aF,{items:a.menuItems,displayName:a.displayName,clickPoint:c.event,onRequestClose:r}):r41,r,c.isOpen]}var U6,r41,v0=x(()=>{"use strict";U6=I(G());cF();eF();Io();r41=U6.default.createElement(U6.default.Fragment,null)});function l3(t,a){return a.length===0?t:D3(t,a)}var rr=x(()=>{"use strict";D7()});function ou(t,a){return t==null?null:t instanceof Element&&t.matches(a)?t:ou(t.parentElement,a)}var lF=x(()=>{"use strict"});function Z4(t,a){let c=t;for(let r of a)c=c[r];return c}var er=x(()=>{"use strict"});function e41(t){let a=new Wo.Atom(void 0),c=new Wo.Atom({}),r=new Wo.Atom({}),e=0;return{addRelatedFlags(l,i){let o=String(++e),n=i.map(h=>{let v={flag:h.flag},g=[h.affects,l,o];return r.setByPointer(s=>Z4(s,g),v),g});return()=>{for(let h of n)r.setByPointer(v=>Z4(v,h),void 0)}},usePresenceFlag(l){if(!t.enabled)return;let i=(0,X9.useMemo)(()=>{if(!l)return iF;let o=a.prism,n=(0,Q9.pointerToPrism)(c.pointer[l]),h=(0,Q9.pointerToPrism)(r.pointer[l]);return(0,Q9.prism)(()=>{if(n.getValue())return 2;{let g=h.getValue(),s=o.getValue(),d=g&&s&&g[s];if(d){let z;for(let u of Object.values(d))u&&(z&&z>=u.flag||(z=u.flag));return z}return}})},[l]);return G8(i)},setUserHover(l){let i=a.get();i!==l&&(i&&c.setByPointer(o=>o[i],!1),a.set(l),l&&c.setByPointer(o=>o[l],!0))}}}function i3(t){let a=X9.default.useContext(oF),c=a.usePresenceFlag(t);return{attrs:{[nu]:t},flag:c,useRelations(r,e){(0,hu.useEffect)(()=>t&&a.addRelatedFlags(t,r()),[t,...e])}}}function _o(t){let a=X9.default.useContext(oF),c=C0("PresenceListeners");(0,hu.useEffect)(()=>{let r;if(!t)return;let e=l=>{if(l.target instanceof Node){let i=ou(l.target,"[".concat(nu,"]"));if(i){let o=i.getAttribute(nu);r!==o&&(r=o,a.setUserHover(o||void 0),c._debug("Updated current hover",{itemKey:o}));return}r!=null&&(r=null,a.setUserHover(void 0),c._debug("Cleared current hover"))}};return t.addEventListener("mouseover",e),()=>{t.removeEventListener("mouseover",e),r!=null&&(r=null,c._debug("Cleared current hover as part of cleanup"))}},[t,a])}var X9,hu,Q9,Wo,iF,oF,nu,K6=x(()=>{"use strict";X9=I(G()),hu=I(G());L5();Q9=require("@theatre/dataverse"),Wo=require("@theatre/dataverse");M1();lF();er();iF=(0,Q9.prism)(()=>{});iF.keepHot();oF=X9.default.createContext(e41({enabled:!1})),nu="data-pi-key"});var U2,nF,jo,hF,mF,V5,vF,fF,gF,l41,dF,vu,sF,i41,zF,o41,uF,pF,lr,n41,qo,ir=x(()=>{"use strict";G1();R0();U2=I(G());c1();K6();jo=B.div(nF||(nF=V(["\n display: flex;\n justify-content: center;\n align-items: center;\n width: 16px;\n margin: 0 0px 0 2px;\n position: relative;\n z-index: 0;\n opacity: 0.7;\n\n &:after {\n position: absolute;\n left: -14px;\n right: -14px;\n top: -2px;\n bottom: -2px;\n content: ' ';\n display: none;\n z-index: -1;\n background: ",";\n }\n\n &:hover {\n opacity: 1;\n &:after {\n display: block;\n }\n }\n"])),N2(.2,"black")),mF=B.div(hF||(hF=V(["\n background: none;\n position: relative;\n border: 0;\n transition: transform 0.1s ease-out;\n z-index: 0;\n outline: none;\n cursor: pointer;\n\n &:after {\n display: none;\n ",":hover & {\n display: block;\n }\n position: absolute;\n left: -4px;\n right: -4px;\n top: -4px;\n bottom: -4px;\n content: ' ';\n z-index: -1;\n }\n"])),jo),V5={offColor:"#555",onColor:"#e0c917"},fF=B(mF)(vF||(vF=V(["\n &:hover {\n color: #e0c917;\n }\n\n color: ",";\n"])),t=>t.presence===2?"white":t.isOn?V5.onColor:V5.offColor),l41=f2(gF||(gF=V(["\n pointer-events: none !important;\n"]))),vu=B(mF)(dF||(dF=V(["\n color: ",";\n\n ",";\n"])),t=>t.flag===2?"white":t.available?V5.onColor:V5.offColor,t=>t.available?C1:l41),i41=B(vu)(sF||(sF=V(["\n transform: translateX(2px);\n ",":hover & {\n transform: translateX(-7px);\n }\n"])),jo),o41=B(vu)(zF||(zF=V(["\n transform: translateX(-2px);\n ",":hover & {\n transform: translateX(7px);\n }\n"])),jo);(l=>{let t=B.g(uF||(uF=V(["\n stroke-width: 1;\n ",":hover & path {\n stroke-width: 3;\n }\n "])),vu);l.Prev=()=>U2.default.createElement("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},U2.default.createElement(t,{transform:"translate(6 3)"},U2.default.createElement("path",{d:"M4 1L1 4L4 7",stroke:"currentColor"}))),l.Next=()=>U2.default.createElement("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},U2.default.createElement(t,{transform:"translate(1 3)"},U2.default.createElement("path",{d:"M1 1L4 4L1 7",stroke:"currentColor"})));let r=B.g(pF||(pF=V(["\n stroke-width: 0;\n ",":hover & path {\n stroke: currentColor;\n stroke-width: 2;\n }\n "])),fF);l.Cur=()=>U2.default.createElement("svg",{width:"8",height:"12",viewBox:"0 0 8 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},U2.default.createElement(r,{transform:"translate(1 4)"},U2.default.createElement("path",{d:"M3 0L6 3L3 6L0 3L3 0Z",fill:"currentColor"})))})(lr||(lr={}));n41=t=>{var e,l,i,o,n;let a=i3((e=t.prev)==null?void 0:e.itemKey),c=i3(((l=t.cur)==null?void 0:l.type)==="on"?t.cur.itemKey:void 0),r=i3((i=t.next)==null?void 0:i.itemKey);return U2.default.createElement(jo,null,U2.default.createElement(i41,S({available:!!t.prev,onClick:(o=t.prev)==null?void 0:o.jump,flag:a.flag},a.attrs),U2.default.createElement(lr.Prev,null)),U2.default.createElement(fF,S({isOn:t.cur.type==="on",onClick:t.cur.toggle,presence:c.flag},c.attrs),U2.default.createElement(lr.Cur,null)),U2.default.createElement(o41,S({available:!!t.next,onClick:(n=t.next)==null?void 0:n.jump,flag:r.flag},r.attrs),U2.default.createElement(lr.Next,null)))},qo=n41});var Uo,No,MF,h41,xF,v41,CF,g41,d41,Y9,gu=x(()=>{"use strict";R0();Uo=I(G());c1();f1();ir();H5();No={defaultState:{color:N2(.95,"#C4C4C4"),hoverColor:N2(.15,V5.onColor)},withStaticOverride:{color:N2(.85,"#C4C4C4"),hoverColor:N2(.15,V5.onColor)}},h41=B.div(MF||(MF=V(["\n width: 16px;\n margin: 0 0px 0 2px;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n\n color: ",";\n\n &:hover {\n color: ",";\n }\n"])),t=>t.hasStaticOverride?No.withStaticOverride.color:No.defaultState.color,t=>t.hasStaticOverride?No.withStaticOverride.hoverColor:No.defaultState.hoverColor),v41=B.div(xF||(xF=V(["\n width: 5px;\n height: 5px;\n border-radius: 1px;\n transform: rotate(45deg);\n /* border: 1px solid currentColor; */\n background-color: currentColor;\n"]))),g41=B.div(CF||(CF=V(["\n width: 5px;\n height: 5px;\n background-color: currentColor;\n border-radius: 1px;\n transform: rotate(45deg);\n"]))),d41=t=>{let{hasStaticOverride:a,obj:c,propConfig:r,pathToProp:e}=t;return Uo.default.createElement(h41,{hasStaticOverride:a,onClick:()=>{T().transaction(({stateEditors:i})=>{for(let{path:o,conf:n}of Y8(r,e)){if(G0(n))continue;let h=D(S({},c.address),{pathToProp:o});i.coreByProject.historic.sheetsById.sequence.setPrimitivePropAsSequenced(h,r)}})},title:"Sequence this prop"},a?Uo.default.createElement(g41,{title:"The default value is overridden"}):Uo.default.createElement(v41,{title:"This is the default value for this prop"}))},Y9=d41});function J8(t){return JSON.stringify(du(t))}function du(t){return M8(t)?Object.keys(t).sort().reduce((a,c)=>(a[c]=du(t[c]),a),{}):Array.isArray(t)?t.map(du):t}var LF=x(()=>{"use strict";H2()});var s41,J9,su=x(()=>{s41="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",J9=(t=21)=>{let a="",c=t;for(;c--;)a+=s41[Math.random()*64|0];return a}});function zu(){return J9(10)}function HF(){return J9(10)}function VF(){return J9(10)}var c2,O4=x(()=>{"use strict";LF();su();c2={forSheet(){return"sheet"},forSheetObject(t){return J8({o:t.address.objectKey})},forSheetObjectProp(t,a){return J8({o:t.address.objectKey,p:a})},forTrackKeyframe(t,a,c){return J8({o:t.address.objectKey,t:a,k:c})},forSheetObjectAggregateKeyframe(t,a){return c2.forCompoundPropAggregateKeyframe(t,[],a)},forSheetAggregateKeyframe(t,a){return J8({o:t.address.sheetId,pos:a})},forCompoundPropAggregateKeyframe(t,a,c){return J8({o:t.address.objectKey,p:a,pos:c})}}});function Ko(t,a,c){if(!a||a.data.keyframes.length===0)return z41;let r=wF.get(a.data);if(r&&r[0]===c)return r[1];function e(o){if(!a)return;let n=a.data.keyframes[o];return n&&{kf:n,track:a,itemKey:c2.forTrackKeyframe(t,a.id,n.id)}}let i=(()=>{let o=a.data.keyframes.findIndex(h=>h.position>=c);if(o===-1)return{prev:e(a.data.keyframes.length-1)};let n=e(o);return n.kf.position===c?{prev:e(o-1),cur:n,next:e(o+1)}:{next:n,prev:e(o-1)}})();return wF.set(a.data,[c,i]),i}var wF,z41,uu=x(()=>{"use strict";O4();wF=new WeakMap,z41={}});var $o,pu=x(()=>{"use strict";$o={}});function BF(t,a,c){let r=(0,Z0.getPointerParts)(t).path;return v1(()=>{if(!cu(c))return{type:"AllStatic",beingScrubbed:!1,contextMenuItems:[],controlIndicators:t7.default.createElement(Y9,{hasStaticOverride:!1,obj:a,pathToProp:r,propConfig:c})};let e=!!(0,Z0.val)(D3(T().atomP.ephemeral.projects.stateByProjectId[a.address.projectId].stateBySheetId[a.address.sheetId].stateByObjectKey[a.address.objectKey].valuesBeingScrubbed,(0,Z0.getPointerParts)(t).path)),l=[],i={beingScrubbed:e,contextMenuItems:l,controlIndicators:t7.default.createElement(t7.default.Fragment,null)},o=(0,Z0.val)(a.template.getMapOfValidSequenceTracks_forStudio()),n=l3(o,r),h=n!==void 0&&Object.keys(n).length!==0,v=[],g=(0,Z0.val)(a.template.getStaticButNotSequencedOverrides()),d=l3(g!=null?g:$o,r)!==void 0;if(h)for(let z of Y8(c,[])){if(G0(z.conf))continue;let u=l3(n,z.path);typeof u!="string"?d=!0:v.push(u)}if((d||h)&&l.push({label:"Reset all to default",callback:()=>{T().transaction(({unset:z})=>{z(t)})}}),h&&l.push({label:"Make all static",callback:()=>{T().transaction(({stateEditors:z})=>{for(let{path:u,conf:f}of Y8(c,[])){if(G0(f))continue;let p=D(S({},a.address),{pathToProp:[...r,...u]}),m=Z4(t,u);z.coreByProject.historic.sheetsById.sequence.setPrimitivePropAsStatic(D(S({},p),{value:a.getValueByPointer(m)}))}})}}),(!h||h&&d)&&l.push({label:"Sequence all",callback:()=>{T().transaction(({stateEditors:z})=>{for(let{path:u,conf:f}of Y8(c,r)){if(G0(f))continue;let p=D(S({},a.address),{pathToProp:u});z.coreByProject.historic.sheetsById.sequence.setPrimitivePropAsSequenced(p,c)}})}}),h){let z=Z0.prism.memo("controlIndicators",()=>t7.default.createElement(u41,{pointerToProp:t,obj:a,possibleSequenceTrackIds:n,listOfDescendantTrackIds:v}),[n,v]);return D(S({},i),{type:"HasSequences",controlIndicators:z})}else return D(S({},i),{type:"AllStatic",controlIndicators:t7.default.createElement(Y9,{hasStaticOverride:d,obj:a,pathToProp:r,propConfig:c})})},[])}function u41({pointerToProp:t,obj:a,possibleSequenceTrackIds:c,listOfDescendantTrackIds:r}){return v1(()=>{let e=(0,Z0.getPointerParts)(t).path,l=(0,Z0.val)(a.sheet.getSequence().positionPrism),i=r.map(d=>({trackId:d,track:(0,Z0.val)(a.template.project.pointers.historic.sheetsById[a.address.sheetId].sequence.tracksByObject[a.address.objectKey].trackData[d])})).filter(({track:d})=>!!d).map(d=>D(S({},d),{nearbies:Ko(a,{id:d.trackId,data:d.track,sheetObject:a},l)})),o=i.find(({nearbies:d})=>!!d.cur),n=i.every(({nearbies:d})=>!!d.cur),h=i.reduce((d,z)=>z.nearbies.prev&&(d===void 0||z.nearbies.prev.kf.position>d.kf.position)?z.nearbies.prev:d,void 0),v=i.reduce((d,z)=>z.nearbies.next&&(d===void 0||z.nearbies.next.kf.position{n?T().transaction(d=>{d.unset(t)}):o?T().transaction(d=>{d.set(t,(0,Z0.val)(t))}):T().transaction(d=>{d.set(t,(0,Z0.val)(t))})},s={cur:o?{type:"on",itemKey:c2.forCompoundPropAggregateKeyframe(a,e,l),toggle:g}:{toggle:g,type:"off"},prev:h!==void 0?{position:h.kf.position,itemKey:c2.forCompoundPropAggregateKeyframe(a,e,h.kf.position),jump:()=>{a.sheet.getSequence().position=h.kf.position}}:void 0,next:v!==void 0?{position:v.kf.position,itemKey:c2.forCompoundPropAggregateKeyframe(a,e,v.kf.position),jump:()=>{a.sheet.getSequence().position=v.kf.position}}:void 0};return t7.default.createElement(qo,S({},s))},[t,a,c,r])}var Z0,t7,yF=x(()=>{"use strict";f1();rr();M1();Z0=require("@theatre/dataverse");D7();t7=I(G());gu();H5();O4();er();ir();uu();pu()});function p41(){let t=0,a=new AF.Atom({hasLock:!1});return{replaceLock(c,r){let e=t++,l=a.get();return l.hasLock&&l.cleanup(),a.set({hasLock:!0,lockId:e,cleanup:r,deepPath:m41(SF(c))}),function(){let o=a.get();o.hasLock&&o.lockId===e&&(o.cleanup(),a.set({hasLock:!1}))}},getIsPropHighlightedD(c){let r=Z4(a.pointer.deepPath,SF(c));return(0,RF.prism)(()=>{let e=(0,kF.val)(r);return e===!0?"self":e?"descendent":null})}}}function SF(t){return[t.projectId,t.sheetId,t.objectKey,...t.pathToProp]}function m41(t){let a={};return i6(a,t,!0),a}var kF,AF,RF,tt,Qo=x(()=>{"use strict";kF=require("@theatre/dataverse"),AF=require("@theatre/dataverse"),RF=require("@theatre/dataverse");er();Xe();tt=p41()});function bF(t,a){return JSON.stringify(t,a,2).replace(/^([\{\[])\n (\s+)/,"$1$2").replace(/(\n[ ]+[\{\[])\n\s+/g,"$1 ").replace(/\n\s*([\]\}])/g," $1")}var FF=x(()=>{"use strict"});function mu(t,a=!0){try{return typeof t=="string"?t:typeof t=="function"||t instanceof Error?t.toString():a?bF(t):JSON.stringify(t)}catch(c){return(t==null?void 0:t.name)||String(t)}}var IF=x(()=>{"use strict";FF()});function GF(t,a,c){t||(arguments.length>2?PF(a,c):PF(a))}function PF(t,a){let c=arguments.length>1,r=mu(typeof t=="function"?t():t),e=c?"\nInstead found: ".concat(mu(a)):"";throw new fu("Invariant: ".concat(r).concat(e),a)}var f41,M41,x41,C41,fu,TF=x(()=>{"use strict";IF();f41=/^\s*at.+node:internal.+/gm,M41=/^\s*(at|[^@]+@) (?:Object\.)?invariant.+/gm,x41=/^\s*(at|[^@]+@).+test\-helpers.+/gm,C41=/^\s*(at|[^@]+@).+(debounce|invariant|iif)\.[tj]s.*/gm,fu=class extends Error{constructor(c,r){var e;super(c);y1(this,"found");r!==void 0&&(this.found=r),this.stack=(e=this.stack)==null?void 0:e.replace(M41,"").replace(C41,"").replace(x41,"").replace(f41,"")}}});function L41(t){return(0,at.prism)(()=>{if(Array.isArray(t)){let a=new Array(t.length);for(let c=0;cL41(i),l),v=G8(h);return v&&$6.default.createElement(t,S(S({},o),v))}));return a.displayName="deriver(".concat(t.displayName,")"),a}var at,$6,Mu=x(()=>{"use strict";at=require("@theatre/dataverse");M1();$6=I(G());TF()});function H41(t,a,c){return(0,o3.prism)(()=>{var z;let r=(0,o3.getPointerParts)(t).path,e=a.getValueByPointer(t),l=o3.prism.memo("editPropValue",()=>{let u=null;return{temporarilySetValue(f){u||(u=T().scrub()),u.capture(p=>{p.set(t,f)})},discardTemporaryValue(){u&&(u.discard(),u=null)},permanentlySetValue(f){u?(u.capture(p=>{p.set(t,f)}),u.commit(),u=null):T().transaction(p=>{p.set(t,f)})}}},[]),i={createAsset:u=>a.sheet.project.assetStorage.createAsset(u),getAssetUrl:u=>u.id?a.sheet.project.assetStorage.getAssetUrl(u.id):void 0},o=(0,o3.val)(D3(T().atomP.ephemeral.projects.stateByProjectId[a.address.projectId].stateBySheetId[a.address.sheetId].stateByObjectKey[a.address.objectKey].valuesBeingScrubbed,(0,o3.getPointerParts)(t).path))===!0,n=[],h=D(S(S({},l),i),{value:e,beingScrubbed:o,contextMenuItems:n,controlIndicators:ct.default.createElement(ct.default.Fragment,null)}),v=jb(c);if(v){let u=(0,o3.val)(a.template.getMapOfValidSequenceTracks_forStudio()),f=l3(u,r);if(typeof f=="string"){n.push({label:"Make static",callback:()=>{T().transaction(({stateEditors:U})=>{let A=D(S({},a.address),{pathToProp:r});U.coreByProject.historic.sheetsById.sequence.setPrimitivePropAsStatic(D(S({},A),{value:a.getValueByPointer(t)}))})}});let m=f,M=o3.prism.sub("lcr",()=>{let U=(0,o3.val)(a.template.project.pointers.historic.sheetsById[a.address.sheetId].sequence.tracksByObject[a.address.objectKey].trackData[m]),A=(0,o3.val)(a.sheet.getSequence().positionPrism);return Ko(a,U&&{data:U,id:m,sheetObject:a},A)},[m]),w;h.beingScrubbed?w="Sequenced_OnKeyframe_BeingScrubbed":M.cur?w="Sequenced_OnKeyframe":((z=M.prev)==null?void 0:z.kf.connectedRight)===!0?w="Sequenced_BeingInterpolated":w="Sequened_NotBeingInterpolated";let H=()=>{M.cur?T().transaction(U=>{U.unset(t)}):T().transaction(U=>{U.set(t,h.value)})},y={cur:M.cur?{type:"on",itemKey:M.cur.itemKey,toggle:H}:{type:"off",toggle:H},prev:M.prev!==void 0?{itemKey:M.prev.itemKey,position:M.prev.kf.position,jump:()=>{a.sheet.getSequence().position=M.prev.kf.position}}:void 0,next:M.next!==void 0?{itemKey:M.next.itemKey,position:M.next.kf.position,jump:()=>{a.sheet.getSequence().position=M.next.kf.position}}:void 0},k=ct.default.createElement(qo,S({},y));return D(S({},h),{type:"Sequenced",shade:w,nearbyKeyframes:M,controlIndicators:k})}}let g=(0,o3.val)(a.template.getStaticValues()),s=l3(g,r);return typeof s!="undefined"&&n.push({label:"Reset to default",callback:()=>{T().transaction(({unset:u})=>{u(t)})}}),v&&n.push({label:"Sequence",callback:()=>{T().transaction(({stateEditors:u})=>{let f=D(S({},a.address),{pathToProp:r});u.coreByProject.historic.sheetsById.sequence.setPrimitivePropAsSequenced(f,c)})}}),typeof s!="undefined"?D(S({},h),{type:"Static",shade:h.beingScrubbed?"Static_BeingScrubbed":"Static",controlIndicators:ct.default.createElement(Y9,{hasStaticOverride:!0,obj:a,pathToProp:r,propConfig:c})}):D(S({},h),{type:"Default",shade:"Default",controlIndicators:ct.default.createElement(Y9,{hasStaticOverride:!0,obj:a,pathToProp:r,propConfig:c})})})}function V41(t,a,c){if(xu.has(t))return xu.get(t);{let r=H41(t,a,c);return xu.set(t,r),r}}function rt(t,a,c){let r=V41(t,a,c);return G8(r)}var ct,o3,xu,Xo=x(()=>{"use strict";D7();ct=I(G()),o3=require("@theatre/dataverse");f1();rr();M1();H5();gu();uu();ir();xu=new WeakMap});function F41({propConfig:t,pointerToProp:a,obj:c,SimpleEditorComponent:r}){let e=rt(a,c,t);return R2.default.createElement(xo,{editingTools:e,propConfig:t,value:e.value})}function P41({pointerToProp:t,obj:a,propConfig:c,visualIndentation:r}){var m;let e=(m=c.label)!=null?m:M3((0,et.getPointerParts)(t).path),l=Object.entries(c.props),i=l.filter(([M,w])=>G0(w)),o=l.filter(([M,w])=>!G0(w)),[n,h]=z1(null),v=BF(t,a,c),[g]=Z1(h,{menuItems:v.contextMenuItems}),s=i.length>0,d=(0,R2.useMemo)(()=>tt.getIsPropHighlightedD(D(S({},a.address),{pathToProp:(0,et.getPointerParts)(t).path})),[t]),z="".concat(a.address.projectId,",").concat(a.address.sheetId,",").concat(a.address.sheetInstanceId,",").concat(a.address.objectKey,",").concat((0,et.getPointerParts)(t).path.join()),u=b41(c);(0,R2.useLayoutEffect)(()=>{Cu.has(z)||Cu.set(z,new et.Atom(u))},[z,c]);let f=Cu.get(z),p=v1(()=>f?(0,NF.val)(f.pointer):u,[f]);return R2.default.createElement(w41,null,g,R2.default.createElement(UF,{style:{"--depth":r-1}},R2.default.createElement(B41,{isVectorProp:u},R2.default.createElement(y41,null,v.controlIndicators),R2.default.createElement(S41,{isHighlighted:d,ref:n},R2.default.createElement("span",null,e||"Props")),R2.default.createElement(k41,{isCollapsed:p,isVector:u,onClick:()=>{f==null||f.set(!f.get())}},R2.default.createElement(Co,null))),u&&p&&R2.default.createElement(I41,null,[...l].map(([M,w])=>R2.default.createElement(F41,{key:"prop-"+M,propConfig:w,pointerToProp:t[M],obj:a})))),!p&&R2.default.createElement(R41,{style:{"--depth":r},depth:r,lastSubIsComposite:s},[...o,...i].map(([M,w])=>R2.default.createElement(Yo,{key:"prop-"+M,propConfig:w,pointerToProp:t[M],obj:a,visualIndentation:r+1}))))}var et,R2,NF,ZF,w41,OF,UF,EF,B41,DF,y41,WF,S41,_F,k41,A41,jF,R41,b41,qF,I41,KF,Cu,$F=x(()=>{"use strict";H5();et=require("@theatre/dataverse");ma();R0();R2=I(G());c1();ru();N6();G1();P1();Lu();v0();yF();Qo();Mu();Gz();Xo();M1();NF=require("@theatre/dataverse");K8();tr();w41=B.div(ZF||(ZF=V(["\n --step: 15px;\n --left-pad: 15px;\n ",";\n --right-width: 60%;\n"])),C1),UF=B.div(OF||(OF=V(["\n height: 30px;\n display: flex;\n align-items: stretch;\n position: relative;\n"]))),B41=B.div(EF||(EF=V(["\n padding-left: ",";\n display: flex;\n align-items: center;\n overflow: hidden;\n ",";\n"])),To,({isVectorProp:t})=>t?"width: calc(100% - var(--right-width))":""),y41=B.div(DF||(DF=V(["\n flexshrink: 0;\n"]))),S41=or(B.div(WF||(WF=V(["\n margin-left: 4px;\n cursor: default;\n height: 100%;\n display: flex;\n align-items: center;\n gap: 4px;\n user-select: none;\n &:hover {\n color: white;\n }\n overflow: hidden;\n\n ",";\n"])),()=>T0)),k41=B.span(_F||(_F=V(["\n width: 28px;\n height: 28px;\n font-size: 9px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n transition: transform 0.05s ease-out, color 0.1s ease-out;\n transform: rotateZ(","deg);\n color: #66686a;\n\n visibility: ",";\n\n ",":hover & {\n visibility: visible;\n }\n\n &:hover {\n transform: rotateZ(","deg);\n color: #c0c4c9;\n }\n"])),t=>t.isCollapsed?0:90,t=>!t.isVector&&t.isCollapsed||t.isVector&&!t.isCollapsed?"visible":"hidden",UF,t=>t.isCollapsed?15:75),A41=N2(.05,"#282b2f"),R41=B.div(jF||(jF=V(["\n /* background: ","; */\n /* padding: "," 0; */\n"])),({depth:t})=>A6(t*.03,A41),t=>t.lastSubIsComposite?0:"4px"),b41=T4(t=>{let a=Object.entries(t.props);return a.length<=3&&a.every(([c,r])=>r.type==="number"&&["x","y","z"].includes(c))});I41=B.div(qF||(qF=V(["\n display: flex;\n align-items: center;\n justify-content: stretch;\n padding: 0 8px 0 2px;\n box-sizing: border-box;\n height: 100%;\n width: var(--right-width);\n flex-shrink: 0;\n flex-grow: 0;\n"])));KF=R2.default.memo(P41),Cu=new Map});function QF({isHighlighted:t}){return t==="self"?"#1857a4":t==="descendent"?"#0a2f5c":"initial"}var XF=x(()=>{"use strict"});function rI({propConfig:t,pointerToProp:a,editingTools:c,children:r,isPropHighlightedD:e}){var h;let l=(h=t.label)!=null?h:M3((0,Hu.getPointerParts)(a).path),[i,o]=z1(null),[n]=Z1(o,{menuItems:c.contextMenuItems});return lt.default.createElement(G41,{isHighlighted:e},n,lt.default.createElement(T41,null,lt.default.createElement(O41,null,c.controlIndicators),lt.default.createElement(Z41,{isHighlighted:e,ref:i,title:["obj","props",...(0,Hu.getPointerParts)(a).path].join(".")},l)),lt.default.createElement(E41,null,r))}var Hu,lt,YF,G41,JF,T41,tI,Z41,aI,O41,cI,E41,eI=x(()=>{"use strict";Hu=require("@theatre/dataverse");v0();P1();H2();lt=I(G());c1();G1();N6();Mu();ru();XF();G41=or(B.div(YF||(YF=V(["\n display: flex;\n height: 30px;\n justify-content: flex-start;\n align-items: stretch;\n // We cannot calculate both the container (details panel) width and the descendant\n // (this) width dynamically. This leads to the container width being calculated\n // without this percentage being taken into consideration leads to horizontal\n // clipping/scrolling--the same way as if we explicitly fixed either the container\n // width, or the descendant width.\n // The correct solution for tabulated UIs with dynamic container widths is to use\n // CSS grid. For now I fixed this issue by just giving a great enough width\n // to the details panel so most things don't break.\n --right-width: 60%;\n position: relative;\n ",";\n\n /* background-color: ","; */\n"])),C1,QF)),T41=B.div(JF||(JF=V(["\n box-sizing: border-box;\n padding-left: ",";\n padding-right: 4px;\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: stretch;\n gap: 4px;\n flex-grow: 0;\n flex-shrink: 0;\n width: calc(100% - var(--right-width));\n"])),To),Z41=or(B.div(tI||(tI=V(["\n text-align: left;\n flex: 1 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: flex;\n align-items: center;\n user-select: none;\n cursor: default;\n\n ",";\n &:hover {\n color: white;\n }\n"])),T0)),O41=B.div(aI||(aI=V(["\n flex-basis: 8px;\n flex: 0 0;\n display: flex;\n align-items: center;\n"]))),E41=B.div(cI||(cI=V(["\n display: flex;\n align-items: center;\n justify-content: stretch;\n padding: 0 8px 0 2px;\n box-sizing: border-box;\n height: 100%;\n width: var(--right-width);\n flex-shrink: 0;\n flex-grow: 0;\n"])))});function D41({propConfig:t,pointerToProp:a,obj:c,SimpleEditorComponent:r}){let e=rt(a,c,t),l=(0,it.useMemo)(()=>tt.getIsPropHighlightedD(D(S({},c.address),{pathToProp:(0,lI.getPointerParts)(a).path})),[a]);return it.default.createElement(rI,{editingTools:e,propConfig:t,pointerToProp:a,isPropHighlightedD:l},it.default.createElement(r,{editingTools:e,propConfig:t,value:e.value}))}var it,lI,iI,oI=x(()=>{"use strict";it=I(G());Xo();eI();lI=require("@theatre/dataverse");Qo();iI=it.default.memo(D41)});var nr,W41,Yo,Lu=x(()=>{"use strict";nr=I(G());au();$F();oI();W41=({propConfig:t,visualIndentation:a,pointerToProp:c,obj:r})=>{if(t.type==="compound")return nr.default.createElement(KF,{obj:r,visualIndentation:a,pointerToProp:c,propConfig:t});if(t.type==="enum")return nr.default.createElement(nr.default.Fragment,null);{let e=Go[t.type];return nr.default.createElement(iI,{SimpleEditorComponent:e,obj:r,visualIndentation:a,pointerToProp:c,propConfig:t})}},Yo=W41});function hr(t){return Vu.has(t)||Vu.set(t,(_41++).toString()),Vu.get(t)}var Vu,_41,wu=x(()=>{"use strict";Vu=new WeakMap,_41=0});var ot,nI,j41,hI,q41,N41,vI,gI=x(()=>{"use strict";ot=I(G());Lu();M1();wu();c1();j41=B.div(nI||(nI=V(["\n display: flex;\n flex-direction: column;\n gap: 4px;\n padding: 8px;\n"]))),q41=B.button(hI||(hI=V(["\n display: flex;\n align-items: center;\n justify-content: center;\n outline: none;\n border-radius: 2px;\n\n color: #a8a8a9;\n background: rgba(255, 255, 255, 0.1);\n\n border: none;\n height: 28px;\n\n &:hover {\n background: rgba(255, 255, 255, 0.15);\n }\n\n &:active {\n background: rgba(255, 255, 255, 0.2);\n }\n"]))),N41=({objects:t})=>{let a=t[0],c=s1(a.template.configPointer),r=s1(a.template._temp_actionsPointer);return ot.default.createElement(ot.default.Fragment,null,ot.default.createElement(Yo,{key:hr(a),obj:a,pointerToProp:a.propsP,propConfig:c,visualIndentation:1}),ot.default.createElement(j41,null,r&&Object.entries(r).map(([e,l])=>ot.default.createElement(q41,{key:e,onClick:()=>{l(a.publicApi)}},e))))},vI=N41});var dI,U41,vr,Bu=x(()=>{"use strict";c1();U41=B.button(dI||(dI=V(["\n text-align: center;\n padding: 8px;\n border-radius: 2px;\n border: 1px solid #627b7b87;\n background-color: #4b787d3d;\n color: #eaeaea;\n font-weight: 400;\n display: block;\n appearance: none;\n flex-grow: 1;\n cursor: ",";\n opacity: ",";\n\n &:hover {\n background-color: #7dc1c878;\n border-color: #9ebcbf;\n }\n"])),t=>t.disabled?"none":"pointer",t=>t.disabled?.4:1),vr=U41});var sI=x(()=>{});var zI,uI=x(()=>{sI();zI=(t=21)=>{let a="",c=crypto.getRandomValues(new Uint8Array(t));for(;t--;){let r=c[t]&63;r<36?a+=r.toString(36):r<62?a+=(r-26).toString(36).toUpperCase():r<63?a+="_":a+="-"}return a}});function Jo(){return zI(16)}var yu=x(()=>{"use strict";uI()});var pI,O0,mI,K41,fI,$41,MI,Su=x(()=>{"use strict";pI=require("@theatre/dataverse");P1();O0=I(G()),mI=(0,O0.createContext)(null),K41=0,fI=()=>{let t=(0,O0.useMemo)(()=>K41++,[]),{cur:a,set:c}=(0,O0.useContext)(mI),[r,e]=z1(!1),l=(0,O0.useCallback)((i,o)=>{c(i?t:-1,o)},[]);return(0,O0.useEffect)(()=>a.onStale(()=>{let i=a.getValue()===t;r.current!==i&&(r.current=i)}),[a,t]),[e,l]},$41=({children:t})=>{let a=(0,O0.useMemo)(()=>new pI.Atom(-1),[]),c=a.prism,r=(0,O0.useMemo)(()=>{let e;return(l,i)=>{let o=e!==void 0;e!==void 0&&(clearTimeout(e),e=void 0),i===0||o?a.set(l):e=setTimeout(()=>{a.set(l),e=void 0},i)}},[]);return O0.default.createElement(mI.Provider,{value:{cur:c,set:r}},t)},MI=$41});function R3(t,a){let c=t.enabled!==!1,[r,e]=fI(),[l,i]=z1(null);(0,CI.useEffect)(()=>{if(!c)return;let h=l.current;if(!h)return;let v=()=>{var s;return e(!0,(s=t.enterDelay)!=null?s:400)},g=()=>{var s;return e(!1,(s=t.exitDelay)!=null?s:200)};return h.addEventListener("mouseenter",v),h.addEventListener("mouseleave",g),()=>{h.removeEventListener("mouseenter",v),h.removeEventListener("mouseleave",g)}},[l,c,t.enterDelay,t.exitDelay]);let o=(0,xI.useContext)(a3);return[c&&r&&i?(0,LI.createPortal)(tn.default.createElement(Fo,{children:a,target:i,onClickOutside:h0,verticalPlacement:t.verticalPlacement,verticalGap:t.verticalGap}),o):tn.default.createElement(tn.default.Fragment,null),l,r]}var xI,CI,tn,LI,nt=x(()=>{"use strict";P1();xI=I(G()),CI=I(G()),tn=I(G());Jz();LI=I(B4());Su();T6();W8()});var HI,Q41,w5,gr=x(()=>{"use strict";c1();e4();Q41=B(T2)(HI||(HI=V(["\n padding: 1em;\n max-width: 240px;\n pointer-events: none !important;\n --popover-outer-stroke: transparent;\n --popover-inner-stroke: #45464d;\n"]))),w5=Q41});var E4,VI,X41,wI,Y41,BI,J41,t51,a51,yI,SI=x(()=>{"use strict";M1();f1();E4=I(G());c1();yu();nt();gr();Bu();X41=B.div(VI||(VI=V(["\n padding: 8px 10px;\n position: relative;\n background-color: #6d232352;\n &:before {\n position: absolute;\n content: ' ';\n display: block;\n left: 0;\n top: 0;\n bottom: 0;\n width: 2px;\n background-color: #ff000070;\n }\n"]))),Y41=B.div(wI||(wI=V(["\n margin-bottom: 1em;\n & a {\n color: inherit;\n }\n"]))),J41=B.div(BI||(BI=V(["\n display: flex;\n gap: 8px;\n"]))),t51=({projectId:t})=>{let a=s1(T().atomP.ephemeral.coreByProject[t].loadingState);return a&&a.type==="browserStateIsNotBasedOnDiskState"?E4.default.createElement(a51,{loadingState:a,projectId:t}):null},a51=({projectId:t,loadingState:a})=>{let c=()=>{T().transaction(({drafts:n,stateEditors:h})=>{h.coreByProject.historic.revisionHistory.add({projectId:t,revision:a.onDiskState.revisionHistory[0]}),h.coreByProject.historic.revisionHistory.add({projectId:t,revision:Jo()}),n.ephemeral.coreByProject[t].loadingState={type:"loaded"}})},r=()=>{T().transaction(({drafts:n})=>{n.historic.coreByProject[t]=a.onDiskState,n.ephemeral.coreByProject[t].loadingState={type:"loaded"}})},[e,l]=R3({},()=>E4.default.createElement(w5,null,"The browser's state will override the disk state.")),[i,o]=R3({},()=>E4.default.createElement(w5,null,"The disk's state will override the browser's state."));return E4.default.createElement(X41,null,E4.default.createElement(Y41,null,"Browser state is not based on disk state."," ",E4.default.createElement("a",{href:"https://www.theatrejs.com/docs/latest/manual/projects#state",target:"_blank"},"Learn more.")),E4.default.createElement(J41,null,e,E4.default.createElement(vr,{onClick:c,ref:l},"Use browser's state"),i,E4.default.createElement(vr,{onClick:r,ref:o},"Use disk state")))},yI=t51});var AI=L1((kI,ku)=>{(function(t){typeof kI=="object"&&typeof ku!="undefined"?ku.exports=t():typeof define=="function"&&define.amd?define([],t):(typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:this).JSZip=t()})(function(){return function t(a,c,r){function e(o,n){if(!c[o]){if(!a[o]){var h=typeof require=="function"&&require;if(!n&&h)return h(o,!0);if(l)return l(o,!0);var v=new Error("Cannot find module '"+o+"'");throw v.code="MODULE_NOT_FOUND",v}var g=c[o]={exports:{}};a[o][0].call(g.exports,function(s){var d=a[o][1][s];return e(d||s)},g,g.exports,t,a,c,r)}return c[o].exports}for(var l=typeof require=="function"&&require,i=0;i>2,g=(3&o)<<4|n>>4,s=1>6:64,d=2>4,n=(15&v)<<4|(g=l.indexOf(i.charAt(d++)))>>2,h=(3&g)<<6|(s=l.indexOf(i.charAt(d++))),f[z++]=o,g!==64&&(f[z++]=n),s!==64&&(f[z++]=h);return f}},{"./support":30,"./utils":32}],2:[function(t,a,c){"use strict";var r=t("./external"),e=t("./stream/DataWorker"),l=t("./stream/Crc32Probe"),i=t("./stream/DataLengthProbe");function o(n,h,v,g,s){this.compressedSize=n,this.uncompressedSize=h,this.crc32=v,this.compression=g,this.compressedContent=s}o.prototype={getContentWorker:function(){var n=new e(r.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new i("data_length")),h=this;return n.on("end",function(){if(this.streamInfo.data_length!==h.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),n},getCompressedWorker:function(){return new e(r.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(n,h,v){return n.pipe(new l).pipe(new i("uncompressedSize")).pipe(h.compressWorker(v)).pipe(new i("compressedSize")).withStreamInfo("compression",h)},a.exports=o},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,a,c){"use strict";var r=t("./stream/GenericWorker");c.STORE={magic:"\0\0",compressWorker:function(){return new r("STORE compression")},uncompressWorker:function(){return new r("STORE decompression")}},c.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,a,c){"use strict";var r=t("./utils"),e=function(){for(var l,i=[],o=0;o<256;o++){l=o;for(var n=0;n<8;n++)l=1&l?3988292384^l>>>1:l>>>1;i[o]=l}return i}();a.exports=function(l,i){return l!==void 0&&l.length?r.getTypeOf(l)!=="string"?function(o,n,h,v){var g=e,s=v+h;o^=-1;for(var d=v;d>>8^g[255&(o^n[d])];return-1^o}(0|i,l,l.length,0):function(o,n,h,v){var g=e,s=v+h;o^=-1;for(var d=v;d>>8^g[255&(o^n.charCodeAt(d))];return-1^o}(0|i,l,l.length,0):0}},{"./utils":32}],5:[function(t,a,c){"use strict";c.base64=!1,c.binary=!1,c.dir=!1,c.createFolders=!0,c.date=null,c.compression=null,c.compressionOptions=null,c.comment=null,c.unixPermissions=null,c.dosPermissions=null},{}],6:[function(t,a,c){"use strict";var r=null;r=typeof Promise!="undefined"?Promise:t("lie"),a.exports={Promise:r}},{lie:37}],7:[function(t,a,c){"use strict";var r=typeof Uint8Array!="undefined"&&typeof Uint16Array!="undefined"&&typeof Uint32Array!="undefined",e=t("pako"),l=t("./utils"),i=t("./stream/GenericWorker"),o=r?"uint8array":"array";function n(h,v){i.call(this,"FlateWorker/"+h),this._pako=null,this._pakoAction=h,this._pakoOptions=v,this.meta={}}c.magic="\b\0",l.inherits(n,i),n.prototype.processChunk=function(h){this.meta=h.meta,this._pako===null&&this._createPako(),this._pako.push(l.transformTo(o,h.data),!1)},n.prototype.flush=function(){i.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},n.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this._pako=null},n.prototype._createPako=function(){this._pako=new e[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var h=this;this._pako.onData=function(v){h.push({data:v,meta:h.meta})}},c.compressWorker=function(h){return new n("Deflate",h)},c.uncompressWorker=function(){return new n("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,a,c){"use strict";function r(g,s){var d,z="";for(d=0;d>>=8;return z}function e(g,s,d,z,u,f){var p,m,M=g.file,w=g.compression,H=f!==o.utf8encode,y=l.transformTo("string",f(M.name)),k=l.transformTo("string",o.utf8encode(M.name)),F=M.comment,U=l.transformTo("string",f(F)),A=l.transformTo("string",o.utf8encode(F)),P=k.length!==M.name.length,C=A.length!==F.length,E="",a1="",j="",K=M.dir,Z=M.date,J={crc32:0,compressedSize:0,uncompressedSize:0};s&&!d||(J.crc32=g.crc32,J.compressedSize=g.compressedSize,J.uncompressedSize=g.uncompressedSize);var W=0;s&&(W|=8),H||!P&&!C||(W|=2048);var _=0,g1=0;K&&(_|=16),u==="UNIX"?(g1=798,_|=function($,o1){var u1=$;return $||(u1=o1?16893:33204),(65535&u1)<<16}(M.unixPermissions,K)):(g1=20,_|=function($){return 63&($||0)}(M.dosPermissions)),p=Z.getUTCHours(),p<<=6,p|=Z.getUTCMinutes(),p<<=5,p|=Z.getUTCSeconds()/2,m=Z.getUTCFullYear()-1980,m<<=4,m|=Z.getUTCMonth()+1,m<<=5,m|=Z.getUTCDate(),P&&(a1=r(1,1)+r(n(y),4)+k,E+="up"+r(a1.length,2)+a1),C&&(j=r(1,1)+r(n(U),4)+A,E+="uc"+r(j.length,2)+j);var X="";return X+="\n\0",X+=r(W,2),X+=w.magic,X+=r(p,2),X+=r(m,2),X+=r(J.crc32,4),X+=r(J.compressedSize,4),X+=r(J.uncompressedSize,4),X+=r(y.length,2),X+=r(E.length,2),{fileRecord:h.LOCAL_FILE_HEADER+X+y+E,dirRecord:h.CENTRAL_FILE_HEADER+r(g1,2)+X+r(U.length,2)+"\0\0\0\0"+r(_,4)+r(z,4)+y+E+U}}var l=t("../utils"),i=t("../stream/GenericWorker"),o=t("../utf8"),n=t("../crc32"),h=t("../signature");function v(g,s,d,z){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=s,this.zipPlatform=d,this.encodeFileName=z,this.streamFiles=g,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}l.inherits(v,i),v.prototype.push=function(g){var s=g.meta.percent||0,d=this.entriesCount,z=this._sources.length;this.accumulate?this.contentBuffer.push(g):(this.bytesWritten+=g.data.length,i.prototype.push.call(this,{data:g.data,meta:{currentFile:this.currentFile,percent:d?(s+100*(d-z-1))/d:100}}))},v.prototype.openedSource=function(g){this.currentSourceOffset=this.bytesWritten,this.currentFile=g.file.name;var s=this.streamFiles&&!g.file.dir;if(s){var d=e(g,s,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:d.fileRecord,meta:{percent:0}})}else this.accumulate=!0},v.prototype.closedSource=function(g){this.accumulate=!1;var s=this.streamFiles&&!g.file.dir,d=e(g,s,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(d.dirRecord),s)this.push({data:function(z){return h.DATA_DESCRIPTOR+r(z.crc32,4)+r(z.compressedSize,4)+r(z.uncompressedSize,4)}(g),meta:{percent:100}});else for(this.push({data:d.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},v.prototype.flush=function(){for(var g=this.bytesWritten,s=0;s=this.index;i--)o=(o<<8)+this.byteAt(i);return this.index+=l,o},readString:function(l){return r.transformTo("string",this.readData(l))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var l=this.readInt(4);return new Date(Date.UTC(1980+(l>>25&127),(l>>21&15)-1,l>>16&31,l>>11&31,l>>5&63,(31&l)<<1))}},a.exports=e},{"../utils":32}],19:[function(t,a,c){"use strict";var r=t("./Uint8ArrayReader");function e(l){r.call(this,l)}t("../utils").inherits(e,r),e.prototype.readData=function(l){this.checkOffset(l);var i=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,i},a.exports=e},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,a,c){"use strict";var r=t("./DataReader");function e(l){r.call(this,l)}t("../utils").inherits(e,r),e.prototype.byteAt=function(l){return this.data.charCodeAt(this.zero+l)},e.prototype.lastIndexOfSignature=function(l){return this.data.lastIndexOf(l)-this.zero},e.prototype.readAndCheckSignature=function(l){return l===this.readData(4)},e.prototype.readData=function(l){this.checkOffset(l);var i=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,i},a.exports=e},{"../utils":32,"./DataReader":18}],21:[function(t,a,c){"use strict";var r=t("./ArrayReader");function e(l){r.call(this,l)}t("../utils").inherits(e,r),e.prototype.readData=function(l){if(this.checkOffset(l),l===0)return new Uint8Array(0);var i=this.data.subarray(this.zero+this.index,this.zero+this.index+l);return this.index+=l,i},a.exports=e},{"../utils":32,"./ArrayReader":17}],22:[function(t,a,c){"use strict";var r=t("../utils"),e=t("../support"),l=t("./ArrayReader"),i=t("./StringReader"),o=t("./NodeBufferReader"),n=t("./Uint8ArrayReader");a.exports=function(h){var v=r.getTypeOf(h);return r.checkSupport(v),v!=="string"||e.uint8array?v==="nodebuffer"?new o(h):e.uint8array?new n(r.transformTo("uint8array",h)):new l(r.transformTo("array",h)):new i(h)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,a,c){"use strict";c.LOCAL_FILE_HEADER="PK",c.CENTRAL_FILE_HEADER="PK",c.CENTRAL_DIRECTORY_END="PK",c.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",c.ZIP64_CENTRAL_DIRECTORY_END="PK",c.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(t,a,c){"use strict";var r=t("./GenericWorker"),e=t("../utils");function l(i){r.call(this,"ConvertWorker to "+i),this.destType=i}e.inherits(l,r),l.prototype.processChunk=function(i){this.push({data:e.transformTo(this.destType,i.data),meta:i.meta})},a.exports=l},{"../utils":32,"./GenericWorker":28}],25:[function(t,a,c){"use strict";var r=t("./GenericWorker"),e=t("../crc32");function l(){r.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(l,r),l.prototype.processChunk=function(i){this.streamInfo.crc32=e(i.data,this.streamInfo.crc32||0),this.push(i)},a.exports=l},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,a,c){"use strict";var r=t("../utils"),e=t("./GenericWorker");function l(i){e.call(this,"DataLengthProbe for "+i),this.propName=i,this.withStreamInfo(i,0)}r.inherits(l,e),l.prototype.processChunk=function(i){if(i){var o=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=o+i.data.length}e.prototype.processChunk.call(this,i)},a.exports=l},{"../utils":32,"./GenericWorker":28}],27:[function(t,a,c){"use strict";var r=t("../utils"),e=t("./GenericWorker");function l(i){e.call(this,"DataWorker");var o=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,i.then(function(n){o.dataIsReady=!0,o.data=n,o.max=n&&n.length||0,o.type=r.getTypeOf(n),o.isPaused||o._tickAndRepeat()},function(n){o.error(n)})}r.inherits(l,e),l.prototype.cleanUp=function(){e.prototype.cleanUp.call(this),this.data=null},l.prototype.resume=function(){return!!e.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,r.delay(this._tickAndRepeat,[],this)),!0)},l.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(r.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},l.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var i=null,o=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":i=this.data.substring(this.index,o);break;case"uint8array":i=this.data.subarray(this.index,o);break;case"array":case"nodebuffer":i=this.data.slice(this.index,o)}return this.index=o,this.push({data:i,meta:{percent:this.max?this.index/this.max*100:0}})},a.exports=l},{"../utils":32,"./GenericWorker":28}],28:[function(t,a,c){"use strict";function r(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}r.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,l){return this._listeners[e].push(l),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,l){if(this._listeners[e])for(var i=0;i "+e:e}},a.exports=r},{}],29:[function(t,a,c){"use strict";var r=t("../utils"),e=t("./ConvertWorker"),l=t("./GenericWorker"),i=t("../base64"),o=t("../support"),n=t("../external"),h=null;if(o.nodestream)try{h=t("../nodejs/NodejsStreamOutputAdapter")}catch(s){}function v(s,d){return new n.Promise(function(z,u){var f=[],p=s._internalType,m=s._outputType,M=s._mimeType;s.on("data",function(w,H){f.push(w),d&&d(H)}).on("error",function(w){f=[],u(w)}).on("end",function(){try{var w=function(H,y,k){switch(H){case"blob":return r.newBlob(r.transformTo("arraybuffer",y),k);case"base64":return i.encode(y);default:return r.transformTo(H,y)}}(m,function(H,y){var k,F=0,U=null,A=0;for(k=0;k>>6:(z<65536?d[p++]=224|z>>>12:(d[p++]=240|z>>>18,d[p++]=128|z>>>12&63),d[p++]=128|z>>>6&63),d[p++]=128|63&z);return d}(g)},c.utf8decode=function(g){return e.nodebuffer?r.transformTo("nodebuffer",g).toString("utf-8"):function(s){var d,z,u,f,p=s.length,m=new Array(2*p);for(d=z=0;d>10&1023,m[z++]=56320|1023&u)}return m.length!==z&&(m.subarray?m=m.subarray(0,z):m.length=z),r.applyFromCharCode(m)}(g=r.transformTo(e.uint8array?"uint8array":"array",g))},r.inherits(h,i),h.prototype.processChunk=function(g){var s=r.transformTo(e.uint8array?"uint8array":"array",g.data);if(this.leftOver&&this.leftOver.length){if(e.uint8array){var d=s;(s=new Uint8Array(d.length+this.leftOver.length)).set(this.leftOver,0),s.set(d,this.leftOver.length)}else s=this.leftOver.concat(s);this.leftOver=null}var z=function(f,p){var m;for((p=p||f.length)>f.length&&(p=f.length),m=p-1;0<=m&&(192&f[m])==128;)m--;return m<0||m===0?p:m+o[f[m]]>p?m:p}(s),u=s;z!==s.length&&(e.uint8array?(u=s.subarray(0,z),this.leftOver=s.subarray(z,s.length)):(u=s.slice(0,z),this.leftOver=s.slice(z,s.length))),this.push({data:c.utf8decode(u),meta:g.meta})},h.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:c.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},c.Utf8DecodeWorker=h,r.inherits(v,i),v.prototype.processChunk=function(g){this.push({data:c.utf8encode(g.data),meta:g.meta})},c.Utf8EncodeWorker=v},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,a,c){"use strict";var r=t("./support"),e=t("./base64"),l=t("./nodejsUtils"),i=t("./external");function o(d){return d}function n(d,z){for(var u=0;u>8;this.dir=!!(16&this.externalFileAttributes),g==0&&(this.dosPermissions=63&this.externalFileAttributes),g==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var g=r(this.extraFields[1].value);this.uncompressedSize===e.MAX_VALUE_32BITS&&(this.uncompressedSize=g.readInt(8)),this.compressedSize===e.MAX_VALUE_32BITS&&(this.compressedSize=g.readInt(8)),this.localHeaderOffset===e.MAX_VALUE_32BITS&&(this.localHeaderOffset=g.readInt(8)),this.diskNumberStart===e.MAX_VALUE_32BITS&&(this.diskNumberStart=g.readInt(4))}},readExtraFields:function(g){var s,d,z,u=g.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});g.index+4>>6:(g<65536?v[z++]=224|g>>>12:(v[z++]=240|g>>>18,v[z++]=128|g>>>12&63),v[z++]=128|g>>>6&63),v[z++]=128|63&g);return v},c.buf2binstring=function(h){return n(h,h.length)},c.binstring2buf=function(h){for(var v=new r.Buf8(h.length),g=0,s=v.length;g>10&1023,f[s++]=56320|1023&d)}return n(f,s)},c.utf8border=function(h,v){var g;for((v=v||h.length)>h.length&&(v=h.length),g=v-1;0<=g&&(192&h[g])==128;)g--;return g<0||g===0?v:g+i[h[g]]>v?g:v}},{"./common":41}],43:[function(t,a,c){"use strict";a.exports=function(r,e,l,i){for(var o=65535&r|0,n=r>>>16&65535|0,h=0;l!==0;){for(l-=h=2e3>>1:e>>>1;l[i]=e}return l}();a.exports=function(e,l,i,o){var n=r,h=o+i;e^=-1;for(var v=o;v>>8^n[255&(e^l[v])];return-1^e}},{}],46:[function(t,a,c){"use strict";var r,e=t("../utils/common"),l=t("./trees"),i=t("./adler32"),o=t("./crc32"),n=t("./messages"),h=0,v=4,g=0,s=-2,d=-1,z=4,u=2,f=8,p=9,m=286,M=30,w=19,H=2*m+1,y=15,k=3,F=258,U=F+k+1,A=42,P=113,C=1,E=2,a1=3,j=4;function K(L,Y){return L.msg=n[Y],Y}function Z(L){return(L<<1)-(4L.avail_out&&(Q=L.avail_out),Q!==0&&(e.arraySet(L.output,Y.pending_buf,Y.pending_out,Q,L.next_out),L.next_out+=Q,Y.pending_out+=Q,L.total_out+=Q,L.avail_out-=Q,Y.pending-=Q,Y.pending===0&&(Y.pending_out=0))}function _(L,Y){l._tr_flush_block(L,0<=L.block_start?L.block_start:-1,L.strstart-L.block_start,Y),L.block_start=L.strstart,W(L.strm)}function g1(L,Y){L.pending_buf[L.pending++]=Y}function X(L,Y){L.pending_buf[L.pending++]=Y>>>8&255,L.pending_buf[L.pending++]=255&Y}function $(L,Y){var Q,b,R=L.max_chain_length,O=L.strstart,t1=L.prev_length,r1=L.nice_match,q=L.strstart>L.w_size-U?L.strstart-(L.w_size-U):0,h1=L.window,d1=L.w_mask,l1=L.prev,e1=L.strstart+F,w1=h1[O+t1-1],R1=h1[O+t1];L.prev_length>=L.good_match&&(R>>=2),r1>L.lookahead&&(r1=L.lookahead);do if(h1[(Q=Y)+t1]===R1&&h1[Q+t1-1]===w1&&h1[Q]===h1[O]&&h1[++Q]===h1[O+1]){O+=2,Q++;do;while(h1[++O]===h1[++Q]&&h1[++O]===h1[++Q]&&h1[++O]===h1[++Q]&&h1[++O]===h1[++Q]&&h1[++O]===h1[++Q]&&h1[++O]===h1[++Q]&&h1[++O]===h1[++Q]&&h1[++O]===h1[++Q]&&Oq&&--R!=0);return t1<=L.lookahead?t1:L.lookahead}function o1(L){var Y,Q,b,R,O,t1,r1,q,h1,d1,l1=L.w_size;do{if(R=L.window_size-L.lookahead-L.strstart,L.strstart>=l1+(l1-U)){for(e.arraySet(L.window,L.window,l1,l1,0),L.match_start-=l1,L.strstart-=l1,L.block_start-=l1,Y=Q=L.hash_size;b=L.head[--Y],L.head[Y]=l1<=b?b-l1:0,--Q;);for(Y=Q=l1;b=L.prev[--Y],L.prev[Y]=l1<=b?b-l1:0,--Q;);R+=l1}if(L.strm.avail_in===0)break;if(t1=L.strm,r1=L.window,q=L.strstart+L.lookahead,h1=R,d1=void 0,d1=t1.avail_in,h1=k)for(O=L.strstart-L.insert,L.ins_h=L.window[O],L.ins_h=(L.ins_h<=k&&(L.ins_h=(L.ins_h<=k)if(b=l._tr_tally(L,L.strstart-L.match_start,L.match_length-k),L.lookahead-=L.match_length,L.match_length<=L.max_lazy_match&&L.lookahead>=k){for(L.match_length--;L.strstart++,L.ins_h=(L.ins_h<=k&&(L.ins_h=(L.ins_h<=k&&L.match_length<=L.prev_length){for(R=L.strstart+L.lookahead-k,b=l._tr_tally(L,L.strstart-1-L.prev_match,L.prev_length-k),L.lookahead-=L.prev_length-1,L.prev_length-=2;++L.strstart<=R&&(L.ins_h=(L.ins_h<L.pending_buf_size-5&&(Q=L.pending_buf_size-5);;){if(L.lookahead<=1){if(o1(L),L.lookahead===0&&Y===h)return C;if(L.lookahead===0)break}L.strstart+=L.lookahead,L.lookahead=0;var b=L.block_start+Q;if((L.strstart===0||L.strstart>=b)&&(L.lookahead=L.strstart-b,L.strstart=b,_(L,!1),L.strm.avail_out===0)||L.strstart-L.block_start>=L.w_size-U&&(_(L,!1),L.strm.avail_out===0))return C}return L.insert=0,Y===v?(_(L,!0),L.strm.avail_out===0?a1:j):(L.strstart>L.block_start&&(_(L,!1),L.strm.avail_out),C)}),new x1(4,4,8,4,u1),new x1(4,5,16,8,u1),new x1(4,6,32,32,u1),new x1(4,4,16,16,N),new x1(8,16,32,32,N),new x1(8,16,128,128,N),new x1(8,32,128,256,N),new x1(32,128,258,1024,N),new x1(32,258,258,4096,N)],c.deflateInit=function(L,Y){return A1(L,Y,f,15,8,0)},c.deflateInit2=A1,c.deflateReset=k1,c.deflateResetKeep=B1,c.deflateSetHeader=function(L,Y){return L&&L.state?L.state.wrap!==2?s:(L.state.gzhead=Y,g):s},c.deflate=function(L,Y){var Q,b,R,O;if(!L||!L.state||5>8&255),g1(b,b.gzhead.time>>16&255),g1(b,b.gzhead.time>>24&255),g1(b,b.level===9?2:2<=b.strategy||b.level<2?4:0),g1(b,255&b.gzhead.os),b.gzhead.extra&&b.gzhead.extra.length&&(g1(b,255&b.gzhead.extra.length),g1(b,b.gzhead.extra.length>>8&255)),b.gzhead.hcrc&&(L.adler=o(L.adler,b.pending_buf,b.pending,0)),b.gzindex=0,b.status=69):(g1(b,0),g1(b,0),g1(b,0),g1(b,0),g1(b,0),g1(b,b.level===9?2:2<=b.strategy||b.level<2?4:0),g1(b,3),b.status=P);else{var t1=f+(b.w_bits-8<<4)<<8;t1|=(2<=b.strategy||b.level<2?0:b.level<6?1:b.level===6?2:3)<<6,b.strstart!==0&&(t1|=32),t1+=31-t1%31,b.status=P,X(b,t1),b.strstart!==0&&(X(b,L.adler>>>16),X(b,65535&L.adler)),L.adler=1}if(b.status===69)if(b.gzhead.extra){for(R=b.pending;b.gzindex<(65535&b.gzhead.extra.length)&&(b.pending!==b.pending_buf_size||(b.gzhead.hcrc&&b.pending>R&&(L.adler=o(L.adler,b.pending_buf,b.pending-R,R)),W(L),R=b.pending,b.pending!==b.pending_buf_size));)g1(b,255&b.gzhead.extra[b.gzindex]),b.gzindex++;b.gzhead.hcrc&&b.pending>R&&(L.adler=o(L.adler,b.pending_buf,b.pending-R,R)),b.gzindex===b.gzhead.extra.length&&(b.gzindex=0,b.status=73)}else b.status=73;if(b.status===73)if(b.gzhead.name){R=b.pending;do{if(b.pending===b.pending_buf_size&&(b.gzhead.hcrc&&b.pending>R&&(L.adler=o(L.adler,b.pending_buf,b.pending-R,R)),W(L),R=b.pending,b.pending===b.pending_buf_size)){O=1;break}O=b.gzindexR&&(L.adler=o(L.adler,b.pending_buf,b.pending-R,R)),O===0&&(b.gzindex=0,b.status=91)}else b.status=91;if(b.status===91)if(b.gzhead.comment){R=b.pending;do{if(b.pending===b.pending_buf_size&&(b.gzhead.hcrc&&b.pending>R&&(L.adler=o(L.adler,b.pending_buf,b.pending-R,R)),W(L),R=b.pending,b.pending===b.pending_buf_size)){O=1;break}O=b.gzindexR&&(L.adler=o(L.adler,b.pending_buf,b.pending-R,R)),O===0&&(b.status=103)}else b.status=103;if(b.status===103&&(b.gzhead.hcrc?(b.pending+2>b.pending_buf_size&&W(L),b.pending+2<=b.pending_buf_size&&(g1(b,255&L.adler),g1(b,L.adler>>8&255),L.adler=0,b.status=P)):b.status=P),b.pending!==0){if(W(L),L.avail_out===0)return b.last_flush=-1,g}else if(L.avail_in===0&&Z(Y)<=Z(Q)&&Y!==v)return K(L,-5);if(b.status===666&&L.avail_in!==0)return K(L,-5);if(L.avail_in!==0||b.lookahead!==0||Y!==h&&b.status!==666){var r1=b.strategy===2?function(q,h1){for(var d1;;){if(q.lookahead===0&&(o1(q),q.lookahead===0)){if(h1===h)return C;break}if(q.match_length=0,d1=l._tr_tally(q,0,q.window[q.strstart]),q.lookahead--,q.strstart++,d1&&(_(q,!1),q.strm.avail_out===0))return C}return q.insert=0,h1===v?(_(q,!0),q.strm.avail_out===0?a1:j):q.last_lit&&(_(q,!1),q.strm.avail_out===0)?C:E}(b,Y):b.strategy===3?function(q,h1){for(var d1,l1,e1,w1,R1=q.window;;){if(q.lookahead<=F){if(o1(q),q.lookahead<=F&&h1===h)return C;if(q.lookahead===0)break}if(q.match_length=0,q.lookahead>=k&&0q.lookahead&&(q.match_length=q.lookahead)}if(q.match_length>=k?(d1=l._tr_tally(q,1,q.match_length-k),q.lookahead-=q.match_length,q.strstart+=q.match_length,q.match_length=0):(d1=l._tr_tally(q,0,q.window[q.strstart]),q.lookahead--,q.strstart++),d1&&(_(q,!1),q.strm.avail_out===0))return C}return q.insert=0,h1===v?(_(q,!0),q.strm.avail_out===0?a1:j):q.last_lit&&(_(q,!1),q.strm.avail_out===0)?C:E}(b,Y):r[b.level].func(b,Y);if(r1!==a1&&r1!==j||(b.status=666),r1===C||r1===a1)return L.avail_out===0&&(b.last_flush=-1),g;if(r1===E&&(Y===1?l._tr_align(b):Y!==5&&(l._tr_stored_block(b,0,0,!1),Y===3&&(J(b.head),b.lookahead===0&&(b.strstart=0,b.block_start=0,b.insert=0))),W(L),L.avail_out===0))return b.last_flush=-1,g}return Y!==v?g:b.wrap<=0?1:(b.wrap===2?(g1(b,255&L.adler),g1(b,L.adler>>8&255),g1(b,L.adler>>16&255),g1(b,L.adler>>24&255),g1(b,255&L.total_in),g1(b,L.total_in>>8&255),g1(b,L.total_in>>16&255),g1(b,L.total_in>>24&255)):(X(b,L.adler>>>16),X(b,65535&L.adler)),W(L),0=Q.w_size&&(O===0&&(J(Q.head),Q.strstart=0,Q.block_start=0,Q.insert=0),h1=new e.Buf8(Q.w_size),e.arraySet(h1,Y,d1-Q.w_size,Q.w_size,0),Y=h1,d1=Q.w_size),t1=L.avail_in,r1=L.next_in,q=L.input,L.avail_in=d1,L.next_in=0,L.input=Y,o1(Q);Q.lookahead>=k;){for(b=Q.strstart,R=Q.lookahead-(k-1);Q.ins_h=(Q.ins_h<>>=k=y>>>24,p-=k,(k=y>>>16&255)===0)E[n++]=65535&y;else{if(!(16&k)){if(!(64&k)){y=m[(65535&y)+(f&(1<>>=k,p-=k),p<15&&(f+=C[i++]<>>=k=y>>>24,p-=k,!(16&(k=y>>>16&255))){if(!(64&k)){y=M[(65535&y)+(f&(1<>>=k,p-=k,(k=n-h)>3,f&=(1<<(p-=F<<3))-1,r.next_in=i,r.next_out=n,r.avail_in=i>>24&255)+(A>>>8&65280)+((65280&A)<<8)+((255&A)<<24)}function f(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function p(A){var P;return A&&A.state?(P=A.state,A.total_in=A.total_out=P.total=0,A.msg="",P.wrap&&(A.adler=1&P.wrap),P.mode=s,P.last=0,P.havedict=0,P.dmax=32768,P.head=null,P.hold=0,P.bits=0,P.lencode=P.lendyn=new r.Buf32(d),P.distcode=P.distdyn=new r.Buf32(z),P.sane=1,P.back=-1,v):g}function m(A){var P;return A&&A.state?((P=A.state).wsize=0,P.whave=0,P.wnext=0,p(A)):g}function M(A,P){var C,E;return A&&A.state?(E=A.state,P<0?(C=0,P=-P):(C=1+(P>>4),P<48&&(P&=15)),P&&(P<8||15=j.wsize?(r.arraySet(j.window,P,C-j.wsize,j.wsize,0),j.wnext=0,j.whave=j.wsize):(E<(a1=j.wsize-j.wnext)&&(a1=E),r.arraySet(j.window,P,C-E,a1,j.wnext),(E-=a1)?(r.arraySet(j.window,P,C-E,E,0),j.wnext=E,j.whave=j.wsize):(j.wnext+=a1,j.wnext===j.wsize&&(j.wnext=0),j.whave>>8&255,C.check=l(C.check,O,2,0),_=W=0,C.mode=2;break}if(C.flags=0,C.head&&(C.head.done=!1),!(1&C.wrap)||(((255&W)<<8)+(W>>8))%31){A.msg="incorrect header check",C.mode=30;break}if((15&W)!=8){A.msg="unknown compression method",C.mode=30;break}if(_-=4,L=8+(15&(W>>>=4)),C.wbits===0)C.wbits=L;else if(L>C.wbits){A.msg="invalid window size",C.mode=30;break}C.dmax=1<>8&1),512&C.flags&&(O[0]=255&W,O[1]=W>>>8&255,C.check=l(C.check,O,2,0)),_=W=0,C.mode=3;case 3:for(;_<32;){if(Z===0)break t;Z--,W+=E[j++]<<_,_+=8}C.head&&(C.head.time=W),512&C.flags&&(O[0]=255&W,O[1]=W>>>8&255,O[2]=W>>>16&255,O[3]=W>>>24&255,C.check=l(C.check,O,4,0)),_=W=0,C.mode=4;case 4:for(;_<16;){if(Z===0)break t;Z--,W+=E[j++]<<_,_+=8}C.head&&(C.head.xflags=255&W,C.head.os=W>>8),512&C.flags&&(O[0]=255&W,O[1]=W>>>8&255,C.check=l(C.check,O,2,0)),_=W=0,C.mode=5;case 5:if(1024&C.flags){for(;_<16;){if(Z===0)break t;Z--,W+=E[j++]<<_,_+=8}C.length=W,C.head&&(C.head.extra_len=W),512&C.flags&&(O[0]=255&W,O[1]=W>>>8&255,C.check=l(C.check,O,2,0)),_=W=0}else C.head&&(C.head.extra=null);C.mode=6;case 6:if(1024&C.flags&&(Z<($=C.length)&&($=Z),$&&(C.head&&(L=C.head.extra_len-C.length,C.head.extra||(C.head.extra=new Array(C.head.extra_len)),r.arraySet(C.head.extra,E,j,$,L)),512&C.flags&&(C.check=l(C.check,E,$,j)),Z-=$,j+=$,C.length-=$),C.length))break t;C.length=0,C.mode=7;case 7:if(2048&C.flags){if(Z===0)break t;for($=0;L=E[j+$++],C.head&&L&&C.length<65536&&(C.head.name+=String.fromCharCode(L)),L&&$>9&1,C.head.done=!0),A.adler=C.check=0,C.mode=12;break;case 10:for(;_<32;){if(Z===0)break t;Z--,W+=E[j++]<<_,_+=8}A.adler=C.check=u(W),_=W=0,C.mode=11;case 11:if(C.havedict===0)return A.next_out=K,A.avail_out=J,A.next_in=j,A.avail_in=Z,C.hold=W,C.bits=_,2;A.adler=C.check=1,C.mode=12;case 12:if(P===5||P===6)break t;case 13:if(C.last){W>>>=7&_,_-=7&_,C.mode=27;break}for(;_<3;){if(Z===0)break t;Z--,W+=E[j++]<<_,_+=8}switch(C.last=1&W,_-=1,3&(W>>>=1)){case 0:C.mode=14;break;case 1:if(F(C),C.mode=20,P!==6)break;W>>>=2,_-=2;break t;case 2:C.mode=17;break;case 3:A.msg="invalid block type",C.mode=30}W>>>=2,_-=2;break;case 14:for(W>>>=7&_,_-=7&_;_<32;){if(Z===0)break t;Z--,W+=E[j++]<<_,_+=8}if((65535&W)!=(W>>>16^65535)){A.msg="invalid stored block lengths",C.mode=30;break}if(C.length=65535&W,_=W=0,C.mode=15,P===6)break t;case 15:C.mode=16;case 16:if($=C.length){if(Z<$&&($=Z),J<$&&($=J),$===0)break t;r.arraySet(a1,E,j,$,K),Z-=$,j+=$,J-=$,K+=$,C.length-=$;break}C.mode=12;break;case 17:for(;_<14;){if(Z===0)break t;Z--,W+=E[j++]<<_,_+=8}if(C.nlen=257+(31&W),W>>>=5,_-=5,C.ndist=1+(31&W),W>>>=5,_-=5,C.ncode=4+(15&W),W>>>=4,_-=4,286>>=3,_-=3}for(;C.have<19;)C.lens[t1[C.have++]]=0;if(C.lencode=C.lendyn,C.lenbits=7,Q={bits:C.lenbits},Y=o(0,C.lens,0,19,C.lencode,0,C.work,Q),C.lenbits=Q.bits,Y){A.msg="invalid code lengths set",C.mode=30;break}C.have=0,C.mode=19;case 19:for(;C.have>>16&255,i1=65535&R,!((N=R>>>24)<=_);){if(Z===0)break t;Z--,W+=E[j++]<<_,_+=8}if(i1<16)W>>>=N,_-=N,C.lens[C.have++]=i1;else{if(i1===16){for(b=N+2;_>>=N,_-=N,C.have===0){A.msg="invalid bit length repeat",C.mode=30;break}L=C.lens[C.have-1],$=3+(3&W),W>>>=2,_-=2}else if(i1===17){for(b=N+3;_>>=N)),W>>>=3,_-=3}else{for(b=N+7;_>>=N)),W>>>=7,_-=7}if(C.have+$>C.nlen+C.ndist){A.msg="invalid bit length repeat",C.mode=30;break}for(;$--;)C.lens[C.have++]=L}}if(C.mode===30)break;if(C.lens[256]===0){A.msg="invalid code -- missing end-of-block",C.mode=30;break}if(C.lenbits=9,Q={bits:C.lenbits},Y=o(n,C.lens,0,C.nlen,C.lencode,0,C.work,Q),C.lenbits=Q.bits,Y){A.msg="invalid literal/lengths set",C.mode=30;break}if(C.distbits=6,C.distcode=C.distdyn,Q={bits:C.distbits},Y=o(h,C.lens,C.nlen,C.ndist,C.distcode,0,C.work,Q),C.distbits=Q.bits,Y){A.msg="invalid distances set",C.mode=30;break}if(C.mode=20,P===6)break t;case 20:C.mode=21;case 21:if(6<=Z&&258<=J){A.next_out=K,A.avail_out=J,A.next_in=j,A.avail_in=Z,C.hold=W,C.bits=_,i(A,X),K=A.next_out,a1=A.output,J=A.avail_out,j=A.next_in,E=A.input,Z=A.avail_in,W=C.hold,_=C.bits,C.mode===12&&(C.back=-1);break}for(C.back=0;x1=(R=C.lencode[W&(1<>>16&255,i1=65535&R,!((N=R>>>24)<=_);){if(Z===0)break t;Z--,W+=E[j++]<<_,_+=8}if(x1&&!(240&x1)){for(B1=N,k1=x1,A1=i1;x1=(R=C.lencode[A1+((W&(1<>B1)])>>>16&255,i1=65535&R,!(B1+(N=R>>>24)<=_);){if(Z===0)break t;Z--,W+=E[j++]<<_,_+=8}W>>>=B1,_-=B1,C.back+=B1}if(W>>>=N,_-=N,C.back+=N,C.length=i1,x1===0){C.mode=26;break}if(32&x1){C.back=-1,C.mode=12;break}if(64&x1){A.msg="invalid literal/length code",C.mode=30;break}C.extra=15&x1,C.mode=22;case 22:if(C.extra){for(b=C.extra;_>>=C.extra,_-=C.extra,C.back+=C.extra}C.was=C.length,C.mode=23;case 23:for(;x1=(R=C.distcode[W&(1<>>16&255,i1=65535&R,!((N=R>>>24)<=_);){if(Z===0)break t;Z--,W+=E[j++]<<_,_+=8}if(!(240&x1)){for(B1=N,k1=x1,A1=i1;x1=(R=C.distcode[A1+((W&(1<>B1)])>>>16&255,i1=65535&R,!(B1+(N=R>>>24)<=_);){if(Z===0)break t;Z--,W+=E[j++]<<_,_+=8}W>>>=B1,_-=B1,C.back+=B1}if(W>>>=N,_-=N,C.back+=N,64&x1){A.msg="invalid distance code",C.mode=30;break}C.offset=i1,C.extra=15&x1,C.mode=24;case 24:if(C.extra){for(b=C.extra;_>>=C.extra,_-=C.extra,C.back+=C.extra}if(C.offset>C.dmax){A.msg="invalid distance too far back",C.mode=30;break}C.mode=25;case 25:if(J===0)break t;if($=X-J,C.offset>$){if(($=C.offset-$)>C.whave&&C.sane){A.msg="invalid distance too far back",C.mode=30;break}o1=$>C.wnext?($-=C.wnext,C.wsize-$):C.wnext-$,$>C.length&&($=C.length),u1=C.window}else u1=a1,o1=K-C.offset,$=C.length;for(J<$&&($=J),J-=$,C.length-=$;a1[K++]=u1[o1++],--$;);C.length===0&&(C.mode=21);break;case 26:if(J===0)break t;a1[K++]=C.length,J--,C.mode=21;break;case 27:if(C.wrap){for(;_<32;){if(Z===0)break t;Z--,W|=E[j++]<<_,_+=8}if(X-=J,A.total_out+=X,C.total+=X,X&&(A.adler=C.check=C.flags?l(C.check,a1,X,K-X):e(C.check,a1,X,K-X)),X=J,(C.flags?W:u(W))!==C.check){A.msg="incorrect data check",C.mode=30;break}_=W=0}C.mode=28;case 28:if(C.wrap&&C.flags){for(;_<32;){if(Z===0)break t;Z--,W+=E[j++]<<_,_+=8}if(W!==(4294967295&C.total)){A.msg="incorrect length check",C.mode=30;break}_=W=0}C.mode=29;case 29:Y=1;break t;case 30:Y=-3;break t;case 31:return-4;case 32:default:return g}return A.next_out=K,A.avail_out=J,A.next_in=j,A.avail_in=Z,C.hold=W,C.bits=_,(C.wsize||X!==A.avail_out&&C.mode<30&&(C.mode<27||P!==4))&&U(A,A.output,A.next_out,X-A.avail_out)?(C.mode=31,-4):(g1-=A.avail_in,X-=A.avail_out,A.total_in+=g1,A.total_out+=X,C.total+=X,C.wrap&&X&&(A.adler=C.check=C.flags?l(C.check,a1,X,A.next_out-X):e(C.check,a1,X,A.next_out-X)),A.data_type=C.bits+(C.last?64:0)+(C.mode===12?128:0)+(C.mode===20||C.mode===15?256:0),(g1==0&&X===0||P===4)&&Y===v&&(Y=-5),Y)},c.inflateEnd=function(A){if(!A||!A.state)return g;var P=A.state;return P.window&&(P.window=null),A.state=null,v},c.inflateGetHeader=function(A,P){var C;return A&&A.state&&2&(C=A.state).wrap?((C.head=P).done=!1,v):g},c.inflateSetDictionary=function(A,P){var C,E=P.length;return A&&A.state?(C=A.state).wrap!==0&&C.mode!==11?g:C.mode===11&&e(1,P,E,0)!==C.check?-3:U(A,P,E,E)?(C.mode=31,-4):(C.havedict=1,v):g},c.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(t,a,c){"use strict";var r=t("../utils/common"),e=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],l=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],i=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],o=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];a.exports=function(n,h,v,g,s,d,z,u){var f,p,m,M,w,H,y,k,F,U=u.bits,A=0,P=0,C=0,E=0,a1=0,j=0,K=0,Z=0,J=0,W=0,_=null,g1=0,X=new r.Buf16(16),$=new r.Buf16(16),o1=null,u1=0;for(A=0;A<=15;A++)X[A]=0;for(P=0;PH?(k=o1[u1+z[P]],_[g1+z[P]]):(k=96,0),f=1<>K)+(p-=f)]=y<<24|k<<16|F|0,p!==0;);for(f=1<>=1;if(f!==0?(W&=f-1,W+=f):W=0,P++,--X[A]==0){if(A===E)break;A=h[v+z[P]]}if(a1>>7)]}function g1(R,O){R.pending_buf[R.pending++]=255&O,R.pending_buf[R.pending++]=O>>>8&255}function X(R,O,t1){R.bi_valid>u-t1?(R.bi_buf|=O<>u-R.bi_valid,R.bi_valid+=t1-u):(R.bi_buf|=O<>>=1,t1<<=1,0<--O;);return t1>>>1}function u1(R,O,t1){var r1,q,h1=new Array(z+1),d1=0;for(r1=1;r1<=z;r1++)h1[r1]=d1=d1+t1[r1-1]<<1;for(q=0;q<=O;q++){var l1=R[2*q+1];l1!==0&&(R[2*q]=o1(h1[l1]++,l1))}}function N(R){var O;for(O=0;O>1;1<=t1;t1--)B1(R,h1,t1);for(q=e1;t1=R.heap[1],R.heap[1]=R.heap[R.heap_len--],B1(R,h1,1),r1=R.heap[1],R.heap[--R.heap_max]=t1,R.heap[--R.heap_max]=r1,h1[2*q]=h1[2*t1]+h1[2*r1],R.depth[q]=(R.depth[t1]>=R.depth[r1]?R.depth[t1]:R.depth[r1])+1,h1[2*t1+1]=h1[2*r1+1]=q,R.heap[1]=q++,B1(R,h1,1),2<=R.heap_len;);R.heap[--R.heap_max]=R.heap[1],function(R1,a0){var V0,p4,Xt,p2,he,iv,a5=a0.dyn_tree,ff=a0.max_code,Lq=a0.stat_desc.static_tree,Hq=a0.stat_desc.has_stree,Vq=a0.stat_desc.extra_bits,Mf=a0.stat_desc.extra_base,Yt=a0.stat_desc.max_length,ve=0;for(p2=0;p2<=z;p2++)R1.bl_count[p2]=0;for(a5[2*R1.heap[R1.heap_max]+1]=0,V0=R1.heap_max+1;V0>=7;q>>=1)if(1&w1&&l1.dyn_ltree[2*e1]!==0)return e;if(l1.dyn_ltree[18]!==0||l1.dyn_ltree[20]!==0||l1.dyn_ltree[26]!==0)return l;for(e1=32;e1>>3,(h1=R.static_len+3+7>>>3)<=q&&(q=h1)):q=h1=t1+5,t1+4<=q&&O!==-1?b(R,O,t1,r1):R.strategy===4||h1===q?(X(R,2+(r1?1:0),3),k1(R,U,A)):(X(R,4+(r1?1:0),3),function(l1,e1,w1,R1){var a0;for(X(l1,e1-257,5),X(l1,w1-1,5),X(l1,R1-4,4),a0=0;a0>>8&255,R.pending_buf[R.d_buf+2*R.last_lit+1]=255&O,R.pending_buf[R.l_buf+R.last_lit]=255&t1,R.last_lit++,O===0?R.dyn_ltree[2*t1]++:(R.matches++,O--,R.dyn_ltree[2*(C[t1]+h+1)]++,R.dyn_dtree[2*_(O)]++),R.last_lit===R.lit_bufsize-1},c._tr_align=function(R){X(R,2,3),$(R,p,U),function(O){O.bi_valid===16?(g1(O,O.bi_buf),O.bi_buf=0,O.bi_valid=0):8<=O.bi_valid&&(O.pending_buf[O.pending++]=255&O.bi_buf,O.bi_buf>>=8,O.bi_valid-=8)}(R)}},{"../utils/common":41}],53:[function(t,a,c){"use strict";a.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,a,c){(function(r){(function(e,l){"use strict";if(!e.setImmediate){var i,o,n,h,v=1,g={},s=!1,d=e.document,z=Object.getPrototypeOf&&Object.getPrototypeOf(e);z=z&&z.setTimeout?z:e,i={}.toString.call(e.process)==="[object process]"?function(m){process.nextTick(function(){f(m)})}:function(){if(e.postMessage&&!e.importScripts){var m=!0,M=e.onmessage;return e.onmessage=function(){m=!1},e.postMessage("","*"),e.onmessage=M,m}}()?(h="setImmediate$"+Math.random()+"$",e.addEventListener?e.addEventListener("message",p,!1):e.attachEvent("onmessage",p),function(m){e.postMessage(h+m,"*")}):e.MessageChannel?((n=new MessageChannel).port1.onmessage=function(m){f(m.data)},function(m){n.port2.postMessage(m)}):d&&"onreadystatechange"in d.createElement("script")?(o=d.documentElement,function(m){var M=d.createElement("script");M.onreadystatechange=function(){f(m),M.onreadystatechange=null,o.removeChild(M),M=null},o.appendChild(M)}):function(m){setTimeout(f,0,m)},z.setImmediate=function(m){typeof m!="function"&&(m=new Function(""+m));for(var M=new Array(arguments.length-1),w=0;w{en=I(G(),1),dr=I(G(),1),c51=t=>typeof t=="function",RI=(t,a)=>c51(t)?t(a):t,r51=(()=>{let t=0;return()=>(++t).toString()})(),Ny1=(()=>{let t;return()=>{if(t===void 0&&typeof window<"u"){let a=matchMedia("(prefers-reduced-motion: reduce)");t=!a||a.matches}return t}})(),e51=20,an=new Map,l51=1e3,bI=t=>{if(an.has(t))return;let a=setTimeout(()=>{an.delete(t),a7({type:4,toastId:t})},l51);an.set(t,a)},i51=t=>{let a=an.get(t);a&&clearTimeout(a)},Au=(t,a)=>{switch(a.type){case 0:return D(S({},t),{toasts:[a.toast,...t.toasts].slice(0,e51)});case 1:return a.toast.id&&i51(a.toast.id),D(S({},t),{toasts:t.toasts.map(l=>l.id===a.toast.id?S(S({},l),a.toast):l)});case 2:let{toast:c}=a;return t.toasts.find(l=>l.id===c.id)?Au(t,{type:1,toast:c}):Au(t,{type:0,toast:c});case 3:let{toastId:r}=a;return r?bI(r):t.toasts.forEach(l=>{bI(l.id)}),D(S({},t),{toasts:t.toasts.map(l=>l.id===r||r===void 0?D(S({},l),{visible:!1}):l)});case 4:return a.toastId===void 0?D(S({},t),{toasts:[]}):D(S({},t),{toasts:t.toasts.filter(l=>l.id!==a.toastId)});case 5:return D(S({},t),{pausedAt:a.time});case 6:let e=a.time-(t.pausedAt||0);return D(S({},t),{pausedAt:void 0,toasts:t.toasts.map(l=>D(S({},l),{pauseDuration:l.pauseDuration+e}))})}},cn=[],rn={toasts:[],pausedAt:void 0},a7=t=>{rn=Au(rn,t),cn.forEach(a=>{a(rn)})},o51={blank:4e3,error:4e3,success:2e3,loading:1/0,custom:4e3},n51=(t={})=>{let[a,c]=(0,en.useState)(rn);(0,en.useEffect)(()=>(cn.push(c),()=>{let e=cn.indexOf(c);e>-1&&cn.splice(e,1)}),[a]);let r=a.toasts.map(e=>{var l,i;return D(S(S(S({},t),t[e.type]),e),{duration:e.duration||((l=t[e.type])==null?void 0:l.duration)||(t==null?void 0:t.duration)||o51[e.type],style:S(S(S({},t.style),(i=t[e.type])==null?void 0:i.style),e.style)})});return D(S({},a),{toasts:r})},h51=(t,a="blank",c)=>D(S({createdAt:Date.now(),visible:!0,type:a,ariaProps:{role:"status","aria-live":"polite"},message:t,pauseDuration:0},c),{id:(c==null?void 0:c.id)||r51()}),sr=t=>(a,c)=>{let r=h51(a,t,c);return a7({type:2,toast:r}),r.id},n3=(t,a)=>sr("blank")(t,a);n3.error=sr("error");n3.success=sr("success");n3.loading=sr("loading");n3.custom=sr("custom");n3.dismiss=t=>{a7({type:3,toastId:t})};n3.remove=t=>a7({type:4,toastId:t});n3.promise=(t,a,c)=>{let r=n3.loading(a.loading,S(S({},c),c==null?void 0:c.loading));return t.then(e=>(n3.success(RI(a.success,e),S(S({id:r},c),c==null?void 0:c.success)),e)).catch(e=>{n3.error(RI(a.error,e),S(S({id:r},c),c==null?void 0:c.error))}),t};v51=(t,a)=>{a7({type:1,toast:{id:t,height:a}})},g51=()=>{a7({type:5,time:Date.now()})},Ru=t=>{let{toasts:a,pausedAt:c}=n51(t);(0,dr.useEffect)(()=>{if(c)return;let l=Date.now(),i=a.map(o=>{if(o.duration===1/0)return;let n=(o.duration||0)+o.pauseDuration-(l-o.createdAt);if(n<0){o.visible&&n3.dismiss(o.id);return}return setTimeout(()=>n3.dismiss(o.id),n)});return()=>{i.forEach(o=>o&&clearTimeout(o))}},[a,c]);let r=(0,dr.useCallback)(()=>{c&&a7({type:6,time:Date.now()})},[c]),e=(0,dr.useCallback)((l,i)=>{let{reverseOrder:o=!1,gutter:n=8,defaultPosition:h}=i||{},v=a.filter(d=>(d.position||h)===(l.position||h)&&d.height),g=v.findIndex(d=>d.id===l.id),s=v.filter((d,z)=>zd.visible).slice(...o?[s+1]:[0,s]).reduce((d,z)=>d+(z.height||0)+n,0)},[a]);return{toasts:a,handlers:{updateHeight:v51,startPause:g51,endPause:r,calculateOffset:e}}},ln=n3});function EI(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}function d51(t){ht=t}function Z2(t,a){if(a){if(s51.test(t))return t.replace(z51,II)}else if(u51.test(t))return t.replace(p51,II);return t}function DI(t){return t.replace(f51,(a,c)=>(c=c.toLowerCase(),c==="colon"?":":c.charAt(0)==="#"?c.charAt(1)==="x"?String.fromCharCode(parseInt(c.substring(2),16)):String.fromCharCode(+c.substring(1)):""))}function U1(t,a){t=typeof t=="string"?t:t.source,a=a||"";let c={replace:(r,e)=>(e=e.source||e,e=e.replace(M51,"$1"),t=t.replace(r,e),c),getRegex:()=>new RegExp(t,a)};return c}function PI(t,a,c){if(t){let r;try{r=decodeURIComponent(DI(c)).replace(x51,"").toLowerCase()}catch(e){return null}if(r.indexOf("javascript:")===0||r.indexOf("vbscript:")===0||r.indexOf("data:")===0)return null}a&&!C51.test(c)&&(c=w51(a,c));try{c=encodeURI(c).replace(/%25/g,"%")}catch(r){return null}return c}function w51(t,a){on[" "+t]||(L51.test(t)?on[" "+t]=t+"/":on[" "+t]=nn(t,"/",!0)),t=on[" "+t];let c=t.indexOf(":")===-1;return a.substring(0,2)==="//"?c?a:t.replace(H51,"$1")+a:a.charAt(0)==="/"?c?a:t.replace(V51,"$1")+a:t+a}function l4(t){let a=1,c,r;for(;a{let n=!1,h=i;for(;--h>=0&&o[h]==="\\";)n=!n;return n?"|":" |"}),r=c.split(/ \|/),e=0;if(r[0].trim()||r.shift(),r.length>0&&!r[r.length-1].trim()&&r.pop(),r.length>a)r.splice(a);else for(;r.length1;)a&1&&(c+=t),a>>=1,t+=t;return c+t}function ZI(t,a,c,r){let e=a.href,l=a.title?Z2(a.title):null,i=t[1].replace(/\\([\[\]])/g,"$1");if(t[0].charAt(0)!=="!"){r.state.inLink=!0;let o={type:"link",raw:c,href:e,title:l,text:i,tokens:r.inlineTokens(i)};return r.state.inLink=!1,o}return{type:"image",raw:c,href:e,title:l,text:Z2(i)}}function y51(t,a){let c=t.match(/^(\s+)(?:```)/);if(c===null)return a;let r=c[1];return a.split("\n").map(e=>{let l=e.match(/^\s+/);if(l===null)return e;let[i]=l;return i.length>=r.length?e.slice(r.length):e}).join("\n")}function S51(t){return t.replace(/---/g,"\u2014").replace(/--/g,"\u2013").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1\u2018").replace(/'/g,"\u2019").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1\u201C").replace(/"/g,"\u201D").replace(/\.{3}/g,"\u2026")}function OI(t){let a="",c,r,e=t.length;for(c=0;c.5&&(r="x"+r.toString(16)),a+="&#"+r+";";return a}function V1(t,a,c){if(typeof t=="undefined"||t===null)throw new Error("marked(): input parameter is undefined or null");if(typeof t!="string")throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected");if(typeof a=="function"&&(c=a,a=null),a=l4({},V1.defaults,a||{}),WI(a),c){let e=a.highlight,l;try{l=Q6.lex(t,a)}catch(n){return c(n)}let i=function(n){let h;if(!n)try{a.walkTokens&&V1.walkTokens(l,a.walkTokens),h=B5.parse(l,a)}catch(v){n=v}return a.highlight=e,n?c(n):c(null,h)};if(!e||e.length<3||(delete a.highlight,!l.length))return i();let o=0;V1.walkTokens(l,function(n){n.type==="code"&&(o++,setTimeout(()=>{e(n.text,n.lang,function(h,v){if(h)return i(h);v!=null&&v!==n.text&&(n.text=v,n.escaped=!0),o--,o===0&&i()})},0))}),o===0&&i();return}function r(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",a.silent)return"

An error occurred:

"+Z2(e.message+"",!0)+"
";throw e}try{let e=Q6.lex(t,a);if(a.walkTokens){if(a.async)return Promise.all(V1.walkTokens(e,a.walkTokens)).then(()=>B5.parse(e,a)).catch(r);V1.walkTokens(e,a.walkTokens)}return B5.parse(e,a)}catch(e){r(e)}}var ht,s51,z51,u51,p51,m51,II,f51,M51,x51,C51,on,L51,H51,V51,hn,zr,H1,m1,Q6,ur,vn,gn,B5,$y1,Qy1,Xy1,Yy1,Jy1,tS1,aS1,_I=x(()=>{ht=EI();s51=/[&<>"']/,z51=/[&<>"']/g,u51=/[<>"']|&(?!#?\w+;)/,p51=/[<>"']|&(?!#?\w+;)/g,m51={"&":"&","<":"<",">":">",'"':""","'":"'"},II=t=>m51[t];f51=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;M51=/(^|[^\[])\^/g;x51=/[^\w:]/g,C51=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;on={},L51=/^[^:]+:\/*[^/]*$/,H51=/^([^:]+:)[\s\S]*$/,V51=/^([^:]+:\/*[^/]*)[\s\S]*$/;hn={exec:function(){}};zr=class{constructor(a){this.options=a||ht}space(a){let c=this.rules.block.newline.exec(a);if(c&&c[0].length>0)return{type:"space",raw:c[0]}}code(a){let c=this.rules.block.code.exec(a);if(c){let r=c[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:c[0],codeBlockStyle:"indented",text:this.options.pedantic?r:nn(r,"\n")}}}fences(a){let c=this.rules.block.fences.exec(a);if(c){let r=c[0],e=y51(r,c[3]||"");return{type:"code",raw:r,lang:c[2]?c[2].trim():c[2],text:e}}}heading(a){let c=this.rules.block.heading.exec(a);if(c){let r=c[2].trim();if(/#$/.test(r)){let e=nn(r,"#");(this.options.pedantic||!e||/ $/.test(e))&&(r=e.trim())}return{type:"heading",raw:c[0],depth:c[1].length,text:r,tokens:this.lexer.inline(r)}}}hr(a){let c=this.rules.block.hr.exec(a);if(c)return{type:"hr",raw:c[0]}}blockquote(a){let c=this.rules.block.blockquote.exec(a);if(c){let r=c[0].replace(/^ *>[ \t]?/gm,"");return{type:"blockquote",raw:c[0],tokens:this.lexer.blockTokens(r,[]),text:r}}}list(a){let c=this.rules.block.list.exec(a);if(c){let r,e,l,i,o,n,h,v,g,s,d,z,u=c[1].trim(),f=u.length>1,p={type:"list",raw:"",ordered:f,start:f?+u.slice(0,-1):"",loose:!1,items:[]};u=f?"\\d{1,9}\\".concat(u.slice(-1)):"\\".concat(u),this.options.pedantic&&(u=f?u:"[*+-]");let m=new RegExp("^( {0,3}".concat(u,")((?:[ ][^\\n]*)?(?:\\n|$))"));for(;a&&(z=!1,!(!(c=m.exec(a))||this.rules.block.hr.test(a)));){if(r=c[0],a=a.substring(r.length),v=c[2].split("\n",1)[0],g=a.split("\n",1)[0],this.options.pedantic?(i=2,d=v.trimLeft()):(i=c[2].search(/[^ ]/),i=i>4?1:i,d=v.slice(i),i+=c[1].length),n=!1,!v&&/^ *$/.test(g)&&(r+=g+"\n",a=a.substring(g.length+1),z=!0),!z){let w=new RegExp("^ {0,".concat(Math.min(3,i-1),"}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))")),H=new RegExp("^ {0,".concat(Math.min(3,i-1),"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)")),y=new RegExp("^ {0,".concat(Math.min(3,i-1),"}(?:```|~~~)")),k=new RegExp("^ {0,".concat(Math.min(3,i-1),"}#"));for(;a&&(s=a.split("\n",1)[0],v=s,this.options.pedantic&&(v=v.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!(y.test(v)||k.test(v)||w.test(v)||H.test(a)));){if(v.search(/[^ ]/)>=i||!v.trim())d+="\n"+v.slice(i);else if(!n)d+="\n"+v;else break;!n&&!v.trim()&&(n=!0),r+=s+"\n",a=a.substring(s.length+1)}}p.loose||(h?p.loose=!0:/\n *\n *$/.test(r)&&(h=!0)),this.options.gfm&&(e=/^\[[ xX]\] /.exec(d),e&&(l=e[0]!=="[ ] ",d=d.replace(/^\[[ xX]\] +/,""))),p.items.push({type:"list_item",raw:r,task:!!e,checked:l,loose:!1,text:d}),p.raw+=r}p.items[p.items.length-1].raw=r.trimRight(),p.items[p.items.length-1].text=d.trimRight(),p.raw=p.raw.trimRight();let M=p.items.length;for(o=0;oy.type==="space"),H=w.every(y=>{let k=y.raw.split(""),F=0;for(let U of k)if(U==="\n"&&(F+=1),F>1)return!0;return!1});!p.loose&&w.length&&H&&(p.loose=!0,p.items[o].loose=!0)}return p}}html(a){let c=this.rules.block.html.exec(a);if(c){let r={type:"html",raw:c[0],pre:!this.options.sanitizer&&(c[1]==="pre"||c[1]==="script"||c[1]==="style"),text:c[0]};if(this.options.sanitize){let e=this.options.sanitizer?this.options.sanitizer(c[0]):Z2(c[0]);r.type="paragraph",r.text=e,r.tokens=this.lexer.inline(e)}return r}}def(a){let c=this.rules.block.def.exec(a);if(c)return c[3]&&(c[3]=c[3].substring(1,c[3].length-1)),{type:"def",tag:c[1].toLowerCase().replace(/\s+/g," "),raw:c[0],href:c[2],title:c[3]}}table(a){let c=this.rules.block.table.exec(a);if(c){let r={type:"table",header:GI(c[1]).map(e=>({text:e})),align:c[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:c[3]&&c[3].trim()?c[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(r.header.length===r.align.length){r.raw=c[0];let e=r.align.length,l,i,o,n;for(l=0;l({text:h}));for(e=r.header.length,i=0;i/i.test(c[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(c[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(c[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:c[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(c[0]):Z2(c[0]):c[0]}}link(a){let c=this.rules.inline.link.exec(a);if(c){let r=c[2].trim();if(!this.options.pedantic&&/^$/.test(r))return;let i=nn(r.slice(0,-1),"\\");if((r.length-i.length)%2===0)return}else{let i=B51(c[2],"()");if(i>-1){let n=(c[0].indexOf("!")===0?5:4)+c[1].length+i;c[2]=c[2].substring(0,i),c[0]=c[0].substring(0,n).trim(),c[3]=""}}let e=c[2],l="";if(this.options.pedantic){let i=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(e);i&&(e=i[1],l=i[3])}else l=c[3]?c[3].slice(1,-1):"";return e=e.trim(),/^$/.test(r)?e=e.slice(1):e=e.slice(1,-1)),ZI(c,{href:e&&e.replace(this.rules.inline._escapes,"$1"),title:l&&l.replace(this.rules.inline._escapes,"$1")},c[0],this.lexer)}}reflink(a,c){let r;if((r=this.rules.inline.reflink.exec(a))||(r=this.rules.inline.nolink.exec(a))){let e=(r[2]||r[1]).replace(/\s+/g," ");if(e=c[e.toLowerCase()],!e||!e.href){let l=r[0].charAt(0);return{type:"text",raw:l,text:l}}return ZI(r,e,r[0],this.lexer)}}emStrong(a,c,r=""){let e=this.rules.inline.emStrong.lDelim.exec(a);if(!e||e[3]&&r.match(/[\p{L}\p{N}]/u))return;let l=e[1]||e[2]||"";if(!l||l&&(r===""||this.rules.inline.punctuation.exec(r))){let i=e[0].length-1,o,n,h=i,v=0,g=e[0][0]==="*"?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(g.lastIndex=0,c=c.slice(-1*a.length+i);(e=g.exec(c))!=null;){if(o=e[1]||e[2]||e[3]||e[4]||e[5]||e[6],!o)continue;if(n=o.length,e[3]||e[4]){h+=n;continue}else if((e[5]||e[6])&&i%3&&!((i+n)%3)){v+=n;continue}if(h-=n,h>0)continue;if(n=Math.min(n,n+h+v),Math.min(i,n)%2){let d=a.slice(1,i+e.index+n);return{type:"em",raw:a.slice(0,i+e.index+n+1),text:d,tokens:this.lexer.inlineTokens(d)}}let s=a.slice(2,i+e.index+n-1);return{type:"strong",raw:a.slice(0,i+e.index+n+1),text:s,tokens:this.lexer.inlineTokens(s)}}}}codespan(a){let c=this.rules.inline.code.exec(a);if(c){let r=c[2].replace(/\n/g," "),e=/[^ ]/.test(r),l=/^ /.test(r)&&/ $/.test(r);return e&&l&&(r=r.substring(1,r.length-1)),r=Z2(r,!0),{type:"codespan",raw:c[0],text:r}}}br(a){let c=this.rules.inline.br.exec(a);if(c)return{type:"br",raw:c[0]}}del(a){let c=this.rules.inline.del.exec(a);if(c)return{type:"del",raw:c[0],text:c[2],tokens:this.lexer.inlineTokens(c[2])}}autolink(a,c){let r=this.rules.inline.autolink.exec(a);if(r){let e,l;return r[2]==="@"?(e=Z2(this.options.mangle?c(r[1]):r[1]),l="mailto:"+e):(e=Z2(r[1]),l=e),{type:"link",raw:r[0],text:e,href:l,tokens:[{type:"text",raw:e,text:e}]}}}url(a,c){let r;if(r=this.rules.inline.url.exec(a)){let e,l;if(r[2]==="@")e=Z2(this.options.mangle?c(r[0]):r[0]),l="mailto:"+e;else{let i;do i=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])[0];while(i!==r[0]);e=Z2(r[0]),r[1]==="www."?l="http://"+e:l=e}return{type:"link",raw:r[0],text:e,href:l,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(a,c){let r=this.rules.inline.text.exec(a);if(r){let e;return this.lexer.state.inRawBlock?e=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):Z2(r[0]):r[0]:e=Z2(this.options.smartypants?c(r[0]):r[0]),{type:"text",raw:r[0],text:e}}}},H1={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:hn,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/};H1._label=/(?!\s*\])(?:\\.|[^\[\]\\])+/;H1._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/;H1.def=U1(H1.def).replace("label",H1._label).replace("title",H1._title).getRegex();H1.bullet=/(?:[*+-]|\d{1,9}[.)])/;H1.listItemStart=U1(/^( *)(bull) */).replace("bull",H1.bullet).getRegex();H1.list=U1(H1.list).replace(/bull/g,H1.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+H1.def.source+")").getRegex();H1._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";H1._comment=/|$)/;H1.html=U1(H1.html,"i").replace("comment",H1._comment).replace("tag",H1._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();H1.paragraph=U1(H1._paragraph).replace("hr",H1.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",H1._tag).getRegex();H1.blockquote=U1(H1.blockquote).replace("paragraph",H1.paragraph).getRegex();H1.normal=l4({},H1);H1.gfm=l4({},H1.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"});H1.gfm.table=U1(H1.gfm.table).replace("hr",H1.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",H1._tag).getRegex();H1.gfm.paragraph=U1(H1._paragraph).replace("hr",H1.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",H1.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",H1._tag).getRegex();H1.pedantic=l4({},H1.normal,{html:U1("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",H1._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:hn,paragraph:U1(H1.normal._paragraph).replace("hr",H1.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",H1.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});m1={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:hn,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:hn,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~";m1.punctuation=U1(m1.punctuation).replace(/punctuation/g,m1._punctuation).getRegex();m1.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g;m1.escapedEmSt=/\\\*|\\_/g;m1._comment=U1(H1._comment).replace("(?:-->|$)","-->").getRegex();m1.emStrong.lDelim=U1(m1.emStrong.lDelim).replace(/punct/g,m1._punctuation).getRegex();m1.emStrong.rDelimAst=U1(m1.emStrong.rDelimAst,"g").replace(/punct/g,m1._punctuation).getRegex();m1.emStrong.rDelimUnd=U1(m1.emStrong.rDelimUnd,"g").replace(/punct/g,m1._punctuation).getRegex();m1._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g;m1._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;m1._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;m1.autolink=U1(m1.autolink).replace("scheme",m1._scheme).replace("email",m1._email).getRegex();m1._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/;m1.tag=U1(m1.tag).replace("comment",m1._comment).replace("attribute",m1._attribute).getRegex();m1._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;m1._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/;m1._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/;m1.link=U1(m1.link).replace("label",m1._label).replace("href",m1._href).replace("title",m1._title).getRegex();m1.reflink=U1(m1.reflink).replace("label",m1._label).replace("ref",H1._label).getRegex();m1.nolink=U1(m1.nolink).replace("ref",H1._label).getRegex();m1.reflinkSearch=U1(m1.reflinkSearch,"g").replace("reflink",m1.reflink).replace("nolink",m1.nolink).getRegex();m1.normal=l4({},m1);m1.pedantic=l4({},m1.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:U1(/^!?\[(label)\]\((.*?)\)/).replace("label",m1._label).getRegex(),reflink:U1(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",m1._label).getRegex()});m1.gfm=l4({},m1.normal,{escape:U1(m1.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\n+" ".repeat(h.length));let r,e,l,i;for(;a;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(o=>(r=o.call({lexer:this},a,c))?(a=a.substring(r.raw.length),c.push(r),!0):!1))){if(r=this.tokenizer.space(a)){a=a.substring(r.raw.length),r.raw.length===1&&c.length>0?c[c.length-1].raw+="\n":c.push(r);continue}if(r=this.tokenizer.code(a)){a=a.substring(r.raw.length),e=c[c.length-1],e&&(e.type==="paragraph"||e.type==="text")?(e.raw+="\n"+r.raw,e.text+="\n"+r.text,this.inlineQueue[this.inlineQueue.length-1].src=e.text):c.push(r);continue}if(r=this.tokenizer.fences(a)){a=a.substring(r.raw.length),c.push(r);continue}if(r=this.tokenizer.heading(a)){a=a.substring(r.raw.length),c.push(r);continue}if(r=this.tokenizer.hr(a)){a=a.substring(r.raw.length),c.push(r);continue}if(r=this.tokenizer.blockquote(a)){a=a.substring(r.raw.length),c.push(r);continue}if(r=this.tokenizer.list(a)){a=a.substring(r.raw.length),c.push(r);continue}if(r=this.tokenizer.html(a)){a=a.substring(r.raw.length),c.push(r);continue}if(r=this.tokenizer.def(a)){a=a.substring(r.raw.length),e=c[c.length-1],e&&(e.type==="paragraph"||e.type==="text")?(e.raw+="\n"+r.raw,e.text+="\n"+r.raw,this.inlineQueue[this.inlineQueue.length-1].src=e.text):this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title});continue}if(r=this.tokenizer.table(a)){a=a.substring(r.raw.length),c.push(r);continue}if(r=this.tokenizer.lheading(a)){a=a.substring(r.raw.length),c.push(r);continue}if(l=a,this.options.extensions&&this.options.extensions.startBlock){let o=1/0,n=a.slice(1),h;this.options.extensions.startBlock.forEach(function(v){h=v.call({lexer:this},n),typeof h=="number"&&h>=0&&(o=Math.min(o,h))}),o<1/0&&o>=0&&(l=a.substring(0,o+1))}if(this.state.top&&(r=this.tokenizer.paragraph(l))){e=c[c.length-1],i&&e.type==="paragraph"?(e.raw+="\n"+r.raw,e.text+="\n"+r.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=e.text):c.push(r),i=l.length!==a.length,a=a.substring(r.raw.length);continue}if(r=this.tokenizer.text(a)){a=a.substring(r.raw.length),e=c[c.length-1],e&&e.type==="text"?(e.raw+="\n"+r.raw,e.text+="\n"+r.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=e.text):c.push(r);continue}if(a){let o="Infinite loop on byte: "+a.charCodeAt(0);if(this.options.silent){console.error(o);break}else throw new Error(o)}}return this.state.top=!0,c}inline(a,c=[]){return this.inlineQueue.push({src:a,tokens:c}),c}inlineTokens(a,c=[]){let r,e,l,i=a,o,n,h;if(this.tokens.links){let v=Object.keys(this.tokens.links);if(v.length>0)for(;(o=this.tokenizer.rules.inline.reflinkSearch.exec(i))!=null;)v.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,o.index)+"["+TI("a",o[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(o=this.tokenizer.rules.inline.blockSkip.exec(i))!=null;)i=i.slice(0,o.index)+"["+TI("a",o[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(o=this.tokenizer.rules.inline.escapedEmSt.exec(i))!=null;)i=i.slice(0,o.index)+"++"+i.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;a;)if(n||(h=""),n=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(v=>(r=v.call({lexer:this},a,c))?(a=a.substring(r.raw.length),c.push(r),!0):!1))){if(r=this.tokenizer.escape(a)){a=a.substring(r.raw.length),c.push(r);continue}if(r=this.tokenizer.tag(a)){a=a.substring(r.raw.length),e=c[c.length-1],e&&r.type==="text"&&e.type==="text"?(e.raw+=r.raw,e.text+=r.text):c.push(r);continue}if(r=this.tokenizer.link(a)){a=a.substring(r.raw.length),c.push(r);continue}if(r=this.tokenizer.reflink(a,this.tokens.links)){a=a.substring(r.raw.length),e=c[c.length-1],e&&r.type==="text"&&e.type==="text"?(e.raw+=r.raw,e.text+=r.text):c.push(r);continue}if(r=this.tokenizer.emStrong(a,i,h)){a=a.substring(r.raw.length),c.push(r);continue}if(r=this.tokenizer.codespan(a)){a=a.substring(r.raw.length),c.push(r);continue}if(r=this.tokenizer.br(a)){a=a.substring(r.raw.length),c.push(r);continue}if(r=this.tokenizer.del(a)){a=a.substring(r.raw.length),c.push(r);continue}if(r=this.tokenizer.autolink(a,OI)){a=a.substring(r.raw.length),c.push(r);continue}if(!this.state.inLink&&(r=this.tokenizer.url(a,OI))){a=a.substring(r.raw.length),c.push(r);continue}if(l=a,this.options.extensions&&this.options.extensions.startInline){let v=1/0,g=a.slice(1),s;this.options.extensions.startInline.forEach(function(d){s=d.call({lexer:this},g),typeof s=="number"&&s>=0&&(v=Math.min(v,s))}),v<1/0&&v>=0&&(l=a.substring(0,v+1))}if(r=this.tokenizer.inlineText(l,S51)){a=a.substring(r.raw.length),r.raw.slice(-1)!=="_"&&(h=r.raw.slice(-1)),n=!0,e=c[c.length-1],e&&e.type==="text"?(e.raw+=r.raw,e.text+=r.text):c.push(r);continue}if(a){let v="Infinite loop on byte: "+a.charCodeAt(0);if(this.options.silent){console.error(v);break}else throw new Error(v)}}return c}},ur=class{constructor(a){this.options=a||ht}code(a,c,r){let e=(c||"").match(/\S*/)[0];if(this.options.highlight){let l=this.options.highlight(a,e);l!=null&&l!==a&&(r=!0,a=l)}return a=a.replace(/\n$/,"")+"\n",e?'
'+(r?a:Z2(a,!0))+"
\n":"
"+(r?a:Z2(a,!0))+"
\n"}blockquote(a){return"
\n".concat(a,"
\n")}html(a){return a}heading(a,c,r,e){if(this.options.headerIds){let l=this.options.headerPrefix+e.slug(r);return"').concat(a,"\n")}return"").concat(a,"\n")}hr(){return this.options.xhtml?"
\n":"
\n"}list(a,c,r){let e=c?"ol":"ul",l=c&&r!==1?' start="'+r+'"':"";return"<"+e+l+">\n"+a+"\n"}listitem(a){return"
  • ".concat(a,"
  • \n")}checkbox(a){return" "}paragraph(a){return"

    ".concat(a,"

    \n")}table(a,c){return c&&(c="".concat(c,"")),"\n\n"+a+"\n"+c+"
    \n"}tablerow(a){return"\n".concat(a,"\n")}tablecell(a,c){let r=c.header?"th":"td";return(c.align?"<".concat(r,' align="').concat(c.align,'">'):"<".concat(r,">"))+a+"\n")}strong(a){return"".concat(a,"")}em(a){return"".concat(a,"")}codespan(a){return"".concat(a,"")}br(){return this.options.xhtml?"
    ":"
    "}del(a){return"".concat(a,"")}link(a,c,r){if(a=PI(this.options.sanitize,this.options.baseUrl,a),a===null)return r;let e='",e}image(a,c,r){if(a=PI(this.options.sanitize,this.options.baseUrl,a),a===null)return r;let e='').concat(r,'":">",e}text(a){return a}},vn=class{strong(a){return a}em(a){return a}codespan(a){return a}del(a){return a}html(a){return a}text(a){return a}link(a,c,r){return""+r}image(a,c,r){return""+r}br(){return""}},gn=class{constructor(){this.seen={}}serialize(a){return a.toLowerCase().trim().replace(/<[!\/a-z].*?>/ig,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(a,c){let r=a,e=0;if(this.seen.hasOwnProperty(r)){e=this.seen[a];do e++,r=a+"-"+e;while(this.seen.hasOwnProperty(r))}return c||(this.seen[a]=e,this.seen[r]=0),r}slug(a,c={}){let r=this.serialize(a);return this.getNextSafeSlug(r,c.dryrun)}},B5=class t{constructor(a){this.options=a||ht,this.options.renderer=this.options.renderer||new ur,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new vn,this.slugger=new gn}static parse(a,c){return new t(c).parse(a)}static parseInline(a,c){return new t(c).parseInline(a)}parse(a,c=!0){let r="",e,l,i,o,n,h,v,g,s,d,z,u,f,p,m,M,w,H,y,k=a.length;for(e=0;e0&&m.tokens[0].type==="paragraph"?(m.tokens[0].text=H+" "+m.tokens[0].text,m.tokens[0].tokens&&m.tokens[0].tokens.length>0&&m.tokens[0].tokens[0].type==="text"&&(m.tokens[0].tokens[0].text=H+" "+m.tokens[0].tokens[0].text)):m.tokens.unshift({type:"text",text:H}):p+=H),p+=this.parse(m.tokens,f),s+=this.renderer.listitem(p,w,M);r+=this.renderer.list(s,z,u);continue}case"html":{r+=this.renderer.html(d.text);continue}case"paragraph":{r+=this.renderer.paragraph(this.parseInline(d.tokens));continue}case"text":{for(s=d.tokens?this.parseInline(d.tokens):d.text;e+1{if(e.extensions&&(r=!0,e.extensions.forEach(l=>{if(!l.name)throw new Error("extension name required");if(l.renderer){let i=c.renderers?c.renderers[l.name]:null;i?c.renderers[l.name]=function(...o){let n=l.renderer.apply(this,o);return n===!1&&(n=i.apply(this,o)),n}:c.renderers[l.name]=l.renderer}if(l.tokenizer){if(!l.level||l.level!=="block"&&l.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");c[l.level]?c[l.level].unshift(l.tokenizer):c[l.level]=[l.tokenizer],l.start&&(l.level==="block"?c.startBlock?c.startBlock.push(l.start):c.startBlock=[l.start]:l.level==="inline"&&(c.startInline?c.startInline.push(l.start):c.startInline=[l.start]))}l.childTokens&&(c.childTokens[l.name]=l.childTokens)})),e.renderer){let l=V1.defaults.renderer||new ur;for(let i in e.renderer){let o=l[i];l[i]=(...n)=>{let h=e.renderer[i].apply(l,n);return h===!1&&(h=o.apply(l,n)),h}}a.renderer=l}if(e.tokenizer){let l=V1.defaults.tokenizer||new zr;for(let i in e.tokenizer){let o=l[i];l[i]=(...n)=>{let h=e.tokenizer[i].apply(l,n);return h===!1&&(h=o.apply(l,n)),h}}a.tokenizer=l}if(e.walkTokens){let l=V1.defaults.walkTokens;a.walkTokens=function(i){let o=[];return o.push(e.walkTokens.call(this,i)),l&&(o=o.concat(l.call(this,i))),o}}r&&(a.extensions=c),V1.setOptions(a)})};V1.walkTokens=function(t,a){let c=[];for(let r of t)switch(c=c.concat(a.call(V1,r)),r.type){case"table":{for(let e of r.header)c=c.concat(V1.walkTokens(e.tokens,a));for(let e of r.rows)for(let l of e)c=c.concat(V1.walkTokens(l.tokens,a));break}case"list":{c=c.concat(V1.walkTokens(r.items,a));break}default:V1.defaults.extensions&&V1.defaults.extensions.childTokens&&V1.defaults.extensions.childTokens[r.type]?V1.defaults.extensions.childTokens[r.type].forEach(function(e){c=c.concat(V1.walkTokens(r[e],a))}):r.tokens&&(c=c.concat(V1.walkTokens(r.tokens,a)))}return c};V1.parseInline=function(t,a){if(typeof t=="undefined"||t===null)throw new Error("marked.parseInline(): input parameter is undefined or null");if(typeof t!="string")throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected");a=l4({},V1.defaults,a||{}),WI(a);try{let c=Q6.lexInline(t,a);return a.walkTokens&&V1.walkTokens(c,a.walkTokens),B5.parseInline(c,a)}catch(c){if(c.message+="\nPlease report this to https://github.com/markedjs/marked.",a.silent)return"

    An error occurred:

    "+Z2(c.message+"",!0)+"
    ";throw c}};V1.Parser=B5;V1.parser=B5.parse;V1.Renderer=ur;V1.TextRenderer=vn;V1.Lexer=Q6;V1.lexer=Q6.lex;V1.Tokenizer=zr;V1.Slugger=gn;V1.parse=V1;$y1=V1.options,Qy1=V1.setOptions,Xy1=V1.use,Yy1=V1.walkTokens,Jy1=V1.parseInline,tS1=B5.parse,aS1=Q6.lex});var jI,k51,dn,bu=x(()=>{"use strict";c1();gr();k51=B(w5)(jI||(jI=V(["\n padding: 6px;\n"]))),dn=k51});var u2,Fu,zn,Iu,NI,A51,UI,rP,KI,R51,$I,qI,QI,b51,F51,XI,I51,sn,c7,YI,P51,JI,G51,tP,T51,aP,Z51,cP,O51,eP,lP,Pu,vt=x(()=>{"use strict";u2=I(G());FI();c1();G1();M1();f1();_I();nt();bu();Fu=({title:t,message:a})=>"".concat(t," ").concat(a),zn=(()=>{let t=new Map;return{add:a=>{let c=Fu(a);t.has(c)?t.set(c,t.get(c)+1):t.set(c,1)},delete:a=>{let c=Fu(a);t.has(c)&&t.get(c)>1?t.set(c,t.get(c)-1):t.delete(c)},clear:()=>{t.clear()},check:a=>t.has(Fu(a))}})(),Iu=(()=>{let t=new Map;return{add:a=>{t.has(a)?t.set(a,t.get(a)+1):t.set(a,1)},delete:a=>{t.has(a)&&t.get(a)>1?t.set(a,t.get(a)-1):t.delete(a)},clear:()=>{t.clear()},check:a=>t.has(a),get types(){return Array.of(...t.keys())}}})(),A51=B.div(NI||(NI=V(["\n width: 100%;\n border-radius: 4px;\n display: flex;\n gap: 12px;\n ",";\n background-color: rgba(40, 43, 47, 0.8);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25), 0 2px 6px rgba(0, 0, 0, 0.15);\n backdrop-filter: blur(14px);\n\n @supports not (backdrop-filter: blur()) {\n background: rgba(40, 43, 47, 0.95);\n }\n"])),C1),rP=B.div(UI||(UI=V(["\n font-size: 14px;\n font-weight: bold;\n color: #fff;\n"]))),R51=B.div(KI||(KI=V(["\n flex: 1;\n flex-direction: column;\n width: 0;\n display: flex;\n padding: 16px 0;\n gap: 12px;\n"]))),qI=B.div($I||($I=V(["\n color: #b4b4b4;\n font-size: 12px;\n line-height: 1.4;\n\n a {\n color: rgba(255, 255, 255, 0.9);\n }\n\n em {\n font-style: italic;\n }\n\n strong {\n font-weight: bold;\n color: #d5d5d5;\n }\n\n p {\n margin-bottom: 8px;\n }\n\n code {\n font-family: monospace;\n background: rgba(0, 0, 0, 0.3);\n padding: 1px 1px 2px;\n border-radius: 4px;\n border: 1px solid rgba(255, 255, 255, 0.08);\n white-space: pre-wrap;\n }\n\n pre > code {\n white-space: pre;\n display: block;\n overflow: auto;\n padding: 4px;\n }\n\n pre {\n white-space: pre-wrap;\n margin-bottom: 8px;\n }\n"]))),b51=B.button(QI||(QI=V(["\n color: rgba(255, 255, 255, 0.9);\n font-weight: 500;\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n padding-left: 12px;\n padding-right: 12px;\n border-left: 1px solid rgba(255, 255, 255, 0.05);\n\n &:hover {\n background: rgba(255, 255, 255, 0.05);\n }\n"]))),F51={info:"#3b82f6",success:"#10b981",warning:"#f59e0b",error:"#ef4444"},I51=B.div(XI||(XI=V(["\n display: flex;\n justify-content: center;\n margin-left: 12px;\n padding-top: 21px;\n\n ::before {\n content: '';\n width: 8px;\n height: 8px;\n border-radius: 999999px;\n background-color: ",";\n }\n"])),({type:t})=>F51[t]),sn=t=>(a,c,r=[],e=!1)=>{(e||!zn.check({title:a,message:c}))&&(zn.add({title:a,message:c}),Iu.add(t),ln.custom(l=>u2.default.createElement(A51,null,u2.default.createElement(I51,{type:t}),u2.default.createElement(R51,null,u2.default.createElement(rP,null,a),u2.default.createElement(qI,{dangerouslySetInnerHTML:{__html:V1.parse(c)}}),r.length>0&&u2.default.createElement(qI,null,u2.default.createElement("span",null,"Docs:"," ",r.map((i,o)=>u2.default.createElement(u2.Fragment,{key:o},o>0&&", ",u2.default.createElement("a",{target:"_blank",href:i.url},i.title)))))),u2.default.createElement(b51,{onClick:()=>{ln.remove(l.id),zn.delete({title:a,message:c}),Iu.delete(t)}},"Close")),{duration:1/0}))},c7={warning:sn("warning"),success:sn("success"),info:sn("info"),error:sn("error")},P51=B.div(YI||(YI=V(["\n display: flex;\n justify-content: ",";\n gap: 12px;\n"])),({align:t})=>t==="center"?"center":"flex-end"),G51=B.button(JI||(JI=V(["\n position: relative;\n border-radius: 4px;\n display: flex;\n align-items: center;\n gap: 12px;\n ",";\n background-color: rgba(40, 43, 47, 0.8);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25), 0 2px 6px rgba(0, 0, 0, 0.15);\n backdrop-filter: blur(14px);\n border: none;\n padding: 12px;\n color: #fff;\n overflow: hidden;\n\n ::before {\n content: '';\n position: absolute;\n inset: 0;\n }\n\n :hover::before {\n background: ",";\n }\n\n @supports not (backdrop-filter: blur()) {\n background: rgba(40, 43, 47, 0.95);\n }\n"])),C1,({danger:t})=>t?"rgba(255, 0, 0, 0.1)":"rgba(255, 255, 255, 0.1)"),T51=B.div(tP||(tP=V(["\n z-index: 10;\n display: flex;\n flex-direction: column;\n gap: 8px;\n position: fixed;\n right: 92px;\n top: 50px;\n width: 500px;\n height: 85vh;\n min-height: 400px;\n"]))),Z51=B.div(aP||(aP=V(["\n overflow: hidden;\n pointer-events: auto;\n border-radius: 4px;\n\n & > div {\n display: flex;\n flex-direction: column-reverse;\n gap: 8px;\n overflow: scroll;\n height: 100%;\n }\n"]))),O51=B.div(cP||(cP=V(["\n width: fit-content;\n padding: 8px;\n border-radius: 4px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n color: #b4b4b4;\n font-size: 12px;\n line-height: 1.4;\n"]))),eP=()=>{let{hasNotifications:t}=Pu();return R3({enabled:!t},()=>u2.default.createElement(dn,null,u2.default.createElement(O51,null,u2.default.createElement(rP,null,"No notifications"),"Notifications will appear here when you get them.")))},lP=()=>{var l;let{toasts:t,handlers:a}=Ru(),{startPause:c,endPause:r}=a,e=(l=s1(T().atomP.ahistoric.pinNotifications))!=null?l:!1;return u2.default.createElement(T51,null,e?t.length>0&&u2.default.createElement(Z51,{onMouseEnter:c,onMouseLeave:r},u2.default.createElement("div",null,t.map(i=>u2.default.createElement("div",{key:i.id},i.message(i))))):null,u2.default.createElement(P51,{align:"side"},e&&t.length>0&&u2.default.createElement(G51,{onClick:()=>{Iu.clear(),zn.clear(),ln.remove()},danger:!0},"Clear")))},Pu=()=>{let{toasts:t}=Ru();return{hasNotifications:t.length>0}}});function pr(t,a){var o;let c=Object.values((o=(0,iP.val)(t.pointers.historic.sheetsById))!=null?o:{}),r=c.flatMap(n=>{var h;return Object.values((h=n==null?void 0:n.staticOverrides.byObject)!=null?h:{})}).flatMap(n=>Object.values(n!=null?n:{})),l=[...c.flatMap(n=>{var h,v;return Object.values((v=(h=n==null?void 0:n.sequence)==null?void 0:h.tracksByObject)!=null?v:{})}).flatMap(n=>{var h;return Object.values((h=n==null?void 0:n.trackData)!=null?h:{})}).flatMap(n=>n==null?void 0:n.keyframes).map(n=>n==null?void 0:n.value)];return r.forEach(n=>{q5(n,h=>{l.push(h)},[])}),l.filter(n=>(n==null?void 0:n.type)&&(a?(n==null?void 0:n.type)==a:typeof(n==null?void 0:n.type)=="string")).map(n=>n.id).filter((n,h,v)=>n!==null&&n!==""&&v.indexOf(n)===h)}var iP,Gu=x(()=>{"use strict";iP=require("@theatre/dataverse");de()});function oP(t,a){let c=new File([t],a),r=URL.createObjectURL(c),e=Object.assign(document.createElement("a"),{href:r,target:"_blank",rel:"noopener"});e.setAttribute("download",a),e.click(),setTimeout(()=>{URL.revokeObjectURL(r)},4e4)}var L0,gP,nP,E51,hP,D51,vP,W51,_51,dP,sP=x(()=>{"use strict";f1();e4();c4();L0=I(G());c1();Bu();SI();gP=I(AI());vt();Gu();E51=B.div(nP||(nP=V([""]))),D51=B.div(hP||(hP=V(["\n padding: 8px 10px;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n"]))),W51=B(T2)(vP||(vP=V(["\n display flex;\n flex-direction: column;\n gap: 1em;\n width: 280px;\n padding: 1em;\n"])));_51=({projects:t})=>{let a=t[0],c=a.address.projectId,r=c.replace(/[^\w\d'_\-]+/g," ").trim(),e="".concat(r,".theatre-project-state.json"),[l,i]=(0,L0.useState)(!1),o=(0,L0.useCallback)(()=>e2(void 0,null,function*(){var s,d;let h=pr(a),v=new Map;try{yield Promise.all(h.map(z=>e2(void 0,null,function*(){let u=a.assetStorage.getAssetUrl(z),f=yield fetch(u);f.ok&&v.set(z,yield f.blob())})))}catch(z){c7.error("Failed to access assets","Export aborted. Failed to access assets at ".concat((d=(s=a.config.assets)==null?void 0:s.baseUrl)!=null?d:"/",". This is likely due to a CORS issue."));return}if(v.size>0){let z=new gP.default;for(let[f,p]of v)z.file(f,p);let u=yield z.generateAsync({type:"blob"});oP(u,"".concat(r,".assets.zip"))}let g=JSON.stringify(T().createContentOfSaveFile(a.address.projectId),null,2);oP(g,e),i(!0),setTimeout(()=>{i(!1)},2e3)}),[a,e]),n=x2({debugName:"ProjectDetails",pointerDistanceThreshold:50},()=>L0.default.createElement(W51,null,L0.default.createElement("p",null,"This will create a JSON file with the state of your project. You can commit this file to your git repo and include it in your production bundle."),L0.default.createElement("p",null,"If your project uses assets, this will also create a zip file with all the assets that you can unpack in your public folder."),L0.default.createElement("a",{href:"https://www.theatrejs.com/docs/latest/manual/projects#state",target:"_blank"},"Here is a quick guide on how to export to production.")));return L0.default.createElement(L0.default.Fragment,null,n.node,L0.default.createElement(E51,null,L0.default.createElement(yI,{projectId:c}),L0.default.createElement(D51,null,L0.default.createElement(vr,{onMouseEnter:h=>n.open(h,h.target),onClick:l?void 0:o,disabled:l},l?"(Exported)":"Export ".concat(c," to JSON")))))},dP=_51});var X6,zP,j51,uP,q51,pP,N51,mP,U51,K51,fP,MP=x(()=>{"use strict";X6=I(G());c1();b9();j51=B.div(zP||(zP=V(["\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 24px;\n"]))),q51=B.div(uP||(uP=V(["\n display: flex;\n flex-direction: column;\n gap: 11px;\n color: rgba(255, 255, 255, 0.9);\n"]))),N51=B.div(pP||(pP=V(["\n color: rgba(145, 145, 145, 0.8);\n"]))),U51=B.a(mP||(mP=V(["\n color: #919191;\n font-size: 10px;\n text-decoration-color: #40434a;\n text-underline-offset: 3px;\n"]))),K51=()=>X6.default.createElement(j51,null,X6.default.createElement(q51,null,X6.default.createElement(N51,null,X6.default.createElement(Gc,null)),X6.default.createElement("div",null,"Please select an object from the ",X6.default.createElement("u",null,"Outline Menu")," to see its properties.")),X6.default.createElement(U51,{href:"https://www.theatrejs.com/docs/latest/manual/objects",target:"_blank"},"Learn more about Objects")),fP=K51});function mr(){let[t,a]=(0,un.useState)(!1),c=(0,un.useMemo)(()=>{let r=new Set;return()=>{let e=()=>{r.delete(e),a(r.size>0)};return r.add(e),a(!0),e}},[]);return[t,c]}var un,Tu=x(()=>{"use strict";un=I(G())});var O1,Y6,$51,HP,Zu,VP,xP,wP,CP,BP,LP,N9,Q51,yP,Ou,gt,US1,Io=x(()=>{"use strict";C5();M1();O1=I(G());c1();N5();b4();G1();gI();sP();f1();bz();Y6=require("@theatre/dataverse");MP();Tu();K6();$51="32px",Zu=B.div(HP||(HP=V(["\n ",";\n background-color: rgba(40, 43, 47, 0.8);\n position: fixed;\n right: 8px;\n top: 50px;\n // Temporary, see comment about CSS grid in SingleRowPropEditor.\n width: 280px;\n height: fit-content;\n z-index: ",";\n\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25), 0 2px 6px rgba(0, 0, 0, 0.15);\n backdrop-filter: blur(14px);\n border-radius: 2px;\n\n display: ",";\n\n &:hover {\n display: block;\n }\n\n @supports not (backdrop-filter: blur()) {\n background: rgba(40, 43, 47, 0.95);\n }\n"])),C1,M5.propsPanel,({pin:t})=>t?"block":"none"),xP=B.div(VP||(VP=V(["\n margin: 0 10px;\n color: #919191;\n font-weight: 500;\n font-size: 10px;\n user-select: none;\n ",";\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n"])),C1),CP=B.div(wP||(wP=V(["\n height: ",";\n display: flex;\n align-items: center;\n"])),$51),LP=B.div(BP||(BP=V(["\n ",";\n max-height: calc(100vh - 100px);\n overflow-y: scroll;\n &::-webkit-scrollbar {\n display: none;\n }\n\n scrollbar-width: none;\n padding: 0;\n user-select: none;\n\n /* Set the font-size for input values in the detail panel */\n font-size: 12px;\n"])),C1),N9=(0,O1.createContext)([!1,()=>()=>{}]),Q51=t=>{let a=s1(T().atomP.ahistoric.pinDetails)!==!1,c=Dc("right");(0,O1.useLayoutEffect)(()=>{Ou.set(c)},[c]),(0,O1.useEffect)(()=>()=>{gt.set(!1),Ou.set(!1)},[]);let[r]=(0,O1.useContext)(N9),e=a||c||r,[l,i]=(0,O1.useState)(null);return _o(l),v1(()=>{let o=c3(),n=o.find(c0);if(n)return O1.default.createElement(Zu,{"data-testid":"DetailPanel-Object",pin:e,ref:i,onMouseEnter:()=>{gt.set(!0)},onMouseLeave:()=>{gt.set(!1)}},O1.default.createElement(CP,null,O1.default.createElement(xP,{title:"".concat(n.sheet.address.sheetId,": ").concat(n.sheet.address.sheetInstanceId," > ").concat(n.address.objectKey)},O1.default.createElement(x5,null,n.sheet.address.sheetId," "),O1.default.createElement(R9,null,":","\xA0"),O1.default.createElement(x5,null,n.sheet.address.sheetInstanceId," "),O1.default.createElement(R9,null,"\xA0\u2192\xA0"),O1.default.createElement(x5,null,n.address.objectKey))),O1.default.createElement(LP,null,O1.default.createElement(vI,{objects:[n]})));let h=o.find(se);return h?O1.default.createElement(Zu,{pin:e},O1.default.createElement(CP,null,O1.default.createElement(xP,{title:"".concat(h.address.projectId)},O1.default.createElement(x5,null,h.address.projectId," "))),O1.default.createElement(LP,null,O1.default.createElement(dP,{projects:[h]}))):O1.default.createElement(Zu,{pin:e,onMouseEnter:()=>{gt.set(!0)},onMouseLeave:()=>{gt.set(!1)}},O1.default.createElement(fP,null))},[e])},yP=()=>{let t=mr();return O1.default.createElement(N9.Provider,{value:t},O1.default.createElement(Q51,null))},Ou=new Y6.Atom(!1),gt=new Y6.Atom(!1),US1=(0,Y6.prism)(()=>{let t=(0,Y6.val)(gt.prism),a=(0,Y6.val)(Ou.prism);return t||a})});var pn,fr,dt,SP,D4,X51,mn,r7=x(()=>{"use strict";pn=require("@theatre/dataverse");M1();f1();Tu();fr=I(G());Ao();dt=(t,a)=>{let c=t.left/a.width,r=(t.left+t.width)/a.width,e=t.top/a.height,l=(t.height+t.top)/a.height;return{edges:{left:c<=.5?{from:"screenLeft",distance:c}:{from:"screenRight",distance:1-c},right:r<=.5?{from:"screenLeft",distance:r}:{from:"screenRight",distance:1-r},top:e<=.5?{from:"screenTop",distance:e}:{from:"screenBottom",distance:1-e},bottom:l<=.5?{from:"screenTop",distance:l}:{from:"screenBottom",distance:1-l}}}},SP=fr.default.createContext(null),D4=()=>(0,fr.useContext)(SP),X51=({panelId:t,children:a,defaultPosition:c,minDims:r})=>{let e=_9(800,200),[l,i]=mr(),{stuff:o}=v1(()=>{var p;let{edges:n}=(p=(0,pn.val)(T().atomP.historic.panelPositions[t]))!=null?p:c,h=Math.floor(e.width*(n.left.from==="screenLeft"?n.left.distance:1-n.left.distance)),v=Math.floor(e.width*(n.right.from==="screenLeft"?n.right.distance:1-n.right.distance)),g=Math.floor(e.height*(n.top.from==="screenTop"?n.top.distance:1-n.top.distance)),s=Math.floor(e.height*(n.bottom.from==="screenTop"?n.bottom.distance:1-n.bottom.distance)),d=Math.max(v-h,r.width),z=Math.max(s-g,r.height);return{stuff:{dims:pn.prism.memo("dims",()=>({width:d,left:h,top:g,height:z}),[d,h,g,z]),panelId:t,minDims:r,boundsHighlighted:l,addBoundsHighlightLock:i}}},[t,e,l,i]);return fr.default.createElement(SP.Provider,{value:o},a)},mn=X51});var e7,kP,Y51,J51,fn,Eu=x(()=>{"use strict";P1();f1();M2();e7=I(G());c1();r7();I0();H2();b4();Y51=B.div(kP||(kP=V(["\n cursor: move;\n"]))),J51=t=>{let a=D4(),c=(0,e7.useRef)(a);c.current=a;let[r,e]=z1(null),l=(0,e7.useMemo)(()=>({debugName:"PanelDragZone",lockCursorTo:"move",onDragStart(){let h=c.current,v,g=a.addBoundsHighlightLock();return{onDrag(s,d){let z=D(S({},h.dims),{top:b1(h.dims.top+d,0,window.innerHeight-S3),left:b1(h.dims.left+s,-h.dims.width+S3,window.innerWidth-S3)}),u=dt(z,{width:window.innerWidth,height:window.innerHeight});v==null||v.discard(),v=T().tempTransaction(({stateEditors:f})=>{f.studio.historic.panelPositions.setPanelPosition({position:u,panelId:h.panelId})})},onDragEnd(s){g(),s?v==null||v.commit():v==null||v.discard()}}}}),[]),[i]=S1(e,l);s2(i,"dragging","move");let[o,n]=(0,e7.useMemo)(()=>{let h;return[function(){if(h){let g=h;h=void 0,g()}h=a.addBoundsHighlightLock()},function(){if(h){let g=h;h=void 0,g()}}]},[]);return e7.default.createElement(Y51,D(S({},t),{ref:r,onMouseEnter:o,onMouseLeave:n}))},fn=J51});var st,RP,jP,bP,qP,FP,NP,IP,t61,PP,a61,GP,UP,TP,c61,ZP,r61,OP,Mn,EP,e61,DP,l61,WP,i61,_P,o61,n61,AP,h61,y5,KP=x(()=>{"use strict";P1();f1();M2();R0();st=I(G());c1();r7();G1();H2();b4();jP=B.div(RP||(RP=V(["\n position: absolute;\n ",";\n &:after {\n position: absolute;\n inset: -5px;\n display: block;\n content: ' ';\n }\n\n opacity: 0;\n background-color: #478698;\n\n &.isHighlighted {\n opacity: 0.7;\n }\n\n &.isDragging {\n opacity: 1;\n /* background-color: ","; */\n }\n\n &:hover {\n opacity: 1;\n }\n"])),C1,R6(.2,"#478698")),qP=B(jP)(bP||(bP=V(["\n /**\n The horizintal/vertical resize handles have z-index:-1 and are offset 1px outside of the panel\n to make sure they don't occlude any element that pops out of the panel (like the Playhead in SequenceEditorPanel).\n\n This means that panels will always need an extra 1px margin for their resize handles to be visible, but that's not a problem\n that we have to deal with right now (if it is at all a problem).\n \n */\n z-index: -1;\n"]))),NP=B(qP)(FP||(FP=V(["\n left: 0px;\n right: 0px;\n height: 1px;\n"]))),t61=B(NP)(IP||(IP=V(["\n top: -1px;\n"]))),a61=B(NP)(PP||(PP=V(["\n bottom: -1px;\n"]))),UP=B(qP)(GP||(GP=V(["\n z-index: -1;\n top: -1px;\n bottom: -1px;\n width: 1px;\n"]))),c61=B(UP)(TP||(TP=V(["\n left: -1px;\n"]))),r61=B(UP)(ZP||(ZP=V(["\n right: -1px;\n"]))),Mn=B(jP)(OP||(OP=V(["\n // The angles have z-index: 10 to make sure they _do_ occlude other elements in the panel.\n z-index: 10;\n width: 8px;\n height: 8px;\n"]))),e61=B(Mn)(EP||(EP=V(["\n top: 0;\n left: 0;\n"]))),l61=B(Mn)(DP||(DP=V(["\n top: 0;\n right: 0;\n"]))),i61=B(Mn)(WP||(WP=V(["\n bottom: 0;\n left: 0;\n"]))),o61=B(Mn)(_P||(_P=V(["\n bottom: 0;\n right: 0;\n"]))),n61={Top:t61,TopLeft:e61,TopRight:l61,Bottom:a61,BottomLeft:i61,BottomRight:o61,Left:c61,Right:r61},AP={Top:"ns-resize",Bottom:"ns-resize",Left:"ew-resize",Right:"ew-resize",TopLeft:"nw-resize",TopRight:"ne-resize",BottomLeft:"sw-resize",BottomRight:"se-resize"},h61=({which:t})=>{let a=D4(),c=(0,st.useRef)(a);c.current=a;let[r,e]=z1(null),l=(0,st.useMemo)(()=>({debugName:"PanelResizeHandle",lockCursorTo:AP[t],onDragStart(){let h,v=c.current,g=a.addBoundsHighlightLock();return{onDrag(s,d){let z=S({},v.dims);if(t.startsWith("Bottom"))z.height=Math.max(z.height+d,v.minDims.height);else if(t.startsWith("Top")){let f=z.top+z.height,p=b1(z.top+d,0,Math.min(f-v.minDims.height,window.innerHeight-S3)),m=f-p;z.height=m,z.top=p}if(t.endsWith("Left")){let f=z.left+z.width,p=Math.min(z.left+s,Math.min(f-v.minDims.width,window.innerWidth-S3)),m=f-p;z.width=m,z.left=p}else t.endsWith("Right")&&(z.width=Math.max(z.width+s,Math.max(v.minDims.width,S3-v.dims.left)));let u=dt(z,{width:window.innerWidth,height:window.innerHeight});h==null||h.discard(),h=T().tempTransaction(({stateEditors:f})=>{f.studio.historic.panelPositions.setPanelPosition({position:u,panelId:v.panelId})})},onDragEnd(s){g(),s?h==null||h.commit():h==null||h.discard()}}}}),[t]),[i]=S1(e,l),o=n61[t],n=t.length<=6;return st.default.createElement(o,{ref:r,className:[i?"isDragging":"",a.boundsHighlighted&&n?"isHighlighted":""].join(" "),style:{cursor:AP[t]}})},y5=h61});var i4,v61,$P,QP=x(()=>{"use strict";i4=I(G());KP();v61=t=>i4.default.createElement(i4.default.Fragment,null,i4.default.createElement(y5,{which:"Bottom"}),i4.default.createElement(y5,{which:"Top"}),i4.default.createElement(y5,{which:"Left"}),i4.default.createElement(y5,{which:"Right"}),i4.default.createElement(y5,{which:"TopLeft"}),i4.default.createElement(y5,{which:"TopRight"}),i4.default.createElement(y5,{which:"BottomLeft"}),i4.default.createElement(y5,{which:"BottomRight"})),$P=v61});var xn,XP,g61,d61,Cn,Du=x(()=>{"use strict";G1();xn=I(G());c1();r7();QP();g61=B.div(XP||(XP=V(["\n position: absolute;\n user-select: none;\n box-sizing: border-box;\n ",";\n /* box-shadow: 1px 2px 10px -5px black; */\n\n z-index: 1000;\n"])),C1),d61=xn.default.forwardRef((t,a)=>{let c=D4(),i=t,{style:r,children:e}=i,l=m4(i,["style","children"]);return xn.default.createElement(g61,D(S({ref:a},l),{style:S({width:c.dims.width+"px",height:c.dims.height+"px",top:c.dims.top+"px",left:c.dims.left+"px"},r!=null?r:{})}),xn.default.createElement($P,null),e)}),Cn=d61});var JP=L1((Ln,YP)=>{(function(t,a){typeof Ln=="object"&&typeof YP!="undefined"?a(Ln,G()):typeof define=="function"&&define.amd?define(["exports","react"],a):(t=typeof globalThis!="undefined"?globalThis:t||self,a(t.ReactErrorBoundary={},t.React))})(Ln,function(t,a){"use strict";function c(g){if(g&&g.__esModule)return g;var s=Object.create(null);return g&&Object.keys(g).forEach(function(d){if(d!=="default"){var z=Object.getOwnPropertyDescriptor(g,d);Object.defineProperty(s,d,z.get?z:{enumerable:!0,get:function(){return g[d]}})}}),s.default=g,Object.freeze(s)}var r=c(a);function e(g,s){return e=Object.setPrototypeOf||function(z,u){return z.__proto__=u,z},e(g,s)}function l(g,s){g.prototype=Object.create(s.prototype),g.prototype.constructor=g,e(g,s)}var i=function(s,d){return s===void 0&&(s=[]),d===void 0&&(d=[]),s.length!==d.length||s.some(function(z,u){return!Object.is(z,d[u])})},o={error:null},n=function(g){l(s,g);function s(){for(var z,u=arguments.length,f=new Array(u),p=0;p{"use strict";B2=I(G());c1();b4();r7();Eu();Du();iG=I(JP());K8();f1();b4();s61={edges:{left:{from:"screenLeft",distance:.3},right:{from:"screenRight",distance:.3},top:{from:"screenTop",distance:.3},bottom:{from:"screenBottom",distance:.3}}},z61={width:300,height:300},u61=({paneInstance:t})=>B2.default.createElement(mn,{panelId:"pane-".concat(t.instanceId),defaultPosition:s61,minDims:z61},B2.default.createElement(H61,{paneInstance:t})),p61=B(Cn)(tG||(tG=V(["\n display: flex;\n flex-direction: column;\n\n box-shadow: 0px 5px 12px -4px rgb(0 0 0 / 22%);\n z-index: ",";\n"])),M5.pluginPanes),m61=B.div(aG||(aG=V(["\n width: 100%;\n"]))),f61=B.div(cG||(cG=V(["\n display: flex;\n align-items: center;\n opacity: 1;\n position: absolute;\n right: 4px;\n top: 0;\n bottom: 0;\n"]))),M61=B.button(rG||(rG=V(["\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 2px;\n font-size: 11px;\n height: 10px;\n width: 18px;\n color: #adadadb3;\n background: transparent;\n border: none;\n cursor: pointer;\n &:hover {\n color: white;\n }\n"]))),x61=B(YS)(eG||(eG=V(["\n position: relative;\n overflow: hidden;\n\n &:after {\n z-index: 10;\n position: absolute;\n inset: 0;\n display: block;\n content: ' ';\n pointer-events: none;\n\n #pointer-root:not(.normal) & {\n pointer-events: auto;\n }\n }\n"]))),C61=B.div(lG||(lG=V(["\n padding: 12px;\n\n & > pre {\n border: 1px solid #ff62624f;\n background-color: rgb(255 0 0 / 5%);\n margin: 8px 0;\n padding: 8px;\n font-family: monospace;\n overflow: scroll;\n color: #ff9896;\n }\n"]))),L61=t=>B2.default.createElement(C61,null,"An Error occurred rendering this pane. Open the console for more info.",B2.default.createElement("pre",null,JSON.stringify({message:t.error.message,stack:t.error.stack},null,2))),H61=({paneInstance:t})=>{let[a,c]=(0,B2.useState)(null),r=t.definition.mount;(0,B2.useLayoutEffect)(()=>{if(!a)return;let l=r({paneId:t.instanceId,node:a});if(typeof l=="function")return l},[a,r,t.instanceId]);let e=(0,B2.useCallback)(()=>{T().paneManager.destroyPane(t.instanceId)},[t]);return B2.default.createElement(p61,{"data-testid":"theatre-pane-wrapper-".concat(t.instanceId)},B2.default.createElement(fn,null,B2.default.createElement(oo,null,B2.default.createElement(f61,null,B2.default.createElement(M61,{onClick:e,title:"Close Pane"},B2.default.createElement(AA,null))),B2.default.createElement(m61,null,t.instanceId))),B2.default.createElement(iG.ErrorBoundary,{FallbackComponent:L61},B2.default.createElement(x61,{"data-testid":"theatre-pane-content-".concat(t.instanceId),ref:c})))},oG=u61});var Hn,Vn,Wu=x(()=>{"use strict";Hn=require("@theatre/dataverse"),Vn=(t,a)=>{let c=Hn.prism.memo(t,()=>new Hn.Atom(a),[]);return c.set(a),c}});function wn(t,a){(0,hG.useLayoutEffect)(()=>{if(!t||a.type!=="propWithChildren"&&a.type!=="primitiveProp"&&a.type!=="sheetObject")return;let c=null,r=D(S({},a.sheetObject.address),{pathToProp:a.type==="sheetObject"?[]:a.pathToProp});function e(){c=tt.replaceLock(r,()=>{})}function l(){c==null||c()}return t.addEventListener("mouseenter",e),t.addEventListener("mouseleave",l),()=>{c==null||c(),t.removeEventListener("mouseenter",e),t.removeEventListener("mouseleave",l)}},[t])}var hG,_u=x(()=>{"use strict";hG=I(G());Qo()});var S5,vG,ju,gG,qu,dG,pG,sG,V61,zG,w61,uG,B61,y61,zt,Mr=x(()=>{"use strict";G1();S5=I(G());K8();c1();N6();_u();ju=B.li(vG||(vG=V(["\n --depth: ",";\n margin: 0;\n padding: 0;\n list-style: none;\n"])),t=>t.depth),qu=B.div(gG||(gG=V(["\n border-bottom: 1px solid #7695b705;\n"]))),pG=B(qu)(dG||(dG=V(["\n padding-left: calc(8px + var(--depth) * 20px);\n\n display: flex;\n align-items: stretch;\n color: ",";\n\n box-sizing: border-box;\n\n ",";\n"])),Z6.panel.body.compoudThing.label.color,t=>t.isSelected&&"background: blue"),V61=B.span(sG||(sG=V(["\n ",";\n overflow-x: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n padding-right: 4px;\n line-height: 26px;\n flex-wrap: nowrap;\n\n ",":hover & {\n color: #ccc;\n }\n"])),T0,pG),w61=B.span(zG||(zG=V(["\n width: 12px;\n padding: 8px;\n font-size: 9px;\n display: flex;\n align-items: center;\n\n transition: transform 0.05s ease-out, color 0.1s ease-out;\n transform: rotateZ(","deg);\n color: #66686a;\n\n &:hover {\n transform: rotateZ(","deg);\n color: #c0c4c9;\n }\n"])),t=>t.isCollapsed?0:90,t=>t.isCollapsed?15:75),B61=B.ul(uG||(uG=V(["\n margin: 0;\n padding: 0;\n list-style: none;\n"]))),y61=({leaf:t,label:a,children:c,isSelectable:r,isSelected:e,toggleSelect:l,toggleCollapsed:i,isCollapsed:o})=>{let n=Array.isArray(c)&&c.length>0,h=(0,S5.useRef)(null);return wn(h.current,t),t.shouldRender?S5.default.createElement(ju,{depth:t.depth},S5.default.createElement(pG,{ref:h,style:{height:t.nodeHeight+"px"},isSelectable:r===!0,isSelected:e===!0,onClick:l,isEven:t.n%2===0},S5.default.createElement(w61,{isCollapsed:o,onClick:i},S5.default.createElement(Co,null)),S5.default.createElement(V61,null,a)),n&&S5.default.createElement(B61,null,c)):null},zt=y61});function mG(t,a){return a.every((c,r)=>c===t[r])}function fG(t,a){if(t.length!==a.length)return!1;for(let c=0;c{"use strict";tr();h3=T4(t=>JSON.stringify(t)),ut=t=>JSON.parse(t)});function Nu(t,a){let c=(0,Bn.useRef)({combo:t,listener:a});c.current={combo:t,listener:a},(0,Bn.useEffect)(()=>{function r(i){i.key===c.current.combo&&c.current.listener({down:!0,event:i})}function e(i){i.key===c.current.combo&&c.current.listener({down:!1,event:i})}function l(i){c.current.listener({down:!1,event:void 0})}return document.addEventListener("keydown",r),document.addEventListener("keyup",e),window.addEventListener("blur",l),()=>{document.removeEventListener("keydown",r),document.removeEventListener("keyup",e),window.removeEventListener("blur",l)}},[])}var Bn,MG=x(()=>{"use strict";Bn=I(G())});function xr(t){let[a,c]=(0,xG.useState)(!1);return Nu(t,({down:r})=>{c(r)}),a}var xG,Uu=x(()=>{"use strict";xG=I(G());MG()});function Ku(t){let a=(0,yn.useMemo)(()=>new CG.Atom(t),[]);return(0,yn.useLayoutEffect)(()=>{a.set(t)},[t]),a}var CG,yn,LG=x(()=>{"use strict";CG=require("@theatre/dataverse"),yn=I(G())});function kn(t,a,c){let r=(0,Sn.pointer)({root:{},path:[]}),e=a(r);i6(t,(0,Sn.getPointerParts)(e).path,c)}var Sn,HG=x(()=>{"use strict";Sn=require("@theatre/dataverse");Xe()});var $u,S61,r2,b3=x(()=>{"use strict";$u="data-pos",S61={checkIfMouseEventSnapToPos(t,a){let c=t.composedPath().find(r=>r instanceof Element&&r!==(a==null?void 0:a.ignore)&&r.hasAttribute($u));if(c){let r=parseFloat(c.getAttribute($u));if(isFinite(r))return r}return null},includePositionSnapAttrs(t){return{[$u]:t}}},r2=S61});function t8(t){let a=t.type==="sheet"?A61(t):Qu(t);return{byPosition:k61(a),tracks:a}}function k61(t){let a=new Map;for(let c of t)for(let r of c.data.keyframes){let e=a.get(r.position);e||(e=[],a.set(r.position,e)),e.push({kf:r,track:c,itemKey:c2.forTrackKeyframe(c.sheetObject,c.id,r.id)})}return a}function A61(t){return t.children.flatMap(Qu)}function Qu(t){return t.children.flatMap(a=>a.type==="propWithChildren"?Qu(a):R61(a))}function R61(t){let a=t.sheetObject,c=a.address.projectId,r=T().atomP.historic.coreByProject[c].sheetsById[a.address.sheetId].sequence.tracksByObject[a.address.objectKey],e=(0,An.val)(r.trackIdByPropPath[h3(t.pathToProp)]);if(!e)return[];let l=(0,An.val)(r.trackData[e]);return l?[{id:e,data:l,sheetObject:a}]:[]}function VG(t,a){return x3(t.children.flatMap(c=>Rn(c,a)))}function Rn(t,a){return x3(t.children.flatMap(c=>c.type==="propWithChildren"?Rn(c,a):b61(c,a)))}function b61(t,a){var i,o;let c=t.sheetObject,r=c.address.projectId,e=T().atomP.historic.coreByProject[r].sheetsById[c.address.sheetId].sequence.tracksByObject[c.address.objectKey],l=(0,An.val)(e.trackIdByPropPath[h3(t.pathToProp)]);return l?(o=(i=a[c.address.objectKey])==null?void 0:i[l])!=null?o:[]:[]}var An,l7=x(()=>{"use strict";f1();An=require("@theatre/dataverse");O4();o4();H2()});function P61(t,a){let[c,r]=z1(null),e=C0("useCaptureSelection");return S1(a,(0,a8.useMemo)(()=>({debugName:"DopeSheetSelectionView/useCaptureSelection",dontBlockMouseDown:!0,lockCSSCursorTo:"cell",onDragStart(l){if(!l.shiftKey||l.target instanceof HTMLInputElement)return!1;let i=a.getBoundingClientRect(),o=l.clientX-i.left-(0,F3.val)(t.scaledSpace.leftPadding),n=(0,F3.val)(t.scaledSpace.toUnitSpace)(o);return c.current={h:[n,n],v:[l.clientY-i.top,l.clientY-i.top]},(0,F3.val)(t.selectionAtom).set({current:void 0}),{onDrag(h,v,g){let s=a.getBoundingClientRect(),d=g.clientX-s.left-(0,F3.val)(t.scaledSpace.leftPadding),z=(0,F3.val)(t.scaledSpace.toUnitSpace)(d);c.current={h:[c.current.h[0],z],v:[c.current.v[0],g.clientY-s.top]};let u=Xu.boundsToSelection(e,(0,F3.val)(t),c.current);(0,F3.val)(t.selectionAtom).set({current:u})},onDragEnd(h){c.current=null}}}}),[t,a,c])),r}var F3,a8,i7,wG,F61,I61,Xu,BG,G61,yG,T61,SG,kG=x(()=>{"use strict";f1();M2();Uu();LG();HG();P1();M1();F3=require("@theatre/dataverse"),a8=I(G());c1();b3();l7();L5();i7=5,F61=B.div(wG||(wG=V(["\n cursor: ",";\n"])),t=>t.isShiftDown?"cell":"default"),I61=({layoutP:t,children:a,height:c})=>{let[r,e]=z1(null),l=xr("Shift"),i=P61(t,e),o=(0,a8.useRef)(i);return o.current=i,a8.default.createElement(F61,{style:{height:c+"px"},ref:r,isShiftDown:l,className:"selectionview"},i&&a8.default.createElement(T61,{state:i,layoutP:t}),a)};(l=>{let t=(i,o,n,h,v)=>{let g=t8(n);if(n.top+n.nodeHeight/2+i7>h.v[0]&&n.top+n.nodeHeight/2-i7=h.h[1]))for(let f of d)kn(v,p=>p[f.track.sheetObject.address.objectKey].byTrackId[f.track.id].byKeyframeId[f.kf.id],!0)}c(i,o,n,h,v)},a={sheet(i,o,n,h,v){t(i,o,n,h,v)},propWithChildren(i,o,n,h,v){t(i,o,n,h,v)},sheetObject(i,o,n,h,v){t(i,o,n,h,v)},primitiveProp(i,o,n,h,v){let{sheetObject:g,trackId:s}=n,d=(0,F3.val)(T().atomP.historic.coreByProject[g.address.projectId].sheetsById[g.address.sheetId].sequence.tracksByObject[g.address.objectKey].trackData[s]);if(!(h.v[0]>n.top+n.heightIncludingChildren/2+i7||n.top+n.heightIncludingChildren/2-i7>h.v[1])){for(let z of d.keyframes)if(!(z.position+o.scaledSpace.toUnitSpace(i7)<=h.h[0])){if(z.position-o.scaledSpace.toUnitSpace(i7)>=h.h[1])break;kn(v,u=>u[g.address.objectKey].byTrackId[s].byKeyframeId[z.id],!0)}}}},c=(i,o,n,h,v)=>{if("children"in n)for(let g of n.children)r(i,o,g,h,v)};function r(i,o,n,h,v){if(!n.shouldRender||h.v[0]>n.top+n.heightIncludingChildren||n.top>h.v[1])return;let g=a[n.type];g?g(i,o,n,h,v):c(i,o,n,h,v)}function e(i,o,n){let h={};n=yG(n);let v=o.tree;r(i.utilFor.internal(),o,v,n,h);let g=o.tree.sheet;return{type:"DopeSheetSelection",byObjectKey:h,getDragHandlers(s){return{debugName:"DopeSheetSelectionView/boundsToSelection",onDragStart(){let d,z=o.scaledSpace.toUnitSpace;return{onDrag(u,f,p){d&&(d.discard(),d=void 0);let m=r2.checkIfMouseEventSnapToPos(p,{ignore:s.domNode}),M=m!=null?m-s.positionAtStartOfDrag:z(u);d=T().tempTransaction(({stateEditors:w})=>{let H=w.coreByProject.historic.sheetsById.sequence.transformKeyframes;for(let y of Object.keys(h)){let{byTrackId:k}=h[y];for(let F of Object.keys(k)){let{byKeyframeId:U}=k[F];H({trackId:F,keyframeIds:Object.keys(U),translate:M,scale:1,origin:0,snappingFunction:g.getSequence().closestGridPosition,objectKey:y,projectId:s.projectId,sheetId:s.sheetId})}}})},onDragEnd(u){u?d==null||d.commit():d==null||d.discard()}}}}},delete(){T().transaction(({stateEditors:s})=>{let d=s.coreByProject.historic.sheetsById.sequence.deleteKeyframes;for(let z of Object.keys(h)){let{byTrackId:u}=h[z];for(let f of Object.keys(u)){let{byKeyframeId:p}=u[f];d(D(S({},g.address),{objectKey:z,trackId:f,keyframeIds:Object.keys(p)}))}}})}}}l.boundsToSelection=e})(Xu||(Xu={}));G61=B.div(BG||(BG=V(["\n position: absolute;\n background: rgba(255, 255, 255, 0.1);\n border: 1px dashed rgba(255, 255, 255, 0.4);\n box-sizing: border-box;\n"]))),yG=t=>({h:[...t.h].sort((a,c)=>a-c),v:[...t.v].sort((a,c)=>a-c)}),T61=({state:t,layoutP:a})=>{let c=Ku(t);return v1(()=>{let r=(0,F3.val)(c.pointer),e=yG(r),l=(0,F3.val)(a.scaledSpace.fromUnitSpace),i=(0,F3.val)(a.scaledSpace.leftPadding),o=e.h.map(l).map(s=>s+i),n=e.v[0],h=e.v[1]-e.v[0],v=o[0],g=o[1]-o[0];return a8.default.createElement(G61,{style:{top:n+"px",height:h+"px",left:v+"px",width:g+"px"}})},[a,c])},SG=I61});var n4,AG,Z61,RG,bG,O61,FG,Yu=x(()=>{"use strict";W8();n4=I(G());c1();W4();Z61=B.div(AG||(AG=V(["\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n overflow-x: hidden;\n overflow-y: scroll;\n z-index: ",";\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n scrollbar-width: none;\n"])),()=>K2.scrollableArea),RG=(0,n4.createContext)(h0),bG=()=>(0,n4.useContext)(RG),O61=t=>{let a=(0,n4.useRef)(null),c=(0,n4.useCallback)(r=>{a.current.scrollBy(0,r.deltaY)},[]);return n4.default.createElement(RG.Provider,{value:c},n4.default.createElement(Z61,{ref:a},t.children))},FG=O61});var PG,IG=x(()=>{PG='data:image/svg+xml,%0A %0A %0A %0A %0A'});var H0,Cr=x(()=>{"use strict";H0=(t,a=t)=>"\n left: ".concat(t*-.5,"px;\n top: ").concat(a*-.5,"px;\n width: ").concat(t,"px;\n height: ").concat(a,"px;\n")});var bn,D61,GG,TG=x(()=>{"use strict";bn=require("@theatre/dataverse"),D61=(0,bn.prism)(()=>{let[t,a]=bn.prism.state("pos",null);return bn.prism.effect("setupListeners",()=>{let c=r=>{a(r)};return document.addEventListener("mousemove",c),()=>{document.removeEventListener("mousemove",c)}},[]),t}),GG=D61});var h4,C2,Fn,W61,_61,ZG,OG,g0,O2,Ju,j61,EG,E2=x(()=>{"use strict";h4=require("@theatre/dataverse");TG();H2();C2=I(G()),Fn=(0,C2.createContext)(null),W61=0,_61=({children:t,layoutP:a})=>{let c=(0,C2.useMemo)(()=>new h4.Atom([]),[]),r=(0,C2.useMemo)(()=>(0,h4.prism)(()=>{let i=h4.prism.memo("p",()=>j61(a),[a]).getValue(),o=(0,h4.val)(c.pointer);return o.length>0?M3(o).position:i}),[a]),e=(0,C2.useCallback)(()=>{let i=W61++;return c.reduce(h=>[...h,{id:i,position:[-1,0]}]),{set:h=>{c.reduce(v=>{let g=v.findIndex(d=>d.id===i);if(g===-1)return console.warn("Lock is already freed. This is a bug."),v;let s=[...v];return s.splice(g,1,{id:i,position:[h,h===-1?0:1]}),s})},unlock:()=>{c.reduce(h=>h.filter(v=>v.id!==i))}}},[]),l={currentD:r,getLock:e};return C2.default.createElement(Fn.Provider,{value:l},t)},ZG=()=>(0,C2.useContext)(Fn).currentD,OG=()=>{let{getLock:t}=(0,C2.useContext)(Fn),a=(0,C2.useRef)();return(0,C2.useLayoutEffect)(()=>()=>{var c;(c=a.current)==null||c.unlock()},[]),(0,C2.useMemo)(()=>{let c;return(r,e)=>{var l,i;(c==null?void 0:c.shouldLock)!==r&&(r?a.current=t():(l=a.current)==null||l.unlock()),(c==null?void 0:c.pos)!==e&&r&&((i=a.current)==null||i.set(e)),c={shouldLock:r,pos:e}}},[t])},g0=(t,a)=>{let{getLock:c}=(0,C2.useContext)(Fn),r=(0,C2.useRef)();(0,C2.useLayoutEffect)(()=>{if(t)return r.current=c(),()=>{r.current.unlock()}},[t,c]),(0,C2.useLayoutEffect)(()=>{t&&r.current.set(a)},[a,t])},O2=t=>({[Ju]:t==="hide"?t:t.toFixed(3)}),Ju="data-theatre-lock-framestamp-to",j61=t=>(0,h4.prism)(()=>{let a=(0,h4.val)(t.rightDims),c=(0,h4.val)(t.clippedSpace.toUnitSpace),r=(0,h4.val)(GG);if(!r)return[-1,0];for(let v of r.composedPath()){if(!(v instanceof HTMLElement||v instanceof SVGElement))break;if(v.hasAttribute(Ju)){let g=v.getAttribute(Ju);if(typeof g!="string")continue;if(g==="hide")return[-1,0];let s=parseFloat(g);if(isFinite(s)&&s>=0)return[s,2]}}let{clientX:e,clientY:l}=r,{screenX:i,screenY:o,width:n,height:h}=a;if(Qe(e,i,i+n)&&Qe(l,o+16,o+h)){let v=e-i;return[c(v),3]}else return[-1,0]}),EG=_61});var q61,In,DG,WG,_G,v4,tp=x(()=>{"use strict";G1();I0();c1();IG();Cr();b3();E2();q61=12,In=34,DG="beingDragged",v4={BEING_DRAGGED_CLASS:DG,CSS:f2(WG||(WG=V(["\n position: absolute;\n ",";\n ",";\n\n &."," {\n pointer-events: none !important;\n }\n "])),H0(q61),C1,DG),CSS_WHEN_SOMETHING_DRAGGING:f2(_G||(_G=V(["\n pointer-events: auto;\n cursor: var(",");\n\n // \u2E22\u2E24\u2E23\u2E25 thing\n // This box extends the hitzone so the user does not\n // accidentally leave the hitzone\n &:hover:after {\n position: absolute;\n top: calc(50% - ","px);\n left: calc(50% - ","px);\n width: ","px;\n height: ","px;\n display: block;\n content: ' ';\n background: url(",") no-repeat 100% 100%;\n // This icon might also fit: GiConvergenceTarget\n }\n "])),F0,In/2,In/2,In,In,PG),reactProps(t){return D(S(S({},O2(t.position)),r2.includePositionSnapAttrs(t.position)),{className:t.isDragging?v4.BEING_DRAGGED_CLASS:""})}}});function mt(){Pn.set({mode:"snapToAll"})}function I3(){Pn.set({mode:"snapToNone"})}function Tn(t){Pn.set({mode:"snapToSome",positions:t})}function Zn(t,a){return Object.fromEntries(Object.entries(t).map(([c,r])=>[c,Object.fromEntries(Object.entries(r.trackData).map(([e,l])=>[e,l.keyframes.filter(i=>a(i,{trackId:e,trackData:l,objectKey:c})).map(i=>i.position)]))]))}var NG,UG,ap,jG,N61,qG,U61,K61,pt,Pn,Gn,c8=x(()=>{"use strict";NG=require("@theatre/dataverse"),UG=require("@theatre/dataverse"),ap=I(G());c1();tp();N61=B.div(jG||(jG=V(["\n z-index: 1;\n cursor: ew-resize;\n\n ","\n\n #pointer-root.draggingPositionInSequenceEditor & {\n ","\n }\n"])),v4.CSS,v4.CSS_WHEN_SOMETHING_DRAGGING),U61=B.div(qG||(qG=V(["\n position: absolute;\n"]))),K61=t=>ap.default.createElement(U61,{style:{top:"".concat(t.leaf.nodeHeight/2,"px"),left:"calc(".concat((0,UG.val)(t.layoutP.scaledSpace.leftPadding),"px + calc(var(--unitSpaceToScaledSpaceMultiplier) * ").concat(t.position,"px))")}},ap.default.createElement(N61,S({},v4.reactProps({isDragging:!1,position:t.position})))),pt=K61,Pn=new NG.Atom({mode:"snapToNone"}),Gn=Pn.prism});function X61(t,a){let c=(0,k5.useMemo)(()=>({debugName:"HorizontallyScrollableArea",onDragStart(e){if(e.target instanceof HTMLInputElement||e.shiftKey||e.altKey||e.ctrlKey||e.metaKey||e.composedPath().some(g=>g instanceof HTMLElement&&g.draggable===!0))return!1;let l=e.clientX-a.getBoundingClientRect().left,i=b1((0,i2.val)(t.clippedSpace.toUnitSpace)(l),0,1/0),o=(0,i2.val)(t.seeker.setIsSeeking),n=(0,i2.val)(t.sheet).getSequence();n.position=i;let h=i,v=(0,i2.val)(t.scaledSpace.toUnitSpace);return o(!0),mt(),{onDrag(g,s,d){let z=v(g),f=b1(h+z,0,n.length),p=r2.checkIfMouseEventSnapToPos(d,{});p!=null&&(f=p),n.position=f},onDragEnd(){o(!1),I3()}}}}),[t,a]),[r]=S1(a,c);s2(r,"draggingPositionInSequenceEditor","ew-resize")}function Y61(t,a){let c=bG();(0,k5.useLayoutEffect)(()=>{if(!a)return;let r=l=>{if(l.ctrlKey){l.preventDefault(),l.stopPropagation();let i=l.clientX-a.getBoundingClientRect().left,o=(0,i2.val)(t.clippedSpace.toUnitSpace)(i),n=(0,i2.val)(t.clippedSpace.range),v=1+cp(l.deltaY,[-50,50])*.03,g=l5(n,z=>(z-o)*v+o),s=(0,i2.val)(t.sheet).getSequence().length,d=s+s*.25;(0,i2.val)(t.clippedSpace.setRange)(J61(g,[0,d]));return}else if(l.shiftKey){l.preventDefault(),l.stopPropagation();let i=(0,i2.val)(t.sheet).getSequence().length,o=(0,i2.val)(t.clippedSpace.range),h=(o.end-o.start)/i,g=cp(l.deltaY||l.deltaX,[-50,50])*.05*h,s=l5(o,d=>d+g);(0,i2.val)(t.clippedSpace.setRange)(s);return}else{c(l),l.preventDefault(),l.stopPropagation();let o=(0,i2.val)(t.scaledSpace.toUnitSpace)(l.deltaX*1),n=(0,i2.val)(t.clippedSpace.range),h=l5(n,g=>g+o);(0,i2.val)(t.clippedSpace.setRange)(h);return}},e={capture:!0,passive:!1};return a.addEventListener("wheel",r,e),()=>{a.removeEventListener("wheel",r,e)}},[a,t]),S1(a,(0,k5.useMemo)(()=>({onDragStart(r){let e=(0,i2.val)(t.clippedSpace.range),l=(0,i2.val)(t.clippedSpace.setRange),i=(0,i2.val)(t.scaledSpace.toUnitSpace);return r.preventDefault(),r.stopPropagation(),{onDrag(o,n,h,v,g){c({deltaY:-g});let s=-i(o),d=l5(e,z=>z+s);l(d)}}},debugName:"HorizontallyScrollableArea Middle Button Drag",buttons:[1],lockCSSCursorTo:"grabbing"}),[t]))}function cp(t,[a,c]){return Math.max(Math.min(t,c),a)}function J61(t,a){return l5(t,c=>cp(c,a))}function t81(t,a){(0,k5.useLayoutEffect)(()=>{if(!a)return;let c=(0,i2.prism)(()=>{let i=(0,i2.val)(t.clippedSpace.range);return(0,i2.val)(t.scaledSpace.fromUnitSpace)(i.start)}),r=()=>{let i=c.getValue();a.scrollLeft=i},e=c.onStale(r);r();let l=setTimeout(r,100);return()=>{clearTimeout(l),e()}},[t,a])}var i2,k5,KG,$61,Q61,On,rp=x(()=>{"use strict";M2();P1();M1();i2=require("@theatre/dataverse");H2();k5=I(G());c1();Yu();G1();I0();b3();c8();$61=B.div(KG||(KG=V(["\n position: absolute;\n\n right: 0;\n overflow-x: scroll;\n overflow-y: hidden;\n ",";\n\n // hide the scrollbar on Gecko\n scrollbar-width: none;\n\n // hide the scrollbar on Webkit/Blink\n &::-webkit-scrollbar {\n display: none;\n }\n"])),C1),Q61=k5.default.memo(({layoutP:t,children:a,height:c})=>{let{width:r,unitSpaceToScaledSpaceMultiplier:e}=v1(()=>({width:(0,i2.val)(t.rightDims.width),unitSpaceToScaledSpaceMultiplier:(0,i2.val)(t.scaledSpace.fromUnitSpace)(1)}),[t]),[l,i]=z1(null);return Y61(t,i),X61(t,i),t81(t,i),k5.default.createElement($61,{ref:l,style:{width:r+"px",height:c+"px","--unitSpaceToScaledSpaceMultiplier":e}},a)}),On=Q61});var En,$G,a81,QG,c81,XG,r81,e81,A5,Lr=x(()=>{"use strict";En=I(G());c1();a81=B.li($G||($G=V(["\n margin: 0;\n padding: 0;\n list-style: none;\n box-sizing: border-box;\n position: relative;\n"]))),c81=B.div(QG||(QG=V(["\n box-sizing: border-box;\n width: 100%;\n position: relative;\n\n &:before {\n position: absolute;\n display: block;\n content: ' ';\n left: -40px;\n top: 0;\n bottom: 0;\n right: 0;\n box-sizing: border-box;\n border-bottom: 1px solid #252b3869;\n background: ",";\n }\n"])),t=>t.isEven?"transparent":"#6b8fb505"),r81=B.ul(XG||(XG=V(["\n margin: 0;\n padding: 0;\n list-style: none;\n"]))),e81=({leaf:t,children:a,node:c,isCollapsed:r})=>{let e=Array.isArray(a)&&a.length>0;return t.shouldRender?En.default.createElement(a81,null,En.default.createElement(c81,{style:{height:t.nodeHeight+"px"},isEven:t.n%2===0},c),e&&En.default.createElement(r81,null,a)):null},A5=e81});var tT=L1((YG,JG)=>{(function(){var t=this,a={};typeof YG!="undefined"?JG.exports=a:t.fuzzy=a,a.simpleFilter=function(c,r){return r.filter(function(e){return a.test(c,e)})},a.test=function(c,r){return a.match(c,r)!==null},a.match=function(c,r,e){e=e||{};var l=0,i=[],o=r.length,n=0,h=0,v=e.pre||"",g=e.post||"",s=e.caseSensitive&&r||r.toLowerCase(),d;c=e.caseSensitive&&c||c.toLowerCase();for(var z=0;zt(r),e.current)}var ft,cT=x(()=>{"use strict";ft=I(G())});var Dn,_4,Hr=x(()=>{"use strict";Dn="rgba(26, 28, 30, 0.97);",_4="#272B2F"});function lT(t,a,c,r){let e=aT(l=>({debugName:"CurveSegmentEditor/useKeyframeDrag",lockCSSCursorTo:"move",onDragStart(){return l(!0),{onDrag(i,o){t&&c.onCurveChange(r(i,o))},onDragEnd(i){l(!1),c.onCancelCurveChange()}}}}),[t,c.onCurveChange,c.onCancelCurveChange]);S1(a,e)}var I1,lp,Wn,wr,l81,_n,i81,ep,o81,n81,h81,Vr,v81,Mt,g81,d81,rT,iT,ip,oT,eT,s81,nT,hT=x(()=>{"use strict";I1=I(G());M2();P1();ua();c1();G1();cT();Hr();lp=.12,Wn=1+lp*2,wr=.01,l81=8,_n=(1-wr)/(l81-1),i81="#3EAAA4",ep="#3EAAA4",o81="#3EAAA4",n81="#3EAAA4",h81="#3EAAA4",Vr="#3EAAA4",v81="#3EAAA4",Mt="#B3B3B3",g81="#3eaaa4",d81="#67dfd8",rT=["goldenrod","cornflowerblue","dodgerblue","lawngreen"],ip=B.circle(iT||(iT=V(["\n stroke-width: 0.1px;\n vector-effect: non-scaling-stroke;\n r: 0.04px;\n pointer-events: none;\n transition: r 0.15s;\n fill: ",";\n"])),g81),eT=B.circle(oT||(oT=V(["\n stroke-width: 0.1px;\n vector-effect: non-scaling-stroke;\n r: 0.09px;\n cursor: move;\n ",";\n &:hover {\n opacity: 0.4;\n }\n &:hover + "," {\n fill: ",";\n }\n"])),C1,ip,d81),s81=t=>{let{curveConnection:{left:a,right:c},backgroundConnections:r}=t,e=Math.min(0,1-c.handles[1],1-a.handles[3]),l=Math.max(1,1-c.handles[1],1-a.handles[3]),i=Math.max(1,l-e),o=m=>(m-e)/i,[n,h]=z1(null),v=Wn/((h==null?void 0:h.clientWidth)||1),g=Wn/((h==null?void 0:h.clientHeight)||1),[s,d]=z1(null);lT(h,d,t,(m,M)=>{let w=b1(a.handles[2]+m*v,0,1),H=a.handles[3]-M*g;return[w,H,c.handles[0],c.handles[1]]});let[z,u]=z1(null);lT(h,u,t,(m,M)=>{let w=b1(c.handles[0]+m*v,0,1),H=c.handles[1]-M*g;return[a.handles[2],a.handles[3],w,H]});let f=m=>"M0 ".concat(o(1)," C").concat(m.left.handles[2]," ").concat(o(1-m.left.handles[3])," ").concat(m.right.handles[0]," ").concat(o(1-m.right.handles[1])," 1 ").concat(o(0)),p="0,100 100,100 100,0";return I1.default.createElement("svg",{height:"100%",width:"100%",ref:n,viewBox:"".concat(-lp," ").concat(-lp," ").concat(Wn," ").concat(Wn),xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"none",fill:"none"},I1.default.createElement("linearGradient",{id:"myGradient",gradientTransform:"rotate(90)"},I1.default.createElement("stop",{offset:o(-1),stopColor:v81}),I1.default.createElement("stop",{offset:o(0),stopColor:Vr}),I1.default.createElement("stop",{offset:o(.3),stopColor:h81}),I1.default.createElement("stop",{offset:o(.5),stopColor:n81}),I1.default.createElement("stop",{offset:o(.7),stopColor:o81}),I1.default.createElement("stop",{offset:o(1),stopColor:ep}),I1.default.createElement("stop",{offset:o(2),stopColor:i81})),I1.default.createElement("pattern",{id:"dot-background-pattern-1",width:_n,height:_n/i,y:-e/i},I1.default.createElement("rect",{width:wr,height:wr,fill:Mt,opacity:.3})),I1.default.createElement("rect",{x:0,y:0,width:"1",height:1,fill:"url(#dot-background-pattern-1)"}),I1.default.createElement("pattern",{id:"dot-background-pattern-2",width:_n,height:_n},I1.default.createElement("rect",{width:wr,height:wr,fill:Mt})),I1.default.createElement("rect",{x:0,y:o(0),width:"1",height:o(1)-o(0),fill:"url(#dot-background-pattern-2)"}),!a.type||a.type==="bezier"?I1.default.createElement(I1.default.Fragment,null,I1.default.createElement("line",{x1:0,y1:o(1),x2:a.handles[2],y2:o(1-a.handles[3]),stroke:Mt,strokeWidth:"0.01"}),I1.default.createElement("line",{x1:1,y1:o(0),x2:c.handles[0],y2:o(1-c.handles[1]),stroke:Mt,strokeWidth:"0.01"}),I1.default.createElement("path",{d:f(t.curveConnection),stroke:"none",fill:"url('#myGradient')",opacity:"0.1"}),r.map((m,M)=>I1.default.createElement("path",{key:m.objectKey+"/"+m.left.id,d:f(m),stroke:rT[M%rT.length],opacity:.6,strokeWidth:"0.01"})),I1.default.createElement("path",{d:f(t.curveConnection),stroke:"url('#myGradient')",strokeWidth:"0.02"}),I1.default.createElement("circle",{cx:0,cy:o(1),r:"0.025",stroke:ep,strokeWidth:"0.02",fill:_4}),I1.default.createElement("circle",{cx:1,cy:o(0),r:"0.025",stroke:Vr,strokeWidth:"0.02",fill:_4}),I1.default.createElement(eT,{ref:s,cx:a.handles[2],cy:o(1-a.handles[3]),fill:ep,opacity:.2}),I1.default.createElement(ip,{cx:a.handles[2],cy:o(1-a.handles[3])}),I1.default.createElement(eT,{ref:z,cx:c.handles[0],cy:o(1-c.handles[1]),fill:Vr,opacity:.2}),I1.default.createElement(ip,{cx:c.handles[0],cy:o(1-c.handles[1])})):I1.default.createElement(I1.default.Fragment,null,I1.default.createElement("line",{x1:0,y1:o(1),x2:1,y2:o(1),stroke:Mt,strokeWidth:"0.01"}),I1.default.createElement("line",{x1:1,y1:o(1),x2:1,y2:0,stroke:Mt,strokeWidth:"0.01"}),I1.default.createElement("circle",{cx:0,cy:1,r:"0.025",stroke:Vr,strokeWidth:"0.02",fill:_4}),I1.default.createElement("circle",{cx:1,cy:0,r:"0.025",stroke:Vr,strokeWidth:"0.02",fill:_4})))},nT=s81});function Br(t){return t.map(a=>a.toFixed(3)).join(", ")}function xt(t){if(!t||(t==null?void 0:t.length)>z81)return null;let a=t.split(",");if(a.length!==4)return null;let c=a.map(r=>Number(r.trim()));return!c.every(r=>isFinite(r))||c[0]<0||c[0]>1||c[2]<0||c[2]>1?null:c}function vT(t,a,c={threshold:.02}){if(!t||!a)return!1;let r=0;for(let e=0;e<4;e++)r+=Math.abs(t[e]-a[e]);return r{"use strict";z81=128;jn=[{label:"Quad Out",value:"0.250, 0.460, 0.450, 0.940"},{label:"Quad In Out",value:"0.455, 0.030, 0.515, 0.955"},{label:"Quad In",value:"0.550, 0.085, 0.680, 0.530"},{label:"Cubic Out",value:"0.215, 0.610, 0.355, 1.000"},{label:"Cubic In Out",value:"0.645, 0.045, 0.355, 1.000"},{label:"Cubic In",value:"0.550, 0.055, 0.675, 0.190"},{label:"Quart Out",value:"0.165, 0.840, 0.440, 1.000"},{label:"Quart In Out",value:"0.770, 0.000, 0.175, 1.000"},{label:"Quart In",value:"0.895, 0.030, 0.685, 0.220"},{label:"Quint Out",value:"0.230, 1.000, 0.320, 1.000"},{label:"Quint In Out",value:"0.860, 0.000, 0.070, 1.000"},{label:"Quint In",value:"0.755, 0.050, 0.855, 0.060"},{label:"Sine Out",value:"0.390, 0.575, 0.565, 1.000"},{label:"Sine In Out",value:"0.445, 0.050, 0.550, 0.950"},{label:"Sine In",value:"0.470, 0.000, 0.745, 0.715"},{label:"Expo Out",value:"0.190, 1.000, 0.220, 1.000"},{label:"Expo In Out",value:"1.000, 0.000, 0.000, 1.000"},{label:"Expo In",value:"0.780, 0.000, 0.810, 0.00"},{label:"Circ Out",value:"0.075, 0.820, 0.165, 1.000"},{label:"Circ In Out",value:"0.785, 0.135, 0.150, 0.860"},{label:"Circ In",value:"0.600, 0.040, 0.980, 0.335"},{label:"Back Out",value:"0.175, 0.885, 0.320, 1.275"},{label:"Back In Out",value:"0.680, -0.550, 0.265, 1.550"},{label:"Back In",value:"0.600, -0.280, 0.735, 0.045"},{label:"linear",value:"0.5, 0.5, 0.5, 0.5"},{label:"In Out",value:"0.42,0,0.58,1"},{label:"Hold",value:"0, 0, Infinity, Infinity"}]});var d0,np,Ct,gT,u81,p81,qn,dT,sT,m81,zT,uT=x(()=>{"use strict";d0=I(G()),np=.75,Ct=.1,gT=1+np*2,u81="#F5F5F5",p81="#888888",qn="#4f4f4f",dT="rgba(255, 255, 255, 0.1)",sT=t=>1-t,m81=t=>{let{easing:a,isSelected:c}=t,r=c?u81:p81,e="".concat(-np," ").concat(-np," ").concat(gT," ").concat(gT);if(a){let l=[a[0],sT(a[1])],i=[a[2],sT(a[3])];return d0.default.createElement("svg",{height:"100%",width:"100%",viewBox:e,fill:"none",xmlns:"http://www.w3.org/2000/svg"},d0.default.createElement("line",{x1:"0",y1:"1",x2:l[0],y2:l[1],stroke:qn,strokeWidth:"0.1"}),d0.default.createElement("line",{x1:"1",y1:"0",x2:i[0],y2:i[1],stroke:qn,strokeWidth:"0.1"}),d0.default.createElement("circle",{cx:l[0],cy:l[1],r:.1,fill:dT}),d0.default.createElement("circle",{cx:i[0],cy:i[1],r:.1,fill:dT}),d0.default.createElement("circle",{cx:l[0],cy:l[1],r:Ct,fill:qn}),d0.default.createElement("circle",{cx:i[0],cy:i[1],r:Ct,fill:qn}),d0.default.createElement("path",{d:"M0 1 C".concat(l[0]," ").concat(l[1]," ").concat(i[0]," \n ").concat(i[1]," 1 0"),stroke:r,strokeWidth:"0.08"}),d0.default.createElement("circle",{cx:0,cy:1,r:Ct,fill:r}),d0.default.createElement("circle",{cx:1,cy:0,r:Ct,fill:r}))}return d0.default.createElement("svg",{height:"100%",width:"100%",viewBox:e,fill:"none",xmlns:"http://www.w3.org/2000/svg"},d0.default.createElement("line",{x1:"0",y1:"1",x2:1,y2:1,stroke:r,strokeWidth:"0.08"}),d0.default.createElement("line",{x1:"1",y1:"0",x2:1,y2:1,stroke:r,strokeWidth:"0.08"}),d0.default.createElement("circle",{cx:0,cy:1,r:Ct,fill:r}),d0.default.createElement("circle",{cx:1,cy:0,r:Ct,fill:r}))},zT=m81});var yr,pT,mT,f81,fT,M81,x81,MT,xT=x(()=>{"use strict";nt();yr=I(G());c1();op();uT();Wc();Hr();e4();f81=B.div(mT||(mT=V(["\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n aspect-ratio: 1;\n\n transition: background-color 0.15s;\n background-color: ",";\n border-radius: 2px;\n cursor: pointer;\n outline: none;\n\n ","\n\n &:hover {\n background-color: #31353a;\n }\n\n &:focus {\n background-color: #383d42;\n }\n"])),_4,({isSelected:t})=>t&&f2(pT||(pT=V(["\n background-color: #383d42;\n "])))),M81=B(T2)(fT||(fT=V(["\n padding: 0.5em;\n color: white;\n max-width: 240px;\n pointer-events: none !important;\n --popover-bg: black;\n --popover-outer-stroke: transparent;\n --popover-inner-stroke: transparent;\n box-shadow: none;\n"]))),x81=yr.default.forwardRef((t,a)=>{let[c,r]=R3({enabled:!0,verticalPlacement:t.tooltipPlacement,verticalGap:0},()=>yr.default.createElement(M81,{showPopoverEdgeTriangle:!1},t.easing.label));return yr.default.createElement(f81,S({ref:D6([r,a])},t),c,yr.default.createElement(zT,{easing:xt(t.easing.value),isSelected:t.isSelected}))}),MT=x81});function LT(t){var i;let[a,c]=(0,CT.useState)(null),r=o=>{if(a===null){t.items.length>0&&c(0);return}let n=a+o*t.uiColumns,h=n<0,v=n>t.items.length-1;if(h||v){if(t.canVerticleExit&&t.canVerticleExit(h?"top":"bottom")){c(null);return}return}c(n)},e=o=>{a===null?c(VT(o,t.items.length)):a+o<0?c(null):c(Math.min(a+o,t.items.length-1))};return{focusFirstItem(){c(0)},onParentEltKeyDown:o=>{if(o.key==="ArrowRight")e(1);else if(o.key==="ArrowLeft")e(-1);else if(o.key==="ArrowUp")r(-1);else if(o.key==="ArrowDown")r(1);else return 0;return 1},gridItems:t.items.map((o,n)=>t.renderItem({isSelected:n===a,item:o,select(h){c(n),t.onSelectItem(o)===1&&(h==null||h.preventDefault(),h==null||h.stopPropagation())}})),currentSelection:(i=t.items[a!=null?a:-1])!=null?i:null}}var CT,HT=x(()=>{"use strict";CT=I(G());Sr()});function wT(t,a,c){var e;(e=t.current)==null||e.discard(),t.current=null;let r=xt(c);r===null?t.current=k81(a):t.current=S81(a,r)}function BT(t){var a;(a=t.current)==null||a.discard(),t.current=null}function S81(t,a){return T().tempTransaction(({stateEditors:c})=>{let{setHandlesForKeyframe:r,setKeyframeType:e}=c.coreByProject.historic.sheetsById.sequence;for(let{projectId:l,sheetId:i,objectKey:o,trackId:n,left:h,right:v}of t)r({projectId:l,sheetId:i,objectKey:o,trackId:n,keyframeId:h.id,start:[a[0],a[1]]}),r({projectId:l,sheetId:i,objectKey:o,trackId:n,keyframeId:v.id,end:[a[2],a[3]]}),e({projectId:l,sheetId:i,objectKey:o,trackId:n,keyframeId:h.id,keyframeType:"bezier"})})}function k81(t){return T().tempTransaction(({stateEditors:a})=>{let{setKeyframeType:c}=a.coreByProject.historic.sheetsById.sequence;for(let{projectId:r,sheetId:e,objectKey:l,trackId:i,left:o}of t)c({projectId:r,sheetId:e,objectKey:l,trackId:i,keyframeId:o.id,keyframeType:"hold"})})}function VT(t,a){return(t%a+a)%a}function A81(t,a){return()=>setTimeout(t,a)}function R81({left:t,right:a}){return({left:c,right:r})=>t.handles[2]!==c.handles[2]||t.handles[3]!==c.handles[3]||a.handles[0]!==r.handles[0]||a.handles[1]!==r.handles[1]}var kr,D1,bT,FT,IT,C81,yT,L81,ST,H81,kT,V81,AT,w81,RT,B81,y81,Nn,WR1,Un,b81,Sr=x(()=>{"use strict";kr=require("@theatre/dataverse"),D1=I(G());c1();bT=I(tT());f1();hT();xT();op();Hr();P1();HT();FT=3,IT=53,C81=25,L81=B.div(yT||(yT=V(["\n background: ",";\n display: grid;\n grid-template-areas:\n 'search tween'\n 'presets tween';\n grid-template-rows: 32px 1fr;\n grid-template-columns: ","px 120px;\n gap: 1px;\n height: 120px;\n"])),Dn,FT*IT),H81=B.div(ST||(ST=V(["\n overflow: auto;\n grid-area: presets;\n\n display: grid;\n grid-template-columns: repeat(",", 1fr);\n grid-auto-rows: min-content;\n gap: 1px;\n\n overflow-y: scroll;\n scrollbar-width: none; /* Firefox */\n -ms-overflow-style: none; /* Internet Explorer 10+ */\n &::-webkit-scrollbar {\n /* WebKit */\n width: 0;\n height: 0;\n }\n"])),FT),V81=B.input.attrs({type:"text"})(kT||(kT=V(["\n background-color: ",";\n border: none;\n border-radius: 2px;\n color: rgba(255, 255, 255, 0.8);\n padding: 6px;\n font-size: 12px;\n outline: none;\n cursor: text;\n text-align: left;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n\n grid-area: search;\n\n &:hover {\n background-color: #212121;\n }\n\n &:focus {\n background-color: rgba(16, 16, 16, 0.26);\n outline: 1px solid rgba(0, 0, 0, 0.35);\n }\n"])),_4),w81=B.div(AT||(AT=V(["\n grid-area: tween;\n background: ",";\n"])),_4),B81=B.div(RT||(RT=V(["\n grid-column: 1 / 4;\n padding: 6px;\n color: #888888;\n"]))),y81=t=>{let a=(0,D1.useMemo)(()=>[t.curveConnection,...t.additionalConnections],[t.curveConnection,...t.additionalConnections]),c=(0,D1.useRef)(null);(0,D1.useEffect)(()=>{let C=b81(a);return()=>{var E;C(),(E=c.current)==null||E.commit()}},[c]);let r=[t.curveConnection.left.handles[2],t.curveConnection.left.handles[3],t.curveConnection.right.handles[0],t.curveConnection.right.handles[1]],e=(0,D1.useRef)(null);(0,D1.useLayoutEffect)(()=>{var C,E;(C=e.current)==null||C.select(),(E=e.current)==null||E.focus()},[e.current]);let[l,i]=(0,D1.useState)(Br(r)),o=C=>{if(C===void 0)return;v(1),i(C.target.value),xt(C.target.value)&&s(C.target.value)},n=C=>{var E,a1;v(1),(C.key==="ArrowDown"||C.key==="ArrowUp")&&C.preventDefault(),C.key==="ArrowDown"?(P.focusFirstItem(),(a1=(E=y.current[p[0].label])==null?void 0:E.current)==null||a1.focus()):C.key==="Escape"?(BT(c),t.onRequestClose("key Escape")):C.key==="Enter"&&t.onRequestClose("key Enter")},[h,v]=(0,D1.useState)(0);(0,D1.useEffect)(()=>{h===2?i(Br(r)):h===3&&l!==""&&i("")},a);let[g,s]=(0,D1.useState)(Br(r)),[d,z]=(0,D1.useState)(null);(0,D1.useEffect)(()=>{var C;h!==0&&h!==3&&wT(c,a,(C=d!=null?d:g)!=null?C:"")},[d,g,h]),a.some(R81(t.curveConnection))&&h===0&&v(3);let u=C=>{var a1,j;v(2);let E=Br(C);i(E),s(E),(a1=e.current)==null||a1.select(),(j=e.current)==null||j.focus()},f=()=>{},p=(0,D1.useMemo)(()=>/^[A-Za-z]/.test(l)?bT.default.filter(l,jn,{extract:E=>E.label}).map(E=>E.original):jn,[l]);(0,D1.useEffect)(()=>{h===1&&p[0]&&s(p[0].value)},[p]);let m=C=>{C.key==="Escape"?(BT(c),t.onRequestClose("key Escape"),C.stopPropagation()):C.key==="Enter"&&(t.onRequestClose("key Enter"),C.stopPropagation())},M=C=>{h===0&&v(2),z(C.value)},w=()=>z(null),H=C=>(wT(c,a,C.value),t.onRequestClose("selected easing option"),1),y=(0,D1.useRef)(jn.reduce((C,E)=>(C[E.label]={current:null},C),{})),[k,F]=z1(null),[U,A]=(0,D1.useState)(0);(0,D1.useEffect)(()=>{let C=()=>{var E;A((E=F==null?void 0:F.scrollTop)!=null?E:0)};return F==null||F.addEventListener("scroll",C),()=>F==null?void 0:F.removeEventListener("scroll",C)},[F]);let P=LT({items:p,uiColumns:3,onSelectItem:H,canVerticleExit(C){var E,a1;return C==="top"?((E=e.current)==null||E.select(),(a1=e.current)==null||a1.focus(),1):0},renderItem:({item:C,select:E})=>{var a1,j;return D1.default.createElement(MT,{key:C.label,easing:C,tabIndex:0,onKeyDown:m,ref:y.current[C.label],onMouseOver:()=>M(C),onMouseOut:w,onClick:E,tooltipPlacement:((j=(a1=y.current[C.label].current)==null?void 0:a1.offsetTop)!=null?j:0)-(U!=null?U:0){var C,E;if(P.currentSelection!==null&&document.activeElement!==e.current){let a1=(E=(C=y.current)==null?void 0:C[P.currentSelection.label])==null?void 0:E.current;a1==null||a1.focus(),s(P.currentSelection.value),/^[A-Za-z]/.test(l)||i(P.currentSelection.value)}},[P.currentSelection]),D1.default.createElement(L81,null,D1.default.createElement(V81,{value:l,placeholder:h===3?"Multiple easings selected":"Search presets...",onPaste:A81(o),onChange:o,ref:e,onKeyDown:n}),D1.default.createElement(H81,{ref:k,onKeyDown:C=>P.onParentEltKeyDown(C)},P.gridItems,P.gridItems.length===0?D1.default.createElement(B81,null,"No results found"):void 0),D1.default.createElement(w81,{onClick:()=>{var C;return(C=e.current)==null?void 0:C.focus()}},D1.default.createElement(nT,{curveConnection:t.curveConnection,backgroundConnections:t.additionalConnections,onCurveChange:u,onCancelCurveChange:f})))},Nn=y81;({isCurveEditorOpenD:WR1,isConnectionEditingInCurvePopover:Un,getLock:b81}=(()=>{let t=new kr.Atom([]);return{getLock(a){return t.set(a),function(){t.set([])}},isCurveEditorOpenD:(0,kr.prism)(()=>t.prism.getValue().length>0),isConnectionEditingInCurvePopover(a){return kr.prism.ensurePrism(),t.prism.getValue().some(({left:c,right:r})=>a.left.id===c.id&&a.right.id===r.id)}}})())});function F81(t,a){for(let{keyframeId:c}of G81(a))if(t.left.id===c)return!0;return!1}function Kn(t,a,c){return(0,Ar.prism)(()=>{if(c===void 0)return[];let r=[];for(let{objectKey:e,trackId:l}of PT(c)){let i=(0,Ar.val)(T().atomP.historic.coreByProject[t].sheetsById[a].sequence.tracksByObject[e].trackData[l]);i&&(r=r.concat(P81(i.keyframes).filter(o=>F81(o,c)).map(({left:o,right:n})=>({left:o,right:n,trackId:l,objectKey:e,sheetId:a,projectId:t}))))}return r})}function r8(t,a,c){var i;if(c===void 0)return[];let r=[];for(let{objectKey:o,trackId:n,keyframeIds:h}of PT(c))r=r.concat((i=Rr({projectId:t,sheetId:a,objectKey:o,trackId:n,keyframeIds:h}))!=null?i:[]);let e=J6(r.map(o=>o.pathToProp));return r.map(({keyframe:o,pathToProp:n})=>({keyframe:o,pathToProp:n.slice(e.length)}))}function Rr({projectId:t,sheetId:a,objectKey:c,trackId:r,keyframeIds:e}){let l=(0,Ar.val)(T().atomP.historic.coreByProject[t].sheetsById[a].sequence.tracksByObject[c]),i=l==null?void 0:l.trackData[r];if(!i)return null;let n=I81((l==null?void 0:l.trackIdByPropPath)||{})[r];if(!n)return null;let h=[c,...ut(n)];return e.map(v=>({keyframe:i.keyframes.find(g=>g.id===v),pathToProp:h})).filter(({keyframe:v})=>v!==void 0)}function I81(t){let a={};for(let[c,r]of Object.entries(t))a[r]=c;return a}function P81(t){return t.map((a,c)=>({left:a,right:t[c+1]})).slice(0,-1)}function G81(t){var c,r,e;let a=[];for(let[l,i]of Object.entries((c=t==null?void 0:t.byObjectKey)!=null?c:{}))for(let[o,n]of Object.entries((r=i==null?void 0:i.byTrackId)!=null?r:{}))for(let h of Object.keys((e=n==null?void 0:n.byKeyframeId)!=null?e:{}))a.push({objectKey:l,trackId:o,keyframeId:h});return a}function PT(t){var c,r,e;let a=[];for(let[l,i]of Object.entries((c=t==null?void 0:t.byObjectKey)!=null?c:{}))for(let[o,n]of Object.entries((r=i==null?void 0:i.byTrackId)!=null?r:{}))a.push({objectKey:l,trackId:o,keyframeIds:Object.keys((e=n==null?void 0:n.byKeyframeId)!=null?e:{})});return a}var Ar,o7=x(()=>{"use strict";Ar=require("@theatre/dataverse");f1();o4()});function TT(t,a){return(0,GT.useMemo)(()=>T81(t,a),[])}function T81(t,a){let c=null,r=i=>T().tempTransaction(o=>t(o,i));function e(){c==null||c.discard(),c=null}let l={createAsset:a.sheet.project.assetStorage.createAsset,getAssetUrl:i=>i.id?a.sheet.project.assetStorage.getAssetUrl(i.id):void 0};return S({temporarilySetValue(i){e(),c=r(i)},discardTemporaryValue:e,permanentlySetValue(i){e(),r(i).commit()}},l)}var GT,ZT=x(()=>{"use strict";f1();GT=I(G())});function $n(t){var a;if(t.type==="sheetObject")return $2.default.createElement($2.default.Fragment,null,$2.default.createElement(hp,{style:{paddingLeft:"".concat(t.indent*vp,"px")}},t.sheetObject.address.objectKey),t.children.map((c,r)=>$2.default.createElement($n,D(S({key:r},c),{autoFocusInput:t.autoFocusInput&&r===0,indent:t.indent+1}))));if(t.type==="propWithChildren"){let c=(a=t.propConfig.label)!=null?a:M3(t.pathToProp);return $2.default.createElement($2.default.Fragment,null,$2.default.createElement(hp,{style:{paddingLeft:"".concat(t.indent*vp,"px")}},c),t.children.map((r,e)=>$2.default.createElement($n,D(S({key:e},r),{autoFocusInput:t.autoFocusInput&&e===0,indent:t.indent+1}))))}else return $2.default.createElement(E81,D(S({},t),{autoFocusInput:t.autoFocusInput,indent:t.indent}))}function E81(t){var r;let a=(r=t.propConfig.label)!=null?r:M3(t.pathToProp),c=D81(t);if(t.propConfig.type==="enum")return $2.default.createElement($2.default.Fragment,null);{let e=Go[t.propConfig.type];return $2.default.createElement(Z81,null,$2.default.createElement(hp,null,$2.default.createElement("span",{style:{paddingLeft:"".concat(t.indent*vp,"px")}},a)),$2.default.createElement(O81,null,$2.default.createElement(e,{editingTools:c,propConfig:t.propConfig,value:X8(t.keyframe.value,t.propConfig),autoFocus:t.autoFocusInput})))}}function D81(t){let a=t.sheetObject;return TT(({stateEditors:c},r)=>{let e=D(S({},t.keyframe),{value:r});c.coreByProject.historic.sheetsById.sequence.replaceKeyframes(D(S({},a.address),{trackId:t.trackId,keyframes:[e],snappingFunction:a.sheet.getSequence().closestGridPosition}))},a)}var $2,OT,Z81,ET,hp,vp,DT,O81,WT=x(()=>{"use strict";$2=I(G());c1();au();ma();ZT();H5();Z81=B.div(OT||(OT=V(["\n display: flex;\n align-items: stretch;\n min-width: 200px;\n\n select {\n min-width: 100px;\n }\n"]))),hp=B.div(ET||(ET=V(["\n font-style: normal;\n font-weight: 400;\n font-size: 11px;\n line-height: 13px;\n letter-spacing: 0.01em;\n padding: 6px 6px 6px 0;\n\n width: 40%;\n\n color: #919191;\n\n overflow: hidden;\n"]))),vp=10;O81=B.div(DT||(DT=V(["\n display: flex;\n align-items: center;\n width: 60%;\n"])))});function e8(t){return x2({debugName:"useKeyframeInlineEditorPopover"},()=>Qn.default.createElement(T2,{showPopoverEdgeTriangle:!0},Qn.default.createElement("div",{style:{margin:"1px 2px 1px 10px"}},Array.isArray(t)?t.map((a,c)=>Qn.default.createElement($n,D(S({key:c},a),{autoFocusInput:c===0,indent:0}))):void 0)))}var Qn,br=x(()=>{"use strict";Qn=I(G());c4();e4();WT()});function q81(t,a,c){return Z1(t,{displayName:"Keyframe",menuItems:()=>{let r=r8(c.leaf.sheetObject.address.projectId,c.leaf.sheetObject.address.sheetId,c.selection);return[{label:r.length>0?"Copy (selection)":"Copy",callback:()=>{r.length>0?T().transaction(e=>{e.stateEditors.studio.ahistoric.setClipboardKeyframes(r)}):T().transaction(e=>{e.stateEditors.studio.ahistoric.setClipboardKeyframes([{keyframe:c.keyframe,pathToProp:c.leaf.pathToProp}])})}},{label:c.selection!==void 0?"Delete (selection)":"Delete",callback:()=>{c.selection?c.selection.delete():T().transaction(({stateEditors:e})=>{e.coreByProject.historic.sheetsById.sequence.deleteKeyframes(D(S({},c.leaf.sheetObject.address),{keyframeIds:[c.keyframe.id],trackId:c.leaf.trackId}))})}}]},onOpen(){a._debug("Show keyframe",c)}})}function N81(t,a,c){let r=(0,j4.useRef)(a);r.current=a;let{onClickFromDrag:e}=c,l=(0,j4.useMemo)(()=>({debugName:"KeyframeDot/useDragKeyframe",onDragStart(o){let n=r.current,h=(0,Yn.val)(T().atomP.historic.coreByProject[n.leaf.sheetObject.address.projectId].sheetsById[n.leaf.sheetObject.address.sheetId].sequence.tracksByObject),v=Zn(h,function(u,{trackId:f,objectKey:p}){var m,M;return u.id!==n.keyframe.id&&!(n.selection&&((M=(m=n.selection.byObjectKey[p])==null?void 0:m.byTrackId[f])!=null&&M.byKeyframeId[u.id]))});if(Tn(v),n.selection){let{selection:z,leaf:u}=n,{sheetObject:f}=u,p=z.getDragHandlers(D(S({},f.address),{domNode:t,positionAtStartOfDrag:n.track.data.keyframes[n.index].position})).onDragStart(o);return p&&D(S({},p),{onClick:e,onDragEnd:(...m)=>{var M;(M=p.onDragEnd)==null||M.call(p,...m),I3()}})}let g=n,s=(0,Yn.val)(g.layoutP.scaledSpace.toUnitSpace),d;return{onDrag(z,u,f){var M;let p=g.track.data.keyframes[g.index],m=Math.max((M=r2.checkIfMouseEventSnapToPos(f,{ignore:t}))!=null?M:p.position+s(z),0);d==null||d.discard(),d=void 0,d=T().tempTransaction(({stateEditors:w})=>{w.coreByProject.historic.sheetsById.sequence.replaceKeyframes(D(S({},g.leaf.sheetObject.address),{trackId:g.leaf.trackId,keyframes:[D(S({},p),{position:m})],snappingFunction:(0,Yn.val)(g.layoutP.sheet).getSequence().closestGridPosition}))})},onDragEnd(z){z?d==null||d.commit():d==null||d.discard(),I3()},onClick(z){e(z)}}}}),[e]),[i]=S1(t,l);return g0(i,a.keyframe.position),s2(i,"draggingPositionInSequenceEditor","ew-resize"),[i]}var j4,Yn,Fr,_T,Xn,UT,jT,gp,qT,W81,NT,_81,j81,KT,sp=x(()=>{"use strict";j4=I(G());c1();f1();v0();M2();P1();Yn=require("@theatre/dataverse");E2();I0();b3();Cr();L5();o7();G1();c8();br();K6();Fr=6,_T=Fr+2,Xn={normalColor:"#40AAA4",selectedColor:"#F2C95C",inlineEditorOpenColor:"#FCF3DC",selectedAndInlineEditorOpenColor:"#CBEBEA"},UT=({isSelected:t,isInlineEditorPopoverOpen:a})=>t&&a?Xn.inlineEditorOpenColor:t?Xn.selectedColor:a?Xn.selectedAndInlineEditorOpenColor:Xn.normalColor,gp=B.div(jT||(jT=V(["\n position: absolute;\n ","\n\n background: ",";\n transform: rotateZ(45deg);\n\n ",";\n\n z-index: 1;\n pointer-events: none;\n"])),H0(Fr),t=>UT(t),t=>t.flag===2?"outline: 2px solid white;":""),W81=B.div(qT||(qT=V(["\n position: absolute;\n ","\n\n background: ",";\n\n ",";\n\n z-index: 1;\n pointer-events: none;\n"])),H0(Fr*1.5),t=>UT(t),t=>t.flag===2?"outline: 2px solid white;":""),_81=B.div(NT||(NT=V(["\n z-index: 1;\n cursor: ew-resize;\n\n position: absolute;\n ",";\n ",";\n\n & + "," {\n ","\n }\n\n &:hover + "," {\n ","\n }\n"])),H0(12),C1,gp,t=>t.isInlineEditorPopoverOpen?H0(_T):"",gp,H0(_T)),j81=t=>{let a=C0("SingleKeyframeDot",t.keyframe.id),c=i3(t.itemKey),[r,e]=z1(null),[l]=q81(e,a,t),{node:i,toggle:o,isOpen:n}=e8([{type:"primitiveProp",keyframe:t.keyframe,pathToProp:t.leaf.pathToProp,propConfig:t.leaf.propConf,sheetObject:t.leaf.sheetObject,trackId:t.leaf.trackId}]),[h]=N81(e,t,{onClickFromDrag(g){o(g,r.current)}}),v=!t.keyframe.type||t.keyframe.type==="bezier";return j4.default.createElement(j4.default.Fragment,null,j4.default.createElement(_81,S({ref:r,isInlineEditorPopoverOpen:n},c.attrs)),v?j4.default.createElement(gp,{isSelected:!!t.selection,isInlineEditorPopoverOpen:n,flag:c.flag}):j4.default.createElement(W81,{isSelected:!!t.selection,isInlineEditorPopoverOpen:n,flag:c.flag}),i,l)},KT=j81});var zp,$T,XT,Lt,QT,U81,Jn,up=x(()=>{"use strict";R0();zp=I(G());c1();sp();$T=Fr/2+1,XT=1e3,Lt={normalColor:"#365b59",selectedColor:"#8A7842",barColor:t=>{let a=t.isSelected?Lt.selectedColor:Lt.normalColor;return t.isPopoverOpen?_i(.2,R6(.2,a)):a},hoverColor:t=>{let a=t.isSelected?Lt.selectedColor:Lt.normalColor;return t.isPopoverOpen?_i(.2,R6(.2,a)):_i(.1,R6(.1,a))}},U81=B.div(QT||(QT=V(["\n position: absolute;\n background: ",";\n height: ","px;\n width: ","px;\n\n left: 0;\n top: -","px;\n transform-origin: top left;\n z-index: 0;\n cursor: ew-resize;\n\n &:after {\n display: block;\n position: absolute;\n content: ' ';\n top: -4px;\n bottom: -4px;\n left: 0;\n right: 0;\n }\n\n &:hover {\n background: ",";\n }\n"])),Lt.barColor,$T,XT,$T/2,Lt.hoverColor),Jn=zp.default.forwardRef((t,a)=>{let c={isPopoverOpen:t.isPopoverOpen,isSelected:t.isSelected};return zp.default.createElement(U81,D(S({},c),{ref:a,style:{transform:"scaleX(calc(var(--unitSpaceToScaledSpaceMultiplier) * ".concat(t.connectorLengthInUnitSpace/XT,"))")},onClick:r=>{var e;(e=t.openPopover)==null||e.call(t,r)}}),t.children)})});function X81(t,a){let c=(0,ah.useRef)(a);c.current=a;let r=(0,ah.useMemo)(()=>({debugName:"useDragKeyframe",lockCSSCursorTo:"ew-resize",onDragStart(e){let l=c.current,i;if(l.selection){let{selection:v,leaf:g}=l,{sheetObject:s}=g;return v.getDragHandlers(D(S({},s.address),{domNode:t,positionAtStartOfDrag:l.track.data.keyframes[l.index].position})).onDragStart(e)}let o=l,n=(0,th.val)(o.layoutP.sheet).getSequence(),h=(0,th.val)(o.layoutP.scaledSpace.toUnitSpace);return{onDrag(v,g,s){let d=h(v);i&&(i.discard(),i=void 0),i=T().tempTransaction(({stateEditors:z})=>{z.coreByProject.historic.sheetsById.sequence.transformKeyframes(D(S({},o.leaf.sheetObject.address),{trackId:o.leaf.trackId,keyframeIds:[o.keyframe.id,o.track.data.keyframes[o.index+1].id],translate:d,scale:1,origin:0,snappingFunction:n.closestGridPosition}))})},onDragEnd(v){v?i&&i.commit():i&&i.discard()}}}}),[]);S1(t,r)}function Y81(t,a,c,r){return Z1(a,{displayName:"Tween",menuItems:()=>{let e=r8(t.leaf.sheetObject.address.projectId,t.leaf.sheetObject.address.sheetId,t.selection);return[{label:e.length>0?"Copy (selection)":"Copy",callback:()=>{e.length>0?T().transaction(l=>{l.stateEditors.studio.ahistoric.setClipboardKeyframes(e)}):T().transaction(l=>{l.stateEditors.studio.ahistoric.setClipboardKeyframes([{keyframe:c,pathToProp:t.leaf.pathToProp},{keyframe:r,pathToProp:t.leaf.pathToProp}])})}},{label:t.selection?"Delete (selection)":"Delete",callback:()=>{t.selection?t.selection.delete():T().transaction(({stateEditors:l})=>{l.coreByProject.historic.sheetsById.sequence.deleteKeyframes(D(S({},t.leaf.sheetObject.address),{keyframeIds:[c.id,r.id],trackId:t.leaf.trackId}))})}}]}})}var th,l8,ah,YT,JT,K81,$81,tZ,Q81,aZ=x(()=>{"use strict";f1();v0();M2();P1();th=require("@theatre/dataverse"),l8=I(G()),ah=I(G());c4();e4();Sr();up();Hr();M1();o7();o7();c1();YT=5,K81=B(T2)(JT||(JT=V(["\n --popover-outer-stroke: transparent;\n --popover-inner-stroke: ",";\n"])),Dn),$81=t=>{let{index:a,track:c}=t,r=c.data.keyframes[a],e=c.data.keyframes[a+1],[l,i]=z1(null),{node:o,toggle:n,close:h}=x2(()=>{let z=(0,th.val)(t.layoutP.rightDims);return{debugName:"Connector",constraints:{minX:z.screenX+YT,maxX:z.screenX+z.width-YT}}},()=>l8.default.createElement(Q81,D(S({},t),{closePopover:h}))),[v]=Y81(t,i,r,e);X81(i,t);let g=e.position-r.position,d={isPopoverOpen:v1(()=>Un(D(S({},t.leaf.sheetObject.address),{trackId:t.leaf.trackId,left:r,right:e})),[t.leaf.sheetObject.address,t.leaf.trackId,r,e]),isSelected:t.selection!==void 0};return l8.default.createElement(l8.default.Fragment,null,l8.default.createElement(Jn,D(S({ref:l,connectorLengthInUnitSpace:g},d),{openPopover:z=>{i&&n(z,i)}}),o),v)},tZ=$81,Q81=l8.default.forwardRef((t,a)=>{let{index:c,track:{data:r},selection:e}=t,l=r.keyframes[c],i=r.keyframes[c+1],o=t.leaf.trackId,n=t.leaf.sheetObject.address,h=v1(()=>Kn(n.projectId,n.sheetId,e).getValue(),[n,e]),v=S({left:l,right:i,trackId:o},n);return l8.default.createElement(K81,{showPopoverEdgeTriangle:!1,ref:a},l8.default.createElement(Nn,{curveConnection:v,additionalConnections:h,onRequestClose:t.closePopover}))})});var rZ,n7,cZ,J81,t71,a71,eZ,lZ=x(()=>{"use strict";rZ=require("@theatre/dataverse"),n7=I(G());c1();aZ();sp();J81=B.div(cZ||(cZ=V(["\n position: absolute;\n"]))),t71=n7.default.createElement(n7.default.Fragment,null),a71=n7.default.memo(t=>{let{index:a,track:{data:c}}=t,r=c.keyframes[a],e=c.keyframes[a+1],l=r.connectedRight&&!!e;return n7.default.createElement(J81,{style:{top:"".concat(t.leaf.nodeHeight/2,"px"),left:"calc(".concat((0,rZ.val)(t.layoutP.scaledSpace.leftPadding),"px + calc(var(--unitSpaceToScaledSpaceMultiplier) * ").concat(r.position,"px))")}},n7.default.createElement(KT,D(S({},t),{itemKey:t.itemKey})),l?n7.default.createElement(tZ,S({},t)):t71)}),eZ=a71});function r71(t,a){return Z1(t,{displayName:"Keyframe Track",menuItems:()=>{var r;let c=(r=(0,Ht.val)(T().atomP.ahistoric.clipboard.keyframesWithRelativePaths))!=null?r:[];return[e71(a,c)]}})}function e71(t,a){return{label:"Paste Keyframes",enabled:a.length>0,callback:()=>{var i;let r=(0,Ht.val)(t.layoutP.sheet).getSequence(),e=(i=a[0])==null?void 0:i.pathToProp,l=a.filter(({keyframe:o,pathToProp:n})=>fG(e,n)).map(({keyframe:o,pathToProp:n})=>o);T().transaction(({stateEditors:o})=>{var h;r.position=r.closestGridPosition(r.position);let n=(h=l71(l))==null?void 0:h.position;for(let v of l)o.coreByProject.historic.sheetsById.sequence.setKeyframeAtPosition(D(S({},t.leaf.sheetObject.address),{trackId:t.leaf.trackId,position:r.position+v.position-n,handles:v.handles,value:v.value,snappingFunction:r.closestGridPosition,type:v.type}))})}}}function l71(t){let a=null;for(let c of t)(a===null||c.position{"use strict";M1();Ht=require("@theatre/dataverse"),q4=I(G());c1();lZ();v0();P1();f1();o4();c8();O4();c71=B.div(iZ||(iZ=V(["\n position: relative;\n height: 100%;\n width: 100%;\n"]))),oZ=q4.default.memo(t=>{var m;let{layoutP:a,trackData:c,leaf:r}=t,[e,l]=z1(null),{selectedKeyframeIds:i,selection:o}=v1(()=>{let M=(0,Ht.val)(a.selectionAtom),w=(0,Ht.val)(M.pointer.current.byObjectKey[r.sheetObject.address.objectKey].byTrackId[r.trackId].byKeyframeId);return w?{selectedKeyframeIds:w,selection:(0,Ht.val)(M.pointer.current)}:{selectedKeyframeIds:{},selection:void 0}},[a,r.trackId]),[n,h,v]=r71(l,t),g=s1(Gn),s=g.mode==="snapToSome"?(m=g.positions[r.sheetObject.address.objectKey])==null?void 0:m[r.trackId]:[],d=g.mode==="snapToAll",z=(0,q4.useMemo)(()=>({data:c,id:r.trackId,sheetObject:t.leaf.sheetObject}),[c,r.trackId]),u=c.keyframes.map((M,w)=>q4.default.createElement(eZ,{key:"keyframe-"+M.id,itemKey:c2.forTrackKeyframe(r.sheetObject,r.trackId,M.id),keyframe:M,index:w,track:z,layoutP:a,leaf:r,selection:i[M.id]===!0?o:void 0})),f=s.map(M=>q4.default.createElement(pt,{key:"snap-target-"+M,layoutP:a,leaf:r,position:M})),p=d?c.keyframes.map(M=>q4.default.createElement(pt,{key:"additionalSnapTarget-".concat(M.id),layoutP:a,leaf:r,position:M.position})):null;return q4.default.createElement(c71,{ref:e,style:{background:v?"#444850 ":"unset"}},u,f,q4.default.createElement(q4.default.Fragment,null,p),n)});oZ.displayName="BasicKeyframedTrack";nZ=oZ});var vZ,Ir,i71,gZ,dZ=x(()=>{"use strict";f1();M1();vZ=require("@theatre/dataverse"),Ir=I(G());Lr();hZ();L5();i71=({leaf:t,layoutP:a})=>{let c=C0("PrimitivePropRow",t.pathToProp.join());return v1(()=>{let{sheetObject:r}=t,{trackId:e}=t,l=(0,vZ.val)(T().atomP.historic.coreByProject[r.address.projectId].sheetsById[r.address.sheetId].sequence.tracksByObject[r.address.objectKey].trackData[e]);return(l==null?void 0:l.type)!=="BasicKeyframedTrack"?(c.errorDev("trackData type ".concat(l==null?void 0:l.type," is not yet supported on the sequence editor")),Ir.default.createElement(A5,{leaf:t,isCollapsed:!1,node:Ir.default.createElement("div",null)})):Ir.default.createElement(A5,{leaf:t,isCollapsed:!1,node:Ir.default.createElement(nZ,{layoutP:a,trackData:l,leaf:t})})},[t,a])},gZ=i71});function sZ(t){return t()}var zZ=x(()=>{"use strict"});function ch(t){let{index:a,aggregateKeyframes:c,selection:r}=t;return v1(mp(t),[a,c,r,t.viewModel])}function mp(t){let{index:a,aggregateKeyframes:c,selection:r}=t,{projectId:e,sheetId:l}=t.viewModel.type==="sheet"?t.viewModel.sheet.address:t.viewModel.sheetObject.address;return()=>{let i=c[a],o=c[a+1],h=o&&i.keyframes.length===o.keyframes.length&&i.keyframes.every(({track:z},u)=>o.keyframes[u].track===z)?{length:o.position-i.position,selected:i.selected===0&&o.selected===0}:null,v=h?i.keyframes.map(({kf:z,track:u},f)=>D(S({},u.sheetObject.address),{trackId:u.id,left:z,right:o.keyframes[f].kf})):[],g=sZ(()=>{let z=pp.prism.memo("selectedConnections",()=>Kn(e,l,r),[e,l,r]).getValue();return[...v,...z]}),s=v.every(z=>Un(z));return{itemKey:pp.prism.memo("itemKey",()=>t.viewModel.type==="sheet"?c2.forSheetAggregateKeyframe(t.viewModel.sheet,i.position):t.viewModel.type==="sheetObject"?c2.forSheetObjectAggregateKeyframe(t.viewModel.sheetObject,i.position):c2.forCompoundPropAggregateKeyframe(t.viewModel.sheetObject,t.viewModel.pathToProp,i.position),[t.viewModel,i.position]),cur:i,connected:h,isAggregateEditingInCurvePopover:s,allConnections:g}}}var pp,rh=x(()=>{"use strict";pp=require("@theatre/dataverse");O4();Sr();M1();o7();zZ()});function h71(t,a){let c=(0,E0.useRef)(a);c.current=a;let r=(0,E0.useMemo)(()=>({debugName:"useDragKeyframe",lockCSSCursorTo:"ew-resize",onDragStart(e){let l=c.current,i,o=l.aggregateKeyframes[l.index].keyframes,{selection:n,viewModel:h}=l,v=h.type==="sheet"?h.sheet.address:h.sheetObject.address;if(n&&l.aggregateKeyframes[l.index].selected===0)return n.getDragHandlers(D(S({},v),{domNode:t,positionAtStartOfDrag:l.aggregateKeyframes[l.index].position})).onDragStart(e);let g=l,s=(0,eh.val)(g.layoutP.sheet).getSequence(),d=(0,eh.val)(g.layoutP.scaledSpace.toUnitSpace);return{onDrag(z,u,f){let p=d(z);i&&(i.discard(),i=void 0),i=T().tempTransaction(({stateEditors:m})=>{for(let M of o)m.coreByProject.historic.sheetsById.sequence.transformKeyframes(D(S({},M.track.sheetObject.address),{trackId:M.track.id,keyframeIds:[M.kf.id,M.track.data.keyframes[M.track.data.keyframes.indexOf(M.kf)+1].id],translate:p,scale:1,origin:0,snappingFunction:s.closestGridPosition}))})},onDragEnd(z){z?i&&i.commit():i&&i.discard()}}}}),[]);return S1(t,r)}function v71(t,a){return Z1(a,{displayName:"Aggregate Tween",menuItems:()=>{let c=t.utils.allConnections.reduce((o,n)=>{var h;return o.concat((h=Rr(D(S({},n),{keyframeIds:[n.left.id,n.right.id]})))!=null?h:[])},[]),r=J6(c.map(o=>o.pathToProp)),e=c.map(({keyframe:o,pathToProp:n})=>({keyframe:o,pathToProp:n.slice(r.length)})),l=t.editorProps.viewModel,i=l.type==="sheet"?l.sheet.address:l.sheetObject.address;return[{label:"Copy",callback:()=>{if(t.editorProps.selection){let o=r8(i.projectId,i.sheetId,t.editorProps.selection);T().transaction(n=>{n.stateEditors.studio.ahistoric.setClipboardKeyframes(o)})}else T().transaction(o=>{o.stateEditors.studio.ahistoric.setClipboardKeyframes(e)})}},{label:"Delete",callback:()=>{t.editorProps.selection?t.editorProps.selection.delete():T().transaction(({stateEditors:o})=>{for(let n of t.utils.allConnections)o.coreByProject.historic.sheetsById.sequence.deleteKeyframes(D(S({},i),{objectKey:n.objectKey,keyframeIds:[n.left.id,n.right.id],trackId:n.trackId}))})}}]}})}var eh,E0,uZ,pZ,o71,n71,mZ,fZ=x(()=>{"use strict";eh=require("@theatre/dataverse"),E0=I(G());up();c4();P1();f1();M2();Sr();rh();c1();e4();o7();v0();o4();uZ=5,o71=B(T2)(pZ||(pZ=V(["\n --popover-outer-stroke: transparent;\n --popover-inner-stroke: rgba(26, 28, 30, 0.97);\n"]))),n71=E0.default.forwardRef((t,a)=>{let{allConnections:c}=ch(t);return E0.default.createElement(o71,{showPopoverEdgeTriangle:!1,ref:a},E0.default.createElement(Nn,{curveConnection:c[0],additionalConnections:c,onRequestClose:t.closePopover}))}),mZ=t=>{let[a,c]=z1(null),{editorProps:r}=t,[e]=v71(t,c),[l]=h71(c,t.editorProps),{node:i,toggle:o,close:n}=x2(()=>{let g=(0,eh.val)(r.layoutP.rightDims);return{debugName:"Connector",constraints:{minX:g.screenX+uZ,maxX:g.screenX+g.width-uZ}}},()=>E0.default.createElement(n71,D(S({},r),{closePopover:n}))),{connected:h,isAggregateEditingInCurvePopover:v}=t.utils;return h||l?E0.default.createElement(E0.default.Fragment,null,E0.default.createElement(Jn,{ref:a,connectorLengthInUnitSpace:h?h.length:0,isSelected:h?h.selected:!1,isPopoverOpen:v,openPopover:g=>{c&&o(g,c)}}),i,e):E0.default.createElement(E0.default.Fragment,null)}});function HZ(t){let a={isSelected:t.isSelected,flag:t.flag};return R5.default.createElement(fp,null,t.isAllHere?R5.default.createElement(s71,S({},a)):R5.default.createElement(z71,S({},a)))}var R5,CZ,g71,MZ,fp,xZ,LZ,VZ,wZ,BZ,yZ,d71,s71,z71,SZ=x(()=>{"use strict";R5=I(G());c1();Cr();G1();CZ=16,g71=CZ+2,fp=B.div(MZ||(MZ=V(["\n position: absolute;\n ","\n z-index: 1;\n"])),H0(CZ)),LZ=B.div(xZ||(xZ=V(["\n z-index: 2;\n cursor: ew-resize;\n\n position: absolute;\n ",";\n ",";\n\n &:hover\n + ",",\n #pointer-root.draggingPositionInSequenceEditor\n &:hover\n + "," {\n ","\n }\n"])),H0(12),C1,fp,fp,H0(g71));VZ="#F2C95C",wZ="#40AAA4",BZ="#45747C",yZ=t=>t.isSelected===0?VZ:t.isSelected===1?wZ:BZ,d71=t=>t.isSelected===0?VZ:t.isSelected===1?wZ:BZ,s71=t=>R5.default.createElement("svg",{width:"100%",height:"100%",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},R5.default.createElement("rect",{x:"4.46443",y:"10.0078",width:"5",height:"5",transform:"rotate(-45 4.46443 10.0078)",fill:"#212327",stroke:d71(t)}),R5.default.createElement("rect",{x:"3.75732",y:"6.01953",width:"6",height:"6",transform:"rotate(-45 3.75732 6.01953)",fill:yZ(t),stroke:t.flag===2?"white":void 0,strokeWidth:t.flag===2?"2px":void 0})),z71=t=>R5.default.createElement("svg",{width:"100%",height:"100%",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},R5.default.createElement("rect",{x:"4.46443",y:"8",width:"5",height:"5",transform:"rotate(-45 4.46443 8)",fill:"#23262B",stroke:t.flag===2?"white":yZ(t),strokeWidth:t.flag===2?"2px":void 0}))});function u71(t,a){let c=t.children.map(r=>r.type==="propWithChildren"?Mp(r,a):AZ(r,a)).filter(kZ);return c.length===0?null:{type:"sheetObject",sheetObject:t.sheetObject,children:c}}function Mp(t,a){let c=t.children.map(r=>r.type==="propWithChildren"?Mp(r,a):AZ(r,a)).filter(kZ);return c.length===0?null:{type:"propWithChildren",pathToProp:t.pathToProp,propConfig:t.propConf,children:c}}function AZ(t,a){let c=a.find(r=>r.track.id===t.trackId);return c?{type:"primitiveProp",keyframe:c.kf,pathToProp:t.pathToProp,propConfig:t.propConf,sheetObject:t.sheetObject,trackId:t.trackId}:null}function RZ(t){var o,n,h,v;let{cur:a}=t.utils,c=e8(t.editorProps.viewModel.type==="sheet"?null:t.editorProps.viewModel.type==="sheetObject"?(n=(o=u71(t.editorProps.viewModel,a.keyframes))==null?void 0:o.children)!=null?n:null:(v=(h=Mp(t.editorProps.viewModel,a.keyframes))==null?void 0:h.children)!=null?v:null),r=i3(t.utils.itemKey);r.useRelations(()=>a.keyframes.map(g=>({affects:g.itemKey,flag:2})),[a.keyframes.map(g=>g.track.id).join("-")]);let[e,l]=z1(null),[i]=p71(t,l);return Pr.default.createElement(Pr.default.Fragment,null,Pr.default.createElement(LZ,D(S(S({ref:e},r.attrs),r2.includePositionSnapAttrs(a.position)),{onClick:g=>t.editorProps.viewModel.type!=="sheet"?c.open(g,e.current):null})),Pr.default.createElement(HZ,{flag:r.flag,isAllHere:a.allHere,isSelected:a.selected}),i,c.node)}function p71(t,a){return Z1(a,{displayName:"Aggregate Keyframe",menuItems:()=>{let c=t.editorProps.viewModel,r=t.editorProps.selection;return[{label:r?"Copy (selection)":"Copy",callback:()=>{if(r){let{projectId:e,sheetId:l}=c.type==="sheet"?c.sheet.address:c.sheetObject.address,i=r8(e,l,r);T().transaction(o=>{o.stateEditors.studio.ahistoric.setClipboardKeyframes(i)})}else{let e=t.utils.cur.keyframes.flatMap(n=>{var h;return(h=Rr(D(S({},n.track.sheetObject.address),{trackId:n.track.id,keyframeIds:[n.kf.id]})))!=null?h:[]}),l=c.type==="sheet"?[]:c.type==="sheetObject"?[c.sheetObject.address.objectKey]:c.type==="propWithChildren"?[c.sheetObject.address.objectKey,...c.pathToProp]:[],i=J6([l,...e.map(n=>n.pathToProp)]),o=e.map(({keyframe:n,pathToProp:h})=>({keyframe:n,pathToProp:h.slice(i.length)}));T().transaction(n=>{n.stateEditors.studio.ahistoric.setClipboardKeyframes(o)})}}},{label:r?"Delete (selection)":"Delete",callback:()=>{r?r.delete():T().transaction(({stateEditors:e})=>{for(let l of t.utils.cur.keyframes)e.coreByProject.historic.sheetsById.sequence.deleteKeyframes(D(S({},l.track.sheetObject.address),{keyframeIds:[l.kf.id],trackId:l.track.id}))})}}]}})}var Pr,kZ,bZ=x(()=>{"use strict";Pr=I(G());P1();K6();v0();SZ();f1();o7();o4();b3();br();kZ=t=>t!==null});var IZ,Gr,FZ,m71,f71,PZ,GZ=x(()=>{"use strict";IZ=require("@theatre/dataverse"),Gr=I(G());c1();fZ();rh();bZ();m71=B.div(FZ||(FZ=V(["\n position: absolute;\n"]))),f71=Gr.default.memo(t=>{let a=ch(t);return Gr.default.createElement(m71,{style:{top:"".concat(t.viewModel.nodeHeight/2,"px"),left:"calc(".concat((0,IZ.val)(t.layoutP.scaledSpace.leftPadding),"px + calc(var(--unitSpaceToScaledSpaceMultiplier) * ").concat(a.cur.position,"px))")}},Gr.default.createElement(RZ,{editorProps:t,utils:a}),Gr.default.createElement(mZ,{editorProps:t,utils:a}))}),PZ=f71});function C71(t){let{layoutP:a,aggregatedKeyframes:c,viewModel:r}=t,e=C0("AggregatedKeyframeTrack"),[l,i]=z1(null),{selectedPositions:o,selection:n}=H71(a,c),[h,v,g]=B71(i,t,()=>e._debug("see aggregatedKeyframes",t.aggregatedKeyframes)),s=(0,D0.useMemo)(()=>[...c.byPosition.entries()].sort((H,y)=>H[0]-y[0]).map(([H,y])=>({position:H,keyframes:y,selected:o.get(H),allHere:y.length===c.tracks.length})),[c,o]),d=s1(Gn),z=d.mode==="snapToAll",u=d.mode==="snapToSome"?d.positions:$o,p=(0,D0.useMemo)(()=>r.type==="sheet"?VG(r,u):Rn(r,u),[u]).map(H=>D0.default.createElement(pt,{key:"snap-target-"+H,layoutP:a,leaf:r,position:H})),m=(0,D0.useMemo)(()=>s.map(({position:H,keyframes:y},k)=>({position:H,editorProps:{index:k,layoutP:a,viewModel:r,aggregateKeyframes:s,selection:o.has(H)?n:void 0}})),[s,r,o]),[M]=A71(i,H=>{var y;return(y=m.find(k=>k.position===H))==null?void 0:y.editorProps},{onClickFromDrag(H){}}),w=m.map((H,y)=>D0.default.createElement(D0.Fragment,{key:"agg-"+s[y].keyframes[0].kf.id},z&&D0.default.createElement(pt,{layoutP:a,leaf:r,position:H.position}),D0.default.createElement(PZ,S({},H.editorProps))));return D0.default.createElement(M71,{ref:l,style:{background:g?"#444850 ":"unset"}},w,p,h)}function H71(t,a){return v1(()=>(0,Q2.val)(V71(t,a)),[t,a])}function V71(t,a){return(0,Q2.prism)(()=>{let c=(0,Q2.val)(t.selectionAtom),r=(0,Q2.val)(c.pointer.current);if(!r)return x71;let e=new Map;for(let[l,i]of a.byPosition){let o=w71(i,r);o!==void 0&&o!==xp&&e.set(l,o)}return{selectedPositions:e,selection:(0,Q2.val)(c.pointer.current)}})}function w71(t,a){var r,e,l;let c;for(let{track:i,kf:o}of t){let n=((l=(e=(r=a.byObjectKey[i.sheetObject.address.objectKey])==null?void 0:r.byTrackId[i.id])==null?void 0:e.byKeyframeId)==null?void 0:l[o.id])===!0;c===void 0?n?c=TZ:c=xp:n?c===xp&&(c=ZZ):c===TZ&&(c=ZZ)}return c}function B71(t,a,c){return Z1(t,{onOpen:c,displayName:"Aggregate Keyframe Track",menuItems:()=>{var e;let r=(e=(0,Q2.pointerToPrism)(T().atomP.ahistoric.clipboard.keyframesWithRelativePaths).getValue())!=null?e:[];return[y71(a,r)]}})}function y71(t,a){return{label:"Paste Keyframes",enabled:a.length>0,callback:()=>{let r=(0,Q2.val)(t.layoutP.sheet).getSequence();t.viewModel.type==="sheet"?S71(t.viewModel,a,r):k71(t.viewModel,a,r)}}}function S71(t,a,c){var o;let{projectId:r,sheetId:e,sheetInstanceId:l}=t.sheet.address;if(a.every(({pathToProp:n})=>n.length===0))for(let n of t.children.map(h=>h.sheetObject)){let h=(0,Q2.pointerToPrism)(T().atomP.historic.coreByProject[r].sheetsById[e].sequence.tracksByObject[n.address.objectKey]).getValue(),v=Object.keys((o=h==null?void 0:h.trackData)!=null?o:{});Cp(n.address,v,a,c)}else{let n=(0,Q2.pointerToPrism)(T().atomP.historic.coreByProject[r].sheetsById[e].sequence.tracksByObject).getValue(),h=a.map(({keyframe:v,pathToProp:g})=>{var p,m;let s=g[0],d=g.slice(1),z=h3([...d]),f=((m=(p=n==null?void 0:n[s])==null?void 0:p.trackIdByPropPath)!=null?m:{})[z];return f?{keyframe:v,trackId:f,address:{objectKey:s,projectId:r,sheetId:e,sheetInstanceId:l}}:null}).filter(v=>v!==null);DZ(h,c)}}function k71(t,a,c){var n;let{projectId:r,sheetId:e,objectKey:l}=t.sheetObject.address,i=(0,Q2.pointerToPrism)(T().atomP.historic.coreByProject[r].sheetsById[e].sequence.tracksByObject[l]).getValue();if(a.every(({pathToProp:h})=>h.length===0)){let h=Object.keys((n=i==null?void 0:i.trackData)!=null?n:{});if(t.type==="sheetObject")Cp(t.sheetObject.address,h,a,c);else{let v=(i==null?void 0:i.trackIdByPropPath)||{},g=Object.entries(v).filter(([s,d])=>d!==void 0&&mG(ut(s),t.pathToProp)).map(([s,d])=>d);Cp(t.sheetObject.address,g,a,c)}}else{let h=(i==null?void 0:i.trackIdByPropPath)||{},v=t.type==="propWithChildren"?t.pathToProp:[],g=a.map(({keyframe:s,pathToProp:d})=>{let z=h3([...v,...d]),u=h[z];return u?{keyframe:s,trackId:u,address:t.sheetObject.address}:null}).filter(s=>s!==null);DZ(g,c)}}function Cp(t,a,c,r){var l;r.position=r.closestGridPosition(r.position);let e=(l=WZ(c.map(({keyframe:i})=>i)))==null?void 0:l.position;T().transaction(({stateEditors:i})=>{for(let o of a)for(let{keyframe:n}of c)i.coreByProject.historic.sheetsById.sequence.setKeyframeAtPosition(D(S({},t),{trackId:o,position:r.position+n.position-e,handles:n.handles,value:n.value,snappingFunction:r.closestGridPosition,type:n.type}))})}function DZ(t,a){var r;a.position=a.closestGridPosition(a.position);let c=(r=WZ(t.map(({keyframe:e})=>e)))==null?void 0:r.position;T().transaction(({stateEditors:e})=>{for(let{keyframe:l,trackId:i,address:o}of t)e.coreByProject.historic.sheetsById.sequence.setKeyframeAtPosition(D(S({},o),{trackId:i,position:a.position+l.position-c,handles:l.handles,value:l.value,snappingFunction:a.closestGridPosition,type:l.type}))})}function WZ(t){let a=null;for(let c of t)(a===null||c.position({debugName:"AggregateKeyframeDot/useDragKeyframe",onDragStart(o){r._debug("onDragStart",{target:o.target});let n=Number(o.target.dataset.pos),h=a(n);if(!h)return r._debug("no props found for ",{positionToFind:n}),!1;e(!0,n);let v=(0,Q2.prism)(mp(h)).getValue().cur.keyframes,g=h.viewModel.type==="sheet"?h.viewModel.sheet.address:h.viewModel.sheetObject.address,s=(0,Q2.val)(T().atomP.historic.coreByProject[g.projectId].sheetsById[g.sheetId].sequence.tracksByObject),d=Zn(s,function(m,{trackId:M,objectKey:w}){var H,y;return v.every(k=>m.id!==k.kf.id)&&!(h.selection&&((y=(H=h.selection.byObjectKey[w])==null?void 0:H.byTrackId[M])!=null&&y.byKeyframeId[m.id]))});if(Tn(d),h.selection&&h.aggregateKeyframes[h.index].selected===0){let{selection:p,viewModel:m}=h,M=p.getDragHandlers(D(S({},g),{domNode:t,positionAtStartOfDrag:v[0].kf.position})).onDragStart(o);return M&&D(S({},M),{onClick:c.onClickFromDrag,onDragEnd:(...w)=>{var H;(H=M.onDragEnd)==null||H.call(M,...w),I3()}})}let z=h,u=(0,Q2.val)(z.layoutP.scaledSpace.toUnitSpace),f;return{onDrag(p,m,M){var H;let w=Math.max((H=r2.checkIfMouseEventSnapToPos(M,{}))!=null?H:v[0].kf.position+u(p),0);e(!0,w),f==null||f.discard(),f=void 0,f=T().tempTransaction(({stateEditors:y})=>{for(let k of v){let F=k.kf;y.coreByProject.historic.sheetsById.sequence.replaceKeyframes(D(S({},k.track.sheetObject.address),{trackId:k.track.id,keyframes:[D(S({},F),{position:w})],snappingFunction:(0,Q2.val)(z.layoutP.sheet).getSequence().closestGridPosition}))}})},onDragEnd(p){e(!1,-1),p?f==null||f.commit():(f==null||f.discard(),c.onClickFromDrag(o)),I3()},onClick(p){c.onClickFromDrag(p)}}}}),[a,c.onClickFromDrag]),[i]=S1(t,l);return s2(i,"draggingPositionInSequenceEditor","ew-resize"),[i]}var Q2,D0,OZ,M71,x71,L71,Vt,EZ,TZ,ZZ,xp,lh=x(()=>{"use strict";M1();Q2=require("@theatre/dataverse"),D0=I(G());c1();v0();P1();GZ();l7();L5();rh();b3();M2();E2();I0();f1();o4();c8();pu();c8();l7();M71=B.div(OZ||(OZ=V(["\n position: relative;\n height: 100%;\n width: 100%;\n"]))),x71=Object.freeze({selectedPositions:new Map,selection:void 0});L71=D0.default.memo(C71),Vt=L71,EZ=(r=>(r[r.AllSelected=0]="AllSelected",r[r.AtLeastOneUnselected=1]="AtLeastOneUnselected",r[r.NoneSelected=2]="NoneSelected",r))(EZ||{}),{AllSelected:TZ,AtLeastOneUnselected:ZZ,NoneSelected:xp}=EZ});var wt,Lp,R71,_Z=x(()=>{"use strict";M1();wt=I(G());dZ();Lr();lh();l7();L5();Lp=(t,a)=>t.type==="propWithChildren"?wt.default.createElement(R71,{layoutP:a,viewModel:t,key:"prop"+t.pathToProp[t.pathToProp.length-1]}):wt.default.createElement(gZ,{layoutP:a,leaf:t,key:"prop"+t.pathToProp[t.pathToProp.length-1]}),R71=({viewModel:t,layoutP:a})=>{let c=C0("RightPropWithChildrenRow",t.pathToProp.join());return v1(()=>{let r=t8(t);return wt.default.createElement(uo,{logger:c},wt.default.createElement(A5,{leaf:t,node:wt.default.createElement(Vt,{layoutP:a,aggregatedKeyframes:r,viewModel:t}),isCollapsed:t.isCollapsed},t.children.map(l=>Lp(l,a))))},[t,a])}});var Hp,b71,jZ,qZ=x(()=>{"use strict";M1();Hp=I(G());_Z();Lr();l7();lh();b71=({leaf:t,layoutP:a})=>v1(()=>{let c=t8(t);return Hp.default.createElement(A5,{leaf:t,node:Hp.default.createElement(Vt,{layoutP:a,aggregatedKeyframes:c,viewModel:t}),isCollapsed:t.isCollapsed},t.children.map(e=>Lp(e,a)))},[t,a]),jZ=b71});var ih,F71,NZ,UZ=x(()=>{"use strict";M1();ih=I(G());qZ();Lr();l7();lh();F71=({leaf:t,layoutP:a})=>v1(()=>{let c=t8(t);return ih.default.createElement(A5,{leaf:t,node:ih.default.createElement(Vt,{layoutP:a,aggregatedKeyframes:c,viewModel:t}),isCollapsed:t.isCollapsed},t.children.map(e=>ih.default.createElement(jZ,{layoutP:a,key:"sheetObject-"+e.sheetObject.address.objectKey,leaf:e})))},[t,a]),NZ=F71});var Tr,h7,oh,KZ,I71,P71,$Z,Vp=x(()=>{"use strict";M1();Tr=require("@theatre/dataverse"),h7=I(G());c1();kG();rp();UZ();oh=1e6,I71=B.ul(KZ||(KZ=V(["\n margin: 0;\n padding: 0;\n list-style: none;\n position: absolute;\n left: 0;\n width: ","px;\n"])),oh),P71=({layoutP:t})=>v1(()=>{let a=(0,Tr.val)(t.tree),c=(0,Tr.val)(t.tree.top)+Math.max((0,Tr.val)(t.tree.heightIncludingChildren),(0,Tr.val)(t.dopeSheetDims.height));return h7.default.createElement(h7.default.Fragment,null,h7.default.createElement(On,{layoutP:t,height:c},h7.default.createElement(SG,{layoutP:t,height:c},h7.default.createElement(I71,{style:{top:a.top+"px"}},h7.default.createElement(NZ,{leaf:a,layoutP:t})))))},[t]),$Z=P71});function Zr(t,a,c,r){let e="calc(var(--unitSpaceToScaledSpaceMultiplier) * ".concat(t,"px)"),l="calc((var(--graphEditorVerticalSpace) - var(--graphEditorVerticalSpace) * ".concat(a,") * 1px)");c===0&&(c=1e-4);let i="calc(var(--unitSpaceToScaledSpaceMultiplier) * ".concat(c,")");r===0&&(r=.001);let o="calc(var(--graphEditorVerticalSpace) * ".concat(r*-1,")");return"translate(".concat(e,", ").concat(l,") scale(").concat(i,", ").concat(o,")")}function O71(t,a){let{index:c,trackData:r}=a,e=r.keyframes[c],l=r.keyframes[c+1];return Z1(t,{menuItems:()=>[{label:"Delete",callback:()=>{T().transaction(({stateEditors:i})=>{let{deleteKeyframes:o}=i.coreByProject.historic.sheetsById.sequence;o(D(S({},a.sheetObject.address),{trackId:a.trackId,keyframeIds:[e.id,l.id]}))})}}]})}var nh,QZ,G71,T71,Z71,XZ,hh=x(()=>{"use strict";H5();f1();v0();P1();nh=I(G());c1();G71=B.path(QZ||(QZ=V(["\n stroke-width: 2;\n stroke: var(--main-color);\n fill: none;\n vector-effect: non-scaling-stroke;\n"]))),T71="M 0 0 L 1 0 L 1 1",Z71=t=>{let{index:a,trackData:c}=t,r=c.keyframes[a],e=c.keyframes[a+1],l=e.position-r.position,[i,o]=z1(null),[n]=O71(o,t),h=t.isScalar?X8(r.value,t.propConfig):0,v=t.isScalar?X8(e.value,t.propConfig):1,g=t.extremumSpace.fromValueSpace(h),d=t.extremumSpace.fromValueSpace(v)-g,z=Zr(r.position,g,l,d),u=r.handles[2],f=r.handles[3],p=e.handles[0],m=e.handles[1],M="M 0 0 C ".concat(u," ").concat(f," ").concat(p," ").concat(m," 1 1");return nh.default.createElement(nh.default.Fragment,null,nh.default.createElement(G71,{ref:i,d:!r.type||r.type==="bezier"?M:T71,style:{transform:z}}),n)};XZ=Z71});function _71(t,a){let c=(0,b5.useRef)(a);c.current=a;let r=(0,b5.useMemo)(()=>({debugName:"CurveHandler/useOurDrags",lockCSSCursorTo:"move",onDragStart(){let e,l=c.current,i=(0,Or.val)(l.layoutP.scaledSpace.toUnitSpace),o=(0,Or.val)(l.layoutP.graphEditorVerticalSpace.toExtremumSpace),n=l.extremumSpace.lock();return{onDrag(h,v){e&&(e.discard(),e=void 0);let{index:g,trackData:s}=l,d=s.keyframes[g],z=s.keyframes[g+1],f=i(h)/(z.position-d.position),p=-v,m=o(p),M=l.extremumSpace.deltaToValueSpace(m),w=a.isScalar?d.value:0,H=a.isScalar?z.value:1,y=M/(H-w);if(l.which==="left"){let k=b1(d.handles[2]+f,0,1),F=d.handles[3]+y;e=T().tempTransaction(({stateEditors:U})=>{U.coreByProject.historic.sheetsById.sequence.replaceKeyframes(D(S({},l.sheetObject.address),{snappingFunction:(0,Or.val)(l.layoutP.sheet).getSequence().closestGridPosition,trackId:l.trackId,keyframes:[D(S({},d),{handles:[d.handles[0],d.handles[1],k,F]})]}))})}else{let k=b1(z.handles[0]+f,0,1),F=z.handles[1]+y;e=T().tempTransaction(({stateEditors:U})=>{U.coreByProject.historic.sheetsById.sequence.replaceKeyframes(D(S({},l.sheetObject.address),{trackId:l.trackId,snappingFunction:(0,Or.val)(l.layoutP.sheet).getSequence().closestGridPosition,keyframes:[D(S({},z),{handles:[k,F,z.handles[2],z.handles[3]]})]}))})}},onDragEnd(h){n(),h?e&&e.commit():e&&e.discard()}}}}),[]);S1(t,r)}function j71(t,a){return Z1(t,{menuItems:()=>[{label:"Delete",callback:()=>{T().transaction(({stateEditors:c})=>{c.coreByProject.historic.sheetsById.sequence.deleteKeyframes(D(S({},a.sheetObject.address),{keyframeIds:[a.keyframe.id],trackId:a.trackId}))})}}]})}var Or,b5,YZ,aO,JZ,E71,tO,D71,W71,wp,cO=x(()=>{"use strict";f1();v0();M2();P1();Or=require("@theatre/dataverse");H2();b5=I(G());c1();hh();G1();aO=B.circle(YZ||(YZ=V(["\n stroke-width: 1px;\n vector-effect: non-scaling-stroke;\n fill: var(--main-color);\n r: 2px;\n pointer-events: none;\n"]))),E71=B.circle(JZ||(JZ=V(["\n stroke-width: 6px;\n vector-effect: non-scaling-stroke;\n r: 6px;\n fill: transparent;\n cursor: move;\n ",";\n &:hover {\n }\n &:hover + "," {\n r: 6px;\n }\n"])),C1,aO),D71=B.path(tO||(tO=V(["\n stroke-width: 1;\n stroke: var(--main-color);\n /* stroke: gray; */\n fill: none;\n vector-effect: non-scaling-stroke;\n"]))),W71=t=>{let[a,c]=z1(null),{index:r,trackData:e}=t,l=e.keyframes[r],i=e.keyframes[r+1],[o]=j71(c,t);_71(c,t);let n=t.which==="left"?l.handles[2]:i.handles[0],h=l.position+(i.position-l.position)*n,v=t.which==="left"?l.handles[3]:i.handles[1],g=t.isScalar?l.value:0,s=t.isScalar?i.value:1,d=g+(s-g)*v,z=t.extremumSpace.fromValueSpace(d),u=z-t.extremumSpace.fromValueSpace(t.which==="left"?g:s),f=Zr(t.which==="left"?l.position:i.position,t.extremumSpace.fromValueSpace(t.which==="left"?g:s),h-(t.which==="left"?l.position:i.position),u);return b5.default.createElement("g",null,b5.default.createElement(E71,{ref:a,style:{cx:"calc(var(--unitSpaceToScaledSpaceMultiplier) * ".concat(h," * 1px)"),cy:"calc((var(--graphEditorVerticalSpace) - var(--graphEditorVerticalSpace) * ".concat(z,") * 1px)")}}),b5.default.createElement(aO,{style:{cx:"calc(var(--unitSpaceToScaledSpaceMultiplier) * ".concat(h," * 1px)"),cy:"calc((var(--graphEditorVerticalSpace) - var(--graphEditorVerticalSpace) * ".concat(z,") * 1px)")}}),b5.default.createElement(D71,{d:"M 0 0 L 1 1",style:{transform:f}}),o)},wp=W71});function U71(t){let[a,c]=(0,g4.useState)(!1);g0(a,t.props.keyframe.position);let r=(0,g4.useRef)(t.props);r.current=t.props;let e=(0,g4.useMemo)(()=>({debugName:"GraphEditorDotScalar/useDragKeyframe",lockCSSCursorTo:"move",onDragStart(l){c(!0);let i=!!l.altKey,o=r.current,n=(0,vh.val)(o.layoutP.scaledSpace.toUnitSpace),h=(0,vh.val)(o.layoutP.graphEditorVerticalSpace.toExtremumSpace),v=o.extremumSpace.lock(),g;return{onDrag(s,d){let z=o.trackData.keyframes[o.index],u=n(s),f=-d,p=h(f),m=o.extremumSpace.deltaToValueSpace(p),M=[],w=D(S({},z),{position:z.position+u,value:z.value+m,handles:[...z.handles]});if(M.push(w),i){let H=o.trackData.keyframes[o.index-1];if(H&&Math.abs(z.value-H.value)>0){let k=D(S({},H),{handles:[...H.handles]});M.push(k),k.handles[3]=$71(H.handles[3],H.value,H.value,z.value,w.value)}let y=o.trackData.keyframes[o.index+1];if(y&&Math.abs(z.value-y.value)>0){let k=D(S({},y),{handles:[...y.handles]});M.push(k),k.handles[1]=Q71(k.handles[1],k.value,k.value,z.value,w.value)}}g==null||g.discard(),g=T().tempTransaction(({stateEditors:H})=>{H.coreByProject.historic.sheetsById.sequence.replaceKeyframes(D(S({},o.sheetObject.address),{trackId:o.trackId,keyframes:M,snappingFunction:(0,vh.val)(o.layoutP.sheet).getSequence().closestGridPosition}))})},onDragEnd(s){c(!1),v(),s?g==null||g.commit():(g==null||g.discard(),t.onDetectedClick(l))}}}}),[]);return S1(t.node,e),s2(a,"draggingPositionInSequenceEditor","move"),a}function K71(t,a){return Z1(t,{menuItems:()=>[{label:"Delete",callback:()=>{T().transaction(({stateEditors:c})=>{c.coreByProject.historic.sheetsById.sequence.deleteKeyframes(D(S({},a.sheetObject.address),{keyframeIds:[a.keyframe.id],trackId:a.trackId}))})}}]})}function $71(t,a,c,r,e){return(r-a)*t/(e-c)}function Q71(t,a,c,r,e){return((a-r)*t+r-a+c-e)/(c-e)}var vh,g4,rO,lO,eO,q71,N71,iO,oO=x(()=>{"use strict";f1();v0();M2();P1();vh=require("@theatre/dataverse"),g4=I(G());c1();E2();E2();G1();I0();b3();br();K6();lO=B.circle(rO||(rO=V(["\n fill: var(--main-color);\n stroke-width: 1px;\n vector-effect: non-scaling-stroke;\n\n r: 2px;\n"]))),q71=B.circle(eO||(eO=V(["\n stroke-width: 6px;\n vector-effect: non-scaling-stroke;\n r: 6px;\n fill: transparent;\n ",";\n\n &:hover + "," {\n r: 6px;\n }\n\n #pointer-root.normal & {\n cursor: move;\n }\n\n #pointer-root.draggingPositionInSequenceEditor & {\n pointer-events: auto;\n cursor: var(",");\n }\n\n &.beingDragged {\n pointer-events: none !important;\n }\n"])),C1,lO,F0),N71=t=>{let[a,c]=z1(null),{index:r,trackData:e}=t,l=e.keyframes[r],[i]=K71(c,t),o=i3(t.itemKey),n=l.value,h=t.extremumSpace.fromValueSpace(n),v=e8([{type:"primitiveProp",keyframe:t.keyframe,pathToProp:t.pathToProp,propConfig:t.propConfig,sheetObject:t.sheetObject,trackId:t.trackId}]),g=U71({node:c,props:t,onDetectedClick:s=>v.toggle(s,s.target instanceof Element?s.target:c)});return g4.default.createElement(g4.default.Fragment,null,g4.default.createElement(q71,D(S(S(S({ref:a,style:{cx:"calc(var(--unitSpaceToScaledSpaceMultiplier) * ".concat(l.position," * 1px)"),cy:"calc((var(--graphEditorVerticalSpace) - var(--graphEditorVerticalSpace) * ".concat(h,") * 1px)")}},O2(l.position)),r2.includePositionSnapAttrs(l.position)),o.attrs),{className:g?"beingDragged":""})),g4.default.createElement(lO,{style:{cx:"calc(var(--unitSpaceToScaledSpaceMultiplier) * ".concat(l.position," * 1px)"),cy:"calc((var(--graphEditorVerticalSpace) - var(--graphEditorVerticalSpace) * ".concat(h,") * 1px)"),fill:o.flag===2?"white":void 0}}),v.node,i)},iO=N71});function J71(t){let[a,c]=(0,d4.useState)(!1);g0(a,t.props.keyframe.position);let r=(0,d4.useRef)(t.props);r.current=t.props;let e=(0,d4.useMemo)(()=>({debugName:"GraphEditorDotNonScalar/useDragKeyframe",lockCSSCursorTo:"ew-resize",onDragStart(l){c(!0);let i=r.current,o=(0,Bp.val)(i.layoutP.scaledSpace.toUnitSpace),n=i.extremumSpace.lock(),h;return{onDrag(v,g){let s=i.trackData.keyframes[i.index],d=o(v),z=[],u=D(S({},s),{position:s.position+d,value:s.value,handles:[...s.handles]});z.push(u),h==null||h.discard(),h=T().tempTransaction(({stateEditors:f})=>{f.coreByProject.historic.sheetsById.sequence.replaceKeyframes(D(S({},i.sheetObject.address),{trackId:i.trackId,keyframes:z,snappingFunction:(0,Bp.val)(i.layoutP.sheet).getSequence().closestGridPosition}))})},onDragEnd(v){c(!1),n(),v?h==null||h.commit():(h==null||h.discard(),t.onDetectedClick(l))}}}}),[]);return S1(t.node,e),s2(a,"draggingPositionInSequenceEditor","ew-resize"),a}function t91(t,a){return Z1(t,{menuItems:()=>[{label:"Delete",callback:()=>{T().transaction(({stateEditors:c})=>{c.coreByProject.historic.sheetsById.sequence.deleteKeyframes(D(S({},a.sheetObject.address),{keyframeIds:[a.keyframe.id],trackId:a.trackId}))})}}]})}var Bp,d4,nO,vO,hO,X71,Y71,yp,gO=x(()=>{"use strict";f1();v0();M2();P1();Bp=require("@theatre/dataverse"),d4=I(G());c1();E2();E2();G1();I0();b3();br();K6();vO=B.circle(nO||(nO=V(["\n fill: var(--main-color);\n stroke-width: 1px;\n vector-effect: non-scaling-stroke;\n\n r: 2px;\n"]))),X71=B.circle(hO||(hO=V(["\n stroke-width: 6px;\n vector-effect: non-scaling-stroke;\n r: 6px;\n fill: transparent;\n ",";\n\n &:hover + "," {\n r: 6px;\n }\n\n #pointer-root.normal & {\n cursor: ew-resize;\n }\n\n #pointer-root.draggingPositionInSequenceEditor & {\n pointer-events: auto;\n cursor: var(",");\n }\n\n &.beingDragged {\n pointer-events: none !important;\n }\n"])),C1,vO,F0),Y71=t=>{let[a,c]=z1(null),{index:r,trackData:e,itemKey:l}=t,i=e.keyframes[r],[o]=t91(c,t),n=i3(l),h=t.which==="left"?0:1,v=e8([{type:"primitiveProp",keyframe:t.keyframe,pathToProp:t.pathToProp,propConfig:t.propConfig,sheetObject:t.sheetObject,trackId:t.trackId}]),g=J71({node:c,props:t,onDetectedClick:d=>v.toggle(d,d.target instanceof Element?d.target:c)}),s=t.extremumSpace.fromValueSpace(h);return d4.default.createElement(d4.default.Fragment,null,d4.default.createElement(X71,D(S(S(S({ref:a,style:{cx:"calc(var(--unitSpaceToScaledSpaceMultiplier) * ".concat(i.position," * 1px)"),cy:"calc((var(--graphEditorVerticalSpace) - var(--graphEditorVerticalSpace) * ".concat(s,") * 1px)")}},n.attrs),O2(i.position)),r2.includePositionSnapAttrs(i.position)),{className:g?"beingDragged":""})),d4.default.createElement(vO,{style:{cx:"calc(var(--unitSpaceToScaledSpaceMultiplier) * ".concat(i.position," * 1px)"),cy:"calc((var(--graphEditorVerticalSpace) - var(--graphEditorVerticalSpace) * ".concat(s,") * 1px)"),fill:n.flag===2?"white":void 0}}),v.node,o)},yp=Y71});var gh,dO,a91,c91,sO,zO=x(()=>{"use strict";gh=I(G());c1();hh();a91=B.path(dO||(dO=V(["\n stroke-width: 2;\n stroke: var(--main-color);\n stroke-dasharray: 3 2;\n fill: none;\n vector-effect: non-scaling-stroke;\n opacity: 0.3;\n"]))),c91=t=>{let{index:a,trackData:c}=t,r="M 0 0 L 1 1",e=Zr(c.keyframes[a].position,t.extremumSpace.fromValueSpace(0),0,t.extremumSpace.fromValueSpace(1)-t.extremumSpace.fromValueSpace(0));return gh.default.createElement(gh.default.Fragment,null,gh.default.createElement(a91,{d:r,style:{transform:e}}))},sO=c91});var X2,uO,r91,e91,l91,pO,mO=x(()=>{"use strict";X2=I(G());c1();hh();cO();oO();gO();zO();r91=B.g(uO||(uO=V(["\n /* position: absolute; */\n"]))),e91=X2.default.createElement(X2.default.Fragment,null),l91=t=>{let{index:a,trackData:c,isScalar:r}=t,e=c.keyframes[a],l=c.keyframes[a+1],o=e.connectedRight&&!!l&&l.value!==e.value;return X2.default.createElement(r91,null,o?X2.default.createElement(X2.default.Fragment,null,X2.default.createElement(XZ,S({},t)),!e.type||e.type==="bezier"&&X2.default.createElement(X2.default.Fragment,null,X2.default.createElement(wp,D(S({},t),{which:"left"})),X2.default.createElement(wp,D(S({},t),{which:"right"})))):e91,r?X2.default.createElement(iO,S({},t)):X2.default.createElement(X2.default.Fragment,null,X2.default.createElement(yp,D(S({},t),{which:"left"})),X2.default.createElement(yp,D(S({},t),{which:"right"})),X2.default.createElement(sO,S({},t))))},pO=l91});function o91(t,a){let c=1/0,r=-1/0;function e(l){c=Math.min(l,c),r=Math.max(l,r)}return t.forEach((l,i)=>{let o=X8(l.value,a);if(e(o),!l.connectedRight)return;let n=t[i+1];if(!n)return;let h=(typeof n.value=="number"?n.value:1)-o;e(o+l.handles[3]*h),e(o+n.handles[1]*h)}),[c,r]}function n91(t){let a=0,c=1;function r(e){a=Math.min(e,a),c=Math.max(e,c)}return t.forEach((e,l)=>{if(!e.connectedRight)return;let i=t[l+1];i&&(r(e.handles[3]),r(i.handles[1]))}),[a,c]}var v3,i91,fO,MO=x(()=>{"use strict";O4();v3=I(G());Er();mO();H5();M1();i91=v3.default.memo(({layoutP:t,trackData:a,sheetObject:c,trackId:r,color:e,pathToProp:l})=>{let i=U9(s1(c.template.configPointer),l);if(G0(i))return console.error("Composite prop types cannot be keyframed"),v3.default.createElement(v3.default.Fragment,null);let[o,n]=(0,v3.useState)(!1),h=(0,v3.useMemo)(()=>{let d=new Set;return function(){let u=d.size===0;d.add(f),u&&n(!0);function f(){let p=d.size>0;d.delete(f),p&&d.size===0&&n(!1)}return f}},[]),v=(0,v3.useMemo)(()=>{let d=i.type==="number"?o91(a.keyframes,i):n91(a.keyframes),z=p=>(p-d[0])/(d[1]-d[0]),u=p=>d[0]+f(p),f=p=>p*(d[1]-d[0]);return{fromValueSpace:z,toValueSpace:u,deltaToValueSpace:f,lock:h}},[a.keyframes]),g=(0,v3.useRef)(void 0);o||(g.current=v);let s=a.keyframes.map((d,z)=>v3.default.createElement(pO,{pathToProp:l,propConfig:i,itemKey:c2.forTrackKeyframe(c,r,d.id),keyframe:d,index:z,trackData:a,layoutP:t,sheetObject:c,trackId:r,isScalar:i.type==="number",key:d.id,extremumSpace:g.current,color:e}));return v3.default.createElement("g",{style:{"--main-color":v7[e].iconColor}},s)}),fO=i91});var xO,dh,h91,CO,LO=x(()=>{"use strict";f1();M1();xO=require("@theatre/dataverse"),dh=I(G());MO();h91=t=>v1(()=>{let{sheetObject:a,trackId:c}=t,r=(0,xO.val)(T().atomP.historic.coreByProject[a.address.projectId].sheetsById[a.address.sheetId].sequence.tracksByObject[a.address.objectKey].trackData[c]);return(r==null?void 0:r.type)!=="BasicKeyframedTrack"?(console.error("trackData type ".concat(r==null?void 0:r.type," is not yet supported on the graph editor")),dh.default.createElement(dh.default.Fragment,null)):dh.default.createElement(fO,D(S({},t),{trackData:r}))},[t.trackId,t.layoutP]),CO=h91});function Dr({clippedSpaceRange:t,clippedSpaceWidth:a,fps:c,gapWidth:r=120},e){let l=1/c,i=t.end-t.start,o=a/(c*i),n=Math.floor(r/o),v=(nd>=n):c*Math.floor(n/c))*l,g=Math.floor(t.start/v),s=Math.ceil(t.end/v);for(let d=g;d<=s;d++){let z=d*v,u=z%1===0;e(z,u)}}var v91,Sp=x(()=>{"use strict";H2();v91=sa(t=>{let a=[];for(let c=1;c<=t;c++)t%c===0&&a.push(c);return a})});function m91(t){let{clippedSpaceWidth:a,height:c,ctx:r,unitSpaceToClippedSpace:e,snapToGrid:l}=t;r.clearRect(0,0,a,c),Dr(t,(i,o)=>{let n=l(i),h=Math.floor(e(n));r.strokeStyle=o?"rgba(225, 225, 225, 0.04)":"rgba(255, 255, 255, 0.01)",r.beginPath(),r.moveTo(h,0),r.lineTo(h,c),r.stroke(),r.closePath()})}var i8,s4,HO,g91,VO,d91,s91,z91,u91,p91,sh,kp=x(()=>{"use strict";i8=require("@theatre/dataverse"),s4=I(G());c1();Sp();f1();g91=B.div(HO||(HO=V(["\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n pointer-events: none;\n"]))),d91=B.canvas(VO||(VO=V(["\n position: relative;\n left: 0;\n"]))),s91=t=>{let a=t;return a.webkitBackingStorePixelRatio||a.mozBackingStorePixelRatio||a.msBackingStorePixelRatio||a.oBackingStorePixelRatio||a.backingStorePixelRatio||1},z91=()=>window.devicePixelRatio||1,u91=t=>z91()/s91(t),p91=({layoutP:t,width:a,height:c})=>{let r=(0,s4.useRef)(null),[e,l]=(0,s4.useState)(null),{ctx:i,ratio:o}=(0,s4.useMemo)(()=>{if(!e)return{};let n=e.getContext("2d"),h=u91(n);return{ctx:n,ratio:h}},[e]);return(0,s4.useLayoutEffect)(()=>{if(!i)return;e.width=a*o,e.height=c*o;let n=(0,i8.prism)(()=>{let h=(0,i8.val)(t.sheet).getSequence();return{ctx:i,clippedSpaceRange:(0,i8.val)(t.clippedSpace.range),clippedSpaceWidth:(0,i8.val)(t.clippedSpace.width),unitSpaceToClippedSpace:(0,i8.val)(t.clippedSpace.fromUnitSpace),height:c,leftPadding:(0,i8.val)(t.scaledSpace.leftPadding),fps:h.subUnitsPerUnit,snapToGrid:v=>h.closestGridPosition(v)}}).onChange(T().ticker,h=>{i.save(),i.scale(o,o),m91(h),i.restore()},!0);return()=>{n()}},[i,a,c,t]),s4.default.createElement(g91,{ref:r,style:{width:a+"px"}},s4.default.createElement(d91,{ref:l,style:{width:a+"px",height:c+"px"}}))},sh=p91});var N4,g7,v7,wO,f91,BO,M91,x91,yO,Er=x(()=>{"use strict";f1();o4();rr();M1();N4=require("@theatre/dataverse"),g7=I(G());c1();Vp();rp();LO();kp();R0();v7={1:{iconColor:"#b98b08"},2:{iconColor:"#70a904"},3:{iconColor:"#2e928a"},4:{iconColor:"#a943bb"},5:{iconColor:"#b90808"},6:{iconColor:"#b4bf0e"}},f91=B.div(wO||(wO=V(["\n position: absolute;\n right: 0;\n bottom: 0;\n background: ",";\n"])),N2(.03,"#1a1c1e")),M91=B.svg(BO||(BO=V(["\n position: absolute;\n top: 0;\n left: 0;\n margin: 0;\n pointer-events: none;\n"]))),x91=({layoutP:t})=>v1(()=>{let a=(0,N4.val)(t.sheet),c=(0,N4.val)(T().atomP.historic.projects.stateByProjectId[a.address.projectId].stateBySheetId[a.address.sheetId].sequenceEditor.selectedPropsByObject),r=(0,N4.val)(t.graphEditorDims.height),e=(0,N4.val)(t.scaledSpace.fromUnitSpace)(1),l=[];if(c)for(let[o,n]of Object.entries(c)){let h=a.getObject(o);if(!h)continue;let v=(0,N4.val)(h.template.getMapOfValidSequenceTracks_forStudio());for(let[g,s]of Object.entries(n)){let d=ut(g),z=l3(v,d);z&&l.push(g7.default.createElement(CO,{key:"graph-".concat(o,"-").concat(g),sheetObject:h,pathToProp:d,layoutP:t,trackId:z,color:s}))}}let i=(0,N4.val)(t.rightDims.width);return g7.default.createElement(f91,{style:{width:i+"px",height:r+"px","--unitSpaceToScaledSpaceMultiplier":e,"--graphEditorVerticalSpace":"".concat((0,N4.val)(t.graphEditorVerticalSpace.space))}},g7.default.createElement(sh,{layoutP:t,width:i,height:r}),g7.default.createElement(On,{layoutP:t,height:r},g7.default.createElement(M91,{width:oh,height:r,viewBox:"0 0 ".concat(oh," ").concat(r)},g7.default.createElement("g",{style:{transform:"translate(".concat((0,N4.val)(t.scaledSpace.leftPadding),"px, ").concat((0,N4.val)(t.graphEditorDims.padding.top),"px)")}},l))))},[t]),yO=x91});var bO,W0,C91,SO,L91,kO,FO,AO,H91,V91,RO,w91,B91,IO,PO=x(()=>{"use strict";f1();o4();er();M1();bO=require("@theatre/dataverse"),W0=I(G());c1();Xo();ir();Er();Mr();N6();_u();C91={label:{color:"#9a9a9a"}},L91=B(ju)(SO||(SO=V([""]))),FO=B(qu)(kO||(kO=V(["\n display: flex;\n color: ",";\n padding-right: 12px;\n align-items: center;\n justify-content: flex-end;\n box-sizing: border-box;\n"])),C91.label.color),H91=B.button(AO||(AO=V(["\n background: none;\n border: none;\n outline: none;\n display: flex;\n box-sizing: border-box;\n font-size: 14px;\n align-items: center;\n height: 100%;\n margin-left: 12px;\n color: ",";\n\n &:not([disabled]):hover {\n color: white;\n }\n"])),t=>t.isSelected?v7[t.graphEditorColor].iconColor:V5.offColor),V91=()=>W0.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"12",viewBox:"0 0 640 512"},W0.default.createElement("g",{transform:"translate(0 100)"},W0.default.createElement("path",{fill:"currentColor",d:"M368 32h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM208 88h-84.75C113.75 64.56 90.84 48 64 48 28.66 48 0 76.65 0 112s28.66 64 64 64c26.84 0 49.75-16.56 59.25-40h79.73c-55.37 32.52-95.86 87.32-109.54 152h49.4c11.3-41.61 36.77-77.21 71.04-101.56-3.7-8.08-5.88-16.99-5.88-26.44V88zm-48 232H64c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zM576 48c-26.84 0-49.75 16.56-59.25 40H432v72c0 9.45-2.19 18.36-5.88 26.44 34.27 24.35 59.74 59.95 71.04 101.56h49.4c-13.68-64.68-54.17-119.48-109.54-152h79.73c9.5 23.44 32.41 40 59.25 40 35.34 0 64-28.65 64-64s-28.66-64-64-64zm0 272h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z"}))),w91=B.span(RO||(RO=V(["\n margin-right: 4px;\n ",";\n\n ",":hover & {\n color: #ccc;\n }\n"])),T0,FO),B91=({leaf:t})=>{var g;let a=Z4(t.sheetObject.propsP,t.pathToProp),c=t.sheetObject,{controlIndicators:r}=rt(a,c,t.propConf),e=v1(()=>{let s=t.sheetObject.address,d=h3(t.pathToProp);return(0,bO.val)(T().atomP.historic.projects.stateByProjectId[s.projectId].stateBySheetId[s.sheetId].sequenceEditor.selectedPropsByObject[s.objectKey][d])},[t]),l=(0,W0.useRef)(!1),i=typeof e=="string";l.current=i;let o=(0,W0.useCallback)(()=>{let s=t.sheetObject.address;T().transaction(({stateEditors:d})=>{l.current?d.studio.historic.projects.stateByProjectId.stateBySheetId.sequenceEditor.removePropFromGraphEditor(D(S({},s),{pathToProp:t.pathToProp})):(d.studio.historic.projects.stateByProjectId.stateBySheetId.sequenceEditor.addPropToGraphEditor(D(S({},s),{pathToProp:t.pathToProp})),d.studio.historic.panels.sequenceEditor.graphEditor.setIsOpen({isOpen:!0}))})},[t]),n=(g=t.propConf.label)!=null?g:t.pathToProp[t.pathToProp.length-1],h=!0,v=(0,W0.useRef)(null);return wn(v.current,t),W0.default.createElement(L91,{depth:t.depth},W0.default.createElement(FO,{ref:v,isEven:t.n%2===0,style:{height:t.nodeHeight+"px"},isSelected:i===!0},W0.default.createElement(w91,null,n),r,W0.default.createElement(H91,{onClick:o,isSelected:i===!0,graphEditorColor:e!=null?e:"1",style:{opacity:h?1:.25},disabled:!h},W0.default.createElement(V91,null))))},IO=B91});function Bt(t,a){T().transaction(({stateEditors:c})=>{c.studio.ahistoric.projects.stateByProjectId.stateBySheetId.sequence.sequenceEditorCollapsableItems.set(D(S({},a.sheetAddress),{studioSheetItemKey:a.sheetItemKey,isCollapsed:t}))})}var zh=x(()=>{"use strict";f1()});var yt,Ap,y91,GO=x(()=>{"use strict";yt=I(G());Mr();PO();zh();Ap=t=>{let a="prop"+t.pathToProp[t.pathToProp.length-1];return t.shouldRender?t.type==="propWithChildren"?yt.default.createElement(y91,{leaf:t,key:a}):yt.default.createElement(IO,{leaf:t,key:a}):yt.default.createElement(yt.default.Fragment,{key:a})},y91=({leaf:t})=>yt.default.createElement(zt,{leaf:t,label:t.pathToProp[t.pathToProp.length-1],isCollapsed:t.isCollapsed,toggleCollapsed:()=>Bt(!t.isCollapsed,{sheetAddress:t.sheetObject.address,sheetItemKey:t.sheetItemKey})},t.children.map(a=>Ap(a)))});var TO,S91,ZO,OO=x(()=>{"use strict";TO=I(G());Mr();GO();zh();f1();S91=({leaf:t})=>TO.default.createElement(zt,{leaf:t,label:t.sheetObject.address.objectKey,isCollapsed:t.isCollapsed,toggleSelect:()=>{T().transaction(({stateEditors:a})=>{a.studio.historic.panels.outline.selection.set([t.sheetObject])})},toggleCollapsed:()=>Bt(!t.isCollapsed,{sheetAddress:t.sheetObject.address,sheetItemKey:t.sheetItemKey})},t.children.map(a=>Ap(a))),ZO=S91});var Rp,k91,EO,DO=x(()=>{"use strict";M1();Rp=I(G());OO();Mr();zh();wu();k91=({leaf:t})=>v1(()=>Rp.default.createElement(zt,{leaf:t,label:t.sheet.address.sheetId,isCollapsed:t.isCollapsed,toggleCollapsed:()=>{Bt(!t.isCollapsed,{sheetAddress:t.sheet.address,sheetItemKey:t.sheetItemKey})}},t.children.map(a=>Rp.default.createElement(ZO,{key:"sheetObject-"+hr(a.sheetObject),leaf:a}))),[t]),EO=k91});var bp,uh,WO,A91,_O,R91,b91,jO,qO=x(()=>{"use strict";M1();bp=require("@theatre/dataverse"),uh=I(G());c1();DO();A91=B.div(WO||(WO=V(["\n position: absolute;\n left: 0;\n overflow-x: visible;\n"]))),R91=B.ul(_O||(_O=V(["\n margin: 0;\n padding: 0;\n list-style: none;\n"]))),b91=({layoutP:t})=>v1(()=>{let a=(0,bp.val)(t.tree),c=(0,bp.val)(t.leftDims.width);return uh.default.createElement(A91,{style:{width:c+"px",top:a.top+"px"}},uh.default.createElement(R91,null,uh.default.createElement(EO,{leaf:a})))},[t]),jO=b91});var Fp,NO,F91,I91,UO,KO=x(()=>{"use strict";G1();W4();M1();R0();Fp=I(G());c1();kp();F91=B.div(NO||(NO=V(["\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: ",";\n overflow: hidden;\n background: ",";\n pointer-events: none;\n"])),()=>K2.rightBackground,N2(.01,A6(1*.03,Z6.panel.bg))),I91=({layoutP:t})=>{let a=s1(t.rightDims.width),c=s1(t.panelDims.height);return Fp.default.createElement(F91,{style:{width:a+"px"}},Fp.default.createElement(sh,{width:a,height:c,layoutP:t}))},UO=I91});var St,$O,P91,G91,QO,XO=x(()=>{"use strict";M1();St=I(G());c1();qO();KO();Vp();Yu();P91=B.div($O||($O=V(["\n position: absolute;\n left: 0;\n right: 0;\n"]))),G91=({layoutP:t})=>{let a=s1(t.dopeSheetDims.height);return St.default.createElement(P91,{style:{height:a+"px"}},St.default.createElement(UO,{layoutP:t}),St.default.createElement(FG,null,St.default.createElement(jO,{layoutP:t}),St.default.createElement($Z,{layoutP:t})))},QO=G91});function Pp(t,a,c){return Ip.prism.memo(t,()=>(0,Ip.prism)(a),c).getValue()}var Ip,YO=x(()=>{"use strict";Ip=require("@theatre/dataverse")});function Q1(t){return function(c,r){return t(c,r())}}function d3(t){return Object.freeze({audience:d7(t,8)?"internal":d7(t,16)?"dev":"public",category:d7(t,4)?"troubleshooting":d7(t,2)?"todo":"general",level:d7(t,512)?512:d7(t,256)?256:d7(t,128)?128:64})}function d7(t,a){return(t&a)===a}function X1(t,a){return((a&32)===32?!0:(a&16)===16?t.dev:(a&8)===8?t.internal:!1)&&t.min<=a}function Wr(t=console,a={}){let c=D(S({},F5),{includes:S({},F5.includes)}),r={styled:O91.bind(c,t),noStyle:D91.bind(c,t)},e=Z91.bind(c);function l(){return c.loggingConsoleStyle&&c.loggerConsoleStyle?r.styled:r.noStyle}return c.create=l(),{configureLogger(i){var o;i==="console"?(c.loggerConsoleStyle=F5.loggerConsoleStyle,c.create=l()):i.type==="console"?(c.loggerConsoleStyle=(o=i.style)!=null?o:F5.loggerConsoleStyle,c.create=l()):i.type==="keyed"?(c.creatExt=n=>i.keyed(n.names),c.create=e):i.type==="named"&&(c.creatExt=T91.bind(null,i.named),c.create=e)},configureLogging(i){var o,n,h,v,g;c.includes.dev=(o=i.dev)!=null?o:F5.includes.dev,c.includes.internal=(n=i.internal)!=null?n:F5.includes.internal,c.includes.min=(h=i.min)!=null?h:F5.includes.min,c.include=(v=i.include)!=null?v:F5.include,c.loggingConsoleStyle=(g=i.consoleStyle)!=null?g:F5.loggingConsoleStyle,c.create=l()},getLogger(){return c.create({names:[]})}}}function T91(t,a){let c=[];for(let{name:r,key:e}of a.names)c.push(e==null?r:"".concat(r," (").concat(e,")"));return t(c)}function Z91(t){let a=S(S({},this.includes),this.include(t)),c=this.filtered,r=this.named.bind(this,t),e=this.creatExt(t),l=X1(a,524),i=X1(a,522),o=X1(a,521),n=X1(a,529),h=X1(a,545),v=X1(a,265),g=X1(a,268),s=X1(a,273),d=X1(a,289),z=X1(a,137),u=X1(a,145),f=X1(a,73),p=X1(a,81),m=l?e.error.bind(e,g3._hmm):c.bind(t,524),M=i?e.error.bind(e,g3._todo):c.bind(t,522),w=o?e.error.bind(e,g3._error):c.bind(t,521),H=n?e.error.bind(e,g3.errorDev):c.bind(t,529),y=h?e.error.bind(e,g3.errorPublic):c.bind(t,545),k=g?e.warn.bind(e,g3._kapow):c.bind(t,268),F=v?e.warn.bind(e,g3._warn):c.bind(t,265),U=s?e.warn.bind(e,g3.warnDev):c.bind(t,273),A=d?e.warn.bind(e,g3.warnPublic):c.bind(t,273),P=z?e.debug.bind(e,g3._debug):c.bind(t,137),C=u?e.debug.bind(e,g3.debugDev):c.bind(t,145),E=f?e.trace.bind(e,g3._trace):c.bind(t,73),a1=p?e.trace.bind(e,g3.traceDev):c.bind(t,81),j={_hmm:m,_todo:M,_error:w,errorDev:H,errorPublic:y,_kapow:k,_warn:F,warnDev:U,warnPublic:A,_debug:P,debugDev:C,_trace:E,traceDev:a1,lazy:{_hmm:l?Q1(m):m,_todo:i?Q1(M):M,_error:o?Q1(w):w,errorDev:n?Q1(H):H,errorPublic:h?Q1(y):y,_kapow:g?Q1(k):k,_warn:v?Q1(F):F,warnDev:s?Q1(U):U,warnPublic:d?Q1(A):A,_debug:z?Q1(P):P,debugDev:u?Q1(C):C,_trace:f?Q1(E):E,traceDev:p?Q1(a1):a1},named:r,utilFor:{internal(){return{debug:j._debug,error:j._error,warn:j._warn,trace:j._trace,named(K,Z){return j.named(K,Z).utilFor.internal()}}},dev(){return{debug:j.debugDev,error:j.errorDev,warn:j.warnDev,trace:j.traceDev,named(K,Z){return j.named(K,Z).utilFor.dev()}}},public(){return{error:j.errorPublic,warn:j.warnPublic,debug(K,Z){j._warn('(public "debug" filtered out) '.concat(K),Z)},trace(K,Z){j._warn('(public "trace" filtered out) '.concat(K),Z)},named(K,Z){return j.named(K,Z).utilFor.public()}}}}};return j}function O91(t,a){let c=S(S({},this.includes),this.include(a)),r=[],e="";for(let n=0;n{"use strict";g3={_hmm:d3(524),_todo:d3(522),_error:d3(521),errorDev:d3(529),errorPublic:d3(545),_kapow:d3(268),_warn:d3(265),warnDev:d3(273),warnPublic:d3(289),_debug:d3(137),debugDev:d3(145),_trace:d3(73),traceDev:d3(81)};F5={loggingConsoleStyle:!0,loggerConsoleStyle:!0,includes:Object.freeze({internal:!1,dev:!1,min:256}),filtered:function(){},include:function(){return{}},create:null,creatExt:null,named(t,a,c){return this.create({names:[...t.names,{name:a,key:c}]})},style:{bold:void 0,italic:void 0,cssMemo:new Map([["",""]]),collapseOnRE:/[a-z- ]+/g,color:void 0,collapsed(t){if(t.length<5)return t;let a=t.replace(this.collapseOnRE,"");return this.cssMemo.has(a)||this.cssMemo.set(a,this.css(t)),a},css(t){var r,e,l,i;let a=this.cssMemo.get(t);if(a)return a;let c="color:".concat((e=(r=this.color)==null?void 0:r.call(this,t))!=null?e:"hsl(".concat((t.charCodeAt(0)+t.charCodeAt(t.length-1))%360,", 100%, 60%)"));return(l=this.bold)!=null&&l.test(t)&&(c+=";font-weight:600"),(i=this.italic)!=null&&i.test(t)&&(c+=";font-style:italic"),this.cssMemo.set(t,c),c}}}});var aE,kt,_r=x(()=>{"use strict";Gp();Gp();aE=Wr(console,{_debug:function(){},_error:function(){}});aE.configureLogging({dev:!0,min:64});kt=aE.getLogger().named("Theatre.js (default logger)").utilFor.dev()});var U4,At,cE,rE=x(()=>{"use strict";O4();U4=require("@theatre/dataverse");_r();b4();At=28,cE=(t,a)=>{var z;U4.prism.ensurePrism();let c=!0,r=io+(c?At:0),e=0,l=a.atomP.ahistoric.projects.stateByProjectId[t.address.projectId].stateBySheetId[t.address.sheetId].sequence.collapsableItems,i=l.byId[c2.forSheet()].isCollapsed,o=(z=(0,U4.pointerToPrism)(i).getValue())!=null?z:!1,n={type:"sheet",isCollapsed:o,sheet:t,children:[],sheetItemKey:c2.forSheet(),shouldRender:c,top:io,depth:0,n:e,nodeHeight:c?At:0,heightIncludingChildren:-1};c&&(e+=1);for(let u of Object.values((0,U4.val)(t.objectsP)))u&&h(u,n.children,n.depth+1,c&&!o);n.heightIncludingChildren=r-n.top;function h(u,f,p,m){var F;let M=(0,U4.val)(u.template.getMapOfValidSequenceTracks_forStudio()),w=(0,U4.val)(u.template.configPointer);if(Object.keys(M).length===0)return;let H=l.byId[c2.forSheetObject(u)].isCollapsed,y=(F=(0,U4.pointerToPrism)(H).getValue())!=null?F:!1,k={type:"sheetObject",isCollapsed:y,sheetItemKey:c2.forSheetObject(u),shouldRender:m,top:r,children:[],depth:p,n:e,sheetObject:u,nodeHeight:m?At:0,heightIncludingChildren:-1};f.push(k),m&&(e+=1,r+=k.nodeHeight),v(u,M,[],w,k.children,p+1,m&&!y),k.heightIncludingChildren=r-k.top}function v(u,f,p,m,M,w,H){for(let[y,k]of Object.entries(f)){let F=m.props[y];g(u,k,[...p,y],F,M,w,H)}}function g(u,f,p,m,M,w,H){m.type==="compound"?s(u,f,m,p,m,M,w,H):m.type==="enum"?kt.warn("Prop type enum is not yet supported in the sequence editor"):d(u,f,p,m,M,w,H)}function s(u,f,p,m,M,w,H,y){var A;let k=l.byId[c2.forSheetObjectProp(u,m)].isCollapsed,F=(A=(0,U4.pointerToPrism)(k).getValue())!=null?A:!1,U={type:"propWithChildren",isCollapsed:F,propConf:p,pathToProp:m,sheetItemKey:c2.forSheetObjectProp(u,m),sheetObject:u,shouldRender:y,top:r,children:[],nodeHeight:y?At:0,heightIncludingChildren:-1,depth:H,trackMapping:f,n:e};w.push(U),y&&(r+=U.nodeHeight,e+=1),v(u,f,m,M,U.children,H+1,y&&!F),U.heightIncludingChildren=r-U.top}function d(u,f,p,m,M,w,H){let y={type:"primitiveProp",propConf:m,depth:w,sheetItemKey:c2.forSheetObjectProp(u,p),sheetObject:u,pathToProp:p,shouldRender:H,top:r,nodeHeight:H?At:0,heightIncludingChildren:H?At:0,trackId:f,n:e};M.push(y),e+=1,r+=y.nodeHeight}return n}});function eE(t,a){let c=T(),r=c.atomP.ahistoric.projects.stateByProjectId[t.address.projectId].stateBySheetId[t.address.sheetId],e=c.atomP.historic.projects.stateByProjectId[t.address.projectId].stateBySheetId[t.address.sheetId];return(0,s0.prism)(()=>{var A;let l=Pp("tree",()=>cE(t,c),[]),i=(0,s0.val)(a),o=(0,s0.val)(c.atomP.historic.panels.sequenceEditor.graphEditor),n=(0,s0.val)(e.sequenceEditor.selectedPropsByObject),h=!!n&&Object.keys(n).length>0,{leftDims:v,rightDims:g,graphEditorDims:s,dopeSheetDims:d,horizontalScrollbarDims:z}=s0.prism.memo("leftDims",()=>{var _;let P={width:Math.floor(i.width*W91),height:i.height,screenX:i.screenX,screenY:i.screenY},C={width:i.width-P.width,height:i.height,screenX:i.screenX+P.width,screenY:i.screenY},E=h&&(o==null?void 0:o.isOpen)===!0,a1=Math.floor((E?b1((_=o==null?void 0:o.height)!=null?_:.5,.1,.7):0)*i.heightWithoutBorder),j=0+a1,K=i.height-j,Z={width:i.width,height:K,screenX:i.screenX,screenY:i.screenY},J={isAvailable:h,isOpen:E,width:C.width,height:a1,screenX:i.screenX,screenY:i.screenY+K,padding:{top:20,bottom:20}};return{leftDims:P,rightDims:C,graphEditorDims:J,dopeSheetDims:Z,horizontalScrollbarDims:{bottom:0}}},[i,o,h]),u=s0.prism.memo("graphEditorVerticalSpace",()=>{let P=s.height-s.padding.top-s.padding.bottom;return{space:P,fromExtremumSpace(C){return C*P},toExtremumSpace(C){return C/P}}},[s]),[f,p]=s0.prism.state("isSeeking",!1),m={isSeeking:f,setIsSeeking:p},M={},w=(A=(0,s0.val)(r.sequence.clippedSpaceRange))!=null?A:_91,H=s0.prism.memo("scaledSpace",()=>{let P=w.end-w.start,C=g.width,E=P/C,a1=C/P;return{fromUnitSpace(j){return j*a1},toUnitSpace(j){return j*E},leftPadding:10}},[w,g.width]),y=s0.prism.memo("setClippedSpaceRange",()=>function(C){c.transaction(({stateEditors:E})=>{let a1=S({},C);if(a1.end<=a1.start&&(a1.end=a1.start+1),a1.start<0){let j=a1.end-a1.start;a1.start=0,a1.end=j}E.studio.ahistoric.projects.stateByProjectId.stateBySheetId.sequence.clippedSpaceRange.set(D(S({},t.address),{range:a1}))})},[]),k=s0.prism.memo("clippedSpace",()=>({range:w,width:g.width,fromUnitSpace(P){return H.fromUnitSpace(P-w.start)+H.leftPadding},toUnitSpace(P){return H.toUnitSpace(P-H.leftPadding)+w.start},setRange:y}),[w,g.width,H,y]),F=s0.prism.memo("selection.current",()=>new s0.Atom({}),[]);return Vn("finalAtom",{sheet:t,tree:l,panelDims:i,leftDims:v,rightDims:g,dopeSheetDims:d,horizontalScrollbarDims:z,seeker:m,unitSpace:M,scaledSpace:H,clippedSpace:k,graphEditorDims:s,graphEditorVerticalSpace:u,selectionAtom:F}).pointer})}var s0,W91,_91,lE=x(()=>{"use strict";f1();YO();Wu();s0=require("@theatre/dataverse");rE();H2();W91=.2,_91={start:0,end:10}});function K91(t){let{fullSecondStampsContainer:a,sequencePositionFormatter:c,snapToGrid:r,unitSpaceToClippedSpace:e}=t,l="";Dr(t,(i,o)=>{let n=r(i),h=e(n);o?l+=iE(c.formatFullUnitForGrid(n),h,"full-unit"):l+=iE(c.formatSubUnitForGrid(n),h,"sub-unit")}),a.innerHTML=l}function iE(t,a,c){return'').concat(t,"")}var o8,K4,oE,j91,n8,nE,q91,hE,N91,U91,vE,Tp=x(()=>{"use strict";o8=require("@theatre/dataverse");R0();K4=I(G());c1();Sp();f1();j91=B.div(oE||(oE=V(["\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n pointer-events: none;\n"]))),n8={fullUnitStampColor:"#6a6a6a",stampFontSize:"10px",get subUnitStampColor(){return A6(.2,n8.fullUnitStampColor)}},q91=B.div(nE||(nE=V(["\n position: absolute;\n top: 0;\n height: 100%;\n left: 0;\n overflow: hidden;\n z-index: 2;\n will-change: transform;\n pointer-events: none;\n"]))),N91=B.div(hE||(hE=V(["\n position: absolute;\n top: 0;\n left: 0;\n\n & > span {\n position: absolute;\n display: block;\n top: 9px;\n left: -10px;\n color: ",";\n text-align: center;\n font-size: ",";\n width: 20px;\n\n &.full-unit {\n color: ",";\n }\n\n &.sub-unit {\n color: ",";\n }\n }\n\n pointer-events: none;\n"])),n8.fullUnitStampColor,n8.stampFontSize,n8.fullUnitStampColor,n8.subUnitStampColor),U91=({layoutP:t,width:a})=>{let c=(0,K4.useRef)(null),[r,e]=(0,K4.useState)(null);return(0,K4.useLayoutEffect)(()=>{if(r)return(0,o8.prism)(()=>{let l=(0,o8.val)(t.sheet).getSequence();return{fullSecondStampsContainer:r,clippedSpaceRange:(0,o8.val)(t.clippedSpace.range),clippedSpaceWidth:(0,o8.val)(t.clippedSpace.width),unitSpaceToClippedSpace:(0,o8.val)(t.clippedSpace.fromUnitSpace),leftPadding:(0,o8.val)(t.scaledSpace.leftPadding),fps:l.subUnitsPerUnit,sequencePositionFormatter:l.positionFormatter,snapToGrid:i=>l.closestGridPosition(i)}}).onChange(T().ticker,K91,!0)},[r,a,t]),K4.default.createElement(j91,{ref:c,style:{width:a+"px"}},K4.default.createElement(q91,{style:{width:a+"px"}},K4.default.createElement(N91,{ref:e})))},vE=U91});function Zp(t){let[a,c]=(0,ph.useState)(!1);return(0,ph.useEffect)(()=>{if(c(!1),!t)return;let r=l=>{l.target===t?c(!0):c(!1)},e=()=>{c(!1)};return t.addEventListener("mouseenter",r),t.addEventListener("mousemove",r),t.addEventListener("mouseleave",e),()=>{c(!1),t.removeEventListener("mouseenter",r),t.removeEventListener("mousemove",r),t.removeEventListener("mouseleave",e)}},[t]),a}var ph,gE=x(()=>{"use strict";ph=I(G())});function $91(t,a){let c=0,[r,e]=t,[l,i]=a;return e-r>i-l?[l,i]:(ri&&(c=i-e),[r+c,e+c])}var z4,I5,L2,sE,dE,mh,Q91,zE,Op=x(()=>{"use strict";z4=require("@theatre/dataverse");M1();G1();f1();h8();v0();M2();P1();I5=I(G());c1();E2();L2={enabled:{backgroundColor:"#2C2F34",stroke:"#646568"},disabled:{backgroundColor:"#282a2cc5",stroke:"#595a5d"},hover:{backgroundColor:"#34373D",stroke:"#C8CAC0"},dragging:{backgroundColor:"#3F444A",stroke:"#C8CAC0"},thumbWidth:9,hitZoneWidth:26,rangeStripMinWidth:30},sE=1e3,mh=B.div(dE||(dE=V(["\n position: absolute;\n height: ","px;\n background-color: ",";\n cursor: grab;\n top: 0;\n left: 0;\n width: ","px;\n transform-origin: left top;\n &:hover {\n background-color: ",";\n }\n &.dragging {\n background-color: ",";\n cursor: grabbing !important;\n }\n ",";\n\n /* covers the one pixel space between the focus range strip and the top strip\n of the sequence editor panel, which would have caused that one pixel to act\n like a panel drag zone */\n &:after {\n display: block;\n content: ' ';\n position: absolute;\n bottom: -1px;\n height: 1px;\n left: 0;\n right: 0;\n background: transparent;\n pointer-events: normal;\n z-index: -1;\n }\n"])),()=>_0-1,t=>t.enabled?L2.enabled.backgroundColor:L2.disabled.backgroundColor,sE,L2.hover.backgroundColor,L2.dragging.backgroundColor,C1);Q91=({layoutP:t})=>{let a=(0,I5.useMemo)(()=>(0,z4.prism)(()=>{let{projectId:h,sheetId:v}=(0,z4.val)(t.sheet).address;return(0,z4.val)(T().atomP.ahistoric.projects.stateByProjectId[h].stateBySheetId[v].sequence.focusRange)}),[t]),[c,r]=z1(null),[e]=Z1(r,{menuItems:()=>{let h=(0,z4.val)(t.sheet),v=a.getValue();return[{label:"Delete focus range",callback:()=>{T().tempTransaction(({stateEditors:g})=>{g.studio.ahistoric.projects.stateByProjectId.stateBySheetId.sequence.focusRange.unset(S({},h.address))}).commit()}},{label:v!=null&&v.enabled?"Disable focus range":"Enable focus range",callback:()=>{v!==void 0&&T().tempTransaction(({stateEditors:g})=>{g.studio.ahistoric.projects.stateByProjectId.stateBySheetId.sequence.focusRange.set(D(S({},h.address),{range:v.range,enabled:!v.enabled}))}).commit()}}]}}),l=s1(t.scaledSpace.toUnitSpace),i=s1(t.sheet),o=(0,I5.useMemo)(()=>{let h,v;return{debugName:"FocusRangeStrip",onDragStart(g){let s,d=a.getValue();if(!d)return!1;let z=d.range.start,u=d.range.end,f=!1,p=(0,z4.val)(t.sheet).getSequence();return{onDrag(m){if(d=a.getValue(),d){f=!0;let M=l(m),w=z+M,H=u+M;Hp.closestGridPosition(y)),s&&s.discard(),s=T().tempTransaction(({stateEditors:y})=>{var k;y.studio.ahistoric.projects.stateByProjectId.stateBySheetId.sequence.focusRange.set(D(S({},i.address),{range:{start:h,end:v},enabled:(k=d==null?void 0:d.enabled)!=null?k:!0}))})}},onDragEnd(){d&&(f&&s!==void 0?s.commit():s&&s.discard())}}},lockCSSCursorTo:"grabbing"}},[i,l]),[n]=S1(r,o);return g0(n,-1),v1(()=>{let h=a.getValue(),v=(h==null?void 0:h.range)||{start:0,end:0},g=(0,z4.val)(t.clippedSpace.fromUnitSpace)(v.start),s=(0,z4.val)(t.clippedSpace.fromUnitSpace)(v.end),d,z;return g<0&&(g=0),s>(0,z4.val)(t.clippedSpace.width)&&(s=(0,z4.val)(t.clippedSpace.width)),g>s?(z=0,d=0):(z=g,d=(s-g)/sE),h?I5.default.createElement(I5.default.Fragment,null,e,I5.default.createElement(mh,{id:"range-strip",enabled:h.enabled,className:"".concat(n?"dragging":""," ").concat(h.enabled?"enabled":""),ref:c,style:{transform:"translateX(".concat(z,"px) scale(").concat(d,", 1)")}})):I5.default.createElement(I5.default.Fragment,null)},[t,c,a,e,n])},zE=Q91});var P5,$4,uE,X91,pE,Y91,mE,J91,tt1,Ep,fE=x(()=>{"use strict";P5=require("@theatre/dataverse");M1();f1();h8();I0();M2();P1();$4=I(G());c1();E2();Op();b3();X91=B.div(uE||(uE=V(["\n position: absolute;\n top: 0;\n // the right handle has to be pulled back by its width since its right side indicates its position, not its left side\n left: ","px;\n transform-origin: left top;\n width: ","px;\n height: ","px;\n z-index: 3;\n\n --bg: ",";\n\n stroke: ",";\n user-select: none;\n\n cursor: ",";\n\n // no pointer events unless pointer-root is in normal mode _and_ the\n // focus range is enabled\n #pointer-root & {\n pointer-events: none;\n }\n\n #pointer-root.normal & {\n pointer-events: auto;\n }\n\n #pointer-root.draggingPositionInSequenceEditor & {\n pointer-events: auto;\n cursor: var(",");\n }\n\n &.dragging {\n pointer-events: none !important;\n }\n\n // highlight the handle if it's hovered, or the whole strip is hovverd\n ",":hover ~ &, &:hover {\n --bg: ",";\n stroke: ",";\n }\n\n // highlight the handle when it's being dragged or the whole strip is being dragged.\n // using dragging.dragging to give this selector priority, as it seems to be overridden\n // by the hover selector above\n &.dragging,\n ",".dragging.dragging ~ & {\n --bg: ",";\n stroke: ",";\n }\n\n #pointer-root.draggingPositionInSequenceEditor &:hover {\n --bg: ",";\n stroke: #40aaa4;\n }\n\n background-color: var(--bg);\n\n // a larger hit zone\n &:before {\n display: block;\n content: ' ';\n position: absolute;\n inset: -8px;\n }\n"])),t=>t.type==="start"?0:-L2.thumbWidth,L2.thumbWidth,()=>_0-1,({enabled:t})=>t?L2.enabled.backgroundColor:L2.disabled.backgroundColor,L2.enabled.stroke,t=>t.type==="start"?"w-resize":"e-resize",F0,()=>mh,L2.hover.backgroundColor,L2.hover.stroke,()=>mh,L2.dragging.backgroundColor,L2.dragging.stroke,L2.dragging.backgroundColor),Y91=B.div(pE||(pE=V(["\n position: absolute;\n top: 0;\n bottom: 0;\n pointer-events: none;\n\n background: linear-gradient(\n ","deg,\n var(--bg) 0%,\n #ffffff00 100%\n );\n\n width: 12px;\n left: ","px;\n"])),t=>t.type==="start"?90:-90,t=>t.type==="start"?L2.thumbWidth:-L2.thumbWidth+1),J91=B.div(mE||(mE=V(["\n position: absolute;\n top: 0;\n bottom: 0;\n pointer-events: none;\n\n background: linear-gradient(\n ","deg,\n "," 0%,\n #ffffff00 100%\n );\n\n width: 12px;\n left: ","px;\n"])),t=>t.type==="start"?-90:90,()=>Rt.backgroundColor,t=>t.type==="start"?-12:L2.thumbWidth),tt1=({layoutP:t,thumbType:a})=>{var n;let[c,r]=z1(null),e=(0,$4.useMemo)(()=>(0,P5.prism)(()=>{let{projectId:h,sheetId:v}=(0,P5.val)(t.sheet).address;return(0,P5.val)(T().atomP.ahistoric.projects.stateByProjectId[h].stateBySheetId[v].sequence.focusRange)}),[t]),l=(0,$4.useMemo)(()=>({debugName:"FocusRangeThumb",onDragStart(){let h,v,g=(0,P5.val)(t.sheet),d={start:0,end:g.getSequence().length},z=e.getValue()||{range:d,enabled:!1},u=z.enabled,f=z.range[a],p=(0,P5.val)(t.scaledSpace.toUnitSpace),m=p(L2.rangeStripMinWidth);return{onDrag(M,w,H){var U;let y,k=r2.checkIfMouseEventSnapToPos(H,{ignore:r});if(k==null){let A=p(M);y=f+A}else y=k;v=((U=e.getValue())==null?void 0:U.range)||d,a==="start"?y=Math.max(Math.min(y,v.end-m),0):y=Math.min(Math.max(y,v.start+m),g.getSequence().length);let F=g.getSequence().closestGridPosition(y);h!==void 0&&h.discard(),h=T().tempTransaction(({stateEditors:A})=>{A.studio.ahistoric.projects.stateByProjectId.stateBySheetId.sequence.focusRange.set(D(S({},g.address),{range:D(S({},v),{[a]:F}),enabled:u}))})},onDragEnd(M){M?h==null||h.commit():h==null||h.discard()}}}}),[t]),[i]=S1(r,l);s2(i,"draggingPositionInSequenceEditor",a==="start"?"w-resize":"e-resize");let o=s1(e);return g0(i,(n=o==null?void 0:o.range[a])!=null?n:0),v1(()=>{let h=e.getValue();if(!h)return null;let{enabled:v}=h,g=h.range[a],s=(0,P5.val)(t.clippedSpace.fromUnitSpace)(g);return(s<0||(0,P5.val)(t.clippedSpace.width){let e=()=>({debugName:"FocusRangeZone/focusRangeCreationGestureHandlers",onDragStart(i){let o,n=(0,v8.val)(t.clippedSpace.toUnitSpace),h=(0,v8.val)(t.scaledSpace.toUnitSpace),v=(0,v8.val)(t.sheet),g=v.getSequence(),d=i.target.getBoundingClientRect(),z=n(i.clientX-d.left),u=h(L2.rangeStripMinWidth);return{onDrag(f){let p=h(f),m=z,M=z+p;[m,M]=[b1(m,0,g.length),b1(M,0,g.length)].map(w=>g.closestGridPosition(w)),M0&&(M=Math.min(Math.max(M,m+u),g.length)),o&&o.discard(),o=T().tempTransaction(({stateEditors:w})=>{w.studio.ahistoric.projects.stateByProjectId.stateBySheetId.sequence.focusRange.set(D(S({},v.address),{range:{start:m,end:M},enabled:!0}))})},onDragEnd(f){f&&o!==void 0?o.commit():o&&o.discard()}}},lockCSSCursorTo:"ew-resize"}),l=()=>({debugName:"FocusRangeZone/panelMoveGestureHandlers",onDragStart(){let i,o=a.current,n=a.current.addBoundsHighlightLock();return{onDrag(h,v){let g=D(S({},o.dims),{top:b1(o.dims.top+v,0,window.innerHeight-S3),left:b1(o.dims.left+h,-o.dims.width+S3,window.innerWidth-S3)}),s=dt(g,{width:window.innerWidth,height:window.innerHeight});i==null||i.discard(),i=T().tempTransaction(({stateEditors:d})=>{d.studio.historic.panelPositions.setPanelPosition({position:s,panelId:o.panelId})})},onDragEnd(h){n(),h?i==null||i.commit():i==null||i.discard()}}},lockCSSCursorTo:"move"});return{debugName:"FocusRangeZone",onDragStart(i){let[o,n]=i.shiftKey?["creating",e().onDragStart(i)]:["moving-panel",l().onDragStart(i)];return r(o),n===!1?!1:{onDrag(h,v,g,s,d){n.onDrag(h,v,g,s,d)},onDragEnd(h){var v;r("none"),(v=n.onDragEnd)==null||v.call(n,h)}}}}},[t,a])}var v8,j0,ME,at1,ct1,xE,CE=x(()=>{"use strict";v8=require("@theatre/dataverse");M1();f1();r7();h8();I0();M2();gE();Uu();P1();H2();j0=I(G());c1();Op();fE();b4();at1=B.div(ME||(ME=V(["\n position: absolute;\n height: ",'px;\n left: 0;\n right: 0;\n box-sizing: border-box;\n /* Use the "grab" cursor if the shift key is up, which is the one used on the top strip of the sequence editor */\n cursor: ',";\n"])),()=>_0,t=>t.isShiftDown?"ew-resize":"move"),ct1=({layoutP:t})=>{let[a,c]=z1(null),r=D4(),e=(0,j0.useRef)(r);e.current=r;let l=(0,j0.useMemo)(()=>(0,v8.prism)(()=>{let{projectId:n,sheetId:h}=(0,v8.val)(t.sheet).address;return(0,v8.val)(T().atomP.ahistoric.projects.stateByProjectId[n].stateBySheetId[h].sequence.focusRange)}),[t]);S1(c,rt1(t,e));let i=xr("Shift"),o=Zp(c);return(0,j0.useEffect)(()=>{if(!i&&o)return e.current.addBoundsHighlightLock()},[!i&&o]),v1(()=>j0.default.createElement(at1,{ref:a,isShiftDown:i},j0.default.createElement(zE,{layoutP:t}),j0.default.createElement(Ep,{thumbType:"start",layoutP:t}),j0.default.createElement(Ep,{thumbType:"end",layoutP:t})),[t,l,i])},xE=ct1});var bt,_0,Rt,LE,et1,lt1,HE,h8=x(()=>{"use strict";M1();bt=I(G());c1();Tp();E2();G1();CE();_0=18,Rt={backgroundColor:"#1f2120eb",borderColor:"#1c1e21"},et1=B.div(LE||(LE=V(["\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: ","px;\n box-sizing: border-box;\n background: ",";\n border-bottom: 1px solid ",";\n ",";\n"])),_0,Rt.backgroundColor,Rt.borderColor,C1),lt1=({layoutP:t})=>{let a=s1(t.rightDims.width);return bt.default.createElement(bt.default.Fragment,null,bt.default.createElement(et1,S({},O2("hide")),bt.default.createElement(vE,{layoutP:t,width:a,height:_0}),bt.default.createElement(xE,{layoutP:t})))},HE=lt1});var Q4,it1,VE,ot1,wE,nt1,ht1,vt1,BE,yE=x(()=>{"use strict";Q4=I(G());c1();M1();f1();fo();N6();it1=t=>isFinite(t)&&t>0,ot1=B.div(VE||(VE=V(["\n display: flex;\n gap: 8px;\n padding: 4px 8px;\n height: 28px;\n align-items: center;\n"]))),nt1=B.div(wE||(wE=V(["\n ",";\n white-space: nowrap;\n"])),T0),ht1=({deltaX:t})=>t*.25,vt1=({layoutP:t})=>{let a=s1(t.sheet),c=(0,Q4.useMemo)(()=>{let e;return{temporarilySetValue(l){e&&(e.discard(),e=void 0),e=T().tempTransaction(({stateEditors:i})=>{i.coreByProject.historic.sheetsById.sequence.setLength(D(S({},a.address),{length:l}))})},discardTemporaryValue(){e&&(e.discard(),e=void 0)},permanentlySetValue(l){e&&(e.discard(),e=void 0),T().transaction(({stateEditors:i})=>{i.coreByProject.historic.sheetsById.sequence.setLength(D(S({},a.address),{length:l}))})}}},[t,a]),r=(0,Q4.useRef)(null);return(0,Q4.useLayoutEffect)(()=>{r.current.focus()},[]),v1(()=>{let l=a.getSequence().length;return Q4.default.createElement(ot1,null,Q4.default.createElement(nt1,null,"Sequence length"),Q4.default.createElement(G9,D(S({value:l},c),{isValid:it1,inputRef:r,nudge:ht1})))},[a,c,r])},BE=vt1});function mt1(t,a){let c=(0,z0.useRef)(a);c.current=a;let r=(0,z0.useMemo)(()=>({debugName:"LengthIndicator/useDragBulge",lockCSSCursorTo:"ew-resize",onDragStart(l){let i,o=c.current,n=(0,s7.val)(c.current.layoutP.sheet),h=n.getSequence().length,v=(0,s7.val)(o.layoutP.scaledSpace.toUnitSpace);return{onDrag(g,s,d){let z=v(g);i&&(i.discard(),i=void 0),i=T().tempTransaction(({stateEditors:u})=>{u.coreByProject.historic.sheetsById.sequence.setLength(D(S({},n.address),{length:h+z}))})},onDragEnd(g){g?i&&i.commit():i&&i.discard()}}}}),[]),[e]=S1(t,r);return g0(e,-1),[e]}var s7,z0,FE,fh,SE,z7,kE,gt1,AE,dt1,RE,st1,bE,zt1,ut1,pt1,IE,PE=x(()=>{"use strict";M1();s7=require("@theatre/dataverse"),z0=I(G());c1();W4();h8();P1();M2();f1();c4();E2();K8();yE();G1();e4();FE=1e3,fh={stripNormal:"#0000006c",stripActive:"#000000"},z7=B.div(SE||(SE=V(["\n position: absolute;\n top: 0;\n left: 0;\n width: 4px;\n z-index: ",";\n pointer-events: none;\n\n &:after {\n display: block;\n content: ' ';\n position: absolute;\n /* top: ","px; */\n top: 0;\n bottom: 0;\n left: -1px;\n width: 1px;\n background-color: ",";\n }\n\n &:hover:after,\n &.dragging:after {\n background-color: ",";\n }\n"])),()=>K2.lengthIndicatorStrip,_0,fh.stripNormal,fh.stripActive),gt1=B.div(kE||(kE=V(["\n position: absolute;\n top: ","px;\n width: 100px;\n left: -50px;\n pointer-events: none;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n z-index: 1;\n"])),_0-15),dt1=B.div(AE||(AE=V(["\n margin-top: 8px;\n font-size: 10px;\n white-space: nowrap;\n padding: 2px 8px;\n border-radius: 2px;\n ",";\n cursor: ew-resize;\n color: #464646;\n background-color: #0000004d;\n display: none;\n\n ",":hover &, ",".dragging & {\n display: block;\n color: white;\n background-color: ",";\n }\n"])),C1,z7,z7,fh.stripActive),st1=B.div(RE||(RE=V(["\n font-size: 10px;\n white-space: nowrap;\n padding: 1px 2px;\n border-radius: 2px;\n ",";\n justify-content: center;\n align-items: center;\n cursor: ew-resize;\n color: #5d5d5d;\n background-color: #191919;\n\n ",":hover &, ",".dragging & {\n color: white;\n background-color: ",";\n\n & > svg:first-child {\n margin-right: -1px;\n }\n }\n\n & > svg:first-child {\n margin-right: -4px;\n }\n"])),C1,z7,z7,fh.stripActive),zt1=B.div(bE||(bE=V(["\n position: absolute;\n top: 0;\n left: 0;\n background-color: rgb(23 23 23 / 43%);\n width: ","px;\n z-index: ",";\n transform-origin: left top;\n\n ",".dragging ~ &, ",":hover ~ & {\n background-color: rgb(23 23 23 / 60%);\n }\n"])),FE,()=>K2.lengthIndicatorCover,z7,z7),ut1=-1e4,pt1=({layoutP:t})=>{let[a,c]=z1(null),[r]=mt1(c,{layoutP:t}),{node:e,toggle:l,close:i}=x2({debugName:"LengthIndicator"},()=>z0.default.createElement(T2,null,z0.default.createElement(BE,{layoutP:t,onRequestClose:i})));return v1(()=>{let o=(0,s7.val)(t.sheet),n=(0,s7.val)(t.rightDims.height),h=o.getSequence(),v=h.length,g=v,s=(0,s7.val)(t.clippedSpace.fromUnitSpace)(g),d=(0,s7.val)(t.clippedSpace.width),z,u;return s>d?(u=0,z=0):(s<0&&(s=0),u=s,z=(d-s)/FE),z0.default.createElement(z0.default.Fragment,null,e,z0.default.createElement(z7,{style:{height:n+"px",transform:"translateX(".concat(u===0?ut1:u,"px)")},className:r?"dragging":""},z0.default.createElement(gt1,null,z0.default.createElement(st1,S({ref:a,onClick:f=>{l(f,c)}},O2("hide")),z0.default.createElement(IA,null),z0.default.createElement(PA,null)),z0.default.createElement(dt1,null,"Sequence length:"," ",h.positionFormatter.formatBasic(v)))),z0.default.createElement(zt1,{title:"Length",style:{height:n+"px",transform:"translateX(".concat(u,"px) scale(").concat(z,", 1)")}}))},[t,a,r,e])};IE=pt1});var Dp,G5,GE,ft1,TE,Mt1,ZE,xt1,Ct1,OE,EE=x(()=>{"use strict";M1();Dp=require("@theatre/dataverse"),G5=I(G());c1();Tp();W4();h8();E2();ft1=B.div(GE||(GE=V(["\n position: absolute;\n top: 0;\n left: 0;\n margin-top: 0px;\n"]))),Mt1=B.div(TE||(TE=V(["\n position: absolute;\n top: 16px;\n font-size: ",";\n color: ",";\n text-align: center;\n transform: translateX(-50%);\n background: ",";\n padding: 1px 8px;\n font-variant-numeric: tabular-nums;\n pointer-events: none;\n z-index: ",";\n"])),n8.stampFontSize,n8.fullUnitStampColor,Rt.backgroundColor,()=>K2.currentFrameStamp),xt1=B.div(ZE||(ZE=V(["\n position: absolute;\n top: 5px;\n left: -0px;\n bottom: 0;\n width: 0.5px;\n background: rgba(100, 100, 100, 0.2);\n pointer-events: none;\n"]))),Ct1=G5.default.memo(({layoutP:t})=>{let[a,c]=s1(ZG()),r=s1(t.clippedSpace.fromUnitSpace),{sequence:e,formatter:l,clippedSpaceWidth:i}=v1(()=>{let v=(0,Dp.val)(t.sheet).getSequence(),g=(0,Dp.val)(t.clippedSpace.width);return{sequence:v,formatter:v.positionFormatter,clippedSpaceWidth:g}},[t]);if(a==-1)return G5.default.createElement(G5.default.Fragment,null);let o=c===3?e.closestGridPosition(a):a,n=r(o),h=n>=0&&n<=i;return G5.default.createElement(G5.default.Fragment,null,G5.default.createElement(ft1,null,G5.default.createElement(Mt1,{style:{opacity:h?1:0,transform:"translate3d(calc(".concat(n,"px - 50%), 0, 0)")}},l.formatForPlayhead(o)),G5.default.createElement(xt1,{posType:c,style:{opacity:h?1:0,transform:"translate3d(".concat(n,"px, 0, 0)")}}))," ")}),OE=Ct1});var P3,D2,WE,Lt1,_E,Ht1,jE,Wp,qE,$E,NE,_p,UE,jp,KE,DE,Vt1,QE,XE=x(()=>{"use strict";M1();P3=require("@theatre/dataverse");Qv();R0();D2=I(G());c1();W4();E2();G1();M2();Lt1=B.div(WE||(WE=V(["\n --threadHeight: 6px;\n --bg-inactive: #32353b;\n --bg-active: #5b5c5d;\n position: absolute;\n height: 0;\n width: 100%;\n left: 12px;\n /* bottom: 8px; */\n z-index: ",";\n ","\n"])),()=>K2.horizontalScrollbar,C1),Ht1=B.div(_E||(_E=V(["\n position: relative;\n top: 0;\n left: 0;\n width: 100%;\n height: var(--threadHeight);\n"]))),Wp=B.div(jE||(jE=V(["\n position: absolute;\n height: 5px;\n background: var(--bg-inactive);\n cursor: ew-resize;\n z-index: 2;\n\n &:hover,\n &:active {\n background: var(--bg-active);\n }\n\n &:after {\n ",";\n display: block;\n content: ' ';\n }\n"])),ji("absolute","-4px")),$E=B.div(qE||(qE=V(["\n position: absolute;\n height: 5px;\n width: 7px;\n left: 0;\n z-index: 2;\n top: 0;\n bottom: 0;\n display: block;\n\n &:hover:before {\n background: var(--bg-active);\n }\n\n &:before {\n ",";\n display: block;\n content: ' ';\n background: var(--bg-inactive);\n border-radius: 0 2px 2px 0;\n }\n\n &:after {\n ",";\n display: block;\n content: ' ';\n }\n"])),ji("absolute","0"),ji("absolute","-4px")),_p=B($E)(NE||(NE=V(["\n left: calc(-1 * 7px);\n cursor: w-resize;\n &:before {\n transform: scaleX(-1);\n }\n"]))),jp=B($E)(UE||(UE=V(["\n cursor: e-resize;\n left: 0px;\n"]))),DE=B.div(KE||(KE=V(["\n display: ",";\n position: absolute;\n top: -20px;\n left: 4px;\n padding: 0 4px;\n transform: translateX(-50%);\n background: #131d1f;\n border-radius: 4px;\n color: #fff;\n font-size: 10px;\n line-height: 18px;\n text-align: center;\n\n ",":hover &,\n ",":hover &,\n ",":hover ~ "," &,\n ",":hover ~ "," & {\n display: block;\n }\n"])),t=>t.active?"block":"none",_p,jp,Wp,_p,Wp,jp),Vt1=({layoutP:t})=>{let a=(0,D2.useCallback)(f=>f.toFixed(2),[]),c=(0,D2.useMemo)(()=>(0,P3.prism)(()=>{let f=(0,P3.val)(t.rightDims.width)-25,p=(0,P3.val)(t.clippedSpace.range),m=(0,P3.val)(t.sheet).getSequence().length,M=Math.max(p.end,m),w=p.start/M*f,H=p.end/M*f;return{rightWidth:f,clippedSpaceRange:p,sequenceLength:m,assumedLengthOfSequence:M,rangeStartX:w,rangeEndX:H,bottom:(0,P3.val)(t.horizontalScrollbarDims.bottom)}}),[t]),{rangeStartX:r,rangeEndX:e,clippedSpaceRange:l,bottom:i}=s1(c),[o,n]=(0,D2.useState)("nothing"),h=(0,D2.useMemo)(()=>{let f=(0,P3.val)(c),p=()=>{f=(0,P3.val)(c)},m=w=>w/f.rightWidth*f.assumedLengthOfSequence;return{onRangeDragStart(){return p(),{onDrag(w){n("both");let H=m(w),y=l5(f.clippedSpaceRange,k=>k+H);(0,P3.val)(t.clippedSpace.setRange)(y)},onDragEnd(){n("nothing")}}},onRangeStartDragStart(){return p(),{onDrag(w){n("start");let H=m(w),y={start:f.clippedSpaceRange.start+H,end:f.clippedSpaceRange.end};y.start>y.end-1&&(y.start=y.end-1),y.start<=0&&(y.start=0),(0,P3.val)(t.clippedSpace.setRange)(y)},onDragEnd(){n("nothing")}}},onRangeEndDragStart(){return p(),{onDrag(w){n("end");let H=m(w),y={start:f.clippedSpaceRange.start,end:f.clippedSpaceRange.end+H};y.end=f.assumedLengthOfSequence&&(y.end=f.assumedLengthOfSequence),(0,P3.val)(t.clippedSpace.setRange)(y)},onDragEnd(){n("nothing")}}}}},[t,c]),[v,g]=(0,D2.useState)(null);S1(v,{debugName:"HorizontalScrollbar/onRangeDrag",onDragStart:h.onRangeDragStart,lockCSSCursorTo:"ew-resize"});let[s,d]=(0,D2.useState)(null);S1(s,{debugName:"HorizontalScrollbar/onRangeStartDrag",onDragStart:h.onRangeStartDragStart,lockCSSCursorTo:"w-resize"});let[z,u]=(0,D2.useState)(null);return S1(z,{debugName:"HorizontalScrollbar/onRangeEndDrag",onDragStart:h.onRangeEndDragStart,lockCSSCursorTo:"e-resize"}),D2.default.createElement(Lt1,S({style:{bottom:i+8+"px"}},O2("hide")),D2.default.createElement(Ht1,null,D2.default.createElement(Wp,{ref:g,style:{width:"".concat(e-r,"px"),transform:"translate3d(".concat(r,"px, 0, 0)")}}),D2.default.createElement(_p,{ref:d,style:{transform:"translate3d(".concat(r,"px, 0, 0)")}},D2.default.createElement(DE,{active:o==="both"||o==="start"},a(l.start))),D2.default.createElement(jp,{ref:u,style:{transform:"translate3d(".concat(e,"px, 0, 0)")}},D2.default.createElement(DE,{active:o==="both"||o==="end"},a(l.end)))))},QE=Vt1});var JE,YE,wt1,Bt1,tD,aD=x(()=>{"use strict";JE=I(G());c1();wt1=B.div(YE||(YE=V(["\n position: absolute;\n inset: ","px;\n"])),t=>t.room*-1),Bt1=t=>JE.default.createElement(wt1,{room:t.room}),tD=Bt1});var Ft,Mh,qp,yt1,cD,St1,rD,kt1,At1,Rt1,eD,lD=x(()=>{"use strict";c1();M1();fo();N6();Ft=I(G()),Mh=I(G()),qp=require("@theatre/dataverse");ua();yt1=t=>isFinite(t)&&t>=0,St1=B.div(cD||(cD=V(["\n display: flex;\n gap: 8px;\n padding: 4px 8px;\n height: 28px;\n align-items: center;\n"]))),kt1=B.div(rD||(rD=V(["\n ",";\n white-space: nowrap;\n"])),T0),At1=({deltaX:t})=>t*.25,Rt1=({layoutP:t,onRequestClose:a})=>{let c=(0,qp.val)(t.sheet),r=c.getSequence(),e=(0,Ft.useMemo)(()=>{let i,o=r.position;return{temporarilySetValue(n){i&&(i=void 0),i=b1(n,0,r.length),r.position=i},discardTemporaryValue(){i&&(i=void 0,r.position=o,a("discardTemporaryValue"))},permanentlySetValue(n){i&&(i=void 0),r.position=b1(n,0,r.length),a("permanentlySetValue")}}},[t,r]),l=(0,Ft.useRef)(null);return(0,Ft.useLayoutEffect)(()=>{l.current.focus()},[]),v1(()=>{let i=c.getSequence(),o=Number((0,qp.val)(i.pointer.position).toFixed(3));return Mh.default.createElement(St1,null,Mh.default.createElement(kt1,null,"Sequence position"),Mh.default.createElement(G9,D(S({value:o},e),{isValid:yt1,inputRef:l,nudge:At1})))},[c,e,l])},eD=Rt1});var iD,oD=x(()=>{"use strict";iD=typeof navigator!="undefined"&&navigator.platform.toUpperCase().indexOf("MAC")>=0});var nD,hD=x(()=>{"use strict";oD();nD=t=>iD?t.metaKey===!0:t.ctrlKey===!0});function gD(){Np=!1}function dD(){Np=!0}function Up(){let t=T();(0,vD.useEffect)(()=>{let a=c=>{let r=c.composedPath()[0];if(!(r&&(r.tagName==="INPUT"||r.tagName==="TEXTAREA"))){if(c.key==="z"||c.key==="Z"||c.code==="KeyZ")if(nD(c))c.shiftKey===!0?t.redo():t.undo();else return;else if(c.code==="Space"&&!c.shiftKey&&!c.metaKey&&!c.altKey&&!c.ctrlKey){if(!Np)return;let e=uk();if(e)if(e.playing)e.pause();else{let{projectId:l,sheetId:i}=e.address,o=(0,s3.prism)(()=>{let v=(0,s3.val)(T().atomP.ahistoric.projects.stateByProjectId[l].stateBySheetId[i].sequence.focusRange);return s3.prism.memo("shouldFollowFocusRange",()=>{let s=e.position;if(v){let d=s>=v.range.start&&s<=v.range.end;return v.enabled?!!d:!0}else return!0},[])&&v&&v.enabled?{range:[v.range.start,v.range.end],isFollowingARange:!0}:{range:[0,(0,s3.val)(e.pointer.length)],isFollowingARange:!1}}),n=e.playDynamicRange((0,s3.prism)(()=>(0,s3.val)(o).range),T().ticker),h=sD(e);n.finally(()=>{h.set(void 0)}),h.set(o)}else return}else if(c.altKey&&(c.key==="\\"||c.code==="Backslash"||c.code==="IntlBackslash"))t.transaction(({stateEditors:e,drafts:l})=>{e.studio.ahistoric.setVisibilityState(l.ahistoric.visibilityState==="everythingIsHidden"?"everythingIsVisible":"everythingIsHidden")});else return;c.preventDefault(),c.stopPropagation()}};return window.addEventListener("keydown",a),()=>{window.removeEventListener("keydown",a)}},[])}var vD,s3,Np,sD,zD,xh=x(()=>{"use strict";vD=I(G());f1();hD();C5();s3=require("@theatre/dataverse");tr();Np=!0;sD=T4(t=>new s3.Atom(void 0)),zD=T4(t=>(0,s3.prism)(()=>{let a=sD(t).prism.getValue();if(a)return a.getValue().isFollowingARange;{let{projectId:c,sheetId:r}=t.address,e=(0,s3.val)(T().atomP.ahistoric.projects.stateByProjectId[c].stateBySheetId[r].sequence.focusRange);if(!e||!e.enabled)return!1;let l=(0,s3.val)(t.pointer.position);return l>=e.range.start&&l<=e.range.end}}))});function Gt1(t,a){return Z1(t,{menuItems(){return[{label:"Place marker",callback:()=>{T().transaction(({stateEditors:c})=>{let r=(0,X4.val)(a.layoutP.sheet),e=r.getSequence();c.studio.historic.projects.stateByProjectId.stateBySheetId.sequenceEditor.replaceMarkers({sheetAddress:r.address,markers:[{id:VF(),position:e.position}],snappingFunction:e.closestGridPosition})})}}]}})}var X4,z3,uD,It,pD,bt1,mD,xD,fD,Ft1,MD,It1,Pt1,CD,LD=x(()=>{"use strict";aD();M2();P1();M1();X4=require("@theatre/dataverse");ua();z3=I(G());c1();W4();E2();G1();c4();e4();lD();xh();I0();v0();f1();O4();b3();c8();It=B.div(uD||(uD=V(["\n --thumbColor: #00e0ff;\n position: absolute;\n top: 0;\n left: 0;\n width: 5px;\n height: 100%;\n z-index: ",";\n pointer-events: none;\n\n display: ",";\n"])),()=>K2.playhead,t=>t.isVisible?"block":"none"),bt1=B.div(pD||(pD=V(["\n position: absolute;\n top: 8px;\n width: 0;\n height: calc(100% - 8px);\n border-left: 1px solid #27e0fd;\n z-index: 10;\n pointer-events: none;\n\n #pointer-root.draggingPositionInSequenceEditor &:not(.seeking) {\n /* pointer-events: auto; */\n /* cursor: var(","); */\n\n &:after {\n position: absolute;\n inset: -8px;\n display: block;\n content: ' ';\n }\n }\n"])),F0),xD=B.div(mD||(mD=V(["\n background-color: var(--thumbColor);\n position: absolute;\n width: 5px;\n height: 13px;\n top: -4px;\n left: -2px;\n z-index: 11;\n cursor: ew-resize;\n --sunblock-color: #1f2b2b;\n\n ",";\n\n ",".seeking > & {\n pointer-events: none !important;\n }\n\n #pointer-root.draggingPositionInSequenceEditor\n ",":not(.seeking)\n > & {\n pointer-events: auto;\n cursor: var(",");\n }\n\n ",".playheadattachedtofocusrange > & {\n top: -8px;\n --sunblock-color: #005662;\n &:before,\n &:after {\n border-bottom-width: 8px;\n }\n }\n\n &:before {\n position: absolute;\n display: block;\n content: ' ';\n left: -2px;\n width: 0;\n height: 0;\n border-bottom: 4px solid var(--sunblock-color);\n border-left: 2px solid transparent;\n }\n\n &:after {\n position: absolute;\n display: block;\n content: ' ';\n right: -2px;\n width: 0;\n height: 0;\n border-bottom: 4px solid var(--sunblock-color);\n border-right: 2px solid transparent;\n }\n"])),C1,It,It,F0,It),Ft1=B.div(fD||(fD=V(["\n position: absolute;\n left: 1px;\n right: 1px;\n top: 13px;\n border-top: 3px solid var(--thumbColor);\n border-right: 1px solid transparent;\n border-left: 1px solid transparent;\n pointer-events: none;\n\n /* ",".playheadattachedtofocusrange & {\n top: 10px;\n &:before,\n &:after {\n height: 15px;\n }\n } */\n\n &:before {\n position: absolute;\n display: block;\n content: ' ';\n top: -4px;\n left: -2px;\n height: 8px;\n width: 2px;\n background: none;\n border-radius: 0 100% 0 0;\n border-top: 1px solid var(--thumbColor);\n border-right: 1px solid var(--thumbColor);\n }\n\n &:after {\n position: absolute;\n display: block;\n content: ' ';\n top: -4px;\n right: -2px;\n height: 8px;\n width: 2px;\n background: none;\n border-radius: 100% 0 0 0;\n border-top: 1px solid var(--thumbColor);\n border-left: 1px solid var(--thumbColor);\n }\n"])),It),It1=B.div(MD||(MD=V(["\n display: none;\n position: absolute;\n top: -20px;\n left: 4px;\n padding: 0 2px;\n transform: translateX(-50%);\n background: #1a1a1a;\n border-radius: 4px;\n color: #fff;\n font-size: 10px;\n line-height: 18px;\n text-align: center;\n ",":hover &, ",".seeking & {\n display: block;\n }\n"])),xD,It),Pt1=({layoutP:t})=>{let[a,c]=z1(null),{node:r,toggle:e,close:l}=x2({debugName:"Playhead"},()=>z3.default.createElement(T2,null,z3.default.createElement(eD,{layoutP:t,onRequestClose:l}))),i=(0,z3.useMemo)(()=>({debugName:"RightOverlay/Playhead",onDragStart(){let h=(0,X4.val)(t.sheet).getSequence(),v=h.position,g=(0,X4.val)(t.scaledSpace.toUnitSpace),s=(0,X4.val)(t.seeker.setIsSeeking);return s(!0),mt(),{onDrag(d,z,u){var p;let f=g(d);h.position=(p=r2.checkIfMouseEventSnapToPos(u,{ignore:c}))!=null?p:b1(v+f,0,h.length)},onDragEnd(d){s(!1),I3()},onClick(d){e(d,a.current)}}}}),[t,c]),[o]=S1(c,i);s2(o,"draggingPositionInSequenceEditor","ew-resize"),g0(s1(t.seeker.isSeeking)||o,-1);let[n]=Gt1(c,{layoutP:t});return v1(()=>{let h=(0,X4.val)(t.seeker.isSeeking),v=(0,X4.val)(t.sheet).getSequence(),g=(0,X4.val)(zD(v)),s=v.positionPrism.getValue(),d=(0,X4.val)(t.clippedSpace.fromUnitSpace)(s),z=d>=0&&d<=(0,X4.val)(t.clippedSpace.width);return z3.default.createElement(z3.default.Fragment,null,n,r,z3.default.createElement(It,S({isVisible:z,style:{transform:"translate3d(".concat(d,"px, 0, 0)")},className:"".concat(h&&"seeking"," ").concat(g&&"playheadattachedtofocusrange")},O2("hide")),z3.default.createElement(xD,S({ref:a},r2.includePositionSnapAttrs(s)),z3.default.createElement(tD,{room:8}),z3.default.createElement(Ft1,null),z3.default.createElement(It1,null,v.positionFormatter.formatForPlayhead(v.closestGridPosition(s)))),z3.default.createElement(bt1,D(S({},r2.includePositionSnapAttrs(s)),{className:h?"seeking":""}))))},[t,a,r])},CD=Pt1});var g8,Pt,Kp,HD,Tt1,Zt1,VD,wD=x(()=>{"use strict";g8=require("@theatre/dataverse");M1();f1();h8();Pt=I(G());c1();Kp=1e3,Tt1=B.div(HD||(HD=V(["\n position: absolute;\n top: ","px;\n left: 0;\n opacity: 0.15;\n width: ","px;\n transform-origin: top left;\n pointer-events: none;\n background-color: ",";\n"])),_0,Kp,t=>t.enabled?"#000000":"transparent"),Zt1=({layoutP:t})=>{let a=(0,Pt.useMemo)(()=>(0,g8.prism)(()=>{let{projectId:c,sheetId:r}=(0,g8.val)(t.sheet).address;return(0,g8.val)(T().atomP.ahistoric.projects.stateByProjectId[c].stateBySheetId[r].sequence.focusRange)}),[t]);return v1(()=>{let c=a.getValue();if(!c||!c.enabled)return null;let{range:r}=c,e=(0,g8.val)(t.rightDims.height)-_0,l=(0,g8.val)(t.clippedSpace.fromUnitSpace),i=(0,g8.val)(t.clippedSpace.width),o=[];{let n=0,h=l(c.range.start),v,g;n>h?(g=0,v=0):(h>i&&(h=i),g=n,v=(h-n)/Kp),o.push({translateX:g,scaleX:v})}{let n=l(c.range.end),h=i,v,g;n>h?(g=0,v=0):(n<0&&(n=0),g=n,v=(h-n)/Kp),o.push({translateX:g,scaleX:v})}return Pt.default.createElement(Pt.default.Fragment,null,o.map(({translateX:n,scaleX:h},v)=>Pt.default.createElement(Tt1,{key:"curtain-".concat(v),enabled:!0,style:{height:"".concat(e,"px"),transform:"translateX(".concat(n,"px) scaleX(").concat(h,")")}})))},[t,a])},VD=Zt1});var T5,BD,Ot1,yD,yE1,Et1,SD,kD=x(()=>{"use strict";T5=I(G());c1();M1();f1();N6();Lo();Ot1=B.div(BD||(BD=V(["\n display: flex;\n gap: 8px;\n /* padding: 4px 8px; */\n height: 28px;\n align-items: center;\n"]))),yE1=B.div(yD||(yD=V(["\n ",";\n white-space: nowrap;\n"])),T0),Et1=({layoutP:t,marker:a})=>{var l;let c=s1(t.sheet),r=(0,T5.useMemo)(()=>{let i;return{temporarilySetValue(o){i&&(i.discard(),i=void 0),i=T().tempTransaction(({stateEditors:n})=>{n.studio.historic.projects.stateByProjectId.stateBySheetId.sequenceEditor.updateMarker({sheetAddress:c.address,markerId:a.id,label:o})})},discardTemporaryValue(){i&&(i.discard(),i=void 0)},permanentlySetValue(o){i&&(i.discard(),i=void 0),T().transaction(({stateEditors:n})=>{n.studio.historic.projects.stateByProjectId.stateBySheetId.sequenceEditor.updateMarker({sheetAddress:c.address,markerId:a.id,label:o})})}}},[t,c]),e=(0,T5.useRef)(null);return(0,T5.useLayoutEffect)(()=>{e.current.focus()},[]),T5.default.createElement(Ot1,null,T5.default.createElement(O9,D(S({value:(l=a.label)!=null?l:""},r),{isValid:()=>!0,inputRef:e})))},SD=Et1});function Kt1(t,a){return Z1(t,{menuItems(){return[{label:"Remove marker",callback:()=>{T().transaction(({stateEditors:c})=>{c.studio.historic.projects.stateByProjectId.stateBySheetId.sequenceEditor.removeMarker({sheetAddress:a.sheetAddress,markerId:a.markerId})})}}]}})}function $t1(t,a){let c=(0,Y2.useRef)(a);c.current=a;let r=(0,Y2.useMemo)(()=>({debugName:"MarkerDot/useDragMarker (".concat(a.marker.id,")"),onDragStart(l){let i=c.current.marker,o=(0,Ch.val)(a.layoutP.scaledSpace.toUnitSpace),n;return mt(),{onDrag(h,v,g){var z;let s=i,d=Math.max((z=r2.checkIfMouseEventSnapToPos(g,{ignore:t}))!=null?z:s.position+o(h),0);n==null||n.discard(),n=T().tempTransaction(({stateEditors:u})=>{u.studio.historic.projects.stateByProjectId.stateBySheetId.sequenceEditor.replaceMarkers({sheetAddress:(0,Ch.val)(a.layoutP.sheet.address),markers:[D(S({},s),{position:d})],snappingFunction:(0,Ch.val)(a.layoutP.sheet).getSequence().closestGridPosition})})},onDragEnd(h){h?n==null||n.commit():n==null||n.discard(),I3()}}}}),[]),[e]=S1(t,r);return g0(e,a.marker.position),s2(e,"draggingPositionInSequenceEditor draggingMarker","ew-resize"),[e]}var Ch,Y2,FD,ID,Dt1,Wt1,AD,_t1,RD,$p,jt1,bD,qt1,Nt1,PD,Ut1,GD=x(()=>{"use strict";Ch=require("@theatre/dataverse");M1();f1();I0();v0();P1();Y2=I(G());c1();E2();M2();W4();b3();Cr();tp();c8();c4();e4();kD();FD=12,ID=12,Dt1=FD*2,Wt1=ID*2,_t1=B.div(AD||(AD=V(['\n position: absolute;\n // below the sequence ruler "top bar"\n top: 18px;\n z-index: ',";\n"])),()=>K2.marker),$p=B.div(RD||(RD=V(["\n position: absolute;\n ","\n pointer-events: none;\n"])),H0(FD,ID)),jt1=Y2.default.memo(()=>Y2.default.createElement($p,{children:Y2.default.createElement("svg",{width:"100%",height:"100%",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Y2.default.createElement("path",{d:"M12 5H0V7H2.71973L5.96237 10.2426L9.20501 7H12V5Z",fill:"#40AAA4"}))})),qt1=B.div(bD||(bD=V(["\n z-index: 1;\n cursor: ew-resize;\n\n ","\n\n // :not dragging marker to ensure that markers don't snap to other markers\n // this works because only one marker track (so this technique is not used by keyframes...)\n #pointer-root.draggingPositionInSequenceEditor:not(.draggingMarker) & {\n ",'\n }\n\n // "All instances of this component inside #pointer-root when it has the .draggingPositionInSequenceEditor class"\n // ref: https://styled-components.com/docs/basics#pseudoelements-pseudoselectors-and-nesting\n #pointer-root.draggingPositionInSequenceEditor:not(.draggingMarker) &,\n #pointer-root.draggingPositionInSequenceEditor\n &.'," {\n pointer-events: auto;\n cursor: var(",");\n }\n\n &:hover\n + ",',\n // notice , "or" in CSS\n &.',"\n + "," {\n ","\n }\n"])),v4.CSS,v4.CSS_WHEN_SOMETHING_DRAGGING,v4.BEING_DRAGGED_CLASS,F0,$p,v4.BEING_DRAGGED_CLASS,$p,H0(Dt1,Wt1)),Nt1=({layoutP:t,markerId:a})=>{let c=s1(t.sheet.address),r=s1(T().atomP.historic.projects.stateByProjectId[c.projectId].stateBySheetId[c.sheetId].sequenceEditor.markerSet.byId[a]);if(!r)return null;let e=s1(t.clippedSpace.width),i=s1(t.clippedSpace.fromUnitSpace)(r.position),o=i<=0||i>e,n=o?-1e4:i,h=o?0:1;return Y2.default.createElement(_t1,{style:{transform:"translateX(".concat(n,"px) scale(").concat(h,")")}},Y2.default.createElement(Ut1,{marker:r,layoutP:t}))},PD=Nt1,Ut1=({layoutP:t,marker:a})=>{let c=s1(t.sheet.address),[r,e]=z1(null),[l]=Kt1(e,{sheetAddress:c,markerId:a.id}),[i]=$t1(e,{layoutP:t,marker:a}),{node:o,toggle:n,close:h}=x2({debugName:"MarkerPopover"},()=>Y2.default.createElement(T2,null,Y2.default.createElement(SD,{marker:a,layoutP:t,onRequestClose:h})));return Y2.default.createElement(Y2.default.Fragment,null,l,o,Y2.default.createElement(qt1,S({title:a.label?"Marker: ".concat(a.label):"Marker",ref:r,onClick:v=>{n(v,r.current)}},v4.reactProps({isDragging:i,position:a.position}))),Y2.default.createElement(jt1,null))}});var Lh,Qt1,TD,ZD=x(()=>{"use strict";M1();f1();Lh=I(G());GD();Qt1=({layoutP:t})=>{let a=s1(t.sheet.address),c=T().atomP.historic.projects.stateByProjectId[a.projectId].stateBySheetId[a.sheetId].sequenceEditor.markerSet,r=s1(c.allIds);return Lh.default.createElement(Lh.default.Fragment,null,r&&Object.keys(r).map(e=>Lh.default.createElement(PD,{key:e,layoutP:t,markerId:e})))},TD=Qt1});var ED,Z5,OD,Xt1,Yt1,DD,WD=x(()=>{"use strict";W4();M1();ED=require("@theatre/dataverse"),Z5=I(G());c1();PE();EE();XE();LD();h8();wD();ZD();Xt1=B.div(OD||(OD=V(["\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: ",";\n overflow: visible;\n pointer-events: none;\n"])),()=>K2.rightOverlay),Yt1=({layoutP:t})=>v1(()=>{let a=(0,ED.val)(t.rightDims.width);return Z5.default.createElement(Xt1,{style:{width:a+"px"}},Z5.default.createElement(CD,{layoutP:t}),Z5.default.createElement(QE,{layoutP:t}),Z5.default.createElement(OE,{layoutP:t}),Z5.default.createElement(HE,{layoutP:t}),Z5.default.createElement(TD,{layoutP:t}),Z5.default.createElement(IE,{layoutP:t}),Z5.default.createElement(VD,{layoutP:t}))},[t]),DD=Yt1});var jD,jr,_D,Jt1,ta1,qD,ND=x(()=>{"use strict";jD=require("@theatre/dataverse");M1();f1();jr=I(G());c1();K8();E2();Jt1=B.button(_D||(_D=V(["\n outline: none;\n background-color: #1c1d21;\n border: 1px solid #191919;\n border-radius: 2px;\n display: flex;\n bottom: 14px;\n right: 8px;\n z-index: 1;\n position: absolute;\n\n padding: 4px 8px;\n display: flex;\n color: #656d77;\n line-height: 20px;\n font-size: 10px;\n\n &:hover {\n color: white;\n }\n\n & > svg {\n transition: transform 0.3s;\n transform: rotateZ(0deg);\n }\n\n &:hover > svg {\n transform: rotateZ(-20deg);\n }\n\n &.open > svg {\n transform: rotateZ(-180deg);\n }\n\n &.open:hover > svg {\n transform: rotateZ(-160deg);\n }\n"]))),ta1=({layoutP:t})=>{let a=s1(t.graphEditorDims.isOpen),c=(0,jr.useCallback)(()=>{let r=(0,jD.val)(t.graphEditorDims.isOpen);T().transaction(({stateEditors:e})=>{e.studio.historic.panels.sequenceEditor.graphEditor.setIsOpen({isOpen:!r})})},[t]);return jr.default.createElement(Jt1,S({onClick:c,title:"Toggle graph editor",className:a?"open":""},O2("hide")),jr.default.createElement(YA,null))},qD=ta1});var G3,Y1,UD,aa1,KD,ca1,K2,$D,ra1,ea1,la1,ia1,oa1,na1,QD,ha1,W4=x(()=>{"use strict";C5();M1();Wu();G3=require("@theatre/dataverse"),Y1=I(G());c1();XO();Er();lE();WD();r7();Eu();Du();E2();N5();H2();ND();b4();K6();aa1=B(Cn)(UD||(UD=V(["\n z-index: ",";\n box-shadow: 2px 2px 0 rgb(0 0 0 / 11%);\n"])),M5.sequenceEditorPanel),ca1=B.div(KD||(KD=V(["\n background-color: rgba(40, 43, 47, 0.99);\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n z-index: -1;\n pointer-events: none;\n"]))),K2=(()=>{let t={rightBackground:0,scrollableArea:0,rightOverlay:0,lengthIndicatorCover:0,lengthIndicatorStrip:0,playhead:0,currentFrameStamp:0,marker:0,horizontalScrollbar:0},a=-1;for(let c of Object.keys(t))t[c]=a,a++;return t})(),ra1=B(fn)($D||($D=V(["\n position: absolute;\n left: 0;\n top: 0;\n z-index: 1;\n"]))),ea1={edges:{left:{from:"screenLeft",distance:.1},right:{from:"screenRight",distance:.2},top:{from:"screenBottom",distance:.4},bottom:{from:"screenBottom",distance:.01}}},la1={width:800,height:200},ia1=t=>Y1.default.createElement(mn,{panelId:"sequenceEditor",defaultPosition:ea1,minDims:la1},Y1.default.createElement(oa1,null)),oa1=()=>{let{dims:t}=D4(),[a,c]=(0,Y1.useState)(null);return _o(a),v1(()=>{let r=G3.prism.memo("panelSize",()=>{let d=t.width,z=t.height;return{width:d,height:z,widthWithoutBorder:d-2,heightWithoutBorder:z-4,screenX:t.left,screenY:t.top}},[t]),e=x3(c3().filter(d=>H7(d)||c0(d)).map(d=>c0(d)?d.sheet:d));if(x3(e.map(d=>d.template)).length!==1)return Y1.default.createElement(Y1.default.Fragment,null);let i=e[0];if(!i)return Y1.default.createElement(Y1.default.Fragment,null);let o=Vn("panelSizeP",r).pointer,n=G3.prism.memo("key",()=>JSON.stringify(i.address),[i]),h=G3.prism.memo("layout",()=>eE(i,o),[i,o]).getValue();if((0,G3.val)(h.tree.children).length===0)return Y1.default.createElement(Y1.default.Fragment,null);let v=G3.prism.memo("containerRef",ha1,[]),g=(0,G3.val)(h.graphEditorDims.isAvailable),s=(0,G3.val)(h.graphEditorDims.isOpen);return Y1.default.createElement(aa1,{ref:d=>{v(d),d!==a&&c(d)}},Y1.default.createElement(ca1,{style:{width:"".concat((0,G3.val)(h.leftDims.width),"px")}}),Y1.default.createElement(EG,{layoutP:h},Y1.default.createElement(na1,{layoutP:h}),Y1.default.createElement(QO,{key:n+"-dopeSheet",layoutP:h}),s&&Y1.default.createElement(yO,{key:n+"-graphEditor",layoutP:h}),g&&Y1.default.createElement(qD,{layoutP:h}),Y1.default.createElement(DD,{layoutP:h})))},[t,a])},na1=({layoutP:t})=>v1(()=>{let a=(0,G3.val)(t.sheet);return Y1.default.createElement(ra1,{style:{width:(0,G3.val)(t.leftDims.width)}},Y1.default.createElement(oo,null,Y1.default.createElement(x5,null,a.address.sheetId," "),Y1.default.createElement(R9,null,":","\xA0"),Y1.default.createElement(x5,null,a.address.sheetInstanceId," "),Y1.default.createElement(R9,null,"\xA0",">","\xA0"),Y1.default.createElement(x5,null,"Sequence")))},[t]),QD=ia1,ha1=()=>{let t=null,a={passive:!1,capture:!1},c=r=>{Math.abs(r.deltaY){t!==r&&t&&t.removeEventListener("wheel",c,a),t=r,r&&r.addEventListener("wheel",c,a)}}});var u7,va1,XD,YD=x(()=>{"use strict";Qk();Io();u7=I(G());f1();M1();nG();W4();va1=()=>{let t=s1(T().paneManager.allPanesD),a=Object.entries(t).map(([c,r])=>u7.default.createElement(oG,{key:"pane-".concat(c),paneInstance:r}));return u7.default.createElement(u7.default.Fragment,null,a,u7.default.createElement($k,null),u7.default.createElement(yP,null),u7.default.createElement(QD,null))},XD=va1});var JD,ga1,tW,aW=x(()=>{"use strict";c1();gr();ga1=B(w5)(JD||(JD=V(["\n --popover-outer-stroke: #e11c1c;\n --popover-inner-stroke: #2c1c1c;\n --popover-bg: #2c1c1c;\n pointer-events: none !important;\n"]))),tW=ga1});var rW=L1((UD1,cW)=>{var Hh,Qp;Hh=[];Qp=[];function da1(t,a,c){var r,e,l,i,o,n,h,v;if(t===a)return 0;if(r=t.length,e=a.length,r===0)return e;if(e===0)return r;for(c&&(t=t.toLowerCase(),a=a.toLowerCase()),h=0;hi?n>i?i+1:n:n>o?o+1:n;return i}cW.exports=da1});var iW=L1((KD1,lW)=>{var eW=rW();function sa1(){var t,a,c,r,e,l=0,i=arguments[0],o=arguments[1],n=o.length,h=arguments[2];h&&(r=h.threshold,e=h.ignoreCase),r===void 0&&(r=0);for(var v=0;vi.length?t=1-a/o[v].length:t=1-a/i.length,t>l&&(l=t,c=o[v]);return l>=r?c:null}lW.exports=sa1});function Xp(t,a,c="Did you mean ",r="?"){let e=(0,oW.default)(t,a,{threshold:.7});return e?c+JSON.stringify(e)+r:""}var oW,nW=x(()=>{"use strict";oW=I(iW())});function Vh(t,a){return t.length<=a?t:t.substr(0,a-3)+"..."}var hW=x(()=>{"use strict"});var za1,wh,Yp=x(()=>{"use strict";hW();za1=t=>typeof t=="string"?'string("'.concat(Vh(t,10),'")'):typeof t=="number"?"number(".concat(Vh(String(t),10),")"):t===null?"null":t===void 0?"undefined":typeof t=="boolean"?String(t):Array.isArray(t)?"array":typeof t=="object"?"object":"unknown",wh=za1});var vW,ua1,Bh,Jp=x(()=>{"use strict";c1();T6();ua1=B(uz)(vW||(vW=V(["\n display: flex;\n height: fit-content;\n backdrop-filter: blur(14px);\n border-radius: 2px;\n"]))),Bh=ua1});var Gt,gW,pa1,ma1,Y4,Tt=x(()=>{"use strict";c1();G1();Gt=I(G());nt();Wc();bu();Jp();pa1=B.button(gW||(gW=V(["\n ",";\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 14px;\n font-weight: 600;\n width: 32px;\n height: 32px;\n outline: none;\n\n color: #a8a8a9;\n\n background: rgba(40, 43, 47, 0.8);\n backdrop-filter: blur(14px);\n border: none;\n border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n border-radius: 2px;\n\n svg {\n display: block;\n }\n\n &:hover {\n background: rgba(59, 63, 69, 0.8);\n }\n\n &:active {\n background: rgba(82, 88, 96, 0.8);\n }\n\n &.selected {\n color: rgba(255, 255, 255, 0.8);\n border-bottom: 1px solid rgba(255, 255, 255, 0.7);\n }\n\n // Don't blur if in a button group, because it already blurs. We need to blur\n // on the group-level, otherwise we get seams.\n "," > & {\n backdrop-filter: none;\n filter: none;\n border-radius: 0;\n\n &:first-child {\n border-top-left-radius: 2px;\n border-bottom-left-radius: 2px;\n }\n\n &:last-child {\n border-bottom-right-radius: 2px;\n border-top-right-radius: 2px;\n }\n }\n\n @supports not (backdrop-filter: blur()) {\n background: rgba(40, 43, 47, 0.95);\n }\n"])),C1,Bh),ma1=Gt.default.forwardRef((r,c)=>{var e=r,{title:t}=e,a=m4(e,["title"]);let[l,i]=R3({enabled:typeof t=="string"},()=>Gt.default.createElement(dn,null,t));return Gt.default.createElement(Gt.default.Fragment,null,l,Gt.default.createElement(pa1,S({ref:D6([i,c])},a))," ")}),Y4=ma1});var sW,dW,fa1,Ma1,zW,uW=x(()=>{"use strict";sW=I(G());Tt();c1();G1();fa1=B(Y4)(dW||(dW=V(["\n ",";\n & > svg {\n width: 1em;\n height: 1em;\n pointer-events: none;\n }\n"])),C1),Ma1=({config:t,testId:a})=>{var c;return sW.default.createElement(fa1,{onClick:t.onClick,"data-testid":a,title:t.title,dangerouslySetInnerHTML:{__html:(c=t.svgSource)!=null?c:""}})},zW=Ma1});function xa1({value:t,label:a,icon:c,onClick:r,isSelected:e}){return Zt.default.createElement(Zt.default.Fragment,null,Zt.default.createElement(Y4,{forwardedAs:zz,className:e?"selected":void 0,"aria-label":a,onClick:r,title:a},c))}var Zt,Ca1,pW,mW=x(()=>{"use strict";Zt=I(G());T6();Tt();Jp();Ca1=({value:t,onChange:a,options:c})=>Zt.default.createElement(Bh,null,c.map(({label:r,icon:e,value:l})=>Zt.default.createElement(xa1,{key:l,value:l,isSelected:t===l,label:r,icon:e,onClick:()=>a(l)}))),pW=Ca1});var tm,fW,La1,Ha1,MW,xW=x(()=>{"use strict";tm=I(G());c1();G1();mW();La1=B.div(fW||(fW=V(["\n ",";\n & > svg {\n width: 1em;\n height: 1em;\n pointer-events: none;\n }\n"])),C1),Ha1=({config:t})=>tm.default.createElement(pW,{onChange:t.onChange,options:t.options.map(({label:a,value:c,svgSource:r})=>({label:a,value:c,icon:tm.default.createElement(La1,{dangerouslySetInnerHTML:{__html:r}})})),value:t.value}),MW=Ha1});var Ot,CW,Va1,wa1,LW,HW=x(()=>{"use strict";Ot=I(G());c1();G1();Tt();iu();c4();Va1=B.div(CW||(CW=V(["\n ",";\n & > svg {\n width: 1em;\n height: 1em;\n pointer-events: none;\n }\n"])),C1),wa1=({config:t})=>{let a=(0,Ot.useRef)(null),c=x2(()=>{let r=a.current.getBoundingClientRect();return{debugName:"ExtensionFlyoutMenu:"+t.label,constraints:{maxX:r.right,maxY:8,minX:r.left,minY:8},verticalGap:2}},()=>Ot.default.createElement(Eo,{items:t.items.map((r,e)=>({label:r.label,callback:()=>{var l;try{(l=r.onClick)==null||l.call(r)}catch(i){console.error(i)}}})),onRequestClose:()=>{c.close("clicked")}}));return Ot.default.createElement(Va1,null,c.node,Ot.default.createElement(Y4,{ref:a,onClick:r=>{c.open(r,a.current)}},t.label))},LW=wa1});function ya1(t){return VW[t]}var qr,Ba1,VW,Sa1,wW,BW=x(()=>{"use strict";nW();Yp();qr=I(G());uW();xW();HW();Ba1=t=>qr.default.createElement(qr.default.Fragment,null,t.config.map((a,c)=>qr.default.createElement(Sa1,{config:a,key:c}))),VW={Icon:zW,Switch:MW,Flyout:LW};Sa1=({config:t})=>{let a=ya1(t.type);if(!a)throw new Error("No tool with tool.type ".concat(wh(t.type)," exists. Did you mean ").concat(Xp(t.type,Object.keys(VW))));return qr.default.createElement(a,{config:t})},wW=Ba1});var AW,T3,SW,ka1,kW,yW,Aa1,Ra1,yh,am=x(()=>{"use strict";AW=require("@theatre/dataverse");M1();f1();T3=I(G());c1();BW();ka1=B.div(SW||(SW=V(["\n height: 36px;\n /* pointer-events: none; */\n\n display: flex;\n gap: 0.5rem;\n justify-content: center;\n"]))),yW=B.div(kW||(kW=V(["\n position: abolute;\n height: 32px;\n width: 1px;\n background: #373b40;\n opacity: 0.4;\n"]))),Aa1=({extension:t,toolbarId:a})=>{var l;let c=(0,T3.useMemo)(()=>new AW.Atom([]),[]),r=(l=t.toolbars)==null?void 0:l[a];(0,T3.useLayoutEffect)(()=>{let i=r==null?void 0:r(c.set.bind(c),T().publicApi);if(typeof i=="function")return i},[t,a,r]);let e=s1(c.prism);return T3.default.createElement(wW,{config:e})},Ra1=({toolbarId:t,showLeftDivider:a})=>{var l;let c=[],r=s1(T().atomP.ephemeral.extensions.byId),e=!1;for(let[,i]of Object.entries(r))!i||!((l=i.toolbars)!=null&&l[t])||(c.push(T3.default.createElement(T3.default.Fragment,{key:"extensionToolbar-"+i.id},e?T3.default.createElement(yW,null):void 0,T3.default.createElement(Aa1,{extension:i,toolbarId:t}))),e=!0);return c.length===0?null:T3.default.createElement(ka1,{"data-testid":"theatre-extensionToolbar-".concat(t)},a?T3.default.createElement(yW,null):void 0,c)},yh=Ra1});var p7,RW,ba1,Fa1,Sh,bW=x(()=>{"use strict";c1();p7=I(G());Tt();ba1=B(Y4)(RW||(RW=V(["\n color: ",";\n\n border-bottom: 1px solid\n ",";\n"])),({pinned:t})=>t?"rgba(255, 255, 255, 0.8)":"#A8A8A9",({pinned:t})=>t?"rgba(255, 255, 255, 0.7)":"rgba(255, 255, 255, 0.08)"),Fa1=(0,p7.forwardRef)((n,o)=>{var h=n,{children:t,hint:a,pinned:c,icon:r,pinHintIcon:e,unpinHintIcon:l}=h,i=m4(h,["children","hint","pinned","icon","pinHintIcon","unpinHintIcon"]);let[v,g]=(0,p7.useState)(!1),s=v||a;return p7.default.createElement(ba1,D(S({},i),{pinned:c,ref:o,onMouseOver:()=>g(!0),onMouseOut:()=>g(!1)}),p7.default.createElement("div",{style:{pointerEvents:"none",width:"fit-content",height:"fit-content",inset:0}},s&&!c?e:s&&c?l:r),t)}),Sh=Fa1});function Ia1(t){return cm.createElement("svg",S({width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),cm.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12.732 4.048l-.792-.792L7.2 8l4.74 4.744.792-.792L8.781 8l3.951-3.952zm-3.932 0l-.792-.792L3.268 8l4.74 4.744.792-.792L4.848 8 8.8 4.048z",fill:"currentColor"}))}var cm,rm,FW=x(()=>{"use strict";cm=I(G());rm=Ia1});function Pa1(t){return em.createElement("svg",S({width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),em.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M3.694 3.765l.792-.792 4.74 4.744-4.74 4.744-.792-.793 3.951-3.951-3.951-3.952zm3.932 0l.792-.792 4.74 4.744-4.74 4.744-.792-.793 3.952-3.951-3.952-3.952z",fill:"currentColor"}))}var em,lm,IW=x(()=>{"use strict";em=I(G());lm=Pa1});var y2,GW,Ga1,TW,qW,ZW,m7,OW,Ta1,EW,Za1,DW,Oa1,WW,Ea1,_W,im,jW,Da1,NW,PW,Wa1,UW,KW=x(()=>{"use strict";M1();f1();y2=I(G());c1();Ga1=B.div(GW||(GW=V(["\n width: 138px;\n border-radius: 2px;\n background-color: rgba(42, 45, 50, 0.9);\n position: absolute;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: flex-start;\n box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.25), 0px 2px 6px rgba(0, 0, 0, 0.15);\n backdrop-filter: blur(14px);\n pointer-events: auto;\n // makes the edges of the item highlights match the rounded corners\n overflow: hidden;\n\n @supports not (backdrop-filter: blur()) {\n background-color: rgba(42, 45, 50, 0.98);\n }\n\n color: rgba(255, 255, 255, 0.9);\n\n & a {\n // Fix colors of links to not be default\n color: inherit;\n }\n"]))),qW=B.div(TW||(TW=V(["\n position: relative;\n padding: 0px 12px;\n font-weight: 400;\n font-size: 11px;\n height: 32px;\n text-decoration: none;\n user-select: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n cursor: default;\n"]))),m7=B(qW)(ZW||(ZW=V(["\n &:before {\n position: absolute;\n display: block;\n content: ' ';\n inset: 3px;\n border-radius: 3px;\n background: rgba(255, 255, 255, 0.1);\n opacity: 0;\n }\n\n &.secondary {\n color: rgba(255, 255, 255, 0.5);\n }\n\n &:hover {\n /* background-color: #398995; */\n color: white !important;\n &:before {\n opacity: 1;\n }\n }\n"]))),Ta1=B(qW)(OW||(OW=V(["\n height: auto;\n min-height: 32px;\n padding-top: 12px;\n padding-bottom: 10px;\n flex-direction: column;\n justify-content: flex-start;\n align-items: stretch;\n gap: 8px;\n color: rgba(255, 255, 255, 0.5);\n"]))),Za1=B.div(EW||(EW=V(["\n font-weight: 600;\n"]))),Oa1=B.div(DW||(DW=V(["\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n"]))),Ea1=B.div(WW||(WW=V(["\n margin-left: 2px;\n"]))),im=B.div(_W||(_W=V(["\n height: 1px;\n margin: 0 2px;\n background: rgba(255, 255, 255, 0.02);\n"]))),Da1=B.div(jW||(jW=V(["\n position: absolute;\n width: 8px;\n height: 8px;\n background: #40aaa4;\n right: 14px;\n top: 12px;\n border-radius: 50%;\n"]))),NW="0.7.2",PW=NW.match(/^[^\-]+/)[0],Wa1=y2.default.forwardRef((t,a)=>{let c=s1(T().atomP.ahistoric.updateChecker.result.hasUpdates);return y2.default.createElement(Ga1,{ref:a},y2.default.createElement(m7,{as:"a",href:"https://www.theatrejs.com/docs/latest",className:"",target:"_blank"},"Docs"),y2.default.createElement(m7,{as:"a",href:"https://www.theatrejs.com/docs/latest/releases",className:"",target:"_blank"},"Changelog"),y2.default.createElement(im,null),y2.default.createElement(m7,{as:"a",href:"https://github.com/theatre-js/theatre",className:"",target:"_blank"},"Github"),y2.default.createElement(m7,{as:"a",href:"https://twitter.com/theatre_js",className:"",target:"_blank"},"Twitter"),y2.default.createElement(m7,{className:"",as:"a",href:"https://discord.gg/bm9f8F9Y9N",target:"_blank"},"Discord"),y2.default.createElement(im,null),y2.default.createElement(Ta1,null,y2.default.createElement(Za1,null,"Version"),y2.default.createElement(Oa1,null,y2.default.createElement(Ea1,null,NW," ",c===!0?"(outdated)":c===!1?"(latest)":""))),c===!0&&y2.default.createElement(y2.default.Fragment,null,y2.default.createElement(im,null),y2.default.createElement(m7,{as:"a",href:"https://www.theatrejs.com/docs/latest/releases".concat(encodeURIComponent(PW)),className:"",target:"_blank"},"Update",y2.default.createElement(Da1,null)),y2.default.createElement(m7,{as:"a",href:"https://www.theatrejs.com/docs/latest/releases#".concat(encodeURIComponent(PW)),className:"",target:"_blank"},"What's new?")))}),UW=Wa1});var E1,r_,YW,_a1,JW,ja1,t_,$W,a_,QW,c_,f_1,XW,qa1,e_,l_=x(()=>{"use strict";M1();f1();E1=I(G());c1();nt();aW();gr();r_=require("@theatre/dataverse");am();bW();b9();FW();IW();Tt();c4();KW();vt();_a1=B.div(YW||(YW=V(["\n height: 36px;\n pointer-events: none;\n\n display: flex;\n justify-content: space-between;\n padding: 12px;\n"]))),ja1=B.div(JW||(JW=V(["\n color: white;\n width: 14px;\n height: 14px;\n background: #d00;\n border-radius: 4px;\n text-align: center;\n line-height: 14px;\n font-weight: 600;\n font-size: 8px;\n position: relative;\n left: -6px;\n top: -11px;\n margin-right: -14px;\n box-shadow: 0 4px 6px -4px #00000059;\n"]))),$W=B.div(t_||(t_=V(["\n display: flex;\n gap: 8px;\n"]))),QW=B.div(a_||(a_=V(["\n position: absolute;\n background: ",";\n width: 6px;\n height: 6px;\n border-radius: 50%;\n right: -2px;\n top: -2px;\n"])),({type:t})=>t==="info"?"#40aaa4":"#f59e0b"),f_1=B.div(c_||(c_=V(["\n position: absolute;\n height: 32px;\n width: 1px;\n background: #373b40;\n opacity: 0.4;\n"]))),XW=!1,qa1=()=>{var s,d,z;let t=v1(()=>{let u=(0,r_.val)(T().atomP.ephemeral.coreByProject);return Object.entries(u).map(([f,p])=>({projectId:f,state:p})).filter(({state:f})=>f.loadingState.type==="browserStateIsNotBasedOnDiskState")},[]),[a,c]=R3({enabled:t.length>0,enterDelay:t.length>0?0:200},()=>t.length>0?E1.default.createElement(tW,null,t.length===1?'There is a state conflict in project "'.concat(t[0].projectId,'". Select the project in the outline below in order to fix it.'):"There are ".concat(t.length," projects that have state conflicts. They are highlighted in the outline below. ")):E1.default.createElement(w5,null,E1.default.createElement(E1.default.Fragment,null,"Outline"))),r=(s=s1(T().atomP.ahistoric.pinOutline))!=null?s:!0,e=(d=s1(T().atomP.ahistoric.pinDetails))!=null?d:!0,l=s1(T().atomP.ahistoric.updateChecker.result.hasUpdates)===!0,i=x2(()=>{let u=o.current.getBoundingClientRect();return{debugName:"More Menu",constraints:{maxX:u.right,maxY:8,minX:u.left-140,minY:8},verticalGap:2}},()=>E1.default.createElement(UW,null)),o=(0,E1.useRef)(null),n=(0,E1.useMemo)(()=>(window.__IS_VISUAL_REGRESSION_TESTING&&(XW||(XW=!0,console.warn("Visual regression testing enabled, so we're showing the updates badge unconditionally"))),l||window.__IS_VISUAL_REGRESSION_TESTING?!0:l),[l]),{hasNotifications:h}=Pu(),[v,g]=eP();return E1.default.createElement(_a1,null,E1.default.createElement($W,null,a,E1.default.createElement(Sh,{ref:c,"data-testid":"OutlinePanel-TriggerButton",onClick:()=>{T().transaction(({stateEditors:u,drafts:f})=>{var p;u.studio.ahistoric.setPinOutline(!((p=f.ahistoric.pinOutline)==null||p))})},icon:E1.default.createElement(Gc,null),pinHintIcon:E1.default.createElement(lm,null),unpinHintIcon:E1.default.createElement(rm,null),pinned:r}),t.length>0?E1.default.createElement(ja1,null,t.length):null,E1.default.createElement(yh,{showLeftDivider:!0,toolbarId:"global"})),E1.default.createElement($W,null,v,E1.default.createElement(Sh,{ref:g,onClick:()=>{T().transaction(({stateEditors:u,drafts:f})=>{var p;u.studio.ahistoric.setPinNotifications(!((p=f.ahistoric.pinNotifications)!=null&&p))})},icon:E1.default.createElement(Zc,null),pinHintIcon:E1.default.createElement(Zc,null),unpinHintIcon:E1.default.createElement(Zc,null),pinned:(z=s1(T().atomP.ahistoric.pinNotifications))!=null?z:!1},h&&E1.default.createElement(QW,{type:"warning"})),i.node,E1.default.createElement(Y4,{ref:o,onClick:u=>{i.toggle(u,o.current)}},E1.default.createElement(wz,null),n&&E1.default.createElement(QW,{type:"info"})),E1.default.createElement(Sh,{ref:c,onClick:()=>{T().transaction(({stateEditors:u,drafts:f})=>{var p;u.studio.ahistoric.setPinDetails(!((p=f.ahistoric.pinDetails)==null||p))})},icon:E1.default.createElement(Hz,null),pinHintIcon:E1.default.createElement(rm,null),unpinHintIcon:E1.default.createElement(lm,null),pinned:e})))},e_=qa1});var i_,Nr,o_,kh,Na1,n_,h_,Ua1,om=x(()=>{"use strict";i_=require("@theatre/dataverse");M1();Nr=I(G()),o_=I(B4()),kh=new i_.Atom({set:{},byId:{}}),Na1=1,n_=()=>{let t=Na1++;function a(r,e,l){kh.reduce(i=>({byId:D(S({},i.byId),{[t]:{comp:r,props:e,portalNode:l}}),set:D(S({},i.set),{[t]:!0})}))}function c(){kh.reduce(r=>{let e=S({},r.set),l=S({},r.byId);return delete e[t],{byId:l,set:e}})}return{mountOrRender:a,unmount:c}},h_=()=>{let t=Object.keys(s1(kh.pointer.set));return Nr.default.createElement(Nr.default.Fragment,null,t.map(a=>Nr.default.createElement(Ua1,{key:"id-"+a,id:a})))},Ua1=({id:t})=>{let{comp:a,portalNode:c,props:r}=s1(kh.pointer.byId[t]);return(0,o_.createPortal)(Nr.default.createElement(a,S({},r)),c)}});function hm(t){let a=T(),[c,r]=z1(void 0),e=Wr();e.configureLogging({min:128,dev:v_,internal:v_});let l=e.getLogger().named("Theatre.js UIRoot");Up();let i=s1(a.atomP.ahistoric.visibilityState);return(0,W2.useEffect)(()=>(i==="everythingIsHidden"&&console.warn("Theatre.js Studio is hidden. Use the keyboard shortcut 'alt + \\' to restore the studio, or call studio.ui.restore()."),()=>{}),[i]),v1(()=>{let n=(0,nm.val)(a.atomP.ahistoric.visibilityState);return(0,nm.val)(a.atomP.ephemeral.initialised)?W2.default.createElement(uo,{logger:l},W2.default.createElement(MI,null,W2.default.createElement(vA,null,W2.default.createElement(Qa1,null),W2.default.createElement(a3.Provider,{value:r},W2.default.createElement(fz,{target:window.__IS_VISUAL_REGRESSION_TESTING===!0?void 0:t.containerShadow},W2.default.createElement(W2.default.Fragment,null,W2.default.createElement(Ka1,null),W2.default.createElement($a1,{className:n==="everythingIsHidden"?"invisible":""},W2.default.createElement(mz,{ref:c}),W2.default.createElement(e_,null),W2.default.createElement(XD,null),W2.default.createElement(lP,null)))))))):null},[a,c,r])}var nm,W2,g_,Ka1,d_,$a1,s_,v_,Qa1,z_=x(()=>{"use strict";f1();M1();nm=require("@theatre/dataverse"),W2=I(G());c1();YD();l_();P1();T6();xh();I0();Su();mo();om();G1();_r();L5();vt();Ka1=typeof window!="undefined"?Zi(g_||(g_=V(["\n :host {\n contain: strict;\n }\n"]))):{},$a1=B(oA)(d_||(d_=V(["\n z-index: 50;\n position: fixed;\n inset: 0;\n\n &.invisible {\n pointer-events: none !important;\n opacity: 0;\n transform: translateX(1000000px);\n }\n"]))),v_=/Playground.+Theatre\.js/.test((s_=typeof document!="undefined"?document==null?void 0:document.title:null)!=null?s_:"");Qa1=()=>W2.default.createElement(h_,null)});var p_=L1(vm=>{"use strict";var u_=B4();vm.createRoot=u_.createRoot,vm.hydrateRoot=u_.hydrateRoot;var W_1});var M_={};Lf(M_,{default:()=>Ah});var m_,f_,Ah,x_=x(()=>{"use strict";z_();m_=I(G()),f_=I(p_());om();G1();am();Ah=class{constructor(){y1(this,"containerEl",document.createElement("div"));y1(this,"_renderTimeout");y1(this,"_documentBodyUIIsRenderedIn");y1(this,"containerShadow");this.containerEl.id="theatrejs-studio-root",this.containerEl.style.cssText="\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n pointer-events: none;\n z-index: 100;\n ";let a=()=>{if(window.__IS_VISUAL_REGRESSION_TESTING===!0){let c=document.createElement("div");return c.id="theatrejs-faux-shadow-root",document.body.appendChild(c),c}else return this.containerEl.attachShadow({mode:"open"})};this.containerShadow=a()}render(){let a=()=>{if(!document.body){this._renderTimeout=setTimeout(a,5);return}this._renderTimeout=void 0,this._documentBodyUIIsRenderedIn=document.body,this._documentBodyUIIsRenderedIn.appendChild(this.containerEl),f_.default.createRoot(this.containerShadow).render(m_.default.createElement(hm,{containerShadow:this.containerShadow}))};this._renderTimeout=setTimeout(a,10)}renderToolset(a,c){let r=n_();return r.mountOrRender(US(yh),{toolbarId:a},c),r.unmount}}});var H_=L1(Dt=>{Dt.compare=ac1;Dt.reduce=cc1;var Ja1,Rh,tc1,bh,Et;Dt.REMOVE=Ja1=Rh=-1;Dt.ADD=tc1=bh=1;Dt.EQUAL=Et=0;function ac1(t,a){var c=t.length,r=a.length,e=rc1(t,a),l=e=0;--n)for(var h=r-1;h>=0;--h)o[h][n]=lc1(o,t,a,e,n,h);return{prefix:e,matrix:o,suffix:l}}function cc1(t,a,c){var r,e,l,i,o=c.matrix,n=c.prefix;for(r=0;r{Fh.cons=oc1;Fh.tail=nc1;Fh.map=hc1;function oc1(t,a){var c=a.length,r=new Array(c+1);r[0]=t;for(var e=0;e{V_.exports=dc1;var Ih=/\/|~1|~0/g,dm="/",vc1="~",gc1="~1";function dc1(t,a){var c,r,e,l;for(c=t.charAt(0)===dm?1:0,r="",Ih.lastIndex=c;e=Ih.exec(t);)if(l=e[0],r+=t.slice(c,Ih.lastIndex-l.length),c=Ih.lastIndex,l===dm){if(a(r)===!1)return t;r=""}else r+=l===gc1?dm:vc1;return r+=t.slice(c),a(r),t}});var Ph=L1(J4=>{var B_=w_();J4.find=xc1;J4.join=Lc1;J4.absolute=Cc1;J4.parse=Hc1;J4.contains=Vc1;J4.encodeSegment=Bc1;J4.decodeSegment=wc1;J4.parseArrayIndex=sm;J4.isValidArrayIndex=y_;var Wt="/",sc1=/\//g,zc1="~1",uc1=/~1/g,pc1="~",mc1=/~/g,fc1="~0",Mc1=/~0/g;function xc1(t,a,c,r){if(typeof a=="string"){if(a==="")return{target:t,key:void 0};if(a===Wt)return{target:t,key:""};var e=t,l,i=r!==void 0;return B_(a,function(o){if(t==null)return e=null,!1;Array.isArray(t)?l=i?Sc1(c,sm(o),t,r):o==="-"?o:sm(o):l=o,e=t,t=t[l]}),e===null?void 0:{target:e,key:l}}}function Cc1(t){return t[0]===Wt?t:Wt+t}function Lc1(t){return t.join(Wt)}function Hc1(t){var a=[];return B_(t,a.push.bind(a)),a}function Vc1(t,a){return a.indexOf(t)===0&&a[t.length]===Wt}function wc1(t){return t.replace(uc1,Wt).replace(Mc1,pc1)}function Bc1(t){return t.replace(mc1,fc1).replace(sc1,zc1)}var yc1=/^(0|[1-9]\d*)$/;function y_(t){return yc1.test(t)}function sm(t){if(y_(t))return+t;throw new SyntaxError("invalid array index "+t)}function Sc1(t,a,c,r){var e=a;if(e<0)throw new Error("array index out of bounds "+e);if(r!==void 0&&typeof t=="function"&&(e=t(a,c,r),e<0))throw new Error("could not find patch context "+r);return e}});var um=L1((cj1,S_)=>{S_.exports=zm;function zm(t){return t==null||typeof t!="object"?t:Array.isArray(t)?kc1(t):Ac1(t)}function kc1(t){for(var a=t.length,c=new Array(a),r=0;r{k_.exports=pm;function pm(t,a){return t===a?!0:Array.isArray(t)&&Array.isArray(a)?Rc1(t,a):typeof t=="object"&&typeof a=="object"?bc1(t,a):!1}function Rc1(t,a){if(t.length!==a.length)return!1;for(var c=0;c{var u0=Ph();F_.exports=function(a,c){var r=u0.parse(a.path),e=u0.parse(c.path),l=Tc1(r,e),i=Pc1(r,e,l.length),o=b_(a),n=b_(c);return l.length===0&&!i?[n,o]:i?Ic1(o,r,n,e):Fc1(o,r,n,e)};function Fc1(t,a,c,r){if(t.path===c.path)throw new TypeError("cannot commute "+t.op+","+c.op+" with identical object paths");return[c,t]}function Ic1(t,a,c,r){return a.length===r.length?Gc1(t,a,c,r):(a.length>r.length?(a=R_(c,r,t,a,-1),t.path=u0.absolute(u0.join(a))):(r=R_(t,a,c,r,1),c.path=u0.absolute(u0.join(r))),[c,t])}function Pc1(t,a,c){return u0.isValidArrayIndex(t[c])&&u0.isValidArrayIndex(a[c])}function Gc1(t,a,c,r){var e=a.length-1,l=+a[e],i=+r[e],o;return li&&c.op==="remove"&&(o=a.slice(),o[e]=Math.max(0,l-1),t.path=u0.absolute(u0.join(o))),[c,t]}function R_(t,a,c,r,e){var l=a.length-1,i=+a[l],o=+r[l],n=r.slice();return i>o||(t.op==="add"||t.op==="copy"?n[l]=Math.max(0,o-e):t.op==="remove"&&(n[l]=Math.max(0,o+e))),n}function Tc1(t,a){var c=t.length,r=a.length;if(c===0||r===0||c<2&&r<2)return[];for(var e=c===r?c-1:Math.min(c,r),l=0;l{P_.exports=Gh;function Gh(t){Error.call(this),this.name=this.constructor.name,this.message=t,typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,this.constructor)}Gh.prototype=Object.create(Error.prototype);Gh.prototype.constructor=Gh});var Zh=L1((ij1,G_)=>{G_.exports=Th;function Th(t){Error.call(this),this.name=this.constructor.name,this.message=t,typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,this.constructor)}Th.prototype=Object.create(Error.prototype);Th.prototype.constructor=Th});var fm=L1((oj1,T_)=>{T_.exports=Oh;function Oh(t){Error.call(this),this.name=this.constructor.name,this.message=t,typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,this.constructor)}Oh.prototype=Object.create(Error.prototype);Oh.prototype.constructor=Oh});var Hm=L1(f7=>{var Mm=Ph(),xm=um(),Zc1=A_(),Kr=I_(),Eh=gm(),Oc1=mm(),t5=Zh(),Cm=fm(),d8=Mm.find,Dh=Mm.parseArrayIndex;f7.test={apply:Ec1,inverse:Dc1,commute:Wc1};f7.add={apply:_c1,inverse:jc1,commute:Z_};f7.remove={apply:Kc1,inverse:$c1,commute:Qc1};f7.replace={apply:qc1,inverse:Nc1,commute:Uc1};f7.move={apply:Xc1,inverse:Yc1,commute:Jc1};f7.copy={apply:tr1,inverse:ar1,commute:Z_};function Ec1(t,a,c){var r=d8(t,a.path,c.findContext,a.context),e=r.target,l,i;if(Array.isArray(e)?(l=Dh(r.key),i=e[l]):i=r.key===void 0?r.target:r.target[r.key],!Zc1(i,a.value))throw new Oc1("test failed "+JSON.stringify(a));return t}function Dc1(t,a){return t.push(a),1}function Wc1(t,a){if(t.path===a.path&&a.op==="remove")throw new TypeError("Can't commute test,remove -> remove,test for same path");return a.op==="test"||a.op==="replace"?[a,t]:Kr(t,a)}function _c1(t,a,c){var r=d8(t,a.path,c.findContext,a.context);if(Wh(r))throw new t5("path does not exist "+a.path);if(a.value===void 0)throw new t5("missing value");var e=xm(a.value);return r.key===void 0?e:(Lm(r,e),t)}function Lm(t,a){var c=t.target;if(Array.isArray(c))if(t.key==="-")c.push(a);else{if(t.key>c.length)throw new t5("target of add outside of array bounds");c.splice(t.key,0,a)}else if(D_(c))c[t.key]=a;else throw new t5("target of add must be an object or array "+t.key)}function jc1(t,a){var c=a.context;return c!==void 0&&(c={before:c.before,after:Eh.cons(a.value,c.after)}),t.push({op:"test",path:a.path,value:a.value,context:c}),t.push({op:"remove",path:a.path,context:c}),1}function Z_(t,a){if(t.path===a.path&&a.op==="remove")throw new TypeError("Can't commute add,remove -> remove,add for same path");return Kr(t,a)}function qc1(t,a,c){var r=d8(t,a.path,c.findContext,a.context);if(Wh(r)||E_(r))throw new t5("path does not exist "+a.path);if(a.value===void 0)throw new t5("missing value");var e=xm(a.value);if(r.key===void 0)return e;var l=r.target;return Array.isArray(l)?l[Dh(r.key)]=e:l[r.key]=e,t}function Nc1(t,a,c,r){var e=r[c-1];if(e===void 0||e.op!=="test"||e.path!==a.path)throw new Cm("cannot invert replace w/o test");var l=e.context;return l!==void 0&&(l={before:l.before,after:Eh.cons(e.value,Eh.tail(l.after))}),t.push({op:"test",path:e.path,value:a.value}),t.push({op:"replace",path:e.path,value:e.value}),2}function Uc1(t,a){if(t.path===a.path&&a.op==="remove")throw new TypeError("Can't commute replace,remove -> remove,replace for same path");return a.op==="test"||a.op==="replace"?[a,t]:Kr(t,a)}function Kc1(t,a,c){var r=d8(t,a.path,c.findContext,a.context);if(Wh(r)||r.target[r.key]===void 0)throw new t5("path does not exist "+a.path);return O_(r),t}function O_(t){var a=t.target,c;if(Array.isArray(a))return c=a.splice(Dh(t.key),1),c[0];if(D_(a))return c=a[t.key],delete a[t.key],c;throw new t5("target of remove must be an object or array")}function $c1(t,a,c,r){var e=r[c-1];if(e===void 0||e.op!=="test"||e.path!==a.path)throw new Cm("cannot invert remove w/o test");var l=e.context;return l!==void 0&&(l={before:l.before,after:Eh.tail(l.after)}),t.push({op:"add",path:e.path,value:e.value,context:l}),2}function Qc1(t,a){return t.path===a.path&&a.op==="remove"?[a,t]:Kr(t,a)}function Xc1(t,a,c){if(Mm.contains(a.path,a.from))throw new t5("move.from cannot be ancestor of move.path");var r=d8(t,a.path,c.findContext,a.context),e=d8(t,a.from,c.findContext,a.fromContext);return Lm(r,O_(e)),t}function Yc1(t,a){return t.push({op:"move",path:a.from,context:a.fromContext,from:a.path,fromContext:a.context}),1}function Jc1(t,a){if(t.path===a.path&&a.op==="remove")throw new TypeError("Can't commute move,remove -> move,replace for same path");return Kr(t,a)}function tr1(t,a,c){var r=d8(t,a.path,c.findContext,a.context),e=d8(t,a.from,c.findContext,a.fromContext);if(Wh(e)||E_(e))throw new t5("copy.from must exist");var l=e.target,i;return Array.isArray(l)?i=l[Dh(e.key)]:i=l[e.key],Lm(r,xm(i)),t}function ar1(t,a){throw new Cm("cannot invert "+a.op)}function Wh(t){return t===void 0||t.target==null&&t.key!==void 0}function E_(t){return t.key!==void 0&&t.target[t.key]===void 0}function D_(t){return t!==null&&typeof t=="object"}});var q_=L1(_t=>{var cr1=Hm(),W_=um(),rr1=Zh();_t.apply=lr1;_t.applyInPlace=__;_t.clone=W_;_t.isValidObject=j_;_t.defaultHash=ir1;var er1={};function lr1(t,a,c){return __(t,W_(a),c)}function __(t,a,c){if(c||(c=er1),!Array.isArray(t))return a;for(var r,e,l=0;l{var nr1=Hm();N_.exports=function(a){var c=[],r,e;for(r=a.length-1;r>=0;r-=e)e=hr1(c,a[r],r,a);return c};function hr1(t,a,c,r){var e=nr1[a.op];return e!==void 0&&typeof e.inverse=="function"?e.inverse(t,a,c,r):1}});var J_=L1(O5=>{var _h=H_(),K_=gm(),$r=q_(),vr1=U_(),gr1=Ph(),$_=gr1.encodeSegment;O5.diff=dr1;O5.patch=$r.apply;O5.patchInPlace=$r.applyInPlace;O5.inverse=vr1;O5.clone=$r.clone;O5.InvalidPatchOperationError=Zh();O5.TestFailedError=mm();O5.PatchNotInvertibleError=fm();var Q_=$r.isValidObject,X_=$r.defaultHash;function dr1(t,a,c){return Bm(t,a,"",sr1(c,[])).patch}function sr1(t,a){return typeof t=="object"?{patch:a,hash:Vm(wm,t.hash,X_),makeContext:Vm(wm,t.makeContext,Y_),invertible:t.invertible!==!1}:{patch:a,hash:Vm(wm,t,X_),makeContext:Y_,invertible:!0}}function Bm(t,a,c,r){return Array.isArray(t)&&Array.isArray(a)?ur1(t,a,c,r):Q_(t)&&Q_(a)?zr1(t,a,c,r):mr1(t,a,c,r)}function zr1(t,a,c,r){var e=Object.keys(a),l=r.patch,i,o;for(i=e.length-1;i>=0;--i){o=e[i];var n=c+"/"+$_(o);t[o]!==void 0?Bm(t[o],a[o],n,r):l.push({op:"add",path:n,value:a[o]})}for(e=Object.keys(t),i=e.length-1;i>=0;--i)if(o=e[i],a[o]===void 0){var h=c+"/"+$_(o);r.invertible&&l.push({op:"test",path:h,value:t[o]}),l.push({op:"remove",path:h})}return r}function ur1(t,a,c,r){var e=K_.map(r.hash,t),l=K_.map(r.hash,a),i=_h.compare(e,l);return pr1(t,a,c,r,i)}function pr1(t,a,c,r,e){var l=0;return _h.reduce(function(i,o,n,h){var v,g,s=i.patch,d=c+"/"+(h+l);return o===_h.REMOVE?(v=s[s.length-1],g=i.makeContext(h,t),i.invertible&&s.push({op:"test",path:d,value:t[h],context:g}),v!==void 0&&v.op==="add"&&v.path===d?(v.op="replace",v.context=g):s.push({op:"remove",path:d,context:g}),l-=1):o===_h.ADD?(s.push({op:"add",path:d,value:a[n],context:i.makeContext(h,t)}),l+=1):Bm(t[h],a[n],d,i),i},r,e)}function mr1(t,a,c,r){return t!==a&&(r.invertible&&r.patch.push({op:"test",path:c,value:t}),r.patch.push({op:"replace",path:c,value:a})),r}function Vm(t,a,c){return t(a)?a:c}function Y_(){}function wm(t){return typeof t=="function"}});var s8=L1((dj1,tj)=>{"use strict";function fr1(t,a){for(var c=0,r=a.length-1;c{"use strict";function Mr1(t){return t==="~0"?"~":"/"}function xr1(t){var a=t.split("/");if(t.indexOf("~")===-1)return a;for(var c=0,r=a.length;c{"use strict";var Cr1=s8(),Lr1=E5();function Hr1(t,a){var c=Lr1(a),r=c[c.length-1],e=Cr1(t,c);return e?e[r]:void 0}cj.exports=Hr1});var Qr=L1((uj1,ej)=>{"use strict";function ym(t,a){if(t===a)return!0;if(!(t&&a)||typeof t!="object"||typeof a!="object"||t.length!==a.length)return!1;if(Array.isArray(t)){if(!Array.isArray(a))return!1;for(var c=0,r=t.length;c{"use strict";function Vr1(t,a){if(a==="-")return t.length;for(var c=0,r=a.length;c{"use strict";var wr1=Qr(),Br1=s8(),yr1=Xr(),Sr1=E5();function kr1(t,a,c,r){if(typeof c=="undefined")return"[op:add] require value, but got undefined";var e=Sr1(a),l=e[e.length-1],i=Br1(t,e);if(i===null)return"[op:add] path not found: "+a;if(Array.isArray(i)){var o=yr1(i,l);if(i.length{"use strict";var Ar1=s8(),Rr1=Xr(),br1=E5();function Fr1(t,a,c){var r=br1(a),e=r[r.length-1],l=Ar1(t,r);if(l===null)return"[op:remove] path not found: "+a;if(Array.isArray(l)){var i=Rr1(l,e);if(l.length<=i)return"[op:remove] invalid array index: "+a;c(t,r).splice(i,1)}else delete c(t,r)[e]}oj.exports=Fr1});var km=L1((Mj1,hj)=>{"use strict";var nj=Qr(),Ir1=s8(),Pr1=Xr(),Gr1=E5();function Tr1(t,a,c,r){if(typeof c=="undefined")return"[op:replace] require value, but got undefined";var e=Gr1(a),l=e[e.length-1],i=Ir1(t,e);if(i===null)return"[op:replace] path not found: "+a;if(Array.isArray(i)){var o=Pr1(i,l);if(i.length<=o)return"[op:replace] invalid array index: "+a;nj(i[o],c)||r(t,e).splice(o,1,c)}else nj(i[l],c)||(r(t,e)[l]=c)}hj.exports=Tr1});var Am=L1((xj1,vj)=>{"use strict";var Zr1=Yr(),Or1=s8(),Er1=Xr(),Dr1=E5();function Wr1(t,a,c,r){if(c!==a){var e=Dr1(a),l=e[e.length-1],i=Or1(t,e);if(i===null)return"[op:move] path not found: "+a;var o=void 0;if(Array.isArray(i)){var n=Er1(i,l);if(i.length<=n)return"[op:move] invalid array index: "+c;o=i[n],r(t,e).splice(n,1)}else o=i[l],delete r(t,e)[l];return Zr1(t,c,o,r)}}vj.exports=Wr1});var Rm=L1((Cj1,gj)=>{"use strict";var _r1=s8(),jr1=E5(),qr1=Yr();function Nr1(t,a,c,r){var e=jr1(a),l=e[e.length-1],i=_r1(t,e);return i===null?"[op:copy] path not found: "+a:qr1(t,c,i[l],r)}gj.exports=Nr1});var bm=L1((Lj1,dj)=>{"use strict";var Ur1=Qr(),Kr1=s8(),$r1=E5();function Qr1(t,a,c){var r=$r1(a),e=r[r.length-1],l=Kr1(t,r);if(l===null)return"[op:test] path not found: "+a;if(!Ur1(l[e],c)){var i=JSON.stringify(l[e]),o=JSON.stringify(c);return"[op:test] not matched: "+i+" "+o}}dj.exports=Qr1});var jh=L1((Hj1,sj)=>{"use strict";function Xr1(t){if(!t||typeof t!="object")return t;if(Array.isArray(t)){for(var a=t.length,c=new Array(a),r=0;r{"use strict";var Yr1=rj(),Jr1=Yr(),te1=Sm(),ae1=km(),ce1=Am(),re1=Rm(),ee1=bm(),le1=Qr(),ie1=jh(),oe1=E5();function ne1(t,a){return{get:function(c){return Yr1(t,c)},add:function(c,r){return Jr1(t,c,r,a)},remove:function(c){return te1(t,c,a)},replace:function(c,r){return ae1(t,c,r,a)},move:function(c,r){return ce1(t,c,r,a)},copy:function(c,r){return re1(t,c,r,a)},test:function(c,r){return ee1(t,c,r)},deepEqual:le1,shallowCopy:ie1,toKeys:oe1}}zj.exports=ne1});var mj=L1((wj1,pj)=>{"use strict";function he1(t,a,c,r){return r.error=c,r.partial?a[""]:t}pj.exports=he1});var Mj=L1((Bj1,fj)=>{"use strict";function ve1(t){return!!t}fj.exports=ve1});var Cj=L1((yj1,xj)=>{"use strict";function ge1(t){if(t)throw new TypeError(t)}xj.exports=ge1});var Hj=L1((Sj1,Lj)=>{"use strict";var de1=jh();function se1(t,a){for(var c=0,r=a.length-1;c{"use strict";var ze1=jh();function ue1(t,a,c){var r=t[a];return c.has(r)||(r=ze1(r),c.add(r)),r}function pe1(t,a,c){for(var r=0,e=a.length-1;r{"use strict";var me1=uj(),z8=mj(),fe1=Mj(),Me1=Cj(),xe1=Hj(),Ce1=wj(),Le1=Yr(),He1=Sm(),Ve1=km(),we1=Am(),Be1=Rm(),ye1=bm(),Se1=Set||function(){var t=[];return t.has=function(a){return this.indexOf(a)!==-1},t.add=function(a){this.push(a)},t};function ke1(t,a,c){if(a.length===0)return t;c=c||{};for(var r=c.strict?Me1:fe1,e=a.length===1?xe1:function(v){return function(g,s){return Ce1(g,s,v)}}(new Se1),l={"":t},i,o=0,n=a.length;o{Sj.exports=yj()});var zq=L1((rv,pf)=>{(function(t,a){typeof rv=="object"&&typeof pf=="object"?pf.exports=a():typeof define=="function"&&define.amd?define([],a):typeof rv=="object"?rv.blobCompare=a():t.blobCompare=a()})(window,function(){return function(t){var a={};function c(r){if(a[r])return a[r].exports;var e=a[r]={i:r,l:!1,exports:{}};return t[r].call(e.exports,e,e.exports,c),e.l=!0,e.exports}return c.m=t,c.c=a,c.d=function(r,e,l){c.o(r,e)||Object.defineProperty(r,e,{enumerable:!0,get:l})},c.r=function(r){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},c.t=function(r,e){if(1&e&&(r=c(r)),8&e||4&e&&typeof r=="object"&&r&&r.__esModule)return r;var l=Object.create(null);if(c.r(l),Object.defineProperty(l,"default",{enumerable:!0,value:r}),2&e&&typeof r!="string")for(var i in r)c.d(l,i,function(o){return r[o]}.bind(null,i));return l},c.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return c.d(e,"a",e),e},c.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},c.p="",c(c.s=4)}([function(t,a,c){"use strict";var r=function(n,h){if(Array.isArray(n))return n;if(Symbol.iterator in Object(n))return function(v,g){var s=[],d=!0,z=!1,u=void 0;try{for(var f,p=v[Symbol.iterator]();!(d=(f=p.next()).done)&&(s.push(f.value),!g||s.length!==g);d=!0);}catch(m){z=!0,u=m}finally{try{!d&&p.return&&p.return()}finally{if(z)throw u}}return s}(n,h);throw new TypeError("Invalid attempt to destructure non-iterable instance")},e=function(){function n(h,v){for(var g=0;g1&&arguments[1]!==void 0?arguments[1]:null,s=this,d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],z=arguments[3];return new Promise(function(u,f){var p=s._messageId++;s._messages.set(p,[u,f,z]),s._worker.postMessage([p,g,v],d||[])})}},{key:"postMessage",value:function(){var v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,g=this,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],d=arguments[2];return new Promise(function(z,u){var f=g._messageId++;g._messages.set(f,[z,u,d]),g._worker.postMessage([f,v],s||[])})}},{key:"emit",value:function(v){for(var g=arguments.length,s=Array(g>1?g-1:0),d=1;d1?t-1:0),n=1;n1?n-1:0),a=1;a3&&void 0!==arguments[3]?arguments[3]:[];d([c,e,t,r],n)},O=function(e,t,r){if(!t)throw new Error("eventName is required");if("string"!=typeof t)throw new Error("eventName should be string");d([l,e,t,r])};return self.addEventListener("message",(function(e){var t=e.data;Array.isArray(t)?g.apply(void 0,a(t)):t&&t.eventName&&m.emitLocally.apply(m,[t.eventName].concat(a(t.args)))})),m},e.exports.TransferableResponse=v},function(e,t,r){"use strict";var n=function(){function e(e,t){for(var r=0;r1?t-1:0),n=1;nawait function(e,t){return new Promise((r,n)=>{const o=new FileReader,i=t?Math.min(t,e.size):e.size,a=e.slice(0,i);o.onload=()=>r(o.result),o.onerror=n,o.readAsBinaryString(a)})}(e,t)).operation("buffer",async({blob:e,chunk:t})=>await function(e,t){return new Promise((r,n)=>{const o=new FileReader,i=t?Math.min(t,e.size):e.size,a=e.slice(0,i);o.onload=()=>r(o.result),o.onerror=n,o.readAsArrayBuffer(a)})}(e,t)).operation("compare",({buf1:e,buf2:t})=>(function(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;const r=new DataView(e),n=new DataView(t);for(var o=e.byteLength;o--;)if(r.getUint8(o)!==n.getUint8(o))return!1;return!0})(e,t))}]);',null)}},function(t,a,c){"use strict";var r=function(){function l(i,o){for(var n=0;n1?o-1:0),h=1;h{let f=new FileReader,p=d?Math.min(d,s.size):s.size,m=s.slice(0,p);f.onload=()=>z(f.result),f.onerror=u,f.readAsBinaryString(m)})}(v,g)}static toBinaryString(v,g,s=!0){return s&&o?this.toBinaryStringWithWorker(v,g):this.toBinaryStringWithoutWorker(v,g)}static toArrayBufferWithWorker(v,g){return e2(this,null,function*(){let s=new e.a(new i.a),d=yield s.exec("buffer",{blob:v,chunk:g});return s.terminate(),d})}static toArrayBufferWithoutWorker(v,g){return function(s,d){return new Promise((z,u)=>{let f=new FileReader,p=d?Math.min(d,s.size):s.size,m=s.slice(0,p);f.onload=()=>z(f.result),f.onerror=u,f.readAsArrayBuffer(m)})}(v,g)}static toArrayBuffer(v,g,s=!0){return s&&o?this.toArrayBufferWithWorker(v,g):this.toArrayBufferWithoutWorker(v,g)}static compareBuffersWithWorker(v,g){return e2(this,null,function*(){if(v===g)return!0;let s=new e.a(new i.a),d=yield s.exec("compare",{buf1:v,buf2:g},[v,g]);return s.terminate(),d})}static compareBuffersWithoutWorker(v,g){return function(s,d){if(s===d)return!0;if(s.byteLength!==d.byteLength)return!1;let z=new DataView(s),u=new DataView(d);for(var f=s.byteLength;f--;)if(z.getUint8(f)!==u.getUint8(f))return!1;return!0}(v,g)}static compareBuffers(v,g,s=!0){return s&&o?this.compareBuffersWithWorker(v,g):this.compareBuffersWithoutWorker(v,g)}static sizeEqual(v,g){return v.size===g.size}static typeEqual(v,g){return v.type===g.type}static magicNumbersEqual(v,g,s=!0){return e2(this,null,function*(){if(v===g)return!0;let d=[24,16,14,12,8,6,4],[z,u]=yield Promise.all([this.toBinaryString(v,24,s),this.toBinaryString(g,24,s)]);for(let f of d)if(z.substring(0,f)===u.substring(0,f))return!0;return!1})}static bytesEqualWithBinaryString(v,g,s,d=!0){return e2(this,null,function*(){if(v===g)return!0;let[z,u]=yield Promise.all([this.toBinaryString(v,s,d),this.toBinaryString(g,s,d)]);return z===u})}static bytesEqualWithArrayBuffer(v,g,s,d=!0){return e2(this,null,function*(){if(v===g)return!0;let[z,u]=yield Promise.all([this.toArrayBuffer(v,s,d),this.toArrayBuffer(g,s,d)]);return this.compareBuffers(z,u,d)})}static isEqual(p,m){return e2(this,arguments,function*(v,g,{methods:s=["size","type","magic","byte"],byte:d="buffer",partial:z=!1,chunks:u=null,worker:f=!0}={}){let M=null;for(let w of s){if(M===!1||z&&M===!0)break;switch(w){case"byte":case"bytes":case"content":u=u instanceof Array?u:[v.size],M=!0;for(let H of u){let y=!1;y=d==="buffer"?yield this.bytesEqualWithArrayBuffer(v,g,H,f):yield this.bytesEqualWithBinaryString(v,g,H,f),y||(M=!1)}break;case"magic":case"headers":case"numbers":case"mime":M=yield this.magicNumbersEqual(v,g,f);break;case"size":case"sizes":M=this.sizeEqual(v,g);break;case"type":case"types":M=this.typeEqual(v,g);break;default:throw new Error("Blob-compare : Unknown comparison method")}}return M})}}}])})});var gl1={};Lf(gl1,{ToolbarDropdownSelect:()=>Cq,default:()=>hl1});module.exports=Rq(gl1);f1();de();var sv=require("@theatre/dataverse");N5();var Pq=0,Jt=class{constructor(a){this._studio=a;y1(this,"_id");y1(this,"_state",{type:"Ready"});this._id=String(Pq++)}get status(){return this._state.type}reset(){let{_state:a}=this;if(a.type!=="Ready")if(a.type==="Captured")this._state={type:"Ready"},a.transaction.discard(),a.flagsTransaction.discard();else throw a.type==="Committed"?new Error("This scrub is already committed and can't be reset."):new Error("This scrub is already discarded and can't be reset.")}commit(){let{_state:a}=this;if(a.type==="Captured")a.transaction.commit(),a.flagsTransaction.discard(),this._state={type:"Committed"};else if(a.type==="Ready"){console.warn("Scrub is empty. Nothing to commit.");return}else throw a.type==="Committed"?new Error("This scrub is already committed."):new Error("This scrub is already discarded and can't be comitted.")}capture(a){if(this._state.type==="Captured"&&this.reset(),this._state.type==="Ready"){let c=!0;try{this._state=S({type:"Captured"},this._capture(a)),c=!1}finally{c&&(console.error("This scrub's callback threw an error. We're undo-ing all of the changes made by this scrub, and marking it as discarded."),this._state={type:"Discarded"})}}else throw this._state.type==="Committed"?new Error("This scrub is already committed and cannot capture again. If you wish to capture more, you can start a new studio.scrub() or do so before scrub.commit()"):new Error("This scrub is already discarded and cannot capture again. If you wish to capture more, you can start a new studio.scrub() or do so before scrub.discard()")}_capture(a){let c=[],r=this._studio.tempTransaction(l=>{let i=!0,o={set:(n,h)=>{if(!i)throw new Error("You seem to have called the scrub api after scrub.capture()");let{root:v,path:g}=(0,sv.getPointerParts)(n);if(!c0(v))throw new Error("We can only scrub props of Sheet Objects for now");l.set(n,h),c.push(n)}};try{a(o)}finally{i=!1}}),e=this._studio.tempTransaction(({stateEditors:l})=>{c.forEach(i=>{let{root:o,path:n}=(0,sv.getPointerParts)(i);if(!c0(o))return;let h=o.template.getDefaultsAtPointer(i);q5(h,(v,g)=>{l.studio.ephemeral.projects.stateByProjectId.stateBySheetId.stateByObjectKey.propsBeingScrubbed.flag(D(S({},o.address),{pathToProp:g}))},n)})});return{transaction:r,flagsTransaction:e}}discard(){let{_state:a}=this;if(a.type==="Captured"||a.type==="Ready")a.type==="Captured"&&(a.transaction.discard(),a.flagsTransaction.discard()),this._state={type:"Discarded"};else throw a.type==="Committed"?new Error("This scrub is already committed and can't be discarded."):new Error("This scrub is already discarded")}};var L_=require("@theatre/dataverse");var C_=typeof window!="undefined"?Promise.resolve().then(()=>(x_(),M_)).then(t=>t.default):null,Ur=class{constructor(a){this.studio=a;y1(this,"_rendered",!1);y1(this,"_nonSSRBits",C_?C_.then(a=>new a):Promise.reject());y1(this,"ready",this._nonSSRBits.then(()=>{},()=>{}))}render(){this._rendered||(this._rendered=!0,this._nonSSRBits.then(a=>{a.render()}).catch(a=>{throw console.error(a),a}))}hide(){this.studio.transaction(({drafts:a})=>{a.ahistoric.visibilityState="everythingIsHidden"})}restore(){this.render(),this.studio.transaction(({drafts:a})=>{a.ahistoric.visibilityState="everythingIsVisible"})}get isHidden(){return(0,L_.val)(this.studio.atomP.ahistoric.visibilityState)==="everythingIsHidden"}renderToolset(a,c){let r=!1,e=null;return this._nonSSRBits.then(l=>{r||(e=l.renderToolset(a,c))}).catch(l=>{console.error(l)}),()=>{if(e){e();return}r||(r=!0)}}};var C7=require("@theatre/dataverse");function Xa1(t){return t}var Ya1=(t,a=Xa1)=>{let c=r=>({type:t,payload:a(r)});return c.type=t,c.is=r=>r&&r.type&&r.type===t,c},Z3=Ya1;var Gm=I(J_()),Tm=I(kj());ma();var qh,Ae1=new Uint8Array(16);function Fm(){if(!qh&&(qh=typeof crypto!="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto!="undefined"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!qh))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return qh(Ae1)}var Aj=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Re1(t){return typeof t=="string"&&Aj.test(t)}var Rj=Re1;var J2=[];for(Nh=0;Nh<256;++Nh)J2.push((Nh+256).toString(16).substr(1));var Nh;function be1(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,c=(J2[t[a+0]]+J2[t[a+1]]+J2[t[a+2]]+J2[t[a+3]]+"-"+J2[t[a+4]]+J2[t[a+5]]+"-"+J2[t[a+6]]+J2[t[a+7]]+"-"+J2[t[a+8]]+J2[t[a+9]]+"-"+J2[t[a+10]]+J2[t[a+11]]+J2[t[a+12]]+J2[t[a+13]]+J2[t[a+14]]+J2[t[a+15]]).toLowerCase();if(!Rj(c))throw TypeError("Stringified UUID is invalid");return c}var bj=be1;function Fe1(t,a,c){t=t||{};var r=t.random||(t.rng||Fm)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,a){c=c||0;for(var e=0;e<16;++e)a[c+e]=r[e];return a}return bj(r)}var Im=Fe1;var jt={replaceHistory:Z3("@history/replaceHistory"),startHistoryFromScratch:Z3("@history/startHistoryFromScratch"),undo:Z3("@history/undo"),redo:Z3("@history/redo")};var Ie1={type:"@history/unknownAction",payload:""},Pe1={maxNumberOfCommits:100},Fj=(t,a=Pe1)=>{let c=Pm(t(void 0,Ie1));return function(e,l){return jt.startHistoryFromScratch.is(l)?Pm(t(void 0,l.payload)):jt.replaceHistory.is(l)?l.payload:jt.undo.is(l)?e?Ze1(e):c:jt.redo.is(l)?e?Oe1(e):c:e?Ge1(e,t(e.innerState,l),a):Pm(t(void 0,l))}};function Pm(t){return{currentCommitHash:void 0,commitsByHash:{},listOfCommitHashes:[],innerState:t}}function Ge1(t,a,c){if(a===t.innerState)return t;let r=Te1(t.innerState,a);if(r.forwardDiff.length===0)return t;let e=M3(t.listOfCommitHashes),l={currentCommitHash:r.hash,commitsByHash:S({},t.commitsByHash),listOfCommitHashes:[...t.listOfCommitHashes],innerState:a};if(t.currentCommitHash!==e){let i=t.listOfCommitHashes.findIndex(n=>n===t.currentCommitHash);t.listOfCommitHashes.slice(i+1).forEach(n=>{delete l.commitsByHash[n]}),l.listOfCommitHashes.splice(i+1,l.listOfCommitHashes.length)}if(l.listOfCommitHashes.push(r.hash),l.commitsByHash[r.hash]=r,l.listOfCommitHashes.length>c.maxNumberOfCommits){let i=l.listOfCommitHashes.length-c.maxNumberOfCommits;l.listOfCommitHashes.slice(0,i).forEach(n=>{delete l.commitsByHash[n]}),l.listOfCommitHashes.splice(0,i)}return l}function Te1(t,a){let c=Gm.default.diff(t,a,{invertible:!1}),r=Gm.default.diff(a,t,{invertible:!1}),e=Date.now(),l=Im();return{forwardDiff:c,backwardDiff:r,timestamp:e,hash:l}}function Ze1(t){if(t.currentCommitHash===void 0)return t;let a=t.listOfCommitHashes.findIndex(o=>o===t.currentCommitHash);if(a===-1)throw new Error("This should never happen");let c=t.commitsByHash[t.currentCommitHash],r=(0,Tm.default)(t.innerState,c.backwardDiff),e=a-1,l=e===-1?void 0:t.listOfCommitHashes[e];return D(S({},t),{currentCommitHash:l,innerState:r})}function Oe1(t){if(t.listOfCommitHashes.length===0)return t;let a=t.listOfCommitHashes.findIndex(o=>o===t.currentCommitHash);if(a===t.listOfCommitHashes.length-1)return t;let c=a+1,r=t.listOfCommitHashes[c],e=t.commitsByHash[r],l=(0,Tm.default)(t.innerState,e.forwardDiff);return D(S({},t),{currentCommitHash:r,innerState:l})}_r();var Uh={ahistoric:{visibilityState:"everythingIsVisible",theTrigger:{position:{closestCorner:"bottomLeft",distanceFromHorizontalEdge:.02,distanceFromVerticalEdge:.02}},coreByProject:{},projects:{stateByProjectId:{}}},historic:{projects:{stateByProjectId:{}},autoKey:!0,coreByProject:{},panelInstanceDesceriptors:{}},ephemeral:{initialised:!1,coreByProject:{},projects:{stateByProjectId:{}},extensions:{byId:{},paneClasses:{}},showOutline:!1}},Pj=Z3("@storeBundle/replacePersistentState",t=>t),Gj=Z3("@storeBundle/reduceParts",t=>t),u8={historic:jt,replacePersistentState:Pj,reduceParts:Gj},Tj=Z3("@storeBundle/setInnerHistoricState",t=>t),Ee1=(t=Uh.historic,a)=>Tj.is(a)?a.payload:t,Zm=Fj(Ee1),Ij=(t,a)=>{if(Pj.is(a)){let{historic:c,ahistoric:r}=a.payload,e=(t==null?void 0:t.ephemeral)||Uh.ephemeral;return{$persistent:{historic:c,ahistoric:r},ephemeral:e}}else if(t){let{historic:c,ahistoric:r}=t.$persistent,{ephemeral:e}=t;if(Gj.is(a)){let i={historic:t.$persistent.historic.innerState,ahistoric:t.$persistent.ahistoric,ephemeral:t.ephemeral},o=a.payload(i);if(o===i)return t;c.innerState!==o.historic&&(c=Zm(c,Tj(o.historic))),r=o.ahistoric,e=o.ephemeral}else{let i=Zm(c,a);if(i===c)return t;c=i}return{$persistent:c===t.$persistent.historic&&r===t.$persistent.ahistoric?t.$persistent:{historic:c,ahistoric:r},ephemeral:e}}else{let c=Zm(void 0,{}),r=Uh.ahistoric,e=Uh.ephemeral;return{$persistent:{historic:c,ahistoric:r},ephemeral:e}}},Zj=Z3("@history/pushTempAction",t=>t),Oj=Z3("@history/discardTempAction",t=>t),Ej=Z3("@history/commitTempAction",t=>t),De1=0,Dj=()=>{let t=De1++;return{push:e=>Zj({id:t,originalAction:e}),discard:()=>Oj(t),commit:()=>Ej(t)}},Wj=(t,a)=>{if(t){let{tempActions:c,permanent:r}=t.$temps,e;if(Zj.is(a))c=[...c,a];else if(Ej.is(a)){let i=c.find(o=>o.payload.id===a.payload);i?(e=i.payload.originalAction,c=c.filter(o=>o.payload.id!==a.payload)):kt.error("Comitting temp action group ".concat(a.payload," isn't possible as this group doesn't exist"))}else Oj.is(a)?c=c.filter(i=>i.payload.id!==a.payload):e=a;e&&(r=Ij(t.$temps.permanent,e));let l={historic:r.$persistent.historic.innerState,ahistoric:r.$persistent.ahistoric,ephemeral:r.ephemeral};for(let i of c)l=i.payload.originalAction.payload(l);return S({$temps:{tempActions:c,permanent:r},$persistent:r.$persistent},l)}else{let c=Ij(void 0,a);return{$temps:{permanent:c,tempActions:[]},$persistent:c.$persistent,historic:c.$persistent.historic.innerState,ahistoric:c.$persistent.ahistoric,ephemeral:c.ephemeral}}};o4();o4();O4();function Kh(t,a){if(typeof t!="object"||t===null)return;if(a.length===0){for(let i of Object.keys(t))delete t[i];return}let c=a.slice(0,a.length-1),r=t,e=new WeakMap;for(let i of c){let o=r,n=o[i];if(typeof n!="object"||n===null)return;e.set(n,o),r=n}let l=a.slice().reverse();for(let i of l){if(delete r[i],Object.keys(r).length>0)return;r=e.get(r)}}function _j(t,{scale:a,origin:c,translate:r}){let e=c+(t-c)*a;return r+e}function u4(t){for(var a=arguments.length,c=Array(a>1?a-1:0),r=1;r3?a.i-4:a.i:Array.isArray(t)?1:Um(t)?2:Km(t)?3:0}function _m(t,a){return Nt(t)===2?t.has(a):Object.prototype.hasOwnProperty.call(t,a)}function We1(t,a){return Nt(t)===2?t.get(a):t[a]}function Yj(t,a,c){var r=Nt(t);r===2?t.set(a,c):r===3?(t.delete(a),t.add(c)):t[a]=c}function _e1(t,a){return t===a?t!==0||1/t==1/a:t!=t&&a!=a}function Um(t){return Ne1&&t instanceof Map}function Km(t){return Ue1&&t instanceof Set}function M7(t){return t.o||t.t}function $m(t){if(Array.isArray(t))return Array.prototype.slice.call(t);var a=$e1(t);delete a[u3];for(var c=Jm(a),r=0;r1&&(t.set=t.add=t.clear=t.delete=je1),Object.freeze(t),a&&Jr(t,function(c,r){return Qm(r,!0)},!0)),t}function je1(){u4(2)}function Xm(t){return t==null||typeof t!="object"||Object.isFrozen(t)}function D5(t){var a=Qe1[t];return a||u4(18,t),a}function jj(){return te}function Om(t,a){a&&(D5("Patches"),t.u=[],t.s=[],t.v=a)}function Xh(t){jm(t),t.p.forEach(qe1),t.p=null}function jm(t){t===te&&(te=t.l)}function qj(t){return te={p:[],l:te,h:t,m:!0,_:0}}function qe1(t){var a=t[u3];a.i===0||a.i===1?a.j():a.O=!0}function Em(t,a){a._=a.p.length;var c=a.p[0],r=t!==void 0&&t!==c;return a.h.g||D5("ES5").S(a,t,r),r?(c[u3].P&&(Xh(a),u4(4)),x7(t)&&(t=Yh(a,t),a.l||Jh(a,t)),a.u&&D5("Patches").M(c[u3],t,a.u,a.s)):t=Yh(a,c,[]),Xh(a),a.u&&a.v(a.u,a.s),t!==Jj?t:void 0}function Yh(t,a,c){if(Xm(a))return a;var r=a[u3];if(!r)return Jr(a,function(l,i){return Nj(t,r,a,l,i,c)},!0),a;if(r.A!==t)return a;if(!r.P)return Jh(t,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var e=r.i===4||r.i===5?r.o=$m(r.k):r.o;Jr(r.i===3?new Set(e):e,function(l,i){return Nj(t,r,e,l,i,c)}),Jh(t,e,!1),c&&t.u&&D5("Patches").R(r,c,t.u,t.s)}return r.o}function Nj(t,a,c,r,e,l){if(qt(e)){var i=Yh(t,e,l&&a&&a.i!==3&&!_m(a.D,r)?l.concat(r):void 0);if(Yj(c,r,i),!qt(i))return;t.m=!1}if(x7(e)&&!Xm(e)){if(!t.h.F&&t._<1)return;Yh(t,e),a&&a.A.l||Jh(t,e)}}function Jh(t,a,c){c===void 0&&(c=!1),t.h.F&&t.m&&Qm(a,c)}function Dm(t,a){var c=t[u3];return(c?M7(c):t)[a]}function Uj(t,a){if(a in t)for(var c=Object.getPrototypeOf(t);c;){var r=Object.getOwnPropertyDescriptor(c,a);if(r)return r;c=Object.getPrototypeOf(c)}}function qm(t){t.P||(t.P=!0,t.l&&qm(t.l))}function Wm(t){t.o||(t.o=$m(t.t))}function Nm(t,a,c){var r=Um(a)?D5("MapSet").N(a,c):Km(a)?D5("MapSet").T(a,c):t.g?function(e,l){var i=Array.isArray(e),o={i:i?1:0,A:l?l.A:jj(),P:!1,I:!1,D:{},l,t:e,k:null,o:null,j:null,C:!1},n=o,h=$h;i&&(n=[o],h=Qh);var v=Proxy.revocable(n,h),g=v.revoke,s=v.proxy;return o.k=s,o.j=g,s}(a,c):D5("ES5").J(a,c);return(c?c.A:jj()).p.push(r),r}function ae(t){return qt(t)||u4(22,t),function a(c){if(!x7(c))return c;var r,e=c[u3],l=Nt(c);if(e){if(!e.P&&(e.i<4||!D5("ES5").K(e)))return e.t;e.I=!0,r=Kj(c,l),e.I=!1}else r=Kj(c,l);return Jr(r,function(i,o){e&&We1(e.t,i)===o||Yj(r,i,a(o))}),l===3?new Set(r):r}(t)}function Kj(t,a){switch(a){case 2:return new Map(t);case 3:return Array.from(t)}return $m(t)}var $j,te,Ym=typeof Symbol!="undefined"&&typeof Symbol("x")=="symbol",Ne1=typeof Map!="undefined",Ue1=typeof Set!="undefined",Qj=typeof Proxy!="undefined"&&Proxy.revocable!==void 0&&typeof Reflect!="undefined",Jj=Ym?Symbol.for("immer-nothing"):(($j={})["immer-nothing"]=!0,$j),Xj=Ym?Symbol.for("immer-draftable"):"__$immer_draftable",u3=Ym?Symbol.for("immer-state"):"__$immer_state";var Ke1=""+Object.prototype.constructor,Jm=typeof Reflect!="undefined"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,$e1=Object.getOwnPropertyDescriptors||function(t){var a={};return Jm(t).forEach(function(c){a[c]=Object.getOwnPropertyDescriptor(t,c)}),a},Qe1={},$h={get:function(t,a){if(a===u3)return t;var c=M7(t);if(!_m(c,a))return function(e,l,i){var o,n=Uj(l,i);return n?"value"in n?n.value:(o=n.get)===null||o===void 0?void 0:o.call(e.k):void 0}(t,c,a);var r=c[a];return t.I||!x7(r)?r:r===Dm(t.t,a)?(Wm(t),t.o[a]=Nm(t.A.h,r,t)):r},has:function(t,a){return a in M7(t)},ownKeys:function(t){return Reflect.ownKeys(M7(t))},set:function(t,a,c){var r=Uj(M7(t),a);if(r!=null&&r.set)return r.set.call(t.k,c),!0;if(!t.P){var e=Dm(M7(t),a),l=e==null?void 0:e[u3];if(l&&l.t===c)return t.o[a]=c,t.D[a]=!1,!0;if(_e1(c,e)&&(c!==void 0||_m(t.t,a)))return!0;Wm(t),qm(t)}return t.o[a]===c&&typeof c!="number"&&(c!==void 0||a in t.o)||(t.o[a]=c,t.D[a]=!0,!0)},deleteProperty:function(t,a){return Dm(t.t,a)!==void 0||a in t.t?(t.D[a]=!1,Wm(t),qm(t)):delete t.D[a],t.o&&delete t.o[a],!0},getOwnPropertyDescriptor:function(t,a){var c=M7(t),r=Reflect.getOwnPropertyDescriptor(c,a);return r&&{writable:!0,configurable:t.i!==1||a!=="length",enumerable:r.enumerable,value:c[a]}},defineProperty:function(){u4(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){u4(12)}},Qh={};Jr($h,function(t,a){Qh[t]=function(){return arguments[0]=arguments[0][0],a.apply(this,arguments)}}),Qh.deleteProperty=function(t,a){return $h.deleteProperty.call(this,t[0],a)},Qh.set=function(t,a,c){return $h.set.call(this,t[0],a,c,t[0])};var Xe1=function(){function t(c){var r=this;this.g=Qj,this.F=!0,this.produce=function(e,l,i){if(typeof e=="function"&&typeof l!="function"){var o=l;l=e;var n=r;return function(d){var z=this;d===void 0&&(d=o);for(var u=arguments.length,f=Array(u>1?u-1:0),p=1;p1?h-1:0),g=1;g=0;e--){var l=r[e];if(l.path.length===0&&l.op==="replace"){c=l.value;break}}var i=D5("Patches").$;return qt(c)?i(c,r):this.produce(c,function(o){return i(o,r.slice(e+1))})},t}(),p3=new Xe1,aq1=p3.produce,cq1=p3.produceWithPatches.bind(p3),rq1=p3.setAutoFreeze.bind(p3),eq1=p3.setUseProxies.bind(p3),lq1=p3.applyPatches.bind(p3),tv=p3.createDraft.bind(p3),av=p3.finishDraft.bind(p3);HL();kL();KL();Xe();XL();Er();H2();N5();var O3={create(t){let a={byId:{},allIds:{}};if(t)for(let[c,r]of t)a.byId[c]=r,a.allIds[c]=!0;return a},shallowCopy(t){return{byId:S({},t==null?void 0:t.byId),allIds:S({},t==null?void 0:t.allIds)}},add(t,a,c){return{byId:D(S({},t==null?void 0:t.byId),{[a]:c}),allIds:D(S({},t==null?void 0:t.allIds),{[a]:!0})}},merge(t){let a=O3.create();for(let c=0;c(tf=t,af),tf,t0=()=>{if(tf===void 0)throw new Error("Calling stateEditors outside of a transaction is not allowed.");return tf},af;(c=>{let t;(i=>{let r;(v=>{let o;(s=>{function g(d){var u;let z=t0().historic;(u=z.panelPositions)!=null||(z.panelPositions={}),z.panelPositions[d.panelId]=d.position}s.setPanelPosition=g})(o=v.panelPositions||(v.panelPositions={}));let n;(z=>{function g(){var u,f;return(f=(u=t0().historic).panels)!=null||(u.panels={}),t0().historic.panels}z._ensure=g;let s;(p=>{function u(){var M;let m=c.studio.historic.panels._ensure();return(M=m.outlinePanel)!=null||(m.outlinePanel={}),m.outlinePanel}p._ensure=u;let f;(w=>{function m(H){let y=[];for(let k of x3(H))se(k)?y.push(S({type:"Project"},k.address)):H7(k)?(y.push(S({type:"Sheet"},k.template.address)),c.studio.historic.projects.stateByProjectId.stateBySheetId.setSelectedInstanceId(k.address)):yf(k)?y.push(S({type:"Sheet"},k.address)):c0(k)?(y.push(S({type:"SheetObject"},k.template.address)),c.studio.historic.projects.stateByProjectId.stateBySheetId.setSelectedInstanceId(k.sheet.address)):kf(k)&&y.push(S({type:"SheetObject"},k.address));p._ensure().selection=y}w.set=m;function M(){p._ensure().selection=[]}w.unset=M})(f=p.selection||(p.selection={}))})(s=z.outline||(z.outline={}));let d;(p=>{function u(){var M;let m=c.studio.historic.panels._ensure();return(M=m.sequenceEditor)!=null||(m.sequenceEditor={}),m.sequenceEditor}p._ensure=u;let f;(w=>{function m(){var y;let H=p._ensure();return(y=H.graphEditor)!=null||(H.graphEditor={height:.5,isOpen:!1}),H.graphEditor}function M(H){m().isOpen=H.isOpen}w.setIsOpen=M})(f=p.graphEditor||(p.graphEditor={}))})(d=z.sequenceEditor||(z.sequenceEditor={}))})(n=v.panels||(v.panels={}));let h;(s=>{let g;(u=>{function d(f){let p=t0().historic;return p.projects.stateByProjectId[f.projectId]||(p.projects.stateByProjectId[f.projectId]={stateBySheetId:{}}),p.projects.stateByProjectId[f.projectId]}u._ensure=d;let z;(M=>{function f(w){let H=c.studio.historic.projects.stateByProjectId._ensure(w);return H.stateBySheetId[w.sheetId]||(H.stateBySheetId[w.sheetId]={selectedInstanceId:void 0,sequenceEditor:{selectedPropsByObject:{}}}),H.stateBySheetId[w.sheetId]}M._ensure=f;function p(w){c.studio.historic.projects.stateByProjectId.stateBySheetId._ensure(w).selectedInstanceId=w.sheetInstanceId}M.setSelectedInstanceId=p;let m;(A=>{function w(P){let{selectedPropsByObject:C}=M._ensure(P).sequenceEditor;C[P.objectKey]||(C[P.objectKey]={});let E=C[P.objectKey],a1=h3(P.pathToProp),j=new Set(Object.keys(v7));for(let[Z,J]of Object.entries(ae(C)))for(let[W,_]of Object.entries(J))j.delete(_);let K=j.size>0?j.values().next().value:Object.keys(v7)[0];E[a1]=K}A.addPropToGraphEditor=w;function H(P){let{selectedPropsByObject:C}=M._ensure(P).sequenceEditor;if(!C[P.objectKey])return;let E=C[P.objectKey],a1=h3(P.pathToProp);E[a1]&&Kh(C,[P.objectKey,a1])}A.removePropFromGraphEditor=H;function y(P){let C=c.studio.historic.projects.stateByProjectId.stateBySheetId._ensure(P).sequenceEditor;return C.markerSet||(C.markerSet=O3.create()),C.markerSet}function k(P){let C=y(P.sheetAddress),E=P.markers.filter(Z=>!!isFinite(Z.position)).map(Z=>D(S({},Z),{position:P.snappingFunction(Z.position)})),a1=Ma(E,"id"),j=O3.filter(C,Z=>Z&&!a1[Z.id]),K=Ma(Object.values(j.byId),"position");E.forEach(({position:Z})=>{let J=K[Z];J&&(j=O3.remove(j,J.id))}),Object.assign(C,O3.merge([j,O3.create(E.map(Z=>[Z.id,Z]))]))}A.replaceMarkers=k;function F(P){let C=y(P.sheetAddress);Object.assign(C,O3.remove(C,P.markerId))}A.removeMarker=F;function U(P){let E=y(P.sheetAddress).byId[P.markerId];E!==void 0&&(E.label=P.label)}A.updateMarker=U})(m=M.sequenceEditor||(M.sequenceEditor={}))})(z=u.stateBySheetId||(u.stateBySheetId={}))})(g=s.stateByProjectId||(s.stateByProjectId={}))})(h=v.projects||(v.projects={}))})(r=i.historic||(i.historic={}));let e;(h=>{function o(v){t0().ephemeral.showOutline=v}h.setShowOutline=o;let n;(g=>{let v;(z=>{function s(u){let f=t0().ephemeral;return f.projects.stateByProjectId[u.projectId]||(f.projects.stateByProjectId[u.projectId]={stateBySheetId:{}}),f.projects.stateByProjectId[u.projectId]}z._ensure=s;let d;(p=>{function u(m){let M=c.studio.ephemeral.projects.stateByProjectId._ensure(m);return M.stateBySheetId[m.sheetId]||(M.stateBySheetId[m.sheetId]={stateByObjectKey:{}}),M.stateBySheetId[m.sheetId]}p._ensure=u;let f;(w=>{function m(H){var k,F;let y=c.studio.ephemeral.projects.stateByProjectId.stateBySheetId._ensure(H).stateByObjectKey;return(F=y[k=H.objectKey])!=null||(y[k]={}),y[H.objectKey]}w._ensure=m;let M;(k=>{function H(F){var A;let U=c.studio.ephemeral.projects.stateByProjectId.stateBySheetId.stateByObjectKey._ensure(F);return(A=U.valuesBeingScrubbed)!=null||(U.valuesBeingScrubbed={}),U.valuesBeingScrubbed}k._ensure=H;function y(F){i6(H(F),F.pathToProp,!0)}k.flag=y})(M=w.propsBeingScrubbed||(w.propsBeingScrubbed={}))})(f=p.stateByObjectKey||(p.stateByObjectKey={}))})(d=z.stateBySheetId||(z.stateBySheetId={}))})(v=g.stateByProjectId||(g.stateByProjectId={}))})(n=h.projects||(h.projects={}))})(e=i.ephemeral||(i.ephemeral={}));let l;(d=>{function o(z){t0().ahistoric.pinOutline=z}d.setPinOutline=o;function n(z){t0().ahistoric.pinDetails=z}d.setPinDetails=n;function h(z){t0().ahistoric.pinNotifications=z}d.setPinNotifications=h;function v(z){t0().ahistoric.visibilityState=z}d.setVisibilityState=v;function g(z){let u=J6(z.map(m=>m.pathToProp)),f=z.map(({keyframe:m,pathToProp:M})=>({keyframe:m,pathToProp:M.slice(u.length)})),p=t0();p.ahistoric.clipboard?p.ahistoric.clipboard.keyframesWithRelativePaths=f:p.ahistoric.clipboard={keyframesWithRelativePaths:f}}d.setClipboardKeyframes=g;let s;(u=>{let z;(M=>{function f(w){let H=t0().ahistoric;return H.projects.stateByProjectId[w.projectId]||(H.projects.stateByProjectId[w.projectId]={stateBySheetId:{}}),H.projects.stateByProjectId[w.projectId]}M._ensure=f;let p;(y=>{function w(k){let F=c.studio.ahistoric.projects.stateByProjectId._ensure(k);return F.collapsedItemsInOutline||(F.collapsedItemsInOutline={}),F.collapsedItemsInOutline}y._ensure=w;function H(k){let F=c.studio.ahistoric.projects.stateByProjectId.collapsedItemsInOutline._ensure(k);k.isCollapsed?F[k.itemKey]=!0:delete F[k.itemKey]}y.set=H})(p=M.collapsedItemsInOutline||(M.collapsedItemsInOutline={}));let m;(y=>{function w(k){let F=c.studio.ahistoric.projects.stateByProjectId._ensure(k);return F.stateBySheetId[k.sheetId]||(F.stateBySheetId[k.sheetId]={}),F.stateBySheetId[k.sheetId]}y._ensure=w;let H;(P=>{function k(C){let E=c.studio.ahistoric.projects.stateByProjectId.stateBySheetId._ensure(C);return E.sequence||(E.sequence={}),E.sequence}P._ensure=k;let F;(a1=>{function C(j){c.studio.ahistoric.projects.stateByProjectId.stateBySheetId.sequence._ensure(j).focusRange={range:j.range,enabled:j.enabled}}a1.set=C;function E(j){c.studio.ahistoric.projects.stateByProjectId.stateBySheetId.sequence._ensure(j).focusRange=void 0}a1.unset=E})(F=P.focusRange||(P.focusRange={}));let U;(E=>{function C(a1){c.studio.ahistoric.projects.stateByProjectId.stateBySheetId.sequence._ensure(a1).clippedSpaceRange=S({},a1.range)}E.set=C})(U=P.clippedSpaceRange||(P.clippedSpaceRange={}));let A;(a1=>{function C(j){let K=c.studio.ahistoric.projects.stateByProjectId.stateBySheetId.sequence._ensure(j),Z=K.collapsableItems;return Z||(Z=K.collapsableItems=O3.create()),Z}function E(j){let K=C(j);Object.assign(K,O3.add(K,j.studioSheetItemKey,{isCollapsed:j.isCollapsed}))}a1.set=E})(A=P.sequenceEditorCollapsableItems||(P.sequenceEditorCollapsableItems={}))})(H=y.sequence||(y.sequence={}))})(m=M.stateBySheetId||(M.stateBySheetId={}))})(z=u.stateByProjectId||(u.stateByProjectId={}))})(s=d.projects||(d.projects={}))})(l=i.ahistoric||(i.ahistoric={}))})(t=c.studio||(c.studio={}));let a;(e=>{let r;(o=>{let l;(h=>{function n(v){let g=t0().historic.coreByProject[v.projectId].revisionHistory,s=50;g.unshift(v.revision),g.length>s&&(g.length=s)}h.add=n})(l=o.revisionHistory||(o.revisionHistory={}));let i;(d=>{function n(z){let u=t0().historic.coreByProject[z.projectId].sheetsById;return u[z.sheetId]||(u[z.sheetId]={staticOverrides:{byObject:{}}}),u[z.sheetId]}d._ensure=n;function h(z){let u=t0().historic.coreByProject[z.projectId].sheetsById[z.sheetId];if(!u)return;delete u.staticOverrides.byObject[z.objectKey];let f=u.sequence;f&&delete f.tracksByObject[z.objectKey]}d.forgetObject=h;function v(z){t0().historic.coreByProject[z.projectId].sheetsById[z.sheetId]&&delete t0().historic.coreByProject[z.projectId].sheetsById[z.sheetId]}d.forgetSheet=v;let g;(j=>{function z(K){var J;let Z=c.coreByProject.historic.sheetsById._ensure(K);return(J=Z.sequence)!=null||(Z.sequence={subUnitsPerUnit:30,length:10,type:"PositionalSequence",tracksByObject:{}}),Z.sequence}j._ensure=z;function u(K){z(K).length=b1(parseFloat(K.length.toFixed(2)),.01,1/0)}j.setLength=u;function f(K){z(K).subUnitsPerUnit=b1(K.subUnitsPerUnit,1,vv(2,12))}j.setSubUnitsPerUnit=f;function p(K){var J,W;let Z=c.coreByProject.historic.sheetsById.sequence._ensure(K).tracksByObject;return(W=Z[J=K.objectKey])!=null||(Z[J]={trackData:{},trackIdByPropPath:{}}),Z[K.objectKey]}function m(K,Z){let J=p(K),W=h3(K.pathToProp);if(typeof J.trackIdByPropPath[W]=="string")return;let g1=HF(),X={type:"BasicKeyframedTrack",__debugName:"".concat(K.objectKey,":").concat(W),keyframes:[]};J.trackData[g1]=X,J.trackIdByPropPath[W]=g1}j.setPrimitivePropAsSequenced=m;function M(K){let Z=p(K),J=h3(K.pathToProp),W=Z.trackIdByPropPath[J];typeof W=="string"&&(delete Z.trackIdByPropPath[J],delete Z.trackData[W],c.coreByProject.historic.sheetsById.staticOverrides.byObject.setValueOfPrimitiveProp(K))}j.setPrimitivePropAsStatic=M;function w(K){let Z=p(K);for(let J of Object.keys(Z.trackIdByPropPath)){let W=JSON.parse(J);if(K.pathToProp.every((g1,X)=>W[X]===g1)){let g1=Z.trackIdByPropPath[J];if(typeof g1!="string")continue;delete Z.trackIdByPropPath[J],delete Z.trackData[g1]}}c.coreByProject.historic.sheetsById.staticOverrides.byObject.setValueOfCompoundProp(K)}j.setCompoundPropAsStatic=w;function H(K){return p(K).trackData[K.trackId]}function y(K){let Z=H(K);if(Z)return Z.keyframes.find(J=>J.id===K.keyframeId)}function k(K){let Z=K.snappingFunction(K.position),J=H(K);if(!J)return;let{keyframes:W}=J,_=W.findIndex($=>$.position===Z);if(_!==-1){let $=W[_];$.value=K.value;return}let g1=LL(W,$=>$.position_.position===K.position);W!==-1&&J.splice(W,1)}j.unsetKeyframeAtPosition=F;function U(K){let Z=H(K);if(!Z)return;let _=ae(Z.keyframes).filter(g1=>K.keyframeIds.includes(g1.id)).map(g1=>{let X=g1.position,$=K.snappingFunction(_j(X,K));return D(S({},g1),{position:$})});a1(D(S({},K),{keyframes:_}))}j.transformKeyframes=U;function A(K){let Z=H(K);Z&&(Z.keyframes=Z.keyframes.map((J,W)=>{let _=Z.keyframes[W-1],g1=K.keyframeIds.includes(J.id),X=K.keyframeIds.includes(_==null?void 0:_.id);return g1&&!X?D(S({},J),{handles:[J.handles[0],J.handles[1],K.handles[0],K.handles[1]]}):g1&&X?D(S({},J),{handles:[K.handles[2],K.handles[3],K.handles[0],K.handles[1]]}):X?D(S({},J),{handles:[K.handles[2],K.handles[3],J.handles[2],J.handles[3]]}):J}))}j.setTweenBetweenKeyframes=A;function P(K){var J,W,_,g1,X,$,o1,u1;let Z=y(K);Z&&(Z.handles=[(W=(J=K.end)==null?void 0:J[0])!=null?W:Z.handles[0],(g1=(_=K.end)==null?void 0:_[1])!=null?g1:Z.handles[1],($=(X=K.start)==null?void 0:X[0])!=null?$:Z.handles[2],(u1=(o1=K.start)==null?void 0:o1[1])!=null?u1:Z.handles[3]])}j.setHandlesForKeyframe=P;function C(K){let Z=H(K);Z&&(Z.keyframes=Z.keyframes.filter(J=>K.keyframeIds.indexOf(J.id)===-1))}j.deleteKeyframes=C;function E(K){let Z=y(K);Z&&(Z.type=K.keyframeType)}j.setKeyframeType=E;function a1(K){let Z=H(K);if(!Z)return;let J=ae(Z.keyframes),W=K.keyframes.filter(o1=>!(typeof o1.value=="number"&&!isFinite(o1.value)||!o1.handles.every(u1=>isFinite(u1)))).map(o1=>D(S({},o1),{position:K.snappingFunction(o1.position)})),_=Ma(W,"id"),g1=J.filter(o1=>!_[o1.id]),X=Ma(g1,"position");W.forEach(({position:o1})=>{let u1=X[o1];u1&&UL(g1,u1)});let $=QL([...g1,...W],"position");Z.keyframes=$}j.replaceKeyframes=a1})(g=d.sequence||(d.sequence={}));let s;(u=>{let z;(w=>{function f(H){var k,F;let y=c.coreByProject.historic.sheetsById._ensure(H).staticOverrides.byObject;return(F=y[k=H.objectKey])!=null||(y[k]={}),y[H.objectKey]}function p(H){let y=f(H);i6(y,H.pathToProp,H.value)}w.setValueOfCompoundProp=p;function m(H){let y=f(H);i6(y,H.pathToProp,H.value)}w.setValueOfPrimitiveProp=m;function M(H){let y=c.coreByProject.historic.sheetsById._ensure(H).staticOverrides.byObject[H.objectKey];y&&Kh(y,H.pathToProp)}w.unsetValueOfPrimitiveProp=M})(z=u.byObject||(u.byObject={}))})(s=d.staticOverrides||(d.staticOverrides={}))})(i=o.sheetsById||(o.sheetsById={}))})(r=e.historic||(e.historic={}))})(a=c.coreByProject||(c.coreByProject={}))})(af||(af={}));function Ut(){let t,a,c=new Promise((e,l)=>{t=i=>{e(i),r.status="resolved"},a=i=>{l(i),r.status="rejected"}}),r={resolve:t,reject:a,promise:c,status:"pending"};return r}var tq=require("@theatre/dataverse");function rf(t){let a=t.getState(),c=new tq.Atom(a);return t.subscribe(()=>{let r=t.getState();c.set(r),a=r}),c}Fv();function ef(t){var a,c=t.Symbol;return typeof c=="function"?c.observable?a=c.observable:(a=c("observable"),c.observable=a):a="@@observable",a}var Kt;typeof self!="undefined"?Kt=self:typeof window!="undefined"?Kt=window:typeof global!="undefined"?Kt=global:typeof module!="undefined"?Kt=module:Kt=Function("return this")();var Ye1=ef(Kt),lf=Ye1;var of={INIT:"@@redux/INIT"};function ce(t,a,c){var r;if(typeof a=="function"&&typeof c=="undefined"&&(c=a,a=void 0),typeof c!="undefined"){if(typeof c!="function")throw new Error("Expected the enhancer to be a function.");return c(ce)(t,a)}if(typeof t!="function")throw new Error("Expected the reducer to be a function.");var e=t,l=a,i=[],o=i,n=!1;function h(){o===i&&(o=i.slice())}function v(){return l}function g(u){if(typeof u!="function")throw new Error("Expected listener to be a function.");var f=!0;return h(),o.push(u),function(){if(f){f=!1,h();var m=o.indexOf(u);o.splice(m,1)}}}function s(u){if(!M8(u))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if(typeof u.type=="undefined")throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(n)throw new Error("Reducers may not dispatch actions.");try{n=!0,l=e(l,u)}finally{n=!1}for(var f=i=o,p=0;p{let r=n=>{t.dispatch(u8.replacePersistentState(n))},e=rq(c),l=()=>t.getState().$persistent;o();let i=()=>{let n=l(),h=hf.get(t);n!==h&&(hf.set(t,n),localStorage.setItem(e,JSON.stringify(n)))};t.subscribe(pa(i,1e3)),window&&window.addEventListener("beforeunload",i);function o(){let n=localStorage.getItem(e);if(n){let h,v=!0;try{h=JSON.parse(n),v=!1}catch(g){kt.warn("Could not parse Theatre's persisted state. This must be a bug. Please report it.")}finally{v||r(h),a()}}else a()}},cq=(t,a)=>{let c=rq(a),r=t.getState().$persistent;localStorage.removeItem(c),hf.set(t,r)};function rq(t){return t+".persistent"}yu();N5();D7();$v();de();rr();var ee=require("@theatre/dataverse");H5();H2();Yp();function vf(t){if(typeof t=="boolean"||typeof t=="string"||typeof t=="number")return t;if(M8(t)){let a={},c=!1;for(let[r,e]of Object.entries(t))vf(e)!==void 0&&(a[r]=e,c=!0);if(c)return a}else return}function eq(t,a,c){for(let[r,e]of Object.entries(t.props))if(e.type==="compound")eq(e,[...a,r],c);else{if(e.type==="enum")throw new Error("Not yet implemented");c(e,[...a,r])}}function gf(t,a,c){return{set:(r,e)=>{t();let l=vf(e);if(typeof l=="undefined")return;let{root:i,path:o}=(0,ee.getPointerParts)(r);if(c0(i)){let n=i.template.getMapOfValidSequenceTracks_forStudio().getValue(),h=U9(i.template.staticConfig,o);if(!h)throw new Error("Object ".concat(i.address.objectKey," does not have a prop at ").concat(JSON.stringify(o)));let v=(g,s,d)=>{if(g==null)return;if(vf(s.deserializeAndSanitize(g))===void 0)throw new Error("Invalid value ".concat(wh(g)," for object.props").concat(d.map(p=>"[".concat(JSON.stringify(p),"]")).join("")," is invalid"));let u=D(S({},i.address),{pathToProp:d}),f=D3(n,d);if(typeof f=="string"){let p=i.sheet.getSequence();p.position=p.closestGridPosition(p.position),a.coreByProject.historic.sheetsById.sequence.setKeyframeAtPosition(D(S({},u),{trackId:f,position:p.position,value:g,snappingFunction:p.closestGridPosition,type:"bezier"}))}else a.coreByProject.historic.sheetsById.staticOverrides.byObject.setValueOfPrimitiveProp(D(S({},u),{value:g}))};if(h.type==="compound"){let g=(0,ee.getPointerParts)(r).path,s=g.length;eq(h,g,(d,z)=>{let u=z.slice(s),f=l3(l,u);if(typeof f!="undefined")v(f,d,z);else throw new Error("Property object.props".concat(z.map(p=>"[".concat(JSON.stringify(p),"]")).join("")," is required but not provided"))})}else{if(h.type==="enum")throw new Error("Enums aren't implemented yet");v(l,h,o)}}else if(Sf(i)){let[n]=o;if(n==="subUnitsPerUnit"){if(typeof l!="number"||!fa(l)||l<1)throw new Error("Value ".concat(l," is not an integer, which is required for setting sequence prop ").concat(n));a.coreByProject.historic.sheetsById.sequence.setSubUnitsPerUnit(D(S({},i.address),{subUnitsPerUnit:l}))}else if(n==="length"){if(typeof l!="number"||l<=.001)throw new Error("Value ".concat(l," is not a positive number, which is required for setting sequence prop ").concat(n));a.coreByProject.historic.sheetsById.sequence.setLength(D(S({},i.address),{length:l}))}else throw new Error("Setting sequence prop ".concat(n," is not supported"))}else throw new Error("Only setting props of SheetObject-s and sequences is supported in a transaction so far")},unset:r=>{t();let{root:e,path:l}=(0,ee.getPointerParts)(r);if(c0(e)){let i=e.template.getMapOfValidSequenceTracks_forStudio().getValue(),o=l3(e.template.getDefaultValues().getValue(),l),n=U9(e.template.staticConfig,l),h=(v,g)=>{let s=D(S({},e.address),{pathToProp:g}),d=D3(i,g);typeof d=="string"?a.coreByProject.historic.sheetsById.sequence.unsetKeyframeAtPosition(D(S({},s),{trackId:d,position:e.sheet.getSequence().positionSnappedToGrid})):n!==void 0&&a.coreByProject.historic.sheetsById.staticOverrides.byObject.unsetValueOfPrimitiveProp(s)};n.type==="compound"?q5(o,(v,g)=>{h(v,g)},(0,ee.getPointerParts)(r).path):h(o,l)}else throw new Error("Only setting props of SheetObject-s is supported in a transaction so far")},get drafts(){return t(),c},get stateEditors(){return a}}}var le=class{constructor(){y1(this,"_reduxStore");y1(this,"_atom");y1(this,"atomP");this._reduxStore=nf({rootReducer:Wj,devtoolsOptions:{name:"Theatre.js Studio"}}),this._atom=rf(this._reduxStore),this.atomP=this._atom.pointer}initialize(a){let c=Ut();return a.usePersistentStorage===!0?aq(this._reduxStore,()=>{this.tempTransaction(({drafts:r})=>{r.ephemeral.initialised=!0}).commit(),c.resolve()},a.persistenceKey):(this.tempTransaction(({drafts:r})=>{r.ephemeral.initialised=!0}).commit(),c.resolve()),c.promise}getState(){return this._reduxStore.getState()}__experimental_clearPersistentStorage(a){return cq(this._reduxStore,a),this.getState()}__dev_startHistoryFromScratch(a){this._reduxStore.dispatch(u8.historic.startHistoryFromScratch(u8.reduceParts(c=>D(S({},c),{historic:a}))))}tempTransaction(a){let c=Dj(),r,e=c.push(u8.reduceParts(l=>{let i={historic:tv(l.historic),ahistoric:tv(l.ahistoric),ephemeral:tv(l.ephemeral)},o=!0,n=()=>{if(!o)throw new Error("You seem to have called the transaction api after studio.transaction() has finished running")},h=cf(i),v=gf(n,h,i);try{return a(v),o=!1,{historic:av(i.historic),ahistoric:av(i.ahistoric),ephemeral:av(i.ephemeral)}}catch(g){return r=g,l}finally{cf(void 0)}}));if(this._reduxStore.dispatch(e),r)throw this._reduxStore.dispatch(c.discard()),r;return{commit:()=>{this._reduxStore.dispatch(c.commit())},discard:()=>{this._reduxStore.dispatch(c.discard())}}}undo(){this._reduxStore.dispatch(u8.historic.undo())}redo(){this._reduxStore.dispatch(u8.historic.redo())}createContentOfSaveFile(a){if(!this._reduxStore.getState().$persistent.historic.innerState.coreByProject[a])throw new Error("Project ".concat(a," has not been initialized."));let r=Jo();this.tempTransaction(({stateEditors:i})=>{i.coreByProject.historic.revisionHistory.add({projectId:a,revision:r})}).commit();let e=this._reduxStore.getState().$persistent.historic.innerState.coreByProject[a];return S({},e)}};var lq=require("@theatre/dataverse");var W5=class{constructor(){y1(this,"_values",{})}get(a,c){if(this.has(a))return this._values[a];{let r=c();return this._values[a]=r,r}}has(a){return this._values.hasOwnProperty(a)}};N5();C5();f1();H2();xh();var ie=class{constructor(a){y1(this,"ui",{hide(){T().ui.hide()},get isHidden(){return T().ui.isHidden},restore(){T().ui.restore()},renderToolset(a,c){return T().ui.renderToolset(a,c)}});y1(this,"_cache",new W5);y1(this,"__experimental",{__experimental_disblePlayPauseKeyboardShortcut(){gD()},__experimental_enablePlayPauseKeyboardShortcut(){dD()},__experimental_clearPersistentStorage(a){return T().clearPersistentStorage(a)},__experimental_createContentOfSaveFileTyped(a){return T().createContentOfSaveFile(a)}})}initialize(a){return T().initialize(a)}extend(a,c){T().extend(a,c)}transaction(a){return T().transaction(({set:c,unset:r,stateEditors:e})=>a({set:c,unset:r,__experimental_forgetObject:o=>{if(!dv(o))throw new Error("object in transactionApi.__experimental_forgetObject(object) must be the return type of sheet.object(...)");e.coreByProject.historic.sheetsById.forgetObject(o.address)},__experimental_forgetSheet:o=>{if(!gv(o))throw new Error("sheet in transactionApi.__experimental_forgetSheet(sheet) must be the return type of project.sheet()");e.coreByProject.historic.sheetsById.forgetSheet(o.address)}}))}_getSelectionPrism(){return this._cache.get("_getSelectionPrism()",()=>(0,lq.prism)(()=>c3().filter(a=>a.type==="Theatre_SheetObject"||a.type==="Theatre_Sheet").map(a=>a.publicApi)))}_getSelection(){return this._getSelectionPrism().getValue()}setSelection(a){let c=[...a].filter(r=>dv(r)||gv(r)).map(r=>T().corePrivateAPI(r));T().transaction(({stateEditors:r})=>{r.studio.historic.panels.outline.selection.set(c)})}onSelectionChange(a){let c=T();return this._getSelectionPrism().onChange(c.ticker,a,!0)}get selection(){return this._getSelection()}scrub(){return T().scrub()}getStudioProject(){let a=T().core;if(!a)throw new Error("You're calling studio.getStudioProject() before `@theatre/core` is loaded. To fix this:\n1. Check if `@theatre/core` is import/required in your bundle.\n2. Check the stack trace of this error and make sure the funciton that calls getStudioProject() is run after `@theatre/core` is loaded.");return T().getStudioProject(a)}debouncedScrub(a=1e3){let c,r=pa(()=>{let l=c;l&&(c=void 0,l.commit())},a);return{capture:l=>{c||(c=this.scrub());let i=!0;try{c.capture(l),i=!1}finally{if(i){let o=c;c=void 0,o.discard()}else r()}}}}createPane(a){return T().paneManager.createPane(a)}destroyPane(a){return T().paneManager.destroyPane(a)}createContentOfSaveFile(a){return T().createContentOfSaveFile(a)}};su();var _5=require("@theatre/dataverse");var oe=class{constructor(a){this._studio=a;y1(this,"_cache",new W5);this._instantiatePanesAsTheyComeIn()}_instantiatePanesAsTheyComeIn(){let a=this._getAllPanes();a.onStale(()=>{a.getValue()})}_getAllPanes(){return this._cache.get("_getAllPanels()",()=>(0,_5.prism)(()=>{if(!(0,_5.val)(this._studio.coreP))return{};let c=(0,_5.val)(this._studio.atomP.historic.panelInstanceDesceriptors),r=(0,_5.val)(this._studio.atomP.ephemeral.extensions.paneClasses),e={};for(let l of Object.values(c)){if(!l)continue;let i=r[l.paneClass];if(!i)continue;let{instanceId:o}=l,{extensionId:n,classDefinition:h}=i,v=_5.prism.memo("instance-".concat(l.instanceId),()=>({extensionId:n,instanceId:o,definition:h}),[h]);e[o]=v}return e}))}get allPanesD(){return this._getAllPanes()}createPane(a){if(!this._studio.core)throw new Error("Can't create a pane because @theatre/core is not yet loaded");let r=(0,_5.val)(this._studio.atomP.ephemeral.extensions.paneClasses[a].extensionId),e=(0,_5.val)(this._studio.atomP.historic.panelInstanceDesceriptors),l;for(let i=1;i<1e3&&(l="".concat(a," #").concat(i),!!e[l]);i++);if(!r)throw new Error('Pane class "'.concat(a,'" is not registered.'));return this._studio.transaction(({drafts:i})=>{i.historic.panelInstanceDesceriptors[l]={instanceId:l,paneClass:a}}),this._getAllPanes().getValue()[l]}destroyPane(a){if(!this._studio.core)throw new Error("Can't do this yet because @theatre/core is not yet loaded");this._studio.transaction(({drafts:r})=>{delete r.historic.panelInstanceDesceriptors[a]})}};var $t=require("@theatre/dataverse");f1();var iq=30*60*1e3,Je1=1e3*60*60;function tl1(){return e2(this,null,function*(){let t=T().atomP.ahistoric.visibilityState;if((0,$t.val)(t)==="everythingIsVisible")return;let a=Ut(),c=(0,$t.pointerToPrism)(t).onStale(()=>{(0,$t.val)(t)==="everythingIsVisible"&&(c(),a.resolve(void 0))});return a.promise})}function df(){return e2(this,null,function*(){if(!("0.7.2"!=null&&"0.7.2".match(/COMPAT/)))for(yield cv(500),yield tl1();;){let t=(0,$t.val)(T().atomP.ahistoric.updateChecker);if(t&&t.result!=="error"){let a=t.lastChecked,c=Date.now(),r=Math.abs(c-a);r{r.ahistoric.updateChecker={lastChecked:Date.now(),result:S({},c)}}),yield cv(1e3)}else throw new Error("HTTP Error ".concat(a.statusText))}catch(a){yield cv(Je1)}}})}var cv=t=>new Promise(a=>setTimeout(a,t));function al1(t){if(typeof t!="object")return!1;let a=t;return typeof a.hasUpdates!="boolean"?!1:a.hasUpdates===!0&&typeof a.newVersion=="string"&&typeof a.releasePage=="string"||a.hasUpdates===!1}var pq=I(fs());function j5(t){return new Promise((a,c)=>{t.oncomplete=t.onsuccess=()=>a(t.result),t.onabort=t.onerror=()=>c(t.error)})}function zf(t,a){let c=indexedDB.open(t);c.onupgradeneeded=()=>c.result.createObjectStore(a);let r=j5(c);return(e,l)=>r.then(i=>l(i.transaction(a,e).objectStore(a)))}var sf;function Qt(){return sf||(sf=zf("keyval-store","keyval")),sf}function oq(t,a=Qt()){return a("readonly",c=>j5(c.get(t)))}function nq(t,a,c=Qt()){return c("readwrite",r=>(r.put(a,t),j5(r.transaction)))}function hq(t,a=Qt()){return a("readwrite",c=>(c.delete(t),j5(c.transaction)))}function uf(t,a){return t.openCursor().onsuccess=function(){this.result&&(a(this.result),this.result.continue())},j5(t.transaction)}function vq(t=Qt()){return t("readonly",a=>{if(a.getAllKeys)return j5(a.getAllKeys());let c=[];return uf(a,r=>c.push(r.key)).then(()=>c)})}function gq(t=Qt()){return t("readonly",a=>{if(a.getAll)return j5(a.getAll());let c=[];return uf(a,r=>c.push(r.value)).then(()=>c)})}function dq(t=Qt()){return t("readonly",a=>{if(a.getAll&&a.getAllKeys)return Promise.all([j5(a.getAllKeys()),j5(a.getAll())]).then(([r,e])=>r.map((l,i)=>[l,e[i]]));let c=[];return t("readonly",r=>uf(r,e=>c.push([e.key,e.value])).then(()=>c))})}var sq=t=>{let a=zf("theatrejs-".concat(t),"default-store");return{set:(c,r)=>nq(c,r,a),get:c=>oq(c,a),del:c=>hq(c,a),keys:()=>vq(a),entries:()=>dq(a),values:()=>gq(a)}};Gu();vt();var uq="theatre-0.4",rl1="You seem to have imported '@theatre/studio' but haven't initialized it. You can initialize the studio by:\n```\nimport studio from '@theatre/studio'\nstudio.initialize()\n```\n\n* If you didn't mean to import '@theatre/studio', this means that your bundler is not tree-shaking it. This is most likely a bundler misconfiguration.\n\n* If you meant to import '@theatre/studio' without showing its UI, you can do that by running:\n\n```\nimport studio from '@theatre/studio'\nstudio.initialize()\nstudio.ui.hide()\n```\n",el1="You seem to have imported '@theatre/studio' but called `studio.initialize()` after some delay.\nTheatre.js projects remain in pending mode (won't play their sequences) until the studio is initialized, so you should place the `studio.initialize()` line right after the import line:\n\n```\nimport studio from '@theatre/studio'\n// ... and other imports\n\nstudio.initialize()\n```\n",ev=class{constructor(){y1(this,"ui");y1(this,"publicApi");y1(this,"address");y1(this,"_projectsProxy",new C7.PointerProxy(new C7.Atom({}).pointer));y1(this,"projectsP",this._projectsProxy.pointer);y1(this,"_store",new le);y1(this,"_corePrivateApi");y1(this,"_cache",new W5);y1(this,"paneManager");y1(this,"_coreAtom",new C7.Atom({}));y1(this,"_initializedDeferred",Ut());y1(this,"_initializeFnCalled",!1);y1(this,"_didWarnAboutNotInitializing",!1);y1(this,"_coreBits");y1(this,"_rafDriver");this.address={studioId:J9(10)},this.publicApi=new ie(this),this.ui=new Ur(this),this._attachToIncomingProjects(),this.paneManager=new oe(this),typeof window!="undefined"&&setTimeout(()=>{this._initializeFnCalled||(console.error(rl1),this._didWarnAboutNotInitializing=!0)},100)}get ticker(){if(!this._rafDriver)throw new Error("`studio.ticker` was read before studio.initialize() was called.");return this._rafDriver.ticker}get atomP(){return this._store.atomP}initialize(a){return e2(this,null,function*(){if(!this._coreBits)throw new Error("You seem to have imported `@theatre/studio` without importing `@theatre/core`. Make sure to include an import of `@theatre/core` before calling `studio.initializer()`.");if(this._initializeFnCalled)return this._initializedDeferred.promise;this._initializeFnCalled=!0,this._didWarnAboutNotInitializing&&console.warn(el1);let c={persistenceKey:uq,usePersistentStorage:!0};if(typeof(a==null?void 0:a.persistenceKey)=="string"&&(c.persistenceKey=a.persistenceKey),((a==null?void 0:a.usePersistentStorage)===!1||typeof window=="undefined")&&(c.usePersistentStorage=!1),a!=null&&a.__experimental_rafDriver){if(a.__experimental_rafDriver.type!=="Theatre_RafDriver_PublicAPI")throw new Error("parameter `rafDriver` in `studio.initialize({__experimental_rafDriver})` must be either be undefined, or the return type of core.createRafDriver()");let r=this._coreBits.privateAPI(a.__experimental_rafDriver);if(!r)throw new Error("parameter `rafDriver` in `studio.initialize({__experimental_rafDriver})` seems to come from a different version of `@theatre/core` than the version that is attached to `@theatre/studio`");this._rafDriver=r}else this._rafDriver=this._coreBits.getCoreRafDriver();try{yield this._store.initialize(c)}catch(r){this._initializedDeferred.reject(r);return}typeof window!="undefined"&&(yield this.ui.ready),this._initializedDeferred.resolve(),this.ui.render(),df().catch(r=>{console.error(r)})})}get initialized(){return this._initializedDeferred.promise}_attachToIncomingProjects(){let a=(0,C7.pointerToPrism)(this.projectsP),c=r=>{for(let e of Object.values(r))e.isAttachedToStudio||e.attachToStudio(this)};a.onStale(()=>{c(a.getValue())}),c(a.getValue())}setCoreBits(a){this._coreBits=a,this._corePrivateApi=a.privateAPI,this._coreAtom.setByPointer(c=>c.core,a.coreExports),this._setProjectsP(a.projectsP)}_setProjectsP(a){this._projectsProxy.setPointer(a)}scrub(){return new Jt(this)}tempTransaction(a){return this._store.tempTransaction(a)}transaction(a){return this.tempTransaction(a).commit()}__dev_startHistoryFromScratch(a){return this._store.__dev_startHistoryFromScratch(a)}get corePrivateAPI(){return this._corePrivateApi}get core(){return this._coreAtom.get().core}get coreP(){return this._coreAtom.pointer.core}extend(a,c){if(!a||typeof a!="object")throw new Error("Extensions must be JS objects");if(typeof a.id!="string")throw new Error("extension.id must be a string");let r=(c==null?void 0:c.__experimental_reconfigure)===!0,e=a.id,l=this._store.getState().ephemeral.extensions.byId[e];if(l&&!r){if(a===l||(0,pq.default)(a,l))return;throw new Error('Extension id "'.concat(a.id,'" is already defined. If you mean to re-configure the extension, do it like this: studio.extend(extension, {__experimental_reconfigure: true})})'))}this.transaction(({drafts:i})=>{var n,h;i.ephemeral.extensions.byId[a.id]=a;let o=i.ephemeral.extensions.paneClasses;r&&l&&((n=l.panes)==null||n.forEach(v=>{delete o[v.class]})),(h=a.panes)==null||h.forEach(v=>{if(typeof v.class!="string")throw new Error("pane.class must be a string");if(v.class.length<3)throw new Error("pane.class should be a string with 3 or more characters");let g=o[v.class];if(g)if(r&&g.extensionId===a.id)console.warn('Pane class "'.concat(v.class,'" already exists. This is a bug in Theatre.js. Please report it at https://github.com/theatre-js/theatre/issues/new'));else throw new Error('Pane class "'.concat(v.class,'" already exists and is supplied by extension ').concat(g));o[v.class]={extensionId:a.id,classDefinition:v}})})}getStudioProject(a){return this._cache.get("getStudioProject",()=>a.getProject("Studio"))}getExtensionSheet(a,c){return this._cache.get("extensionSheet-"+a,()=>this.getStudioProject(c).sheet("Extension "+a))}undo(){this._store.undo()}redo(){this._store.redo()}createContentOfSaveFile(a){return this._store.createContentOfSaveFile(a)}createAssetStorage(a,c){return e2(this,null,function*(){if(typeof window=="undefined")return{getAssetUrl:()=>"",createAsset:()=>Promise.resolve(null)};if(!("indexedDB"in window))return console.log("This browser doesn't support IndexedDB."),{getAssetUrl:v=>{throw new Error("IndexedDB is required by the default asset manager, but it's not supported by this browser. To use assets, please provide your own asset manager to the project config.")},createAsset:v=>{throw new Error("IndexedDB is required by the default asset manager, but it's not supported by this browser. To use assets, please provide your own asset manager to the project config.")}};let r=sq("".concat(a.address.projectId,"-assets")),e=pr(a),l=yield r.keys();yield Promise.all(l.map(v=>e2(this,null,function*(){e.includes(v)||(yield r.del(v))}))),yield Promise.all(l.map(v=>e2(this,null,function*(){var s,d;let g="".concat(c,"/").concat(v);try{(yield fetch(g,{method:"HEAD"})).ok&&(yield r.del(v))}catch(z){c7.error("Failed to access assets","Failed to access assets at ".concat((d=(s=a.config.assets)==null?void 0:s.baseUrl)!=null?d:"/",". This is likely due to a CORS issue."))}})));let i=new Map(yield r.entries()),o=new Map,n=v=>{if(o.has(v))return o.get(v);{let g=URL.createObjectURL(v);return o.set(v,g),g}},h=v=>{let g=i.get(v);if(!g)throw new Error("Asset with id ".concat(v," not found"));return n(g)};return{getAssetUrl:v=>i.has(v)?h(v):"".concat(c,"/").concat(v),createAsset:v=>e2(this,null,function*(){var d,z,u;let g=pr(a),s=!1;if(g.includes(v.name)){let f;try{f=(d=i.get(v.name))!=null?d:yield fetch("".concat(c,"/").concat(v.name)).then(p=>p.ok?p.blob():void 0)}catch(p){return c7.error("Failed to access assets","Failed to access assets at ".concat((u=(z=a.config.assets)==null?void 0:z.baseUrl)!=null?u:"/",". This is likely due to a CORS issue.")),Promise.resolve(null)}if(f){if(s=yield(yield Promise.resolve().then(()=>I(zq()))).default.isEqual(v,f),s)return v.name;{let m=w=>{let H=prompt(w,v.name);return H===null?!1:H===""?m("Asset name cannot be empty. Please choose a different file name for this asset."):g.includes(H)?(console.log(g),m("An asset with this name already exists. Please choose a different file name for this asset.")):(v=new File([v],H,{type:v.type}),!0)};if(!m("An asset with this name already exists. Please choose a different file name for this asset."))return null}}}return i.set(v.name,v),yield r.set(v.name,v),v.name})}})}clearPersistentStorage(a=uq){this._store.__experimental_clearPersistentStorage(a)}};var lv="__TheatreJS_StudioBundle",mq="__TheatreJS_CoreBundle",fq="__TheatreJS_Notifications";var ne=class{constructor(a){this._studio=a;y1(this,"_coreBundle")}get type(){return"Theatre_StudioBundle"}registerCoreBundle(a){if(this._coreBundle)throw new Error("StudioBundle.coreBundle is already registered. This is a bug.");this._coreBundle=a;let c;a.getBitsForStudio(this._studio,r=>{c=r}),this._studio.setCoreBits(c)}};var xq=I(G());c1();var Mq,il1=B.div(Mq||(Mq=V([""]))),ol1=t=>xq.default.createElement(il1,null),Cq=ol1;vt();var mf=new ev;Bf(mf);var nl1=mf.publicApi,hl1=nl1;vl1();function vl1(){if(typeof window=="undefined")return;let t=window[lv];if(typeof t!="undefined")throw typeof t=="object"&&t&&typeof t.version=="string"?new Error("It seems that the module '@theatre/studio' is loaded more than once. This could have two possible causes:\n1. You might have two separate versions of Theatre.js in node_modules.\n2. Or this might be a bundling misconfiguration, in case you're using a bundler like Webpack/ESBuild/Rollup.\n\nNote that it **is okay** to import '@theatre/studio' multiple times. But those imports should point to the same module."):new Error("The variable window.".concat(lv," seems to be already set by a module other than @theatre/core."));let a=new ne(mf);window[lv]=a;let c=window[mq];c&&c!==null&&c.type==="Theatre_CoreBundle"&&a.registerCoreBundle(c)}typeof window!="undefined"&&(window[fq]={notify:c7}); +/*! Bundled license information: + +lodash-es/lodash.js: + (** + * @license + * Lodash (Custom Build) + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) + +queue-microtask/index.js: + (*! queue-microtask. MIT License. Feross Aboukhadijeh *) + +react/cjs/react.production.min.js: + (** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +scheduler/cjs/scheduler.production.min.js: + (** + * @license React + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react-dom/cjs/react-dom.production.min.js: + (** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react-is/cjs/react-is.production.min.js: + (** @license React v17.0.2 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react-is/cjs/react-is.production.min.js: + (** @license React v16.13.1 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +jszip/dist/jszip.min.js: + (*! + + JSZip v3.10.1 - A JavaScript class for generating and reading zip files + + + (c) 2009-2016 Stuart Knightley + Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown. + + JSZip uses the library pako released under the MIT license : + https://github.com/nodeca/pako/blob/main/LICENSE + *) + +jiff/lib/lcs.js: + (** @license MIT License (c) copyright 2010-2014 original author or authors *) + +jiff/lib/array.js: + (** @license MIT License (c) copyright 2010-2014 original author or authors *) + +jiff/lib/jsonPointerParse.js: + (** @license MIT License (c) copyright 2010-2014 original author or authors *) + +jiff/lib/jsonPointer.js: + (** @license MIT License (c) copyright 2010-2014 original author or authors *) + +jiff/lib/clone.js: + (** @license MIT License (c) copyright 2010-2014 original author or authors *) + +jiff/lib/jsonPatch.js: + (** @license MIT License (c) copyright 2010-2014 original author or authors *) + +jiff/jiff.js: + (** @license MIT License (c) copyright 2010-2014 original author or authors *) +*/ +//# sourceMappingURL=index.js.map