@interopio/groups-ui-react 2.7.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/defaultComponents/buttons/StandardButton.d.ts +4 -0
- package/dist/cjs/defaultComponents/utils/common.d.ts +3 -0
- package/dist/cjs/defaultComponents/utils/useDragMove.d.ts +6 -0
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +291 -271
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/api.d.ts +2 -0
- package/dist/cjs/types/defaultComponents.d.ts +10 -1
- package/dist/cjs/types/internal.d.ts +27 -45
- package/dist/cjs/webGroupsManager.d.ts +2 -0
- package/dist/esm/defaultComponents/buttons/StandardButton.d.ts +4 -0
- package/dist/esm/defaultComponents/utils/common.d.ts +3 -0
- package/dist/esm/defaultComponents/utils/useDragMove.d.ts +6 -0
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +304 -285
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/api.d.ts +2 -0
- package/dist/esm/types/defaultComponents.d.ts +10 -1
- package/dist/esm/types/internal.d.ts +27 -45
- package/dist/esm/webGroupsManager.d.ts +2 -0
- package/dist/styles/groups.css +156 -76
- package/dist/styles/vars.css +865 -78
- package/package.json +4 -4
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/types/internal.ts","../../node_modules/callback-registry/lib/index.js","../../src/webGroupsManager.ts","../../src/defaultComponents/buttons/BaseButton.tsx","../../src/defaultComponents/buttons/CloseButton.tsx","../../node_modules/color2k/dist/index.module.es.js","../../src/defaultComponents/channelSelector/utils.ts","../../src/defaultComponents/channelSelector/BaseChannelSelector.tsx","../../src/defaultComponents/channelSelector/FlatChannelSelector.tsx","../../src/defaultComponents/buttons/ExtractButton.tsx","../../src/defaultComponents/buttons/FeedbackButton.tsx","../../src/defaultComponents/buttons/CloneButton.tsx","../../src/defaultComponents/buttons/StickyButton.tsx","../../src/defaultComponents/buttons/LockButtons.tsx","../../src/defaultComponents/buttons/MaximizeButton.tsx","../../src/defaultComponents/buttons/MinimizeButton.tsx","../../src/defaultComponents/buttons/RestoreButton.tsx","../../src/defaultComponents/buttons/UnlockButton.tsx","../../src/defaultComponents/buttons/CustomButton.tsx","../../src/defaultComponents/flatCaptionBar/FlatButtons.tsx","../../src/utils.ts","../../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../../src/defaultComponents/captionEditor/useEditableCaption.ts","../../src/defaultComponents/flatCaptionBar/FlatCaption.tsx","../../src/defaultComponents/captionEditor/useCaptionEditor.ts","../../src/defaultComponents/captionEditor/useCommitEditingRequested.tsx","../../src/defaultComponents/captionEditor/CaptionEditor.tsx","../../src/defaultComponents/flatCaptionBar/FlatCaptionEditor.tsx","../../src/defaultComponents/flatCaptionBar/FlatMoveArea.tsx","../../src/defaultComponents/channelSelector/multi/BaseMultiChannelSelector.tsx","../../src/defaultComponents/channelSelector/multi/FlatMultiChannelSelector.tsx","../../src/defaultComponents/flatCaptionBar/FlatCaptionBar.tsx","../../src/defaultComponents/groupCaptionBar/GroupMoveArea.tsx","../../src/defaultComponents/groupCaptionBar/GroupButtons.tsx","../../src/defaultComponents/groupCaptionBar/GroupCaption.tsx","../../src/defaultComponents/groupCaptionBar/GroupCaptionEditor.tsx","../../src/defaultComponents/groupCaptionBar/GroupCaptionBar.tsx","../../src/defaultComponents/channelSelector/TabChannelSelector.tsx","../../src/defaultComponents/channelSelector/multi/TabMultiChannelSelector.tsx","../../src/defaultComponents/tabs/TabCaption.tsx","../../src/defaultComponents/tabs/TabCaptionEditor.tsx","../../src/defaultComponents/tabs/TabCloseButton.tsx","../../src/defaultComponents/tabs/Tab.tsx","../../src/defaultComponents/buttons/OverflowButton.tsx","../../src/defaultComponents/tabs/TabHeaderButtons.tsx","../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../node_modules/use-sync-external-store/shim/index.js","../../src/GroupWrapper.tsx","../../src/Portal.tsx","../../src/webGroupsStore.ts","../../src/defaultComponents/loadingAnimation/FrameLoadingAnimation.tsx","../../src/GroupElementCreationWrapper.tsx","../../src/useIOConnectWindow.ts","../../src/useGroupComponentVisibility.ts","../../src/defaultComponents/tabs/useCommitTabCaptionEditingRequested.ts","../../src/defaultComponents/groupCaptionBar/useCommitGroupCaptionEditingRequested.ts","../../src/defaultComponents/flatCaptionBar/useCommitFlatCaptionEditingRequested.ts","../../src/defaultComponents/htmlButtonsBar/buttons.tsx","../../src/defaultComponents/popups/TabOverflowPopup.tsx","../../src/index.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import React from \"react\";\r\n\r\ntype NonMethodKeys<T> = ({ [P in keyof T]: T[P] extends Function ? never : P })[keyof T];\r\ntype NonMethods<T> = Pick<T, NonMethodKeys<T>>;\r\n\r\nexport interface PortalProps {\r\n\tparentElement: HTMLElement;\r\n\tchildren?: React.ReactNode;\r\n}\r\n\r\nexport interface ButtonProps {\r\n\tonClick: () => void;\r\n\ttooltip: string;\r\n\tvisible: boolean;\r\n}\r\n\r\nexport interface ToggleButtonProps extends ButtonProps {\r\n\tisPressed: boolean;\r\n}\r\n\r\nexport interface GroupWrapperProps {\r\n\tonCreateGroupCaptionBarRequested?: (options: CreateGroupCaptionBarRequestOptions) => void;\r\n\tonUpdateGroupCaptionBarRequested?: (options: UpdateGroupCaptionBarRequestOptions) => void;\r\n\r\n\tonCreateGroupOverlayRequested?: (options: CreateElementRequestOptions) => void;\r\n\r\n\tonCreateFrameCaptionBarRequested?: (options: CreateFrameCaptionBarRequestOptions) => void;\r\n\tonUpdateFrameCaptionBarRequested?: (options: UpdateFrameCaptionBarRequestOptions) => void;\r\n\r\n\tonCreateFrameWindowOverlayRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateFrameWindowOverlayRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateAboveWindowRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonCreateWindowContentOverlayRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonCreateFrameLoadingAnimationRequested?: (options: CreateFrameLoadingAnimationRequestOptions) => void;\r\n\tonCreateBelowWindowRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateAboveTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateAboveTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateBeforeTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateBeforeTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateTabRequested?: (options: CreateTabRequestOptions) => void;\r\n\tonUpdateTabRequested?: (options: CreateTabRequestOptions) => void;\r\n\r\n\tonCreateAfterTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateAfterTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateTabHeaderButtonsRequested?: (options: CreateButtonsOptions) => void;\r\n\r\n\tonCreateTabOverflowPopupRequested?: (options: CreateTabOverflowPopupRequestOptions) => void;\r\n\r\n\tonCreateBelowTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateBelowTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonUpdateFrameRequested?: (options: UpdateFrameRequestOptions) => void;\r\n\tonUpdateStandardButtonRequested?: (options: UpdateStandardButtonRequestOptions) => void;\r\n\tonUpdateCustomButtonsRequested?: (options: UpdateCustomButtonsRequestOptions) => void;\r\n\r\n\tonCreateHtmlButtonsRequested?: (options: CreateButtonsOptions) => void;\r\n\tonRemoveHtmlButtonsRequested?: (options: RemoveRequestOptions) => void;\r\n\r\n\tonRemoveFrameCaptionBarRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveFrameWindowOverlayRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveAboveWindowRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveWindowContentOverlayRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveFrameLoadingAnimationRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveBelowWindowRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveAboveTabsRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveBeforeTabsComponentRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveTabRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveAfterTabsComponentRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveTabHeaderButtonsRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveTabOverflowPopupRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveBelowTabsRequested?: (options: RemoveRequestOptions) => void;\r\n\r\n\tonShowCaptionEditorRequested?: (targetType: TargetType, targetId: string, text: string) => void;\r\n\tonCommitCaptionEditingRequested?: (targetType: TargetType, targetId: string) => void;\r\n\tonHideCaptionEditorRequested?: (targetType: TargetType, targetId: string) => void;\r\n\r\n\tonShowLoadingAnimationRequested?: (targetType: TargetType, targetId: string) => void;\r\n\tonHideLoadingAnimationRequested?: (targetType: TargetType, targetId: string) => void;\r\n\tstyles?: {\r\n\t\ttabs?: {\r\n\t\t\theader?: StylesOptions;\r\n\t\t\tmoveArea?: StylesOptions;\r\n\t\t},\r\n\t\tframe?: {\r\n\t\t\telement?: StylesOptions;\r\n\t\t}\r\n\t};\r\n}\r\n\r\nexport interface CreateGroupCaptionBarRequestOptions extends CreateElementRequestOptions {\r\n\tmoveAreaId: string;\r\n\tcaption: string;\r\n\tvisible: boolean;\r\n\textract: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t},\r\n\tminimize: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\trestore: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tmaximize: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tclose: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tcaptionEditor: {\r\n\t\tshow: boolean;\r\n\t\ttext?: string;\r\n\t};\r\n}\r\n\r\nexport interface UpdateGroupCaptionBarRequestOptions extends CreateGroupCaptionBarRequestOptions {\r\n\r\n}\r\n\r\nexport interface UpdateFrameCaptionBarRequestOptions extends BaseElementOptions {\r\n\r\n}\r\n\r\nexport interface CreateFrameCaptionBarRequestOptions extends CreateButtonsOptions {\r\n\tcaption: string;\r\n\tmoveAreaId: string;\r\n\tchannelSelectorVisible: boolean;\r\n\tselectedChannel: string;\r\n\tselectedChannelColor: string;\r\n\tcaptionEditor: {\r\n\t\tshow: boolean;\r\n\t\ttext?: string;\r\n\t};\r\n\tchannelsMode: \"single\" | \"multi\";\r\n\tselectedChannels: { name: string; color: string }[];\r\n\tchannelRestrictions: {\r\n\t\tread: boolean,\r\n\t\twrite: boolean\r\n\t};\r\n\tchannelLabel: string;\r\n}\r\n\r\nexport interface CreateTabRequestOptions extends CreateElementRequestOptions {\r\n\tcaption: string;\r\n\tselected: boolean;\r\n\tflashing: boolean;\r\n\tpinned: boolean;\r\n\tchannelSelectorVisible: boolean;\r\n\tselectedChannel: string;\r\n\tselectedChannelColor: string;\r\n\tcaptionEditor: {\r\n\t\tshow: boolean;\r\n\t\ttext?: string;\r\n\t};\r\n\tchannelsMode: \"single\" | \"multi\";\r\n\tselectedChannels: { name: string; color: string }[];\r\n\tchannelRestrictions: {\r\n\t\tread: boolean,\r\n\t\twrite: boolean\r\n\t};\r\n\tchannelLabel: string;\r\n}\r\n\r\nexport interface UpdateStandardButtonRequestOptions extends CreateElementRequestOptions {\r\n\tbuttonId: StandardButtons;\r\n\tvisible: boolean;\r\n\ttooltip: string;\r\n\tisPressed: boolean;\r\n}\r\n\r\nexport interface UpdateCustomButtonsRequestOptions extends CreateElementRequestOptions {\r\n\tcustomButtons: UpdateCustomButtonOptions[];\r\n}\r\n\r\nexport interface UpdateCustomButtonOptions {\r\n\tbuttonId: string;\r\n\ttooltip: string;\r\n\timageData: string;\r\n}\r\n\r\nexport interface CreateButtonsOptions extends CreateFrameElementRequestOptions {\r\n\toverflow: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t},\r\n\tfeedback: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tclone: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tsticky: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t\tisPressed: boolean;\r\n\t};\r\n\textract: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tlock: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tunlock: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tminimize: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\trestore: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tmaximize: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tclose: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tcustomButtons: UpdateCustomButtonOptions[],\r\n\thiddenTabsToTheLeft: OverflowedTabInfo[];\r\n\thiddenTabsToTheRight: OverflowedTabInfo[];\r\n}\r\n\r\nexport interface RemoveRequestOptions {\r\n\ttargetId: string;\r\n}\r\n\r\nexport interface BaseElementOptions {\r\n\ttargetId: string;\r\n}\r\n\r\nexport interface CreateElementRequestOptions extends BaseElementOptions {\r\n\tparentElement: HTMLElement;\r\n\ttargetType: TargetType;\r\n\telementId: string;\r\n}\r\n\r\nexport interface CreateFrameElementRequestOptions extends CreateElementRequestOptions {\r\n\tselectedWindow: string;\r\n}\r\n\r\nexport interface OverflowedTabInfo {\r\n\ttitle: string;\r\n\twindowId: string;\r\n}\r\n\r\nexport interface CreateTabOverflowPopupRequestOptions extends CreateElementRequestOptions {\r\n\thiddenTabsToTheLeft: OverflowedTabInfo[];\r\n\thiddenTabsToTheRight: OverflowedTabInfo[];\r\n}\r\n\r\nexport interface CreateFrameLoadingAnimationRequestOptions extends CreateFrameElementRequestOptions {\r\n\tshow: boolean;\r\n}\r\n\r\nexport interface UpdateFrameRequestOptions extends CreateFrameElementRequestOptions {\r\n\thiddenTabsToTheLeft: OverflowedTabInfo[];\r\n\thiddenTabsToTheRight: OverflowedTabInfo[];\r\n}\r\n\r\nexport enum TargetType {\r\n\tGroup = \"group\",\r\n\tFrame = \"frame\",\r\n\tTabBar = \"tabBar\",\r\n\tTab = \"tab\",\r\n\tHtmlButtons = \"html\"\r\n}\r\n\r\nexport enum StandardButtons {\r\n\tOverflow = \"overflow\",\r\n\tFeedback = \"feedback\",\r\n\tClone = \"clone\",\r\n\tSticky = \"sticky\",\r\n\tExtract = \"extract\",\r\n\tLock = \"lock\",\r\n\tUnlock = \"unlock\",\r\n\tMinimize = \"minimize\",\r\n\tMaximize = \"maximize\",\r\n\tRestore = \"restore\",\r\n\tClose = \"close\",\r\n}\r\n\r\nexport interface ElementCreationWrapperState {\r\n\tgroupCaptionBar?: CreateGroupCaptionBarRequestOptions;\r\n\tgroupOverlay?: CreateElementRequestOptions;\r\n\tframeCaptionBars: { [targetId: string]: CreateFrameCaptionBarRequestOptions };\r\n\tframeWindowOverlays: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\twindowContentOverlays: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\tframeLoadingAnimations: { [targetId: string]: CreateFrameLoadingAnimationRequestOptions };\r\n\taboveWindowZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\tbelowWindowZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\taboveTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\tbeforeTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\ttabElements: { [targetId: string]: CreateTabRequestOptions };\r\n\tafterTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\ttabHeaderButtons: { [targetId: string]: CreateButtonsOptions };\r\n\ttabOverflowPopups: { [targetId: string]: CreateTabOverflowPopupRequestOptions };\r\n\tbelowTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\thtmlButtons: { [targetId: string]: CreateButtonsOptions };\r\n}\r\n\r\nexport interface ExternalLibraryFactory {\r\n\treadonly groupId: string;\r\n\tfocusPage(): void;\r\n\tfocusFrame(frameId: string): void;\r\n\tfocusGroup(): void;\r\n\tonStandardButtonClick(targetType: TargetType, targetId: string, buttonId: StandardButtons): void;\r\n\tonCustomButtonClick(targetType: TargetType, targetId: string, buttonId: string): void;\r\n\tonTabCloseButtonClick(targetId: string): void;\r\n\tonTabChannelSelectorClick(targetId: string, channelSelectorBounds: Bounds): void;\r\n\tonFrameChannelSelectorClick(targetId: string, channelSelectorBounds: Bounds): void;\r\n\tonMoveAreaChanged(targetType: TargetType, targetId: string): void;\r\n\tonCaptionTextBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void;\r\n\tonCaptionEditorVisibleChanged(targetType: TargetType, targetId: string, visible: boolean): void;\r\n\tonCaptionEditorBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void;\r\n\tcommitCaptionEditing(targetType: TargetType, targetId: string, text: string): void;\r\n\r\n\tupdateTabHeaderStyles(styles: StylesOptions): void;\r\n\tupdateTabMoveAreaStyles(styles: StylesOptions): void;\r\n\tupdateFrameStyles(styles: StylesOptions): void;\r\n\r\n\tselectTab(windowId: string): void;\r\n\topenTabOverflowPopup(frameId: string, location: Location): void\r\n\r\n\taddTabContainerClass(windowId: string, className: string): void;\r\n\tremoveTabContainerClass(windowId: string, className: string): void;\r\n}\r\n\r\nexport interface WebGroupsManager {\r\n\tinit: (factory?: any) => void;\r\n\tnotifyMoveAreaChanged(): void;\r\n\tregisterPopup(element: HTMLElement): string;\r\n\tremovePopup(element: HTMLElement): void;\r\n\tremovePopupById(elementId: string): void;\r\n\tsubscribeForWindowFocused(cb: () => any): () => void;\r\n\tunmount(): void;\r\n\texternalLibraryFactory: ExternalLibraryFactory;\r\n}\r\n\r\nexport interface Size {\r\n\twidth: number;\r\n\theight: number;\r\n}\r\n\r\nexport interface Location {\r\n\tleft: number;\r\n\ttop: number;\r\n}\r\n\r\nexport interface StylesOptions {\r\n\tcss?: Partial<NonMethods<CSSStyleDeclaration>>;\r\n\tclasses?: string[]\r\n}\r\n\r\nexport interface Bounds extends Size, Location {\r\n}\r\n","\"use strict\";\nfunction createRegistry(options) {\n if (options && options.errorHandling\n && typeof options.errorHandling !== \"function\"\n && options.errorHandling !== \"log\"\n && options.errorHandling !== \"silent\"\n && options.errorHandling !== \"throw\") {\n throw new Error(\"Invalid options passed to createRegistry. Prop errorHandling should be [\\\"log\\\" | \\\"silent\\\" | \\\"throw\\\" | (err) => void], but \" + typeof options.errorHandling + \" was passed\");\n }\n var _userErrorHandler = options && typeof options.errorHandling === \"function\" && options.errorHandling;\n var callbacks = {};\n function add(key, callback, replayArgumentsArr) {\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey) {\n callbacksForKey = [];\n callbacks[key] = callbacksForKey;\n }\n callbacksForKey.push(callback);\n if (replayArgumentsArr) {\n setTimeout(function () {\n replayArgumentsArr.forEach(function (replayArgument) {\n var _a;\n if ((_a = callbacks[key]) === null || _a === void 0 ? void 0 : _a.includes(callback)) {\n try {\n if (Array.isArray(replayArgument)) {\n callback.apply(undefined, replayArgument);\n }\n else {\n callback.apply(undefined, [replayArgument]);\n }\n }\n catch (err) {\n _handleError(err, key);\n }\n }\n });\n }, 0);\n }\n return function () {\n var allForKey = callbacks[key];\n if (!allForKey) {\n return;\n }\n allForKey = allForKey.reduce(function (acc, element, index) {\n if (!(element === callback && acc.length === index)) {\n acc.push(element);\n }\n return acc;\n }, []);\n if (allForKey.length === 0) {\n delete callbacks[key];\n }\n else {\n callbacks[key] = allForKey;\n }\n };\n }\n function execute(key) {\n var argumentsArr = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n argumentsArr[_i - 1] = arguments[_i];\n }\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey || callbacksForKey.length === 0) {\n return [];\n }\n var results = [];\n callbacksForKey.forEach(function (callback) {\n try {\n var result = callback.apply(undefined, argumentsArr);\n results.push(result);\n }\n catch (err) {\n results.push(undefined);\n _handleError(err, key);\n }\n });\n return results;\n }\n function _handleError(exceptionArtifact, key) {\n var errParam = exceptionArtifact instanceof Error ? exceptionArtifact : new Error(exceptionArtifact);\n if (_userErrorHandler) {\n _userErrorHandler(errParam);\n return;\n }\n var msg = \"[ERROR] callback-registry: User callback for key \\\"\" + key + \"\\\" failed: \" + errParam.stack;\n if (options) {\n switch (options.errorHandling) {\n case \"log\":\n return console.error(msg);\n case \"silent\":\n return;\n case \"throw\":\n throw new Error(msg);\n }\n }\n console.error(msg);\n }\n function clear() {\n callbacks = {};\n }\n function clearKey(key) {\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey) {\n return;\n }\n delete callbacks[key];\n }\n return {\n add: add,\n execute: execute,\n clear: clear,\n clearKey: clearKey\n };\n}\n;\ncreateRegistry.default = createRegistry;\nmodule.exports = createRegistry;\n//# sourceMappingURL=index.js.map","import { Bounds, Location, StandardButtons, StylesOptions, TargetType, WebGroupsManager } from \"./types/internal\";\r\nimport callbackRegistry from \"callback-registry\";\r\n\r\ndeclare const window: Window & { webGroupsManager: WebGroupsManager };\r\n\r\nclass WebGroupsManagerDecorator {\r\n private readonly registry = callbackRegistry();\r\n public readonly skipFocusStyle = \"t42-skip-focus\";\r\n\r\n public init(io: any, componentFactory: any) {\r\n if (window.webGroupsManager) {\r\n window.webGroupsManager.init(componentFactory);\r\n } else {\r\n throw new Error(`Could not find the webGroupsManager the groups library should be loaded as a group application`);\r\n }\r\n }\r\n\r\n public getGroupId() {\r\n return window.webGroupsManager.externalLibraryFactory.groupId;\r\n }\r\n\r\n public notifyMoveAreaChanged() {\r\n window.webGroupsManager.notifyMoveAreaChanged();\r\n }\r\n\r\n public registerPopup(element: HTMLElement): string {\r\n return window.webGroupsManager.registerPopup(element);\r\n }\r\n\r\n public removePopup(element: HTMLElement): void {\r\n return window.webGroupsManager.removePopup(element);\r\n }\r\n\r\n public removePopupById(elementId: string): void {\r\n return window.webGroupsManager.removePopupById(elementId);\r\n }\r\n\r\n public subscribeForWindowFocused(cb: () => any): () => void {\r\n return window.webGroupsManager.subscribeForWindowFocused(cb);\r\n }\r\n\r\n public unmount(): void {\r\n return window.webGroupsManager.unmount();\r\n }\r\n\r\n public requestPageFocus(): void {\r\n return window.webGroupsManager.externalLibraryFactory.focusPage();\r\n }\r\n\r\n public requestFrameFocus(frameId: string): void {\r\n return window.webGroupsManager.externalLibraryFactory.focusFrame(frameId);\r\n }\r\n\r\n public requestGroupFocus(): void {\r\n return window.webGroupsManager.externalLibraryFactory.focusGroup();\r\n }\r\n\r\n public onCloseButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Close);\r\n }\r\n\r\n public onRestoreButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Restore);\r\n }\r\n\r\n public onMaximizeButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Maximize);\r\n }\r\n\r\n public onMinimizeButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Minimize);\r\n }\r\n\r\n public onLockButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Lock);\r\n }\r\n\r\n public onUnlockButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Unlock);\r\n }\r\n\r\n public onOverflowButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Overflow);\r\n }\r\n\r\n public onFeedbackButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Feedback);\r\n }\r\n\r\n public onCloneButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Clone);\r\n }\r\n\r\n public onStickyButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Sticky);\r\n }\r\n\r\n public onExtractButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Extract);\r\n }\r\n\r\n public closeTab(targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onTabCloseButtonClick(targetId);\r\n }\r\n\r\n public clickCustomButton(targetId: string, buttonId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onCustomButtonClick(TargetType.Frame, targetId, buttonId);\r\n }\r\n\r\n public onGroupMoveAreaChanged(targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onMoveAreaChanged(TargetType.Group, targetId);\r\n }\r\n\r\n public onTabChannelSelectorClick(targetId: string, selectorBounds: Bounds): void {\r\n window.webGroupsManager.externalLibraryFactory.onTabChannelSelectorClick(targetId, selectorBounds);\r\n }\r\n\r\n public onFrameChannelSelectorClick(targetId: string, selectorBounds: Bounds): void {\r\n window.webGroupsManager.externalLibraryFactory.onFrameChannelSelectorClick(targetId, selectorBounds);\r\n }\r\n\r\n public onCaptionTextBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.onCaptionTextBoundsChanged !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.onCaptionTextBoundsChanged(targetType, targetId, bounds);\r\n }\r\n\r\n public onCaptionEditorVisibleChanged(targetType: TargetType, targetId: string, visible: boolean): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.onCaptionEditorVisibleChanged !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.onCaptionEditorVisibleChanged(targetType, targetId, visible);\r\n }\r\n\r\n public onCaptionEditorBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.onCaptionEditorBoundsChanged !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.onCaptionEditorBoundsChanged(targetType, targetId, bounds);\r\n }\r\n\r\n public commitCaptionEditing(targetType: TargetType, targetId: string, text: string): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.commitCaptionEditing !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.commitCaptionEditing(targetType, targetId, text);\r\n }\r\n\r\n public onCommitCaptionEditingRequested(targetType: TargetType, targetId: string, callback: () => void): () => void {\r\n return this.registry.add(`${targetType}-${targetId}`, callback);\r\n }\r\n\r\n public requestCommitCaptionEditing(targetType: TargetType, targetId: string) {\r\n this.registry.execute(`${targetType}-${targetId}`);\r\n }\r\n\r\n public updateTabHeaderStyles(styles: StylesOptions) {\r\n window.webGroupsManager.externalLibraryFactory.updateTabHeaderStyles(styles);\r\n }\r\n\r\n public updateTabMoveAreaStyles(styles: StylesOptions) {\r\n window.webGroupsManager.externalLibraryFactory.updateTabMoveAreaStyles(styles);\r\n }\r\n\r\n public updateFrameStyles(styles: StylesOptions) {\r\n window.webGroupsManager.externalLibraryFactory.updateFrameStyles(styles);\r\n }\r\n public selectTab(windowId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.selectTab(windowId);\r\n }\r\n\r\n public addTabContainerClass(windowId: string, className: string): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.addTabContainerClass !== \"function\") {\r\n console.warn(\"The method addTabContainerClass is not supported by the current version of the library\");\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.addTabContainerClass(windowId, className);\r\n }\r\n\r\n public removeTabContainerClass(windowId: string, className: string): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.removeTabContainerClass !== \"function\") {\r\n console.warn(\"The method removeTabContainerClass is not supported by the current version of the library\");\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.removeTabContainerClass(windowId, className);\r\n }\r\n\r\n public openTabOverflowPopup(frameId: string, location: Location): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.openTabOverflowPopup !== \"function\") {\r\n console.warn(\"The method openTabOverflowPopup is not supported by the current version of the library\");\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.openTabOverflowPopup(frameId, location);\r\n }\r\n}\r\n\r\nexport default new WebGroupsManagerDecorator();","import React from \"react\";\r\nimport { BaseButtonProps } from \"../../types/defaultComponents\";\r\nimport webGroupsManager from \"../../webGroupsManager\";\r\n\r\nconst BaseButton: React.FC<BaseButtonProps> = ({ outerElement, innerElement }) => {\r\n return <li {...outerElement} data-testid=\"outer-element\" className={`${webGroupsManager.skipFocusStyle} ${outerElement.className}`}>\r\n <div {...innerElement}>\r\n </div>\r\n </li>\r\n}\r\n\r\nexport default BaseButton;","import React from \"react\";\r\nimport { CloseButtonProps } from \"../../types/defaultComponents\";\r\nimport BaseButton from \"./BaseButton\";\r\n\r\nconst CloseButton: React.FC<CloseButtonProps> = ({ onClick, tooltip }) => {\r\n return <BaseButton\r\n innerElement={{ className: \"t42-standard-button t42-standard-button-close\" }}\r\n outerElement={{ className: \"t42-button t42-caption-bar-button t42-tab-bar-button t42-caption-bar-button-close\", title: tooltip, onClick }} />\r\n}\r\n\r\nexport default CloseButton;","/**\n * A simple guard function:\n *\n * ```js\n * Math.min(Math.max(low, value), high)\n * ```\n */\nfunction guard(low, high, value) {\n return Math.min(Math.max(low, value), high);\n}\n\nclass ColorError extends Error {\n constructor(color) {\n super(`Failed to parse color: \"${color}\"`);\n }\n}\nvar ColorError$1 = ColorError;\n\n/**\n * Parses a color into red, gree, blue, alpha parts\n *\n * @param color the input color. Can be a RGB, RBGA, HSL, HSLA, or named color\n */\nfunction parseToRgba(color) {\n if (typeof color !== 'string') throw new ColorError$1(color);\n if (color.trim().toLowerCase() === 'transparent') return [0, 0, 0, 0];\n let normalizedColor = color.trim();\n normalizedColor = namedColorRegex.test(color) ? nameToHex(color) : color;\n const reducedHexMatch = reducedHexRegex.exec(normalizedColor);\n if (reducedHexMatch) {\n const arr = Array.from(reducedHexMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(r(x, 2), 16)), parseInt(r(arr[3] || 'f', 2), 16) / 255];\n }\n const hexMatch = hexRegex.exec(normalizedColor);\n if (hexMatch) {\n const arr = Array.from(hexMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(x, 16)), parseInt(arr[3] || 'ff', 16) / 255];\n }\n const rgbaMatch = rgbaRegex.exec(normalizedColor);\n if (rgbaMatch) {\n const arr = Array.from(rgbaMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(x, 10)), parseFloat(arr[3] || '1')];\n }\n const hslaMatch = hslaRegex.exec(normalizedColor);\n if (hslaMatch) {\n const [h, s, l, a] = Array.from(hslaMatch).slice(1).map(parseFloat);\n if (guard(0, 100, s) !== s) throw new ColorError$1(color);\n if (guard(0, 100, l) !== l) throw new ColorError$1(color);\n return [...hslToRgb(h, s, l), Number.isNaN(a) ? 1 : a];\n }\n throw new ColorError$1(color);\n}\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i) {\n hash = hash * 33 ^ str.charCodeAt(--i);\n }\n\n /* JavaScript does bitwise operations (like XOR, above) on 32-bit signed\n * integers. Since we want the results to be always positive, convert the\n * signed int to an unsigned by doing an unsigned bitshift. */\n return (hash >>> 0) % 2341;\n}\nconst colorToInt = x => parseInt(x.replace(/_/g, ''), 36);\nconst compressedColorMap = '1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm'.split(' ').reduce((acc, next) => {\n const key = colorToInt(next.substring(0, 3));\n const hex = colorToInt(next.substring(3)).toString(16);\n\n // NOTE: padStart could be used here but it breaks Node 6 compat\n // https://github.com/ricokahler/color2k/issues/351\n let prefix = '';\n for (let i = 0; i < 6 - hex.length; i++) {\n prefix += '0';\n }\n acc[key] = `${prefix}${hex}`;\n return acc;\n}, {});\n\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n */\nfunction nameToHex(color) {\n const normalizedColorName = color.toLowerCase().trim();\n const result = compressedColorMap[hash(normalizedColorName)];\n if (!result) throw new ColorError$1(color);\n return `#${result}`;\n}\nconst r = (str, amount) => Array.from(Array(amount)).map(() => str).join('');\nconst reducedHexRegex = new RegExp(`^#${r('([a-f0-9])', 3)}([a-f0-9])?$`, 'i');\nconst hexRegex = new RegExp(`^#${r('([a-f0-9]{2})', 3)}([a-f0-9]{2})?$`, 'i');\nconst rgbaRegex = new RegExp(`^rgba?\\\\(\\\\s*(\\\\d+)\\\\s*${r(',\\\\s*(\\\\d+)\\\\s*', 2)}(?:,\\\\s*([\\\\d.]+))?\\\\s*\\\\)$`, 'i');\nconst hslaRegex = /^hsla?\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)%\\s*,\\s*([\\d.]+)%(?:\\s*,\\s*([\\d.]+))?\\s*\\)$/i;\nconst namedColorRegex = /^[a-z]+$/i;\nconst roundColor = color => {\n return Math.round(color * 255);\n};\nconst hslToRgb = (hue, saturation, lightness) => {\n let l = lightness / 100;\n if (saturation === 0) {\n // achromatic\n return [l, l, l].map(roundColor);\n }\n\n // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n const huePrime = (hue % 360 + 360) % 360 / 60;\n const chroma = (1 - Math.abs(2 * l - 1)) * (saturation / 100);\n const secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n let red = 0;\n let green = 0;\n let blue = 0;\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n const lightnessModification = l - chroma / 2;\n const finalRed = red + lightnessModification;\n const finalGreen = green + lightnessModification;\n const finalBlue = blue + lightnessModification;\n return [finalRed, finalGreen, finalBlue].map(roundColor);\n};\n\n// taken from:\n// https://github.com/styled-components/polished/blob/a23a6a2bb26802b3d922d9c3b67bac3f3a54a310/src/internalHelpers/_rgbToHsl.js\n\n/**\n * Parses a color in hue, saturation, lightness, and the alpha channel.\n *\n * Hue is a number between 0 and 360, saturation, lightness, and alpha are\n * decimal percentages between 0 and 1\n */\nfunction parseToHsla(color) {\n const [red, green, blue, alpha] = parseToRgba(color).map((value, index) =>\n // 3rd index is alpha channel which is already normalized\n index === 3 ? value : value / 255);\n const max = Math.max(red, green, blue);\n const min = Math.min(red, green, blue);\n const lightness = (max + min) / 2;\n\n // achromatic\n if (max === min) return [0, 0, lightness, alpha];\n const delta = max - min;\n const saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n const hue = 60 * (red === max ? (green - blue) / delta + (green < blue ? 6 : 0) : green === max ? (blue - red) / delta + 2 : (red - green) / delta + 4);\n return [hue, saturation, lightness, alpha];\n}\n\n/**\n * Takes in hsla parts and constructs an hsla string\n *\n * @param hue The color circle (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue\n * @param saturation Percentage of saturation, given as a decimal between 0 and 1\n * @param lightness Percentage of lightness, given as a decimal between 0 and 1\n * @param alpha Percentage of opacity, given as a decimal between 0 and 1\n */\nfunction hsla(hue, saturation, lightness, alpha) {\n return `hsla(${(hue % 360).toFixed()}, ${guard(0, 100, saturation * 100).toFixed()}%, ${guard(0, 100, lightness * 100).toFixed()}%, ${parseFloat(guard(0, 1, alpha).toFixed(3))})`;\n}\n\n/**\n * Adjusts the current hue of the color by the given degrees. Wraps around when\n * over 360.\n *\n * @param color input color\n * @param degrees degrees to adjust the input color, accepts degree integers\n * (0 - 360) and wraps around on overflow\n */\nfunction adjustHue(color, degrees) {\n const [h, s, l, a] = parseToHsla(color);\n return hsla(h + degrees, s, l, a);\n}\n\n/**\n * Darkens using lightness. This is equivalent to subtracting the lightness\n * from the L in HSL.\n *\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction darken(color, amount) {\n const [hue, saturation, lightness, alpha] = parseToHsla(color);\n return hsla(hue, saturation, lightness - amount, alpha);\n}\n\n/**\n * Desaturates the input color by the given amount via subtracting from the `s`\n * in `hsla`.\n *\n * @param amount The amount to desaturate, given as a decimal between 0 and 1\n */\nfunction desaturate(color, amount) {\n const [h, s, l, a] = parseToHsla(color);\n return hsla(h, s - amount, l, a);\n}\n\n// taken from:\n// https://github.com/styled-components/polished/blob/0764c982551b487469043acb56281b0358b3107b/src/color/getLuminance.js\n\n/**\n * Returns a number (float) representing the luminance of a color.\n */\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n function f(x) {\n const channel = x / 255;\n return channel <= 0.04045 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }\n const [r, g, b] = parseToRgba(color);\n return 0.2126 * f(r) + 0.7152 * f(g) + 0.0722 * f(b);\n}\n\n// taken from:\n// https://github.com/styled-components/polished/blob/0764c982551b487469043acb56281b0358b3107b/src/color/getContrast.js\n\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n */\nfunction getContrast(color1, color2) {\n const luminance1 = getLuminance(color1);\n const luminance2 = getLuminance(color2);\n return luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05);\n}\n\n/**\n * Takes in rgba parts and returns an rgba string\n *\n * @param red The amount of red in the red channel, given in a number between 0 and 255 inclusive\n * @param green The amount of green in the red channel, given in a number between 0 and 255 inclusive\n * @param blue The amount of blue in the red channel, given in a number between 0 and 255 inclusive\n * @param alpha Percentage of opacity, given as a decimal between 0 and 1\n */\nfunction rgba(red, green, blue, alpha) {\n return `rgba(${guard(0, 255, red).toFixed()}, ${guard(0, 255, green).toFixed()}, ${guard(0, 255, blue).toFixed()}, ${parseFloat(guard(0, 1, alpha).toFixed(3))})`;\n}\n\n/**\n * Mixes two colors together. Taken from sass's implementation.\n */\nfunction mix(color1, color2, weight) {\n const normalize = (n, index) =>\n // 3rd index is alpha channel which is already normalized\n index === 3 ? n : n / 255;\n const [r1, g1, b1, a1] = parseToRgba(color1).map(normalize);\n const [r2, g2, b2, a2] = parseToRgba(color2).map(normalize);\n\n // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n const alphaDelta = a2 - a1;\n const normalizedWeight = weight * 2 - 1;\n const combinedWeight = normalizedWeight * alphaDelta === -1 ? normalizedWeight : normalizedWeight + alphaDelta / (1 + normalizedWeight * alphaDelta);\n const weight2 = (combinedWeight + 1) / 2;\n const weight1 = 1 - weight2;\n const r = (r1 * weight1 + r2 * weight2) * 255;\n const g = (g1 * weight1 + g2 * weight2) * 255;\n const b = (b1 * weight1 + b2 * weight2) * 255;\n const a = a2 * weight + a1 * (1 - weight);\n return rgba(r, g, b, a);\n}\n\n/**\n * Given a series colors, this function will return a `scale(x)` function that\n * accepts a percentage as a decimal between 0 and 1 and returns the color at\n * that percentage in the scale.\n *\n * ```js\n * const scale = getScale('red', 'yellow', 'green');\n * console.log(scale(0)); // rgba(255, 0, 0, 1)\n * console.log(scale(0.5)); // rgba(255, 255, 0, 1)\n * console.log(scale(1)); // rgba(0, 128, 0, 1)\n * ```\n *\n * If you'd like to limit the domain and range like chroma-js, we recommend\n * wrapping scale again.\n *\n * ```js\n * const _scale = getScale('red', 'yellow', 'green');\n * const scale = x => _scale(x / 100);\n *\n * console.log(scale(0)); // rgba(255, 0, 0, 1)\n * console.log(scale(50)); // rgba(255, 255, 0, 1)\n * console.log(scale(100)); // rgba(0, 128, 0, 1)\n * ```\n */\nfunction getScale(...colors) {\n return n => {\n const lastIndex = colors.length - 1;\n const lowIndex = guard(0, lastIndex, Math.floor(n * lastIndex));\n const highIndex = guard(0, lastIndex, Math.ceil(n * lastIndex));\n const color1 = colors[lowIndex];\n const color2 = colors[highIndex];\n const unit = 1 / lastIndex;\n const weight = (n - unit * lowIndex) / unit;\n return mix(color1, color2, weight);\n };\n}\n\nconst guidelines = {\n decorative: 1.5,\n readable: 3,\n aa: 4.5,\n aaa: 7\n};\n\n/**\n * Returns whether or not a color has bad contrast against a background\n * according to a given standard.\n */\nfunction hasBadContrast(color, standard = 'aa', background = '#fff') {\n return getContrast(color, background) < guidelines[standard];\n}\n\n/**\n * Lightens a color by a given amount. This is equivalent to\n * `darken(color, -amount)`\n *\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction lighten(color, amount) {\n return darken(color, -amount);\n}\n\n/**\n * Takes in a color and makes it more transparent by convert to `rgba` and\n * decreasing the amount in the alpha channel.\n *\n * @param amount The amount to increase the transparency by, given as a decimal between 0 and 1\n */\nfunction transparentize(color, amount) {\n const [r, g, b, a] = parseToRgba(color);\n return rgba(r, g, b, a - amount);\n}\n\n/**\n * Takes a color and un-transparentizes it. Equivalent to\n * `transparentize(color, -amount)`\n *\n * @param amount The amount to increase the opacity by, given as a decimal between 0 and 1\n */\nfunction opacify(color, amount) {\n return transparentize(color, -amount);\n}\n\n/**\n * An alternative function to `readableColor`. Returns whether or not the \n * readable color (i.e. the color to be place on top the input color) should be\n * black.\n */\nfunction readableColorIsBlack(color) {\n return getLuminance(color) > 0.179;\n}\n\n/**\n * Returns black or white for best contrast depending on the luminosity of the\n * given color.\n */\nfunction readableColor(color) {\n return readableColorIsBlack(color) ? '#000' : '#fff';\n}\n\n/**\n * Saturates a color by converting it to `hsl` and increasing the saturation\n * amount. Equivalent to `desaturate(color, -amount)`\n * \n * @param color Input color\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction saturate(color, amount) {\n return desaturate(color, -amount);\n}\n\n/**\n * Takes in any color and returns it as a hex code.\n */\nfunction toHex(color) {\n const [r, g, b, a] = parseToRgba(color);\n let hex = x => {\n const h = guard(0, 255, x).toString(16);\n // NOTE: padStart could be used here but it breaks Node 6 compat\n // https://github.com/ricokahler/color2k/issues/351\n return h.length === 1 ? `0${h}` : h;\n };\n return `#${hex(r)}${hex(g)}${hex(b)}${a < 1 ? hex(Math.round(a * 255)) : ''}`;\n}\n\n/**\n * Takes in any color and returns it as an rgba string.\n */\nfunction toRgba(color) {\n return rgba(...parseToRgba(color));\n}\n\n/**\n * Takes in any color and returns it as an hsla string.\n */\nfunction toHsla(color) {\n return hsla(...parseToHsla(color));\n}\n\nexport { ColorError$1 as ColorError, adjustHue, darken, desaturate, getContrast, getLuminance, getScale, guard, hasBadContrast, hsla, lighten, mix, opacify, parseToHsla, parseToRgba, readableColor, readableColorIsBlack, rgba, saturate, toHex, toHsla, toRgba, transparentize };\n//# sourceMappingURL=index.module.es.js.map\n","import { parseToRgba, readableColorIsBlack } from \"color2k\";\r\n\r\nexport function IsBlackReadable(color: string) {\r\n try {\r\n const rgba = parseToRgba(color);\r\n const r = rgba[0];\r\n const g = rgba[1];\r\n const b = rgba[2];\r\n const displayGamma = 2.2;\r\n const backgroundWeight =\r\n 0.2126 * Math.pow(r / 255.0, displayGamma) +\r\n 0.7152 * Math.pow(g / 255.0, displayGamma) +\r\n 0.0722 * Math.pow(b / 255.0, displayGamma);\r\n return backgroundWeight > Math.pow(0.5, displayGamma);\r\n } catch {\r\n // Fallback to other implementation\r\n }\r\n\r\n try {\r\n return readableColorIsBlack(color);\r\n } catch (error) {\r\n // tslint:disable-next-line: no-console\r\n console.error(`Error while checking readable color for '${color}'`, error);\r\n }\r\n return false;\r\n}\r\n\r\nexport function getChannelDirection(channelRestrictions: { read: boolean, write: boolean }): string {\r\n if (!channelRestrictions) {\r\n return \"\";\r\n }\r\n if (typeof channelRestrictions.read === \"boolean\" && typeof channelRestrictions.write === \"boolean\") {\r\n if (channelRestrictions.read && channelRestrictions.write) {\r\n return \"\";\r\n }\r\n if (channelRestrictions.read) {\r\n return \"subscribe\";\r\n }\r\n if (channelRestrictions.write) {\r\n return \"publish\"\r\n }\r\n return \"\";\r\n } else {\r\n return \"\";\r\n }\r\n};","import React, { useEffect, useRef } from \"react\";\r\nimport { BaseChannelSelectorProps } from \"../../types/defaultComponents\";\r\nimport { IsBlackReadable } from \"./utils\";\r\n\r\nconst BaseChannelSelector: React.FC<BaseChannelSelectorProps> = ({ outsideClass, contentClass, showSelector, selectedChannel, selectedChannelColor, direction, channelLabel }) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const wrappedOnClick = () => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n const bounds = ref.current.getBoundingClientRect();\r\n showSelector({\r\n left: bounds.left,\r\n top: bounds.top,\r\n width: bounds.width,\r\n height: bounds.height,\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n const handler = (e: MouseEvent) => {\r\n e.stopPropagation();\r\n };\r\n const current = ref.current;\r\n current?.addEventListener(\"mousedown\", handler);\r\n return ()=> {\r\n current?.removeEventListener(\"mousedown\", handler);\r\n }\r\n }, [ref]);\r\n\r\n let className = contentClass;\r\n\r\n if (selectedChannel && selectedChannelColor) {\r\n className = `${contentClass} ${IsBlackReadable(selectedChannelColor) ? \"t42-channel-selector-content-dark\" : \"t42-channel-selector-content-light\"}`;\r\n }\r\n\r\n const style = {\r\n background: selectedChannelColor\r\n };\r\n\r\n return <div title={selectedChannel ?? \"\"} ref={ref}\r\n style={style}\r\n onClick={wrappedOnClick} className={`t42-buttons ${outsideClass}`} >\r\n {channelLabel ?\r\n <div className={`${className} ${direction ? \"icon\" : \"\"}`}>\r\n {channelLabel}\r\n {direction && <i className={`icon-${direction}`}></i>}\r\n </div> : <div className={className}>\r\n </div>}\r\n </div >\r\n};\r\n\r\nexport default BaseChannelSelector;\r\n","import React from \"react\";\r\nimport { FlatChannelSelectorProps } from \"../../types/defaultComponents\";\r\nimport BaseChannelSelector from \"./BaseChannelSelector\";\r\nimport { getChannelDirection } from \"./utils\";\r\n\r\nconst FlatChannelSelector: React.FC<FlatChannelSelectorProps> = ({ showSelector, selectedChannel, selectedChannelColor, channelRestrictions, channelLabel }) => {\r\n return <BaseChannelSelector outsideClass={channelLabel ? \"t42-frame-caption-bar-element t42-frame-channel-selector t42-channel-selector-direction\" : \"t42-frame-caption-bar-element t42-frame-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-frame-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannel={selectedChannel}\r\n selectedChannelColor={selectedChannelColor}\r\n direction={getChannelDirection(channelRestrictions)}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default FlatChannelSelector;","import React from \"react\";\r\nimport { ExtractButtonProps } from \"../../types/defaultComponents\";\r\nimport BaseButton from \"./BaseButton\";\r\n\r\nconst ExtractButton: React.FC<ExtractButtonProps> = ({ onClick, tooltip }) => {\r\n return <BaseButton\r\n innerElement={{ className: \"t42-standard-button t42-standard-button-extract\" }}\r\n outerElement={{ className: \"t42-button t42-caption-bar-button t42-tab-bar-button t42-caption-bar-button-extract\", title: tooltip, onClick }} />\r\n}\r\n\r\nexport default ExtractButton;","import React from \"react\";\r\nimport { FeedbackButtonProps } from \"../../types/defaultComponents\";\r\nimport BaseButton from \"./BaseButton\";\r\n\r\nconst FeedbackButton: React.FC<FeedbackButtonProps> = ({ onClick, tooltip }) => {\r\n return <BaseButton\r\n innerElement={{ className: \"t42-standard-button t42-standard-button-feedback\" }}\r\n outerElement={{ className: \"t42-button t42-caption-bar-button t42-tab-bar-button t42-caption-bar-button-feedback\", title: tooltip, onClick }} />\r\n}\r\n\r\nexport default FeedbackButton;","import React from \"react\";\r\nimport { CloneButtonProps } from \"../../types/defaultComponents\";\r\nimport BaseButton from \"./BaseButton\";\r\n\r\nconst CloneButton: React.FC<CloneButtonProps> = ({ onClick, tooltip }) => {\r\n return <BaseButton\r\n innerElement={{ className: \"t42-standard-button t42-standard-button-clone\" }}\r\n outerElement={{ className: \"t42-button t42-caption-bar-button t42-tab-bar-button t42-caption-bar-button-clone\", title: tooltip, onClick }} />\r\n}\r\n\r\nexport default CloneButton;","import React from \"react\";\nimport { StickyButtonProps } from \"../../types/defaultComponents\";\nimport BaseButton from \"./BaseButton\";\n\nconst StickyButton: React.FC<StickyButtonProps> = ({ onClick, tooltip, isPressed }) => {\n const outerElementClassName = \"t42-button t42-caption-bar-button t42-tab-bar-button t42-caption-bar-button-sticky\";\n return <BaseButton\n innerElement={{ className: \"t42-standard-button t42-standard-button-sticky\" }}\n outerElement={{ className: isPressed ? outerElementClassName +\" active\" : outerElementClassName, title: tooltip, onClick }} />\n}\n\nexport default StickyButton;","import React from \"react\";\r\nimport { LockButtonProps } from \"../../types/defaultComponents\";\r\nimport BaseButton from \"./BaseButton\";\r\n\r\nconst LockButton: React.FC<LockButtonProps> = ({ tooltip, onClick }) => {\r\n return <BaseButton\r\n innerElement={{ className: \"t42-standard-button t42-standard-button-lock\" }}\r\n outerElement={{ className: \"t42-button t42-caption-bar-button t42-tab-bar-button t42-caption-bar-button-lock\", title: tooltip, onClick }} />\r\n}\r\n\r\nexport default LockButton;","import React from \"react\";\r\nimport { MaximizeButtonProps } from \"../../types/defaultComponents\";\r\nimport BaseButton from \"./BaseButton\";\r\n\r\nconst MaximizeButton: React.FC<MaximizeButtonProps> = ({ tooltip, onClick }) => {\r\n return <BaseButton\r\n innerElement={{ className: \"t42-standard-button t42-standard-button-maximize\" }}\r\n outerElement={{ className: \"t42-button t42-caption-bar-button t42-tab-bar-button t42-caption-bar-button-maximize\", title: tooltip, onClick }} />\r\n}\r\n\r\nexport default MaximizeButton;","import React from \"react\";\r\nimport { MinimizeButtonProps } from \"../../types/defaultComponents\";\r\nimport BaseButton from \"./BaseButton\";\r\n\r\nconst MinimizeButton: React.FC<MinimizeButtonProps> = ({ onClick, tooltip }) => {\r\n return <BaseButton\r\n innerElement={{ className: \"t42-standard-button t42-standard-button-minimize\" }}\r\n outerElement={{ className: \"t42-button t42-caption-bar-button t42-tab-bar-button t42-caption-bar-button-minimize\", title: tooltip, onClick }} />\r\n}\r\n\r\nexport default MinimizeButton;","import React from \"react\";\r\nimport { RestoreButtonProps } from \"../../types/defaultComponents\";\r\nimport BaseButton from \"./BaseButton\";\r\n\r\nconst RestoreButton: React.FC<RestoreButtonProps> = ({ tooltip, onClick }) => {\r\n return <BaseButton\r\n innerElement={{ className: \"t42-standard-button t42-standard-button-restore\" }}\r\n outerElement={{ className: \"t42-button t42-caption-bar-button t42-tab-bar-button t42-caption-bar-button-restore\", title: tooltip, onClick }} />\r\n}\r\n\r\nexport default RestoreButton;","import React from \"react\";\r\nimport { UnlockButtonProps } from \"../../types/defaultComponents\";\r\nimport BaseButton from \"./BaseButton\";\r\n\r\nconst UnlockButton: React.FC<UnlockButtonProps> = ({ tooltip, onClick }) => {\r\n return <BaseButton\r\n innerElement={{ className: \"t42-standard-button t42-standard-button-unlock\" }}\r\n outerElement={{ className: \"t42-button t42-caption-bar-button t42-tab-bar-button t42-caption-bar-button-unlock\", title: tooltip, onClick }} />\r\n}\r\n\r\nexport default UnlockButton;","import React from \"react\";\nimport BaseButton from \"./BaseButton\";\nimport { CustomButtonProps } from \"../../types/defaultComponents\";\n\nconst CustomButton: React.FC<CustomButtonProps> = ({ onClick, tooltip, imageData }) => {\n return <BaseButton\n innerElement={{ className: \"t42-custom-button\", style: {backgroundImage: `url(\"${imageData}\")`} }}\n outerElement={{ className: \"t42-button t42-caption-bar-button t42-tab-bar-button\", title: tooltip, onClick }} />\n}\n\nexport default CustomButton;","import React from \"react\";\r\nimport { FlatButtonsProps } from \"../../types/defaultComponents\";\r\nimport CloseButton from \"../buttons/CloseButton\";\r\nimport ExtractButton from \"../buttons/ExtractButton\";\r\nimport FeedbackButton from \"../buttons/FeedbackButton\";\r\nimport CloneButton from \"../buttons/CloneButton\";\r\nimport StickyButton from \"../buttons/StickyButton\";\r\nimport LockButton from \"../buttons/LockButtons\";\r\nimport MaximizeButton from \"../buttons/MaximizeButton\";\r\nimport MinimizeButton from \"../buttons/MinimizeButton\";\r\nimport RestoreButton from \"../buttons/RestoreButton\";\r\nimport UnlockButton from \"../buttons/UnlockButton\";\r\nimport CustomButton from \"../buttons/CustomButton\";\r\n\r\nconst FlatButtons: React.FC<FlatButtonsProps> = ({ extract, minimize, maximize, restore, close, lock, unlock, feedback, clone, sticky, customButtons }) => {\r\n return <div className=\"t42-buttons-container t42-frame-caption-bar-element\">\r\n <ul className=\"t42-buttons t42-tab-bar-element\">\r\n {\r\n customButtons.map(customButton => {\r\n return customButton.visible && <CustomButton key={customButton.buttonId} {...customButton} />\r\n })\r\n }\r\n </ul>\r\n <ul className=\"t42-buttons t42-frame-caption-bar-element\">\r\n {feedback?.visible && <FeedbackButton {...feedback} />}\r\n {clone?.visible && <CloneButton {...clone} />}\r\n {sticky?.visible && <StickyButton {...sticky} />}\r\n {extract?.visible && <ExtractButton {...extract} />}\r\n {lock?.visible && <LockButton {...lock} />}\r\n {unlock?.visible && <UnlockButton {...unlock} />}\r\n {minimize?.visible && <MinimizeButton {...minimize} />}\r\n {maximize?.visible && <MaximizeButton {...maximize} />}\r\n {restore?.visible && <RestoreButton {...restore} />}\r\n {close?.visible && <CloseButton {...close} />}\r\n </ul>\r\n </div>\r\n}\r\n\r\nexport default FlatButtons;","import { Bounds } from \"./types/internal\";\r\n\r\nexport const waitForWindow = (io: any, windowId: string): Promise<any> => {\r\n return new Promise((res, rej) => {\r\n const unsub = io.windows.onWindowAdded((w: any) => {\r\n if (w.id === windowId) {\r\n res(w);\r\n unsub();\r\n }\r\n });\r\n\r\n const windowInCollection = io.windows.list().find((w: any) => w.id === windowId);\r\n if (windowInCollection) {\r\n res(windowInCollection);\r\n unsub();\r\n }\r\n });\r\n}\r\n\r\nexport const getElementBounds = (element: HTMLElement): Bounds => {\r\n const bounds = element.getBoundingClientRect();\r\n\r\n return {\r\n left: bounds.left,\r\n top: bounds.top,\r\n width: bounds.width,\r\n height: bounds.height\r\n }\r\n}","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array<Array>} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array<ResizeObserverSPI>}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the <html> itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","import React, { useLayoutEffect } from \"react\";\r\nimport { getElementBounds } from \"../../utils\";\r\nimport ResizeObserver from 'resize-observer-polyfill';\r\nimport { UseEditableCaptionOptions } from \"../../types/defaultComponents\";\r\n\r\nfunction useEditableCaption(ref: React.RefObject<HTMLElement>, options: UseEditableCaptionOptions): void {\r\n useLayoutEffect(() => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n\r\n const observer = new ResizeObserver(() => {\r\n if (ref.current && typeof options.notifyBoundsChanged === \"function\") {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n });\r\n\r\n observer.observe(ref.current);\r\n\r\n if (ref.current && typeof options.notifyBoundsChanged === \"function\") {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n\r\n return () => {\r\n observer.disconnect();\r\n }\r\n }, [ref]);\r\n}\r\n\r\nexport default useEditableCaption;\r\n\r\n","import React, { useRef } from \"react\";\r\nimport { FlatCaptionProps } from \"../../types/defaultComponents\";\r\nimport useEditableCaption from \"../captionEditor/useEditableCaption\";\r\n\r\nconst FlatCaption: React.FC<FlatCaptionProps> = ({ caption, notifyBoundsChanged }) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n\r\n useEditableCaption(ref, { notifyBoundsChanged });\r\n\r\n return <div ref={ref} className=\"t42-caption t42-title t42-frame-caption-bar-element\">\r\n {caption}\r\n </div>\r\n}\r\n\r\n\r\nexport default FlatCaption;","import React, { useEffect } from \"react\";\r\nimport { getElementBounds } from \"../../utils\";\r\nimport ResizeObserver from 'resize-observer-polyfill';\r\nimport { UseCaptionEditorOptions } from \"../../types/defaultComponents\";\r\n\r\nfunction useCaptionEditor(ref: React.RefObject<HTMLElement>, options: UseCaptionEditorOptions): void {\r\n useEffect(() => {\r\n if (!ref?.current) {\r\n return;\r\n }\r\n options.notifyEditorVisibilityChanged(true);\r\n const observer = new ResizeObserver(() => {\r\n if (ref.current) {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n });\r\n\r\n observer.observe(ref.current);\r\n\r\n if (ref.current) {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n\r\n return () => {\r\n options.notifyEditorVisibilityChanged(false);\r\n observer.disconnect();\r\n }\r\n }, [ref]);\r\n}\r\n\r\nexport default useCaptionEditor;","import React, { useEffect } from \"react\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport webGroupsManager from \"../../webGroupsManager\";\r\n\r\nfunction useCommitEditingRequested(targetType: TargetType, targetId: string, text: string): void {\r\n useEffect(() => {\r\n const unsub = webGroupsManager.onCommitCaptionEditingRequested(targetType, targetId, () => {\r\n webGroupsManager.commitCaptionEditing(targetType, targetId, text);\r\n });\r\n return () => {\r\n unsub();\r\n }\r\n }, [targetType, targetId, text]);\r\n}\r\n\r\nexport default useCommitEditingRequested;\r\n\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { CaptionEditorProps, } from \"../../types/defaultComponents\";\r\nimport useCaptionEditor from \"./useCaptionEditor\";\r\nimport useCommitEditingRequested from \"./useCommitEditingRequested\";\r\n\r\nconst CaptionEditor: React.FC<CaptionEditorProps> = ({ className,\r\n commitChanges,\r\n hideEditor,\r\n notifyBoundsChanged,\r\n caption,\r\n notifyEditorVisibilityChanged,\r\n targetType,\r\n targetId }) => {\r\n const [captionInEditor, setCaptionInEditor] = useState(caption);\r\n const [inputWidth, setInputWidth] = useState(0);\r\n const ref = useRef<HTMLInputElement>(null);\r\n const measurementRef = useRef<HTMLSpanElement>(null);\r\n\r\n const onBlur = () => {\r\n commitChanges(captionInEditor);\r\n }\r\n\r\n const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n setCaptionInEditor(e.target.value);\r\n }\r\n\r\n const onKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === \"Enter\") {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n const onKeyUp = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === \"Escape\") {\r\n hideEditor();\r\n } else if (e.key === \"Enter\") {\r\n commitChanges(captionInEditor);\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n useCaptionEditor(ref, { notifyBoundsChanged, notifyEditorVisibilityChanged });\r\n useCommitEditingRequested(targetType, targetId, captionInEditor);\r\n\r\n useEffect(() => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n const onMouseDown = (e: MouseEvent) => {\r\n e.stopPropagation();\r\n };\r\n\r\n const element = ref.current;\r\n element.addEventListener(\"mousedown\", onMouseDown);\r\n\r\n if (ref.current) {\r\n // Focus element on the next tick to have properly focused page\r\n setTimeout(() => {\r\n element?.focus();\r\n element?.select();\r\n }, 0);\r\n }\r\n\r\n return () => {\r\n element?.removeEventListener(\"mousedown\", onMouseDown);\r\n }\r\n }, [ref]);\r\n\r\n useEffect(() => {\r\n if (!measurementRef.current) {\r\n return;\r\n }\r\n\r\n setInputWidth(measurementRef.current.scrollWidth);\r\n }, [measurementRef, captionInEditor]);\r\n\r\n return <>\r\n <input ref={ref}\r\n style={{\r\n width: `${inputWidth}px`\r\n }}\r\n onKeyDown={onKeyDown}\r\n onKeyUp={onKeyUp}\r\n onChange={onChange}\r\n onBlur={onBlur}\r\n value={captionInEditor} className={className} />\r\n <span ref={measurementRef} style={{ visibility: \"hidden\", position: \"absolute\", top: -30000, left: -30000 }}>{captionInEditor}</span>\r\n </>;\r\n}\r\n\r\nexport default CaptionEditor;\r\n","import React from \"react\";\r\nimport { FlatCaptionEditorProps } from \"../../types/defaultComponents\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport CaptionEditor from \"../captionEditor/CaptionEditor\";\r\n\r\nconst FlatCaptionEditor: React.FC<FlatCaptionEditorProps> = (props) => {\r\n return <CaptionEditor {...props} targetId={props.frameId} targetType={TargetType.Frame} className={\"t42-caption-editor t42-frame-caption-bar-element\"} />\r\n}\r\n\r\nexport default FlatCaptionEditor;\r\n","import React from \"react\";\r\nimport { FlatMoveAreaProps } from \"../../types/defaultComponents\";\r\n\r\nconst FlatMoveArea: React.FC<FlatMoveAreaProps> = ({ children, moveAreaId }) => {\r\n return <div id={moveAreaId} className=\"t42-move-area t42-frame-caption-bar-element\">\r\n {children}\r\n </div>\r\n}\r\n\r\n\r\nexport default FlatMoveArea;","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { BaseMultiChannelSelectorProps } from \"../../../types/defaultComponents\";\r\nimport BaseChannelSelector from \"../BaseChannelSelector\";\r\nimport { getChannelDirection } from \"../utils\";\r\n\r\nconst BaseMultiChannelSelector: React.FC<BaseMultiChannelSelectorProps> = ({ outsideClass, contentClass, showSelector, selectedChannels, channelLabel, channelRestrictions }) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const len = selectedChannels.length;\r\n const showBaseChannelSelector = len < 2;\r\n const wrappedOnClick = () => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n\r\n const bounds = ref.current.getBoundingClientRect();\r\n showSelector({\r\n left: bounds.left,\r\n top: bounds.top,\r\n width: bounds.width,\r\n height: bounds.height,\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if (showBaseChannelSelector) {\r\n return;\r\n }\r\n\r\n const handler = (e: MouseEvent) => {\r\n e.stopPropagation();\r\n };\r\n const current = ref.current;\r\n ref.current?.addEventListener(\"mousedown\", handler);\r\n return () => {\r\n current?.removeEventListener(\"mousedown\", handler);\r\n }\r\n }, [ref, showBaseChannelSelector]);\r\n\r\n if (showBaseChannelSelector) {\r\n return <BaseChannelSelector\r\n showSelector={showSelector}\r\n selectedChannel={selectedChannels[0]?.name}\r\n selectedChannelColor={selectedChannels[0]?.color}\r\n outsideClass={outsideClass}\r\n contentClass={contentClass}\r\n channelLabel={channelLabel}\r\n direction={getChannelDirection(channelRestrictions)} />;\r\n }\r\n\r\n const colors = selectedChannels.map((channel) => channel.color) ?? [];\r\n const title = colors.join(\", \");\r\n const lenMax4 = Math.min(len, 4);\r\n const cssClass = `t42-multi-channel-selector-content t42-multi-channel-selector-${lenMax4}`;\r\n let style: any = {};\r\n colors.forEach((color: string, index: number) => {\r\n const colorVarName = `--t42-multi-channel-selector-${lenMax4}-color-${index + 1}`;\r\n style[colorVarName] = color;\r\n });\r\n\r\n return (\r\n <div id=\"basem\" title={title} ref={ref} onClick={wrappedOnClick} className={`t42-buttons ${outsideClass}`}>\r\n <div className={cssClass} style={style} >\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default BaseMultiChannelSelector;\r\n","import React from \"react\";\r\nimport { FlatMultiChannelSelectorProps } from \"../../../types/defaultComponents\";\r\nimport BaseMultiChannelSelector from \"./BaseMultiChannelSelector\";\r\n\r\nconst FlatMultiChannelSelector: React.FC<FlatMultiChannelSelectorProps> = ({ showSelector, selectedChannels, channelRestrictions, channelLabel }) => {\r\n return <BaseMultiChannelSelector outsideClass={channelLabel ? \"t42-frame-caption-bar-element t42-frame-channel-selector t42-channel-selector-direction\" : \"t42-frame-caption-bar-element t42-frame-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-frame-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannels={selectedChannels}\r\n channelRestrictions={channelRestrictions}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default FlatMultiChannelSelector;\r\n","import React from \"react\";\r\nimport { FlatCaptionBarProps } from \"../../types/api\";\r\nimport FlatChannelSelector from \"../channelSelector/FlatChannelSelector\";\r\nimport FlatButtons from \"./FlatButtons\";\r\nimport FlatCaption from \"./FlatCaption\";\r\nimport FlatCaptionEditor from \"./FlatCaptionEditor\";\r\nimport FlatMoveArea from \"./FlatMoveArea\";\r\nimport FlatMultiChannelSelector from \"../channelSelector/multi/FlatMultiChannelSelector\";\r\n\r\nconst FlatCaptionBar: React.FC<FlatCaptionBarProps> = ({ moveAreaId, caption, channels, captionEditor, notifyCaptionBoundsChanged, ...rest }) => {\r\n return (\r\n <div className=\"t42-react-caption-bar\">\r\n {channels?.visible && channels.channelsMode !== \"multi\" && <FlatChannelSelector\r\n showSelector={channels?.showSelector}\r\n selectedChannel={channels?.selectedChannel}\r\n selectedChannelColor={channels?.selectedChannelColor}\r\n channelRestrictions={channels?.channelRestrictions}\r\n channelLabel={channels?.channelLabel} />}\r\n {channels?.visible && channels.channelsMode === \"multi\" && <FlatMultiChannelSelector\r\n showSelector={channels?.showSelector}\r\n selectedChannels={channels?.selectedChannels}\r\n channelRestrictions={channels?.channelRestrictions}\r\n channelLabel={channels?.channelLabel} />}\r\n <FlatMoveArea moveAreaId={moveAreaId}>\r\n {captionEditor.show ? <FlatCaptionEditor {...captionEditor} caption={captionEditor.text!} frameId={rest.frameId} /> : <FlatCaption notifyBoundsChanged={notifyCaptionBoundsChanged} caption={caption} />}\r\n </FlatMoveArea>\r\n <FlatButtons {...rest} />\r\n </div>);\r\n};\r\n\r\nexport default FlatCaptionBar;\r\n","import React from \"react\";\r\nimport { GroupMoveAreaProps } from \"../../types/defaultComponents\";\r\n\r\nconst GroupMoveArea: React.FC<GroupMoveAreaProps> = ({ children, moveAreaId }) => {\r\n return <div id={moveAreaId} className=\"t42-move-area t42-group-caption-bar-element\">\r\n {children}\r\n </div>\r\n}\r\n\r\nexport default GroupMoveArea;","import React from \"react\";\r\nimport { GroupButtonsProps } from \"../../types/defaultComponents\";\r\nimport CloseButton from \"../buttons/CloseButton\";\r\nimport MaximizeButton from \"../buttons/MaximizeButton\";\r\nimport MinimizeButton from \"../buttons/MinimizeButton\";\r\nimport RestoreButton from \"../buttons/RestoreButton\";\r\n\r\nconst GroupButtons: React.FC<GroupButtonsProps> = ({ minimize, restore, maximize, close }) => {\r\n return <div className=\"t42-buttons-container t42-group-caption-bar-element\">\r\n <ul className=\"t42-buttons t42-group-caption-bar-element\">\r\n {minimize?.visible && <MinimizeButton {...minimize} />}\r\n {restore?.visible && <RestoreButton {...restore} />}\r\n {maximize?.visible && <MaximizeButton {...maximize} />}\r\n {close?.visible && <CloseButton {...close} />}\r\n </ul>\r\n </div>\r\n}\r\n\r\nexport default GroupButtons;","import React, { useRef } from \"react\";\r\nimport { GroupCaptionProps } from \"../../types/defaultComponents\";\r\nimport useEditableCaption from \"../captionEditor/useEditableCaption\";\r\n\r\nconst GroupCaption: React.FC<GroupCaptionProps> = ({ caption, notifyBoundsChanged }) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n\r\n useEditableCaption(ref, { notifyBoundsChanged });\r\n\r\n return <div ref={ref} className=\"t42-caption t42-title t42-group-caption-bar-element\">{caption}</div>\r\n}\r\n\r\nexport default GroupCaption;","import React from \"react\";\r\nimport { GroupCaptionEditorProps } from \"../../types/defaultComponents\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport CaptionEditor from \"../captionEditor/CaptionEditor\";\r\n\r\nconst GroupCaptionEditor: React.FC<GroupCaptionEditorProps> = (props) => {\r\n return <CaptionEditor {...props} targetId={props.groupId} targetType={TargetType.Group} className=\"t42-caption-editor t42-group-caption-bar-element\" />\r\n}\r\n\r\nexport default GroupCaptionEditor;\r\n","import React from \"react\";\r\nimport { GroupCaptionBarProps } from \"../../types/api\";\r\nimport GroupMoveArea from \"./GroupMoveArea\";\r\nimport GroupButtons from \"./GroupButtons\";\r\nimport GroupCaption from \"./GroupCaption\";\r\nimport GroupCaptionEditor from \"./GroupCaptionEditor\";\r\n\r\nconst GroupCaptionBar: React.FC<GroupCaptionBarProps> = ({ moveAreaId, targetType, targetId, caption, captionEditor, notifyCaptionBoundsChanged, ...rest }) => {\r\n return <div className=\"t42-react-caption-bar\">\r\n <GroupMoveArea moveAreaId={moveAreaId}>\r\n {captionEditor?.show ?\r\n <GroupCaptionEditor {...captionEditor} groupId={targetId} caption={captionEditor.text!} /> :\r\n <GroupCaption notifyBoundsChanged={notifyCaptionBoundsChanged} caption={caption} />}\r\n </GroupMoveArea>\r\n <GroupButtons {...rest} />\r\n </div>\r\n}\r\n\r\nexport default GroupCaptionBar;","import React from \"react\";\r\nimport { TabChannelSelectorProps } from \"../../types/defaultComponents\";\r\nimport BaseChannelSelector from \"./BaseChannelSelector\";\r\nimport { getChannelDirection } from \"./utils\";\r\n\r\nconst TabChannelSelector: React.FC<TabChannelSelectorProps> = ({ showSelector, selectedChannel, selectedChannelColor, channelRestrictions, channelLabel }) => {\r\n return <BaseChannelSelector outsideClass={channelLabel ? \"t42-tab-bar-element t42-tab-channel-selector t42-channel-selector-direction\" : \"t42-tab-bar-element t42-tab-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-tab-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannel={selectedChannel}\r\n selectedChannelColor={selectedChannelColor}\r\n direction={getChannelDirection(channelRestrictions)}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default TabChannelSelector;","import React from \"react\";\r\nimport { TabMultiChannelSelectorProps } from \"../../../types/defaultComponents\";\r\nimport BaseMultiChannelSelector from \"./BaseMultiChannelSelector\";\r\n\r\nconst TabMultiChannelSelector: React.FC<TabMultiChannelSelectorProps> = ({ showSelector, selectedChannels, channelRestrictions, channelLabel }) => {\r\n return <BaseMultiChannelSelector outsideClass={channelLabel ? \"t42-tab-bar-element t42-tab-channel-selector t42-channel-selector-direction\" : \"t42-tab-bar-element t42-tab-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-tab-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannels={selectedChannels}\r\n channelRestrictions={channelRestrictions}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default TabMultiChannelSelector;\r\n","import React, { useRef } from \"react\";\r\nimport { TabCaptionProps } from \"../../types/defaultComponents\";\r\nimport useEditableCaption from \"../captionEditor/useEditableCaption\";\r\n\r\nconst TabCaption: React.FC<TabCaptionProps> = ({ caption, selected, notifyBoundsChanged }) => {\r\n const normalClassName = \"t42-caption t42-tab-caption\";\r\n const selectedClassName = \"t42-caption t42-tab-caption t42-selected-tab-caption\";\r\n const ref = useRef<HTMLDivElement>(null);\r\n\r\n useEditableCaption(ref, { notifyBoundsChanged });\r\n\r\n return <div ref={ref} className={selected ? selectedClassName : normalClassName}>{caption}</div>\r\n}\r\n\r\nexport default TabCaption;","import React from \"react\";\r\nimport { TabCaptionEditorProps } from \"../../types/defaultComponents\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport CaptionEditor from \"../captionEditor/CaptionEditor\";\r\n\r\nconst TabCaptionEditor: React.FC<TabCaptionEditorProps> = (props) => {\r\n const normalClassName = \"t42-caption-editor t42-tab-caption-editor t42-caption t42-tab-caption\";\r\n const selectedClassName = \"t42-caption-editor t42-tab-caption-editor t42-caption t42-tab-caption t42-selected-tab-caption t42-selected-tab-element\";\r\n\r\n return <CaptionEditor {...props}\r\n targetType={TargetType.Tab}\r\n targetId={props.windowId}\r\n className={props.selected ? selectedClassName : normalClassName} />\r\n}\r\n\r\nexport default TabCaptionEditor;\r\n","import React, { useEffect, useRef } from \"react\";\r\nimport { TabCloseButtonProps } from \"../../types/defaultComponents\";\r\n\r\nconst TabCloseButton: React.FC<TabCloseButtonProps> = ({ selected, close }) => {\r\n const normalClassName = \"t42-tab-close-button t42-tab-bar-element\";\r\n const selectedClassName = \"t42-tab-close-button t42-tab-bar-element t42-selected-tab-close-button t42-selected-tab-element\";\r\n\r\n const normalContentClassName = \"t42-tab-close-button-content\";\r\n const selectedContentClassName = \"t42-tab-close-button-content t42-selected-tab-close-button-content\";\r\n\r\n const ref = useRef<HTMLDivElement>(null);\r\n\r\n useEffect(() => {\r\n ref.current?.addEventListener(\"mousedown\", (e) => {\r\n e.stopPropagation();\r\n });\r\n }, [ref]);\r\n\r\n return <div ref={ref} onClick={close} className={selected ? selectedClassName : normalClassName} title=\"close\">\r\n <div className={selected ? selectedContentClassName : normalContentClassName}>\r\n </div>\r\n </div>\r\n}\r\n\r\nexport default TabCloseButton;","import React from \"react\";\r\nimport { TabElementProps } from \"../../types/api\";\r\nimport TabChannelSelector from \"../channelSelector/TabChannelSelector\";\r\nimport TabMultiChannelSelector from \"../channelSelector/multi/TabMultiChannelSelector\";\r\nimport TabCaption from \"./TabCaption\";\r\nimport TabCaptionEditor from \"./TabCaptionEditor\";\r\nimport TabCloseButton from \"./TabCloseButton\";\r\n\r\nconst Tab: React.FC<TabElementProps> = ({ caption, selected, close, channels, captionEditor, notifyCaptionBoundsChanged, windowId, pinned }) => {\r\n return <div className=\"t42-react-tab\">\r\n {channels.visible && channels.channelsMode !== \"multi\" && <TabChannelSelector {...channels} />}\r\n {channels.visible && channels.channelsMode === \"multi\" && <TabMultiChannelSelector {...channels} />}\r\n {captionEditor.show ?\r\n <TabCaptionEditor {...captionEditor} caption={captionEditor.text!} selected={selected} windowId={windowId} /> :\r\n <TabCaption notifyBoundsChanged={notifyCaptionBoundsChanged} caption={caption} selected={selected} />}\r\n {pinned ? <></> : <TabCloseButton selected={selected} close={close} />}\r\n </div>\r\n};\r\n\r\nexport default Tab;\r\n","import React from \"react\";\r\nimport { OverflowButtonProps } from \"../../types/defaultComponents\";\r\nimport BaseButton from \"./BaseButton\";\r\n\r\nconst OverflowButton: React.FC<OverflowButtonProps> = ({ onClick, tooltip }) => {\r\n return <BaseButton\r\n innerElement={{ className: \"t42-standard-button t42-standard-button-overflow\" }}\r\n outerElement={{\r\n onMouseDown: (e) => e.stopPropagation(),\r\n onPointerDown: (e) => e.stopPropagation(),\r\n className: \"t42-button t42-caption-bar-button t42-tab-bar-button t42-caption-bar-button-overflow\", title: tooltip, onClick\r\n }} />\r\n}\r\n\r\nexport default OverflowButton;","import React from \"react\";\r\nimport { TabHeaderButtonsProps } from \"../../types/api\";\r\nimport CloseButton from \"../buttons/CloseButton\";\r\nimport ExtractButton from \"../buttons/ExtractButton\";\r\nimport FeedbackButton from \"../buttons/FeedbackButton\";\r\nimport CloneButton from \"../buttons/CloneButton\";\r\nimport LockButton from \"../buttons/LockButtons\";\r\nimport MaximizeButton from \"../buttons/MaximizeButton\";\r\nimport MinimizeButton from \"../buttons/MinimizeButton\";\r\nimport RestoreButton from \"../buttons/RestoreButton\";\r\nimport StickyButton from \"../buttons/StickyButton\";\r\nimport UnlockButton from \"../buttons/UnlockButton\";\r\nimport CustomButton from \"../buttons/CustomButton\";\r\nimport OverflowButton from \"../buttons/OverflowButton\";\r\n\r\nconst TabHeaderButtons: React.FC<TabHeaderButtonsProps> = ({ overflow, extract, minimize, maximize, restore, close, lock, unlock, feedback, clone, sticky, customButtons }) => {\r\n return <div className=\"t42-buttons-container t42-tab-bar-element\">\r\n <ul className=\"t42-buttons t42-tab-bar-element\">\r\n {\r\n customButtons.map(customButton => {\r\n return customButton.visible && <CustomButton key={customButton.buttonId} {...customButton} />\r\n })\r\n }\r\n </ul>\r\n <ul className=\"t42-buttons t42-tab-bar-element\">\r\n {overflow?.visible && <OverflowButton {...overflow} />}\r\n {feedback?.visible && <FeedbackButton {...feedback} />}\r\n {clone?.visible && <CloneButton {...clone} />}\r\n {sticky?.visible && <StickyButton {...sticky} />}\r\n {extract?.visible && <ExtractButton {...extract} />}\r\n {lock?.visible && <LockButton {...lock} />}\r\n {unlock?.visible && <UnlockButton {...unlock} />}\r\n {minimize?.visible && <MinimizeButton {...minimize} />}\r\n {restore?.visible && <RestoreButton {...restore} />}\r\n {maximize?.visible && <MaximizeButton {...maximize} />}\r\n {close?.visible && <CloseButton {...close} />}\r\n </ul>\r\n </div>\r\n};\r\n\r\n\r\nexport default TabHeaderButtons;","/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = require('react');\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n ;\n}\n\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\n\n// dispatch for CommonJS interop named imports.\n\nvar useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nvar didWarnOld18Alpha = false;\nvar didWarnUncachedGetSnapshot = false; // Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\n\nfunction useSyncExternalStore(subscribe, getSnapshot, // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n// React do not expose a way to check if we're hydrating. So users of the shim\n// will need to track that themselves and return the correct value\n// from `getSnapshot`.\ngetServerSnapshot) {\n {\n if (!didWarnOld18Alpha) {\n if (React.startTransition !== undefined) {\n didWarnOld18Alpha = true;\n\n error('You are using an outdated, pre-release alpha of React 18 that ' + 'does not support useSyncExternalStore. The ' + 'use-sync-external-store shim will not work correctly. Upgrade ' + 'to a newer pre-release.');\n }\n }\n } // Read the current snapshot from the store on every render. Again, this\n // breaks the rules of React, and only works here because of specific\n // implementation details, most importantly that updates are\n // always synchronous.\n\n\n var value = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n\n if (!objectIs(value, cachedValue)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n } // Because updates are synchronous, we don't queue them. Instead we force a\n // re-render whenever the subscribed state changes by updating an some\n // arbitrary useState hook. Then, during render, we call getSnapshot to read\n // the current value.\n //\n // Because we don't actually use the state returned by the useState hook, we\n // can save a bit of memory by storing other stuff in that slot.\n //\n // To implement the early bailout, we need to track some things on a mutable\n // object. Usually, we would put that in a useRef hook, but we can stash it in\n // our useState hook instead.\n //\n // To force a re-render, we call forceUpdate({inst}). That works because the\n // new object always fails an equality check.\n\n\n var _useState = useState({\n inst: {\n value: value,\n getSnapshot: getSnapshot\n }\n }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1]; // Track the latest getSnapshot function with a ref. This needs to be updated\n // in the layout phase so we can access it during the tearing check that\n // happens on subscribe.\n\n\n useLayoutEffect(function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot; // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n }, [subscribe, value, getSnapshot]);\n useEffect(function () {\n // Check for changes right before subscribing. Subsequent changes will be\n // detected in the subscription handler.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n\n var handleStoreChange = function () {\n // TODO: Because there is no cross-renderer API for batching updates, it's\n // up to the consumer of this library to wrap their subscription event\n // with unstable_batchedUpdates. Should we try to detect when this isn't\n // the case and print a warning in development?\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n }; // Subscribe to the store and return a clean-up function.\n\n\n return subscribe(handleStoreChange);\n }, [subscribe]);\n useDebugValue(value);\n return value;\n}\n\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n var prevValue = inst.value;\n\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n\nfunction useSyncExternalStore$1(subscribe, getSnapshot, getServerSnapshot) {\n // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n // React do not expose a way to check if we're hydrating. So users of the shim\n // will need to track that themselves and return the correct value\n // from `getSnapshot`.\n return getSnapshot();\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n\nvar isServerEnvironment = !canUseDOM;\n\nvar shim = isServerEnvironment ? useSyncExternalStore$1 : useSyncExternalStore;\nvar useSyncExternalStore$2 = React.useSyncExternalStore !== undefined ? React.useSyncExternalStore : shim;\n\nexports.useSyncExternalStore = useSyncExternalStore$2;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import React from \"react\";\r\nimport { GroupWrapperProps } from \"./types/internal\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\n\r\nclass GroupWrapper extends React.Component<GroupWrapperProps> {\r\n containerRef: HTMLElement | null;\r\n\r\n componentDidMount() {\r\n const componentFactory = {\r\n createGroupCaptionBar: this.props.onCreateGroupCaptionBarRequested,\r\n updateGroupCaptionBar: this.props.onUpdateGroupCaptionBarRequested,\r\n createGroupOverlay: this.props.onCreateGroupOverlayRequested,\r\n\r\n createFrameCaptionBar: this.props.onCreateFrameCaptionBarRequested,\r\n updateFrameCaptionBar: this.props.onUpdateFrameCaptionBarRequested,\r\n createFrameWindowOverlay: this.props.onCreateFrameWindowOverlayRequested,\r\n updateFrameWindowOverlay: this.props.onUpdateFrameWindowOverlayRequested,\r\n createAboveWindow: this.props.onCreateAboveWindowRequested,\r\n destroyAboveWindow: this.props.onRemoveAboveWindowRequested,\r\n createWindowContentOverlay: this.props.onCreateWindowContentOverlayRequested,\r\n destroyWindowContentOverlay: this.props.onRemoveWindowContentOverlayRequested,\r\n createFrameLoadingAnimation: this.props.onCreateFrameLoadingAnimationRequested,\r\n destroyFrameLoadingAnimation: this.props.onRemoveFrameLoadingAnimationRequested,\r\n createBelowWindow: this.props.onCreateBelowWindowRequested,\r\n destroyBelowWindow: this.props.onRemoveBelowWindowRequested,\r\n\r\n createAboveTabs: this.props.onCreateAboveTabsRequested,\r\n updateAboveTabs: this.props.onUpdateAboveTabsRequested,\r\n createBeforeTabs: this.props.onCreateBeforeTabsComponentRequested,\r\n updateBeforeTabs: this.props.onUpdateBeforeTabsComponentRequested,\r\n\r\n createTab: this.props.onCreateTabRequested,\r\n updateTab: this.props.onUpdateTabRequested,\r\n\r\n createAfterTabs: this.props.onCreateAfterTabsComponentRequested,\r\n updateAfterTabs: this.props.onUpdateAfterTabsComponentRequested,\r\n createTabBarButtonsContainerElement: this.props.onCreateTabHeaderButtonsRequested,\r\n createBelowTabs: this.props.onCreateBelowTabsRequested,\r\n updateBelowTabs: this.props.onUpdateBelowTabsRequested,\r\n \r\n createHtmlButtonsContainerElement: this.props.onCreateHtmlButtonsRequested,\r\n destroyHtmlButtonsContainerElement: this.props.onRemoveHtmlButtonsRequested,\r\n\r\n createTabOverflowPopup:this.props.onCreateTabOverflowPopupRequested,\r\n destroyTabOverflowPopup: this.props.onRemoveTabOverflowPopupRequested,\r\n \r\n updateFrame: this.props.onUpdateFrameRequested,\r\n updateStandardButton: this.props.onUpdateStandardButtonRequested,\r\n updateCustomButtons: this.props.onUpdateCustomButtonsRequested,\r\n\r\n destroyFrameCaptionBar: this.props.onRemoveFrameCaptionBarRequested, // needed to prevent a memory leak\r\n destroyFrameWindowOverlay: this.props.onRemoveFrameWindowOverlayRequested,\r\n\r\n destroyAboveTabs: this.props.onRemoveAboveTabsRequested,\r\n destroyBeforeTabs: this.props.onRemoveBeforeTabsComponentRequested,\r\n destroyTab: this.props.onRemoveTabRequested,\r\n destroyAfterTabs: this.props.onRemoveAfterTabsComponentRequested,\r\n destroyTabBarButtonsContainerElement: this.props.onRemoveTabHeaderButtonsRequested,\r\n destroyBelowTabs: this.props.onRemoveBelowTabsRequested,\r\n\r\n showCaptionEditor: this.props.onShowCaptionEditorRequested,\r\n commitCaptionEditing: this.props.onCommitCaptionEditingRequested,\r\n hideCaptionEditor: this.props.onHideCaptionEditorRequested,\r\n\r\n showLoadingAnimation: this.props.onShowLoadingAnimationRequested,\r\n hideLoadingAnimation: this.props.onHideLoadingAnimationRequested,\r\n };\r\n\r\n webGroupsManager.init(undefined, componentFactory);\r\n webGroupsManager.updateTabHeaderStyles(this.props.styles?.tabs?.header ?? {});\r\n webGroupsManager.updateTabMoveAreaStyles(this.props.styles?.tabs?.moveArea ?? {});\r\n webGroupsManager.updateFrameStyles(this.props.styles?.frame?.element ?? {});\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<GroupWrapperProps>, prevState: Readonly<{}>, snapshot?: any): void {\r\n if (this.props.styles?.tabs?.header !== prevProps.styles?.tabs?.header) {\r\n webGroupsManager.updateTabHeaderStyles(this.props.styles?.tabs?.header ?? {});\r\n }\r\n\r\n if (this.props.styles?.tabs?.moveArea !== prevProps.styles?.tabs?.moveArea) {\r\n webGroupsManager.updateTabMoveAreaStyles(this.props.styles?.tabs?.moveArea ?? {});\r\n }\r\n\r\n if (this.props.styles?.frame?.element !== prevProps.styles?.frame?.element) {\r\n webGroupsManager.updateFrameStyles(this.props.styles?.frame?.element ?? {});\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n // TODO\r\n }\r\n\r\n render() {\r\n return (\r\n <div id=\"t42-group-container\" ref={(r) => this.containerRef = r}>\r\n <div id=\"t42-frames-container\">\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default GroupWrapper;","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { PortalProps } from \"./types/internal\";\r\n\r\nclass Portal extends React.Component<PortalProps> {\r\n render() {\r\n return ReactDOM.createPortal(this.props.children, this.props.parentElement);\r\n }\r\n}\r\n\r\nexport default Portal;","import {\r\n CreateElementRequestOptions,\r\n CreateFrameCaptionBarRequestOptions,\r\n CreateFrameElementRequestOptions,\r\n CreateGroupCaptionBarRequestOptions,\r\n CreateButtonsOptions,\r\n CreateTabRequestOptions,\r\n ElementCreationWrapperState,\r\n RemoveRequestOptions,\r\n TargetType,\r\n UpdateFrameCaptionBarRequestOptions,\r\n UpdateGroupCaptionBarRequestOptions,\r\n UpdateStandardButtonRequestOptions,\r\n UpdateFrameRequestOptions,\r\n CreateFrameLoadingAnimationRequestOptions,\r\n UpdateCustomButtonsRequestOptions,\r\n CreateTabOverflowPopupRequestOptions,\r\n OverflowedTabInfo\r\n} from \"./types/internal\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\n\r\nclass WebGroupsStore {\r\n\r\n private listeners = new Set<() => void>();\r\n private state: ElementCreationWrapperState = {\r\n groupCaptionBar: undefined,\r\n groupOverlay: undefined,\r\n frameCaptionBars: {}, // dict frameId to create caption bar options\r\n frameWindowOverlays: {}, // dict frameId to create options\r\n aboveWindowZones: {}, // dict frameId to create options\r\n windowContentOverlays: {},//dict frameId to create options\r\n belowWindowZones: {}, // dict frameId to create options\r\n aboveTabsZones: {}, // dict frameId to create options\r\n beforeTabsZones: {}, // dict frameId to create before tabs zones options\r\n tabElements: {}, // dict windowId to create tab elements options\r\n afterTabsZones: {}, // dict frameId to after tabs zones options\r\n tabHeaderButtons: {}, // dict frameId to crate tab header buttons options\r\n tabOverflowPopups: {}, // dict frameId to create tab overflow popup options,\r\n belowTabsZones: {}, // dict frameId to create options\r\n frameLoadingAnimations: {}, // dict frameId to create options\r\n htmlButtons: {}, // dict frameId to crate html buttons options\r\n }\r\n\r\n public subscribe = (cb: () => void) => {\r\n this.listeners.add(cb);\r\n return () => {\r\n this.listeners.delete(cb);\r\n };\r\n }\r\n\r\n public getSnapshot = () => {\r\n return this.state;\r\n }\r\n\r\n public onCreateGroupCaptionBarRequested = (options: CreateGroupCaptionBarRequestOptions) => {\r\n if (options === this.state.groupCaptionBar) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n groupCaptionBar: options\r\n }\r\n });\r\n }\r\n\r\n public onCreateGroupOverlayRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.groupOverlay) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n groupOverlay: options\r\n }\r\n });\r\n }\r\n\r\n public onCreateFrameCaptionBarRequested = (options: CreateFrameCaptionBarRequestOptions) => {\r\n if (options === this.state.frameCaptionBars[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n frameCaptionBars: {\r\n ...s.frameCaptionBars,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateFrameWindowOverlayRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.frameWindowOverlays[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n frameWindowOverlays: {\r\n ...s.frameWindowOverlays,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateAboveWindowRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.aboveWindowZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n aboveWindowZones: {\r\n ...s.aboveWindowZones,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateWindowContentOverlayRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.windowContentOverlays[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n windowContentOverlays: {\r\n ...s.windowContentOverlays,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateFrameLoadingAnimationRequested = (options: CreateFrameLoadingAnimationRequestOptions) => {\r\n if (options === this.state.frameLoadingAnimations[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n frameLoadingAnimations: {\r\n ...s.frameLoadingAnimations,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateBelowWindowRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.belowWindowZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n belowWindowZones: {\r\n ...s.belowWindowZones,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateAboveTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.aboveTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n aboveTabsZones: {\r\n ...s.aboveTabsZones,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateBeforeTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.beforeTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n beforeTabsZones: {\r\n ...s.beforeTabsZones,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateTabElementRequested = (options: CreateTabRequestOptions) => {\r\n if (options === this.state.tabElements[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.tabElements).reduce((acc, targetId) => {\r\n acc[targetId] = s.tabElements[targetId];\r\n return acc;\r\n }, {});\r\n\r\n newTabElementsObj[options.targetId] = options;\r\n\r\n return {\r\n ...s,\r\n tabElements: {\r\n ...s.tabElements,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateAfterTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.afterTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n afterTabsZones: {\r\n ...s.afterTabsZones,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateTabHeaderButtonsRequested = (options: CreateButtonsOptions) => {\r\n if (options === this.state.tabHeaderButtons[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n tabHeaderButtons: {\r\n ...s.tabHeaderButtons,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateBelowTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.belowTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n belowTabsZones: {\r\n ...s.belowTabsZones,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateHtmlButtonsRequested = (options: CreateButtonsOptions) => {\r\n if (options === this.state.htmlButtons[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n htmlButtons: {\r\n ...s.htmlButtons,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateTabOverflowPopupRequested = (options: CreateTabOverflowPopupRequestOptions) => {\r\n if (options === this.state.tabOverflowPopups[options.targetId] || !options) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n tabOverflowPopups: {\r\n ...s.tabOverflowPopups,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateHtmlButtonsRequested = (options: CreateButtonsOptions) => {\r\n if (options === this.state.htmlButtons[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n htmlButtons: {\r\n ...s.htmlButtons,\r\n [options.targetId]: { ...s.htmlButtons[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateGroupCaptionBarRequested = (options: UpdateGroupCaptionBarRequestOptions) => {\r\n if (options === this.state.groupCaptionBar) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n groupCaptionBar: Object.assign({}, s.groupCaptionBar, options)\r\n }\r\n });\r\n }\r\n\r\n public onUpdateFrameCaptionBarRequested = (options: UpdateFrameCaptionBarRequestOptions) => {\r\n if (options === this.state.frameCaptionBars[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n frameCaptionBars: {\r\n ...s.frameCaptionBars,\r\n [options.targetId]: { ...s.frameCaptionBars[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateFrameWindowOverlayRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.frameWindowOverlays[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n frameWindowOverlays: {\r\n ...s.frameWindowOverlays,\r\n [options.targetId]: { ...s.frameWindowOverlays[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateAboveTabsRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.aboveTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n aboveTabsZones: {\r\n ...s.aboveTabsZones,\r\n [options.targetId]: { ...s.aboveTabsZones[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateBeforeTabsRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.beforeTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n beforeTabsZones: {\r\n ...s.beforeTabsZones,\r\n [options.targetId]: { ...s.beforeTabsZones[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateTabElementRequested = (options: CreateTabRequestOptions) => {\r\n if (options === this.state.tabElements[options.targetId] || !options) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n tabElements: {\r\n ...s.tabElements,\r\n [options.targetId]: { ...s.tabElements[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateAfterTabsRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.afterTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n afterTabsZones: {\r\n ...s.afterTabsZones,\r\n [options.targetId]: { ...s.afterTabsZones[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateTabHeaderButtonsRequested = (options: CreateButtonsOptions) => {\r\n if (options === this.state.tabHeaderButtons[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n tabHeaderButtons: {\r\n ...s.tabHeaderButtons,\r\n [options.targetId]: { ...s.tabHeaderButtons[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateBelowTabsRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.belowTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n belowTabsZones: {\r\n ...s.belowTabsZones,\r\n [options.targetId]: { ...s.belowTabsZones[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateFrame = (options: UpdateFrameRequestOptions) => {\r\n this.setState(s => {\r\n const newState = { ...s };\r\n\r\n const updateSelectionWindow = <T extends keyof ElementCreationWrapperState>(stateProp: T, targetId: string, selectedWindow: string) => {\r\n if (stateProp === \"groupOverlay\" || stateProp === \"groupCaptionBar\" || stateProp === \"tabElements\") {\r\n return;\r\n }\r\n\r\n if (newState[stateProp]![targetId] && newState[stateProp]![targetId]?.selectedWindow !== selectedWindow) {\r\n newState[stateProp] = {\r\n ...newState[stateProp],\r\n [targetId]: { ...newState[stateProp]![targetId], selectedWindow }\r\n }\r\n }\r\n };\r\n\r\n const updateHiddenTabs = <T extends keyof ElementCreationWrapperState>(stateProp: T, targetId: string, hiddenTabsToTheLeft: OverflowedTabInfo[], hiddenTabsToTheRight: OverflowedTabInfo[]) => {\r\n const oldHiddenToTheLeft = newState[stateProp]![targetId]?.hiddenTabsToTheLeft;\r\n const oldHiddenToTheRight = newState[stateProp]![targetId]?.hiddenTabsToTheRight;\r\n newState[stateProp] = {\r\n ...newState[stateProp],\r\n [targetId]: {\r\n ...newState[stateProp]![targetId],\r\n hiddenTabsToTheLeft: hiddenTabsToTheLeft || oldHiddenToTheLeft,\r\n hiddenTabsToTheRight: hiddenTabsToTheRight || oldHiddenToTheRight\r\n }\r\n }\r\n };\r\n\r\n updateSelectionWindow(\"frameCaptionBars\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"frameWindowOverlays\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"windowContentOverlays\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"aboveWindowZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"belowWindowZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"aboveTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"beforeTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"afterTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"tabHeaderButtons\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"belowTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"frameLoadingAnimations\", options.targetId, options.selectedWindow);\r\n\r\n updateHiddenTabs(\"afterTabsZones\", options.targetId, options.hiddenTabsToTheLeft, options.hiddenTabsToTheRight);\r\n updateHiddenTabs(\"tabHeaderButtons\", options.targetId, options.hiddenTabsToTheLeft, options.hiddenTabsToTheRight);\r\n\r\n return newState;\r\n });\r\n }\r\n\r\n public onUpdateStandardButton = (options: UpdateStandardButtonRequestOptions) => {\r\n const targetState = { targetId: options.targetId };\r\n switch (options.targetType) {\r\n case TargetType.Group:\r\n const currentGroupState = this.state.groupCaptionBar || targetState as CreateGroupCaptionBarRequestOptions;\r\n const newGroupOptions = {\r\n ...currentGroupState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateGroupCaptionBarRequested(newGroupOptions);\r\n break;\r\n case TargetType.Frame:\r\n const currentFrameState = this.state.frameCaptionBars[options.targetId] || targetState as CreateFrameCaptionBarRequestOptions;\r\n const newFrameOptions = {\r\n ...currentFrameState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateFrameCaptionBarRequested(newFrameOptions);\r\n break;\r\n case TargetType.TabBar:\r\n const currentTabButtonsState = this.state.tabHeaderButtons[options.targetId] || targetState as CreateButtonsOptions;\r\n const newTabButtonsOptions = {\r\n ...currentTabButtonsState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateTabHeaderButtonsRequested(newTabButtonsOptions);\r\n break;\r\n case TargetType.HtmlButtons:\r\n const currentHtmlButtonsState = this.state.htmlButtons[options.targetId] || targetState as CreateButtonsOptions;\r\n const newHtmlButtonsOptions = {\r\n ...currentHtmlButtonsState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateHtmlButtonsRequested(newHtmlButtonsOptions);\r\n break;\r\n }\r\n }\r\n\r\n public onUpdateCustomButtons = (options: UpdateCustomButtonsRequestOptions) => {\r\n switch (options.targetType) {\r\n case TargetType.Frame:\r\n const currentFrameState = this.state.frameCaptionBars[options.targetId] || { targetId: options.targetId } as CreateButtonsOptions;\r\n const newFrameOptions = {\r\n ...currentFrameState,\r\n ...options\r\n };\r\n this.onUpdateFrameCaptionBarRequested(newFrameOptions);\r\n break;\r\n case TargetType.TabBar:\r\n const currentTabBarState = this.state.tabHeaderButtons.customButtons || { customButtons: options.customButtons } as CreateButtonsOptions;\r\n const newTabBarOptions = {\r\n ...currentTabBarState,\r\n ...options\r\n };\r\n this.onUpdateTabHeaderButtonsRequested(newTabBarOptions);\r\n break;\r\n case TargetType.HtmlButtons:\r\n const currentHtmlButtonsState = this.state.htmlButtons.customButtons || { customButtons: options.customButtons } as CreateButtonsOptions;\r\n const newHtmlButtonsOptions = {\r\n ...currentHtmlButtonsState,\r\n ...options\r\n };\r\n this.onUpdateHtmlButtonsRequested(newHtmlButtonsOptions);\r\n break;\r\n }\r\n }\r\n\r\n public onRemoveFrameCaptionBarRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.frameCaptionBars[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newCaptionBarsObj = Object.keys(s.frameCaptionBars).reduce((acc, targetId) => {\r\n if (targetId !== options.targetId) {\r\n acc[targetId] = s.frameCaptionBars[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n frameCaptionBars: newCaptionBarsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveFrameWindowOverlayRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.frameWindowOverlays[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newCaptionBarsObj = Object.keys(s.frameWindowOverlays).reduce((acc, targetId) => {\r\n if (targetId !== options.targetId) {\r\n acc[targetId] = s.frameWindowOverlays[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n frameWindowOverlays: newCaptionBarsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveAboveWindowRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.aboveWindowZones[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newCaptionBarsObj = Object.keys(s.aboveWindowZones).reduce((acc, targetId) => {\r\n if (targetId !== options.targetId) {\r\n acc[targetId] = s.aboveWindowZones[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n aboveWindowZones: newCaptionBarsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveWindowContentOverlayRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.windowContentOverlays[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newOverlaysObj = Object.keys(s.windowContentOverlays).reduce((acc, targetId) => {\r\n if (targetId !== options.targetId) {\r\n acc[targetId] = s.windowContentOverlays[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n windowContentOverlays: newOverlaysObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveFrameLoadingAnimationRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.frameLoadingAnimations[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newLoadingAnimationObj = Object.keys(s.frameLoadingAnimations).reduce((acc, targetId) => {\r\n if (targetId !== options.targetId) {\r\n acc[targetId] = s.frameLoadingAnimations[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n return {\r\n ...s,\r\n frameLoadingAnimation: newLoadingAnimationObj\r\n }\r\n })\r\n }\r\n\r\n public onRemoveBelowWindowRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.belowWindowZones[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newCaptionBarsObj = Object.keys(s.belowWindowZones).reduce((acc, targetId) => {\r\n if (targetId !== options.targetId) {\r\n acc[targetId] = s.belowWindowZones[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n belowWindowZones: newCaptionBarsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveAboveTabsRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.aboveTabsZones[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.aboveTabsZones).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.aboveTabsZones[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n aboveTabsZones: newTabElementsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveBeforeTabsComponentRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.beforeTabsZones[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.beforeTabsZones).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.beforeTabsZones[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n beforeTabsZones: newTabElementsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveTabElementRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.tabElements[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.tabElements).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.tabElements[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n tabElements: newTabElementsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveAfterTabsComponentRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.afterTabsZones[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.afterTabsZones).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.afterTabsZones[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n afterTabsZones: newTabElementsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveTabHeaderButtonsRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.tabHeaderButtons[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.tabHeaderButtons).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.tabHeaderButtons[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n tabHeaderButtons: newTabElementsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveBelowTabsRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.belowTabsZones[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.belowTabsZones).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.belowTabsZones[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n belowTabsZones: newTabElementsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveHtmlButtonsRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.htmlButtons[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newHtmlObj = Object.keys(s.htmlButtons).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.htmlButtons[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n htmlButtons: newHtmlObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveTabOverflowPopupRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.tabOverflowPopups[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabOverflowPopupsObj = Object.keys(s.tabOverflowPopups).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.tabOverflowPopups[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n tabOverflowPopups: newTabOverflowPopupsObj\r\n }\r\n });\r\n }\r\n\r\n public onShowCaptionEditorRequested = (targetType: TargetType, targetId: string, text: string) => {\r\n if (targetType === TargetType.Group) {\r\n this.onShowGroupCaptionEditorRequested(targetId, text);\r\n } else if (targetType === TargetType.Frame) {\r\n this.onShowFlatCaptionEditorRequested(targetId, text);\r\n } else if (targetType === TargetType.Tab) {\r\n this.onShowTabCaptionEditorRequested(targetId, text);\r\n }\r\n }\r\n\r\n public onCommitCaptionEditingRequested = (targetType: TargetType, targetId: string) => {\r\n webGroupsManager.requestCommitCaptionEditing(targetType, targetId);\r\n }\r\n\r\n public onHideCaptionEditorRequested = (targetType: TargetType, targetId: string) => {\r\n if (targetType === TargetType.Group) {\r\n this.onHideGroupCaptionEditorRequested(targetId);\r\n } else if (targetType === TargetType.Frame) {\r\n this.onHideFlatCaptionEditorRequested(targetId);\r\n } else if (targetType === TargetType.Tab) {\r\n this.onHideTabCaptionEditorRequested(targetId)\r\n }\r\n }\r\n\r\n public onShowLoadingAnimationRequested = (targetType: TargetType, targetId: string) => {\r\n if (targetType === TargetType.Frame) {\r\n this.onShowLoadingAnimation(targetId);\r\n } else {\r\n console.warn(`Loading animation for elements other than Frame are not supported`);\r\n }\r\n }\r\n\r\n public onHideLoadingAnimationRequested = (targetType: TargetType, targetId: string) => {\r\n if (targetType === TargetType.Frame) {\r\n this.onHideLoadingAnimation(targetId);\r\n } else {\r\n console.warn(`Loading animation for elements other than Frame are not supported`);\r\n }\r\n }\r\n\r\n private onShowGroupCaptionEditorRequested = (_: string, text: string) => {\r\n if (!this.state.groupCaptionBar) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.groupCaptionBar?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n groupCaptionBar: {\r\n ...s.groupCaptionBar!,\r\n captionEditor: {\r\n ...captionEditor,\r\n show: true,\r\n text\r\n }\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideGroupCaptionEditorRequested = (_: string) => {\r\n if (!this.state.groupCaptionBar) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.groupCaptionBar?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n groupCaptionBar: {\r\n ...s.groupCaptionBar!,\r\n captionEditor: {\r\n ...captionEditor,\r\n show: false,\r\n }\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onShowFlatCaptionEditorRequested = (targetId: string, text: string) => {\r\n if (!this.state.frameCaptionBars[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.frameCaptionBars[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameCaptionBars: {\r\n ...s.frameCaptionBars!,\r\n [targetId]: {\r\n ...s.frameCaptionBars[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: true,\r\n text\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideFlatCaptionEditorRequested = (targetId: string) => {\r\n if (!this.state.frameCaptionBars[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.frameCaptionBars[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameCaptionBars: {\r\n ...s.frameCaptionBars!,\r\n [targetId]: {\r\n ...s.frameCaptionBars[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: false,\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onShowTabCaptionEditorRequested = (targetId: string, text: string) => {\r\n if (!this.state.tabElements[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.tabElements[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n tabElements: {\r\n ...s.tabElements!,\r\n [targetId]: {\r\n ...s.tabElements[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: true,\r\n text\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideTabCaptionEditorRequested = (targetId: string) => {\r\n if (!this.state.tabElements[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.tabElements[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n tabElements: {\r\n ...s.tabElements!,\r\n [targetId]: {\r\n ...s.tabElements[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: false,\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onShowLoadingAnimation = (targetId: string) => {\r\n if (!this.state.frameLoadingAnimations[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameLoadingAnimations: {\r\n ...s.frameLoadingAnimations,\r\n [targetId]: {\r\n ...s.frameLoadingAnimations[targetId],\r\n show: true,\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideLoadingAnimation = (targetId: string) => {\r\n if (!this.state.frameLoadingAnimations[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameLoadingAnimations: {\r\n ...s.frameLoadingAnimations,\r\n [targetId]: {\r\n ...s.frameLoadingAnimations[targetId],\r\n show: false,\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private setState = (cb: (s: ElementCreationWrapperState) => ElementCreationWrapperState) => {\r\n this.state = cb(this.state);\r\n\r\n this.listeners.forEach((l) => l());\r\n }\r\n}\r\n\r\nexport default new WebGroupsStore();","import React from \"react\";\nimport { FrameLoadingAnimationProps } from \"../../types/api\";\n\nconst FrameLoadingAnimation: React.FC<FrameLoadingAnimationProps> = ({show}) => {\n return (\n show ?\n (\n <div className=\"loader-wrapper active\">\n <div className=\"loader\"></div>\n <div className=\"loader-text\">Loading...</div>\n </div>\n ) : <></>\n );\n}\n\nexport default FrameLoadingAnimation;","import React from \"react\";\r\nimport { useSyncExternalStore } from \"use-sync-external-store/shim\";\r\nimport GroupWrapper from \"./GroupWrapper\";\r\nimport Portal from \"./Portal\";\r\nimport { ChannelProps, GroupProps } from \"./types/api\";\r\nimport { Bounds, ElementCreationWrapperState, TargetType } from \"./types/internal\";\r\nimport { CustomButtonProps } from \"./types/defaultComponents\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\nimport webGroupsStore from \"./webGroupsStore\";\r\nimport FrameLoadingAnimation from \"./defaultComponents/loadingAnimation/FrameLoadingAnimation\";\r\n\r\nconst GroupElementCreationWrapper: React.FC<GroupProps> = ({ components, styles }) => {\r\n\r\n const state = useSyncExternalStore<ElementCreationWrapperState>(webGroupsStore.subscribe, webGroupsStore.getSnapshot);\r\n const LoadingAnimation = components?.frame?.LoadingAnimation ?? FrameLoadingAnimation;\r\n\r\n const renderGroupCaptionBar = () => {\r\n const GroupCaptionBarCustomElement = components?.group?.CaptionBar;\r\n if (!GroupCaptionBarCustomElement || (!state.groupCaptionBar || !state.groupCaptionBar.parentElement)) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = state.groupCaptionBar;\r\n\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n const captionEditor = {\r\n ...options.captionEditor,\r\n commitChanges: (text: string) => {\r\n webGroupsManager.commitCaptionEditing(TargetType.Group, options.targetId, text);\r\n },\r\n hideEditor: () => {\r\n webGroupsStore.onHideCaptionEditorRequested(TargetType.Group, options.targetId);\r\n },\r\n notifyBoundsChanged: (bounds: Bounds) => {\r\n webGroupsManager.onCaptionEditorBoundsChanged(TargetType.Group, options.targetId, bounds);\r\n },\r\n notifyEditorVisibilityChanged: (visible: boolean) => {\r\n webGroupsManager.onCaptionEditorVisibleChanged(TargetType.Group, options.targetId, visible);\r\n }\r\n };\r\n\r\n const notifyCaptionBoundsChanged = (bounds: Bounds) => webGroupsManager.onCaptionTextBoundsChanged(TargetType.Group, options.targetId, bounds);\r\n\r\n return (\r\n <Portal parentElement={parentElement}>\r\n <GroupCaptionBarCustomElement {...options}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n captionEditor={captionEditor}\r\n notifyCaptionBoundsChanged={notifyCaptionBoundsChanged} />\r\n </Portal>\r\n );\r\n }\r\n\r\n const renderGroupOverlay = () => {\r\n const GroupOverlayCustomElement = components?.group?.Overlay;\r\n if (!GroupOverlayCustomElement || (!state.groupOverlay || !state.groupOverlay.parentElement)) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = state.groupOverlay;\r\n\r\n\r\n return <Portal parentElement={parentElement}><GroupOverlayCustomElement {...options} /></Portal>;\r\n }\r\n\r\n const renderFrameCaptionBar = () => {\r\n const FrameCaptionBarCustomElement = components?.flat?.CaptionBar;\r\n return Object.values(state.frameCaptionBars).map((fcb) => {\r\n if (!FrameCaptionBarCustomElement || !fcb.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = fcb;\r\n\r\n const feedback = {\r\n onClick: () => {\r\n webGroupsManager.onFeedbackButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.feedback\r\n };\r\n\r\n const clone = {\r\n onClick: () => {\r\n webGroupsManager.onCloneButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.clone\r\n };\r\n\r\n const sticky = {\r\n onClick: () => {\r\n webGroupsManager.onStickyButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.sticky\r\n };\r\n\r\n const extract = {\r\n onClick: () => {\r\n webGroupsManager.onExtractButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.extract\r\n };\r\n\r\n const lock = {\r\n onClick: () => {\r\n webGroupsManager.onLockButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.lock\r\n };\r\n\r\n const unlock = {\r\n onClick: () => {\r\n webGroupsManager.onUnlockButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.unlock\r\n };\r\n\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n let customButtonsProps = new Array<CustomButtonProps>();\r\n if (options.customButtons) {\r\n customButtonsProps = options.customButtons.map((cButton) => {\r\n return {\r\n onClick: () => {\r\n webGroupsManager.clickCustomButton(options.targetId, cButton.buttonId);\r\n },\r\n visible: true,\r\n imageData: cButton.imageData,\r\n tooltip: cButton.tooltip,\r\n buttonId: cButton.buttonId\r\n }\r\n });\r\n }\r\n\r\n const showSelector = (bounds: Bounds) => {\r\n webGroupsManager.onFrameChannelSelectorClick(options.targetId, bounds);\r\n }\r\n\r\n const channels = {\r\n showSelector,\r\n visible: options.channelSelectorVisible,\r\n selectedChannel: options.selectedChannel,\r\n selectedChannelColor: options.selectedChannelColor,\r\n channelRestrictions: options.channelRestrictions,\r\n channelLabel: options.channelLabel,\r\n channelsMode: options.channelsMode ?? \"single\",\r\n selectedChannels : options.selectedChannels\r\n }\r\n\r\n const captionEditor = {\r\n ...options.captionEditor,\r\n commitChanges: (text: string) => {\r\n webGroupsManager.commitCaptionEditing(TargetType.Frame, options.targetId, text);\r\n },\r\n hideEditor: () => {\r\n webGroupsStore.onHideCaptionEditorRequested(TargetType.Frame, options.targetId);\r\n },\r\n notifyBoundsChanged: (bounds: Bounds) => {\r\n webGroupsManager.onCaptionEditorBoundsChanged(TargetType.Frame, options.targetId, bounds);\r\n },\r\n notifyEditorVisibilityChanged: (visible: boolean) => {\r\n webGroupsManager.onCaptionEditorVisibleChanged(TargetType.Frame, options.targetId, visible);\r\n }\r\n };\r\n\r\n const notifyCaptionBoundsChanged = (bounds: Bounds) => webGroupsManager.onCaptionTextBoundsChanged(TargetType.Frame, options.targetId, bounds);\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <FrameCaptionBarCustomElement {...options}\r\n feedback={feedback}\r\n clone={clone}\r\n sticky={sticky}\r\n extract={extract}\r\n lock={lock}\r\n unlock={unlock}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n channels={channels}\r\n customButtons={customButtonsProps}\r\n frameId={options.targetId}\r\n captionEditor={captionEditor}\r\n notifyCaptionBoundsChanged={notifyCaptionBoundsChanged} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderFrameWindowOverlay = () => {\r\n const FrameWindowOverlayCustomElement = components?.frame?.Overlay;\r\n return Object.values(state.frameWindowOverlays).map((fcb) => {\r\n if (!FrameWindowOverlayCustomElement || !fcb.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = fcb;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <FrameWindowOverlayCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderAboveWindow = () => {\r\n const AboveWindowCustomElement = components?.frame?.AboveWindow;\r\n return Object.values(state.aboveWindowZones).map((awz) => {\r\n if (!AboveWindowCustomElement || !awz.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = awz;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <AboveWindowCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderWindowContentOverlays = () => {\r\n const WindowContentCustomElement = components?.frame?.WindowContentOverlay;\r\n return Object.values(state.windowContentOverlays).map((wco) => {\r\n if (!WindowContentCustomElement || !wco.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = wco;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <WindowContentCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderFrameLoadingAnimations = () => {\r\n const LoadingAnimationCustomElement = LoadingAnimation;\r\n return Object.values(state.frameLoadingAnimations).map((wla) => {\r\n if (!LoadingAnimationCustomElement || !wla.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = wla;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <LoadingAnimationCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderBelowWindow = () => {\r\n const BelowWindowCustomElement = components?.frame?.BelowWindow;\r\n return Object.values(state.belowWindowZones).map((bwz) => {\r\n if (!BelowWindowCustomElement || !bwz.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = bwz;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <BelowWindowCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderAboveTabs = () => {\r\n const AboveTabsCustomElement = components?.tabs?.Above;\r\n\r\n return Object.values(state.aboveTabsZones).map((te) => {\r\n if (!AboveTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><AboveTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderBeforeTabsZones = () => {\r\n const BeforeTabsCustomElement = components?.tabs?.Before;\r\n\r\n return Object.values(state.beforeTabsZones).map((te) => {\r\n if (!BeforeTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><BeforeTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderTabElements = () => {\r\n const TabCustomElement = components?.tabs?.Element;\r\n\r\n return Object.values(state.tabElements).map((te) => {\r\n if (!TabCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n\r\n const onCloseClick = () => {\r\n webGroupsManager.closeTab(options.targetId);\r\n }\r\n\r\n const showSelector = (bounds: Bounds) => {\r\n webGroupsManager.onTabChannelSelectorClick(options.targetId, bounds);\r\n }\r\n\r\n const channels: ChannelProps = {\r\n showSelector,\r\n visible: options.channelSelectorVisible,\r\n selectedChannel: options.selectedChannel,\r\n selectedChannelColor: options.selectedChannelColor ?? options.selectedChannel, // TODO remove the null check when the variable has been added\r\n channelRestrictions: options.channelRestrictions,\r\n channelLabel: options.channelLabel,\r\n channelsMode: options.channelsMode ?? \"single\",\r\n selectedChannels: options.selectedChannels\r\n };\r\n\r\n const captionEditor = {\r\n ...options.captionEditor,\r\n commitChanges: (text: string) => {\r\n webGroupsManager.commitCaptionEditing(TargetType.Tab, options.targetId, text);\r\n },\r\n hideEditor: () => {\r\n webGroupsStore.onHideCaptionEditorRequested(TargetType.Tab, options.targetId);\r\n },\r\n notifyBoundsChanged: (bounds: Bounds) => {\r\n webGroupsManager.onCaptionEditorBoundsChanged(TargetType.Tab, options.targetId, bounds);\r\n },\r\n notifyEditorVisibilityChanged: (visible: boolean) => {\r\n webGroupsManager.onCaptionEditorVisibleChanged(TargetType.Tab, options.targetId, visible);\r\n }\r\n };\r\n\r\n const notifyCaptionBoundsChanged = (bounds: Bounds) => webGroupsManager.onCaptionTextBoundsChanged(TargetType.Tab, options.targetId, bounds);\r\n\r\n const addContainerClass = (className: string) => {\r\n webGroupsManager.addTabContainerClass(options.targetId, className);\r\n }\r\n\r\n const removeContainerClass = (className: string) => {\r\n webGroupsManager.removeTabContainerClass(options.targetId, className);\r\n }\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <TabCustomElement {...options}\r\n close={onCloseClick}\r\n channels={channels}\r\n windowId={options.targetId}\r\n captionEditor={captionEditor}\r\n notifyCaptionBoundsChanged={notifyCaptionBoundsChanged}\r\n addContainerClass={addContainerClass}\r\n removeContainerClass={removeContainerClass}\r\n />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderAfterTabsZones = () => {\r\n const AfterTabsCustomElement = components?.tabs?.After;\r\n\r\n return Object.values(state.afterTabsZones).map((te) => {\r\n if (!AfterTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><AfterTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderTabHeaderButtons = () => {\r\n const TabButtonsCustomElement = components?.tabs?.Buttons;\r\n\r\n return Object.values(state.tabHeaderButtons).map((te) => {\r\n if (!TabButtonsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = te;\r\n\r\n const overflow = {\r\n onClick: () => {\r\n webGroupsManager.onOverflowButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.overflow\r\n };\r\n\r\n const feedback = {\r\n onClick: () => {\r\n webGroupsManager.onFeedbackButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.feedback\r\n };\r\n\r\n const clone = {\r\n onClick: () => {\r\n webGroupsManager.onCloneButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.clone\r\n };\r\n\r\n const sticky = {\r\n onClick: () => {\r\n webGroupsManager.onStickyButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.sticky\r\n };\r\n\r\n const extract = {\r\n onClick: () => {\r\n webGroupsManager.onExtractButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.extract\r\n };\r\n\r\n const lock = {\r\n onClick: () => {\r\n webGroupsManager.onLockButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.lock\r\n }\r\n\r\n const unlock = {\r\n onClick: () => {\r\n webGroupsManager.onUnlockButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.unlock\r\n }\r\n\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n let customButtonsProps = new Array<CustomButtonProps>();\r\n if (options.customButtons) {\r\n customButtonsProps = options.customButtons.map((cButton) => {\r\n return {\r\n onClick: () => {\r\n webGroupsManager.clickCustomButton(options.targetId, cButton.buttonId);\r\n },\r\n visible: true,\r\n imageData: cButton.imageData,\r\n tooltip: cButton.tooltip,\r\n buttonId: cButton.buttonId\r\n }\r\n });\r\n }\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}><TabButtonsCustomElement {...options}\r\n overflow={overflow}\r\n feedback={feedback}\r\n clone={clone}\r\n sticky={sticky}\r\n extract={extract}\r\n lock={lock}\r\n unlock={unlock}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n customButtons={customButtonsProps}\r\n frameId={options.targetId}\r\n /></Portal>\r\n });\r\n }\r\n\r\n const renderTabOverflowPopups = () => {\r\n const TabOverflowCustomElement = components?.tabs?.OverflowPopup;\r\n\r\n return Object.values(state.tabOverflowPopups).map((top) => {\r\n if (!TabOverflowCustomElement || !top.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = top;\r\n\r\n const select = (windowId: string) => {\r\n webGroupsManager.selectTab(windowId);\r\n };\r\n\r\n const close = (windowId: string) => {\r\n webGroupsManager.closeTab(windowId);\r\n }\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}><TabOverflowCustomElement {...options}\r\n select={select}\r\n close={close}\r\n frameId={options.targetId}\r\n /></Portal>\r\n });\r\n }\r\n\r\n const renderBelowTabs = () => {\r\n const BelowTabsCustomElement = components?.tabs?.Below;\r\n\r\n return Object.values(state.belowTabsZones).map((te) => {\r\n if (!BelowTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><BelowTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderHtmlButtons = () => {\r\n const HtmlButtonsCustomElement = components?.html?.Buttons;\r\n\r\n return Object.values(state.htmlButtons).map((te) => {\r\n if (!HtmlButtonsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = te;\r\n\r\n const overflow = {\r\n onClick: () => {\r\n webGroupsManager.onOverflowButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.overflow\r\n };\r\n\r\n const feedback = {\r\n onClick: () => {\r\n webGroupsManager.onFeedbackButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.feedback\r\n };\r\n\r\n const clone = {\r\n onClick: () => {\r\n webGroupsManager.onCloneButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.clone\r\n };\r\n\r\n const sticky = {\r\n onClick: () => {\r\n webGroupsManager.onStickyButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.sticky\r\n };\r\n\r\n const extract = {\r\n onClick: () => {\r\n webGroupsManager.onExtractButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.extract\r\n };\r\n\r\n const lock = {\r\n onClick: () => {\r\n webGroupsManager.onLockButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.lock\r\n }\r\n\r\n const unlock = {\r\n onClick: () => {\r\n webGroupsManager.onUnlockButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.unlock\r\n }\r\n\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n let customButtonsProps = new Array<CustomButtonProps>();\r\n if (options.customButtons) {\r\n customButtonsProps = options.customButtons.map((cButton) => {\r\n return {\r\n onClick: () => {\r\n webGroupsManager.clickCustomButton(options.targetId, cButton.buttonId);\r\n },\r\n visible: true,\r\n imageData: cButton.imageData,\r\n tooltip: cButton.tooltip,\r\n buttonId: cButton.buttonId\r\n }\r\n });\r\n }\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}><HtmlButtonsCustomElement {...options}\r\n overflow={overflow}\r\n feedback={feedback}\r\n clone={clone}\r\n sticky={sticky}\r\n extract={extract}\r\n lock={lock}\r\n unlock={unlock}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n customButtons={customButtonsProps}\r\n frameId={options.targetId}\r\n /></Portal>\r\n });\r\n }\r\n\r\n return <>\r\n {renderGroupCaptionBar()}\r\n {renderGroupOverlay()}\r\n {renderFrameCaptionBar()}\r\n {renderFrameWindowOverlay()}\r\n {renderAboveWindow()}\r\n {renderWindowContentOverlays()}\r\n {renderFrameLoadingAnimations()}\r\n {renderBelowWindow()}\r\n {renderAboveTabs()}\r\n {renderBeforeTabsZones()}\r\n {renderTabElements()}\r\n {renderAfterTabsZones()}\r\n {renderTabHeaderButtons()}\r\n {renderTabOverflowPopups()}\r\n {renderBelowTabs()}\r\n {renderHtmlButtons()}\r\n <GroupWrapper\r\n onCreateGroupCaptionBarRequested={components?.group?.CaptionBar ? webGroupsStore.onCreateGroupCaptionBarRequested : undefined}\r\n onCreateGroupOverlayRequested={components?.group?.Overlay ? webGroupsStore.onCreateGroupOverlayRequested : undefined}\r\n onCreateFrameCaptionBarRequested={components?.flat?.CaptionBar ? webGroupsStore.onCreateFrameCaptionBarRequested : undefined}\r\n onCreateFrameWindowOverlayRequested={components?.frame?.Overlay ? webGroupsStore.onCreateFrameWindowOverlayRequested : undefined}\r\n onCreateAboveWindowRequested={components?.frame?.AboveWindow ? webGroupsStore.onCreateAboveWindowRequested : undefined}\r\n onCreateWindowContentOverlayRequested={components?.frame?.WindowContentOverlay ? webGroupsStore.onCreateWindowContentOverlayRequested : undefined}\r\n onCreateFrameLoadingAnimationRequested={LoadingAnimation ? webGroupsStore.onCreateFrameLoadingAnimationRequested : undefined}\r\n onCreateBelowWindowRequested={components?.frame?.BelowWindow ? webGroupsStore.onCreateBelowWindowRequested : undefined}\r\n onCreateAboveTabsRequested={components?.tabs?.Above ? webGroupsStore.onCreateAboveTabsComponentRequested : undefined}\r\n onCreateBeforeTabsComponentRequested={components?.tabs?.Before ? webGroupsStore.onCreateBeforeTabsComponentRequested : undefined}\r\n onCreateTabRequested={components?.tabs?.Element ? webGroupsStore.onCreateTabElementRequested : undefined}\r\n onCreateAfterTabsComponentRequested={components?.tabs?.After ? webGroupsStore.onCreateAfterTabsComponentRequested : undefined}\r\n onCreateTabHeaderButtonsRequested={components?.tabs?.Buttons ? webGroupsStore.onCreateTabHeaderButtonsRequested : undefined}\r\n onCreateBelowTabsRequested={components?.tabs?.Below ? webGroupsStore.onCreateBelowTabsComponentRequested : undefined}\r\n onCreateHtmlButtonsRequested={components?.html?.Buttons ? webGroupsStore.onCreateHtmlButtonsRequested : undefined}\r\n onCreateTabOverflowPopupRequested={components?.tabs?.OverflowPopup ? webGroupsStore.onCreateTabOverflowPopupRequested : undefined}\r\n onUpdateGroupCaptionBarRequested={components?.group?.CaptionBar ? webGroupsStore.onUpdateGroupCaptionBarRequested : undefined}\r\n onUpdateFrameWindowOverlayRequested={components?.group?.Overlay ? webGroupsStore.onUpdateFrameWindowOverlayRequested : undefined}\r\n onUpdateFrameCaptionBarRequested={components?.flat?.CaptionBar ? webGroupsStore.onUpdateFrameCaptionBarRequested : undefined}\r\n onUpdateFrameRequested={webGroupsStore.onUpdateFrame}\r\n onUpdateStandardButtonRequested={webGroupsStore.onUpdateStandardButton}\r\n onUpdateCustomButtonsRequested={webGroupsStore.onUpdateCustomButtons}\r\n onUpdateAboveTabsRequested={components?.tabs?.Above ? webGroupsStore.onUpdateAboveTabsRequested : undefined}\r\n onUpdateBeforeTabsComponentRequested={components?.tabs?.Before ? webGroupsStore.onUpdateBeforeTabsRequested : undefined}\r\n onUpdateTabRequested={components?.tabs?.Element ? webGroupsStore.onUpdateTabElementRequested : undefined}\r\n onUpdateAfterTabsComponentRequested={components?.tabs?.After ? webGroupsStore.onUpdateAfterTabsRequested : undefined}\r\n onUpdateBelowTabsRequested={components?.tabs?.Below ? webGroupsStore.onUpdateBelowTabsRequested : undefined}\r\n onRemoveFrameCaptionBarRequested={webGroupsStore.onRemoveFrameCaptionBarRequested}\r\n onRemoveFrameWindowOverlayRequested={webGroupsStore.onRemoveFrameWindowOverlayRequested}\r\n onRemoveAboveWindowRequested={webGroupsStore.onRemoveAboveWindowRequested}\r\n onRemoveWindowContentOverlayRequested={webGroupsStore.onRemoveWindowContentOverlayRequested}\r\n onRemoveFrameLoadingAnimationRequested={webGroupsStore.onRemoveFrameLoadingAnimationRequested}\r\n onRemoveBelowWindowRequested={webGroupsStore.onRemoveBelowWindowRequested}\r\n onRemoveAboveTabsRequested={webGroupsStore.onRemoveAboveTabsRequested}\r\n onRemoveBeforeTabsComponentRequested={webGroupsStore.onRemoveBeforeTabsComponentRequested}\r\n onRemoveTabRequested={webGroupsStore.onRemoveTabElementRequested}\r\n onRemoveAfterTabsComponentRequested={webGroupsStore.onRemoveAfterTabsComponentRequested}\r\n onRemoveTabHeaderButtonsRequested={webGroupsStore.onRemoveTabHeaderButtonsRequested}\r\n onRemoveBelowTabsRequested={webGroupsStore.onRemoveBelowTabsRequested}\r\n onRemoveHtmlButtonsRequested={webGroupsStore.onRemoveHtmlButtonsRequested}\r\n onRemoveTabOverflowPopupRequested={webGroupsStore.onRemoveTabOverflowPopupRequested}\r\n onShowCaptionEditorRequested={webGroupsStore.onShowCaptionEditorRequested}\r\n onCommitCaptionEditingRequested={webGroupsStore.onCommitCaptionEditingRequested}\r\n onHideCaptionEditorRequested={webGroupsStore.onHideCaptionEditorRequested}\r\n onShowLoadingAnimationRequested={webGroupsStore.onShowLoadingAnimationRequested}\r\n onHideLoadingAnimationRequested={webGroupsStore.onHideLoadingAnimationRequested}\r\n styles={styles}\r\n />\r\n </>\r\n}\r\n\r\nexport default GroupElementCreationWrapper;\r\n","import { useContext, useEffect, useState } from \"react\";\r\nimport { IOConnectContext } from \"@interopio/react-hooks\";\r\n\r\nfunction useIOConnectWindow (windowId: string) {\r\n const [IOConnectWindow, setIOConnectWindow] = useState<any>(undefined);\r\n\r\n const io = (window as any).io || useContext(IOConnectContext);\r\n useEffect(() => {\r\n const unsub = io.windows.onWindowAdded((w: any) => {\r\n if (w.id === windowId) {\r\n setIOConnectWindow(w);\r\n unsub();\r\n }\r\n });\r\n\r\n const windowInCollection = io.windows.list().find((w: any) => w.id === windowId);\r\n if (windowInCollection) {\r\n setIOConnectWindow(windowInCollection);\r\n unsub();\r\n }\r\n\r\n return unsub;\r\n }, [windowId]);\r\n\r\n return IOConnectWindow;\r\n}\r\n\r\nexport default useIOConnectWindow;\r\n\r\n","import { useSyncExternalStore } from \"use-sync-external-store/shim\";\r\nimport { GroupComponentVisibilityState } from \"./types/api\";\r\nimport { ElementCreationWrapperState } from \"./types/internal\";\r\nimport webGroupsStore from \"./webGroupsStore\";\r\n\r\nfunction useGroupComponentVisibility(): GroupComponentVisibilityState {\r\n const state = useSyncExternalStore<ElementCreationWrapperState>(webGroupsStore.subscribe, webGroupsStore.getSnapshot);\r\n return {\r\n groupCaptionBarVisible: state.groupCaptionBar?.visible\r\n };\r\n}\r\n\r\nexport default useGroupComponentVisibility;\r\n\r\n","import { TargetType } from \"../../types/internal\";\r\nimport useCommitEditingRequested from \"../captionEditor/useCommitEditingRequested\";\r\n\r\nfunction useCommitTabCaptionEditingRequested(targetId: string, text: string): void {\r\n useCommitEditingRequested(TargetType.Tab, targetId, text);\r\n}\r\n\r\nexport default useCommitTabCaptionEditingRequested;","import { TargetType } from \"../../types/internal\";\r\nimport useCommitEditingRequested from \"../captionEditor/useCommitEditingRequested\";\r\n\r\nfunction useCommitGroupCaptionEditingRequested(targetId: string, text: string): void {\r\n useCommitEditingRequested(TargetType.Group, targetId, text);\r\n}\r\n\r\nexport default useCommitGroupCaptionEditingRequested;\r\n","import { TargetType } from \"../../types/internal\";\r\nimport useCommitEditingRequested from \"../captionEditor/useCommitEditingRequested\";\r\n\r\nfunction useCommitFlatCaptionEditingRequested(targetId: string, text: string): void {\r\n useCommitEditingRequested(TargetType.Frame, targetId, text);\r\n}\r\n\r\nexport default useCommitFlatCaptionEditingRequested;","import React from \"react\";\nimport { HtmlButtonsProps } from \"../../types/api\";\nimport CloseButton from \"../buttons/CloseButton\";\nimport ExtractButton from \"../buttons/ExtractButton\";\nimport FeedbackButton from \"../buttons/FeedbackButton\";\nimport CloneButton from \"../buttons/CloneButton\";\nimport LockButton from \"../buttons/LockButtons\";\nimport MaximizeButton from \"../buttons/MaximizeButton\";\nimport MinimizeButton from \"../buttons/MinimizeButton\";\nimport RestoreButton from \"../buttons/RestoreButton\";\nimport StickyButton from \"../buttons/StickyButton\";\nimport UnlockButton from \"../buttons/UnlockButton\";\nimport CustomButton from \"../buttons/CustomButton\";\n\nconst HtmlButtons: React.FC<HtmlButtonsProps> = ({ extract, minimize, maximize, restore, close, lock, unlock, feedback, clone, sticky, customButtons }) => {\n return <div className=\"t42-buttons-container t42-html-buttons-bar-element\">\n <ul className=\"t42-buttons t42-html-buttons-bar-element\">\n {\n customButtons.map(customButton => {\n return customButton.visible && <CustomButton key={customButton.buttonId} {...customButton} />\n })\n }\n </ul>\n <ul className=\"t42-buttons t42-html-buttons-bar-element\">\n {feedback?.visible && <FeedbackButton {...feedback} />}\n {clone?.visible && <CloneButton {...clone} />}\n {sticky?.visible && <StickyButton {...sticky} />}\n {extract?.visible && <ExtractButton {...extract} />}\n {lock?.visible && <LockButton {...lock} />}\n {unlock?.visible && <UnlockButton {...unlock} />}\n {minimize?.visible && <MinimizeButton {...minimize} />}\n {restore?.visible && <RestoreButton {...restore} />}\n {maximize?.visible && <MaximizeButton {...maximize} />}\n {close?.visible && <CloseButton {...close} />}\n </ul>\n </div>\n};\n\n\nexport default HtmlButtons;","import React from 'react';\r\nimport { TabOverflowPopupProps } from '../../types/api';\r\nimport { OverflowedTabInfo } from '../../types/internal';\r\n\r\nconst TabOverflowPopup: React.FC<TabOverflowPopupProps> = ({\r\n hiddenTabsToTheLeft,\r\n hiddenTabsToTheRight,\r\n close,\r\n select\r\n}) => {\r\n const createSection = (tabs: OverflowedTabInfo[], title: string) => {\r\n return (\r\n <ul>\r\n <li className=\"title\">{title}</li>\r\n {tabs.map((tab) => (\r\n <li key={tab.windowId} onClick={() => handleTabClick(tab.windowId)}>\r\n <span>{tab.title}</span>\r\n <div className=\"t42-tab-close-button-content\" onClick={(e) => {\r\n e.stopPropagation();\r\n handleTabClose(tab.windowId)\r\n }}></div>\r\n </li>\r\n ))}\r\n </ul>\r\n );\r\n };\r\n\r\n const handleTabClick = (windowId: string) => {\r\n select(windowId);\r\n };\r\n\r\n const handleTabClose = (windowId: string) => {\r\n close(windowId);\r\n };\r\n\r\n return (\r\n <div className=\"t42-wg-tab-overflow-popup\">\r\n {hiddenTabsToTheLeft.length > 0 && createSection(hiddenTabsToTheLeft, \"Open left\")}\r\n {hiddenTabsToTheLeft.length > 0 && hiddenTabsToTheRight.length > 0 && <hr />}\r\n {hiddenTabsToTheRight.length > 0 && createSection(hiddenTabsToTheRight, \"Open right\")}\r\n </div>\r\n );\r\n};\r\n\r\nexport default TabOverflowPopup;","import CloseButton from \"./defaultComponents/buttons/CloseButton\";\r\nimport FlatCaptionBar from \"./defaultComponents/flatCaptionBar/FlatCaptionBar\";\r\nimport GroupCaptionBar from \"./defaultComponents/groupCaptionBar/GroupCaptionBar\";\r\nimport MaximizeButton from \"./defaultComponents/buttons/MaximizeButton\";\r\nimport MinimizeButton from \"./defaultComponents/buttons/MinimizeButton\";\r\nimport Tab from \"./defaultComponents/tabs/Tab\";\r\nimport TabHeaderButtons from \"./defaultComponents/tabs/TabHeaderButtons\";\r\nimport TabCaption from \"./defaultComponents/tabs/TabCaption\";\r\nimport TabCloseButton from \"./defaultComponents/tabs/TabCloseButton\";\r\nimport GroupElementCreationWrapper from \"./GroupElementCreationWrapper\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\nimport GroupMoveArea from \"./defaultComponents/groupCaptionBar/GroupMoveArea\";\r\nimport GroupButtons from \"./defaultComponents/groupCaptionBar/GroupButtons\";\r\nimport FlatMoveArea from \"./defaultComponents/flatCaptionBar/FlatMoveArea\";\r\nimport FlatButtons from \"./defaultComponents/flatCaptionBar/FlatButtons\";\r\nimport FlatCaption from \"./defaultComponents/flatCaptionBar/FlatCaption\";\r\nimport GroupCaption from \"./defaultComponents/groupCaptionBar/GroupCaption\";\r\nimport FlatChannelSelector from \"./defaultComponents/channelSelector/FlatChannelSelector\";\r\nimport TabChannelSelector from \"./defaultComponents/channelSelector/TabChannelSelector\";\r\nimport RestoreButton from \"./defaultComponents/buttons/RestoreButton\";\r\nimport LockButton from \"./defaultComponents/buttons/LockButtons\";\r\nimport UnlockButton from \"./defaultComponents/buttons/UnlockButton\";\r\nimport ExtractButton from \"./defaultComponents/buttons/ExtractButton\";\r\nimport FeedbackButton from \"./defaultComponents/buttons/FeedbackButton\";\r\nimport CloneButton from \"./defaultComponents/buttons/CloneButton\";\r\nimport StickyButton from \"./defaultComponents/buttons/StickyButton\";\r\nimport OverflowButton from \"./defaultComponents/buttons/OverflowButton\";\r\nimport useIOConnectWindow from \"./useIOConnectWindow\";\r\nimport CustomButton from \"./defaultComponents/buttons/CustomButton\";\r\nimport { waitForWindow } from \"./utils\";\r\nimport useGroupComponentVisibility from \"./useGroupComponentVisibility\";\r\nimport {\r\n CloseButtonProps,\r\n ExtractButtonProps,\r\n StickyButtonProps,\r\n FeedbackButtonProps,\r\n FlatButtonsProps,\r\n FlatCaptionEditorProps,\r\n FlatCaptionProps,\r\n FlatChannelSelectorProps,\r\n FlatMoveAreaProps,\r\n GroupButtonsProps,\r\n GroupCaptionEditorProps,\r\n GroupMoveAreaProps,\r\n LockButtonProps,\r\n MaximizeButtonProps,\r\n MinimizeButtonProps,\r\n RestoreButtonProps,\r\n TabCaptionEditorProps,\r\n TabCaptionProps,\r\n TabChannelSelectorProps,\r\n TabCloseButtonProps,\r\n UnlockButtonProps,\r\n UseCaptionEditorOptions,\r\n UseEditableCaptionOptions,\r\n OverflowButtonProps\r\n} from \"./types/defaultComponents\";\r\nimport {\r\n AboveTabsProps,\r\n AboveWindowProps,\r\n AfterTabsProps,\r\n BeforeTabsProps,\r\n BelowTabsProps,\r\n BelowWindowProps,\r\n FlatCaptionBarProps,\r\n FrameLoadingAnimationProps,\r\n FrameWindowOverlayProps,\r\n GroupCaptionBarProps,\r\n GroupComponentVisibilityState,\r\n GroupOverlayProps,\r\n GroupProps,\r\n HtmlButtonsProps,\r\n MoveAreaProps,\r\n OpenTabOverflowPopupOptions,\r\n TabElementProps,\r\n TabHeaderButtonsProps,\r\n TabOverflowPopupProps,\r\n WindowContentOverlayProps,\r\n} from \"./types/api\";\r\nimport GroupCaptionEditor from \"./defaultComponents/groupCaptionBar/GroupCaptionEditor\";\r\nimport FlatCaptionEditor from \"./defaultComponents/flatCaptionBar/FlatCaptionEditor\";\r\nimport TabCaptionEditor from \"./defaultComponents/tabs/TabCaptionEditor\";\r\nimport { Location, TargetType } from \"./types/internal\";\r\nimport useCommitTabCaptionEditingRequested from \"./defaultComponents/tabs/useCommitTabCaptionEditingRequested\";\r\nimport useCommitGroupCaptionEditingRequested from \"./defaultComponents/groupCaptionBar/useCommitGroupCaptionEditingRequested\";\r\nimport useCommitFlatCaptionEditingRequested from \"./defaultComponents/flatCaptionBar/useCommitFlatCaptionEditingRequested\";\r\nimport useEditableCaption from \"./defaultComponents/captionEditor/useEditableCaption\";\r\nimport useCaptionEditor from \"./defaultComponents/captionEditor/useCaptionEditor\";\r\nimport FrameLoadingAnimation from \"./defaultComponents/loadingAnimation/FrameLoadingAnimation\";\r\nimport HtmlButtons from \"./defaultComponents/htmlButtonsBar/buttons\";\r\nimport TabOverflowPopup from \"./defaultComponents/popups/TabOverflowPopup\";\r\nimport TabMultiChannelSelector from \"./defaultComponents/channelSelector/multi/TabMultiChannelSelector\";\r\nimport FlatMultiChannelSelector from \"./defaultComponents/channelSelector/multi/FlatMultiChannelSelector\";\r\n\r\nexport {\r\n GroupCaptionBar,\r\n GroupMoveArea,\r\n GroupButtons,\r\n GroupCaptionEditor,\r\n Tab,\r\n TabChannelSelector,\r\n TabCaption,\r\n TabCloseButton,\r\n TabCaptionEditor,\r\n FeedbackButton,\r\n CloneButton,\r\n StickyButton,\r\n ExtractButton,\r\n LockButton,\r\n UnlockButton,\r\n MinimizeButton,\r\n RestoreButton,\r\n MaximizeButton,\r\n CustomButton,\r\n CloseButton,\r\n FlatCaptionBar,\r\n FlatChannelSelector,\r\n FlatCaption,\r\n FlatMoveArea,\r\n FlatButtons,\r\n FlatCaptionEditor,\r\n TabHeaderButtons,\r\n FrameLoadingAnimation,\r\n HtmlButtons,\r\n TabOverflowPopup,\r\n OverflowButton,\r\n GroupComponentVisibilityState,\r\n TabMultiChannelSelector,\r\n FlatMultiChannelSelector,\r\n useIOConnectWindow,\r\n useGroupComponentVisibility,\r\n waitForWindow,\r\n useEditableCaption,\r\n useCaptionEditor,\r\n useCommitGroupCaptionEditingRequested,\r\n useCommitFlatCaptionEditingRequested,\r\n useCommitTabCaptionEditingRequested,\r\n}\r\n\r\nexport const getGroupId: () => string = () => webGroupsManager?.getGroupId();\r\nexport const requestPageFocus: () => void = () => webGroupsManager?.requestPageFocus();\r\nexport const requestFrameFocus: (frameId: string) => void = (frameId) => webGroupsManager?.requestFrameFocus(frameId);\r\nexport const requestGroupFocus: () => void = () => webGroupsManager?.requestGroupFocus();\r\nexport const openTabOverflowPopup: (options: OpenTabOverflowPopupOptions) => void = ({ frameId, location }: OpenTabOverflowPopupOptions) => webGroupsManager.openTabOverflowPopup(frameId, location);\r\n\r\nexport const onCommitGroupCaptionEditingRequested = (targetId: string, cb: () => void) => webGroupsManager.onCommitCaptionEditingRequested(TargetType.Group, targetId, cb);\r\nexport const onCommitFlatCaptionEditingRequested = (targetId: string, cb: () => void) => webGroupsManager.onCommitCaptionEditingRequested(TargetType.Frame, targetId, cb);\r\nexport const onCommitTabCaptionEditingRequested = (targetId: string, cb: () => void) => webGroupsManager.onCommitCaptionEditingRequested(TargetType.Tab, targetId, cb);\r\n\r\nexport {\r\n MoveAreaProps,\r\n GroupProps,\r\n GroupCaption,\r\n GroupCaptionBarProps,\r\n GroupMoveAreaProps,\r\n GroupOverlayProps,\r\n GroupButtonsProps,\r\n GroupCaptionEditorProps,\r\n TabElementProps,\r\n TabChannelSelectorProps,\r\n TabCaptionProps,\r\n TabCloseButtonProps,\r\n TabHeaderButtonsProps,\r\n TabCaptionEditorProps,\r\n HtmlButtonsProps,\r\n FlatCaptionBarProps,\r\n FlatCaptionProps,\r\n FrameWindowOverlayProps,\r\n FlatMoveAreaProps,\r\n FlatChannelSelectorProps,\r\n FlatButtonsProps,\r\n FlatCaptionEditorProps,\r\n OverflowButtonProps,\r\n StickyButtonProps,\r\n FeedbackButtonProps,\r\n ExtractButtonProps,\r\n LockButtonProps,\r\n UnlockButtonProps,\r\n MinimizeButtonProps,\r\n MaximizeButtonProps,\r\n RestoreButtonProps,\r\n CloseButtonProps,\r\n FrameLoadingAnimationProps,\r\n UseCaptionEditorOptions,\r\n UseEditableCaptionOptions,\r\n AboveWindowProps,\r\n BelowWindowProps,\r\n AboveTabsProps,\r\n BelowTabsProps,\r\n BeforeTabsProps,\r\n AfterTabsProps,\r\n WindowContentOverlayProps,\r\n TabOverflowPopupProps,\r\n}\r\n\r\nexport default GroupElementCreationWrapper;\r\n"],"names":["callbackRegistry","r","ResizeObserver","e","React","require$$0","require$$1","useSyncExternalStore"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/types/internal.ts","../../node_modules/callback-registry/lib/index.js","../../src/webGroupsManager.ts","../../src/defaultComponents/buttons/BaseButton.tsx","../../src/defaultComponents/utils/common.ts","../../src/defaultComponents/buttons/StandardButton.tsx","../../src/defaultComponents/buttons/CloseButton.tsx","../../node_modules/color2k/dist/index.module.es.js","../../src/defaultComponents/channelSelector/utils.ts","../../src/defaultComponents/channelSelector/BaseChannelSelector.tsx","../../src/defaultComponents/channelSelector/FlatChannelSelector.tsx","../../src/defaultComponents/buttons/ExtractButton.tsx","../../src/defaultComponents/buttons/FeedbackButton.tsx","../../src/defaultComponents/buttons/CloneButton.tsx","../../src/defaultComponents/buttons/StickyButton.tsx","../../src/defaultComponents/buttons/LockButtons.tsx","../../src/defaultComponents/buttons/MaximizeButton.tsx","../../src/defaultComponents/buttons/MinimizeButton.tsx","../../src/defaultComponents/buttons/RestoreButton.tsx","../../src/defaultComponents/buttons/UnlockButton.tsx","../../src/defaultComponents/buttons/CustomButton.tsx","../../src/defaultComponents/flatCaptionBar/FlatButtons.tsx","../../src/utils.ts","../../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../../src/defaultComponents/captionEditor/useEditableCaption.ts","../../src/defaultComponents/utils/useDragMove.ts","../../src/defaultComponents/flatCaptionBar/FlatCaption.tsx","../../src/defaultComponents/captionEditor/useCaptionEditor.ts","../../src/defaultComponents/captionEditor/useCommitEditingRequested.tsx","../../src/defaultComponents/captionEditor/CaptionEditor.tsx","../../src/defaultComponents/flatCaptionBar/FlatCaptionEditor.tsx","../../src/defaultComponents/flatCaptionBar/FlatMoveArea.tsx","../../src/defaultComponents/channelSelector/multi/BaseMultiChannelSelector.tsx","../../src/defaultComponents/channelSelector/multi/FlatMultiChannelSelector.tsx","../../src/defaultComponents/flatCaptionBar/FlatCaptionBar.tsx","../../src/defaultComponents/groupCaptionBar/GroupMoveArea.tsx","../../src/defaultComponents/groupCaptionBar/GroupButtons.tsx","../../src/defaultComponents/groupCaptionBar/GroupCaption.tsx","../../src/defaultComponents/groupCaptionBar/GroupCaptionEditor.tsx","../../src/defaultComponents/groupCaptionBar/GroupCaptionBar.tsx","../../src/defaultComponents/channelSelector/TabChannelSelector.tsx","../../src/defaultComponents/channelSelector/multi/TabMultiChannelSelector.tsx","../../src/defaultComponents/tabs/TabCaption.tsx","../../src/defaultComponents/tabs/TabCaptionEditor.tsx","../../src/defaultComponents/tabs/TabCloseButton.tsx","../../src/defaultComponents/tabs/Tab.tsx","../../src/defaultComponents/buttons/OverflowButton.tsx","../../src/defaultComponents/tabs/TabHeaderButtons.tsx","../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../node_modules/use-sync-external-store/shim/index.js","../../src/GroupWrapper.tsx","../../src/Portal.tsx","../../src/webGroupsStore.ts","../../src/defaultComponents/loadingAnimation/FrameLoadingAnimation.tsx","../../src/GroupElementCreationWrapper.tsx","../../src/useIOConnectWindow.ts","../../src/useGroupComponentVisibility.ts","../../src/defaultComponents/tabs/useCommitTabCaptionEditingRequested.ts","../../src/defaultComponents/groupCaptionBar/useCommitGroupCaptionEditingRequested.ts","../../src/defaultComponents/flatCaptionBar/useCommitFlatCaptionEditingRequested.ts","../../src/defaultComponents/htmlButtonsBar/buttons.tsx","../../src/defaultComponents/popups/TabOverflowPopup.tsx","../../src/index.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import React from \"react\";\r\n\r\ntype NonMethodKeys<T> = ({ [P in keyof T]: T[P] extends Function ? never : P })[keyof T];\r\ntype NonMethods<T> = Pick<T, NonMethodKeys<T>>;\r\n\r\nexport interface PortalProps {\r\n\tparentElement: HTMLElement;\r\n\tchildren?: React.ReactNode;\r\n}\r\n\r\nexport enum StandardButtonTarget {\r\n Default = \"default\",\r\n Frame = \"frame\"\r\n}\r\n\r\nexport interface ButtonProps {\r\n\tonClick: () => void;\r\n\ttooltip: string;\r\n\tvisible: boolean;\r\n\ttarget?: StandardButtonTarget;\r\n}\r\n\r\nexport interface ToggleButtonProps extends ButtonProps {\r\n\tisPressed: boolean;\r\n}\r\n\r\nexport interface GroupWrapperProps {\r\n\tonCreateGroupCaptionBarRequested?: (options: CreateGroupCaptionBarRequestOptions) => void;\r\n\tonUpdateGroupCaptionBarRequested?: (options: UpdateGroupCaptionBarRequestOptions) => void;\r\n\r\n\tonCreateGroupOverlayRequested?: (options: CreateElementRequestOptions) => void;\r\n\r\n\tonCreateFrameCaptionBarRequested?: (options: CreateFrameCaptionBarRequestOptions) => void;\r\n\tonUpdateFrameCaptionBarRequested?: (options: UpdateFrameCaptionBarRequestOptions) => void;\r\n\r\n\tonCreateFrameWindowOverlayRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateFrameWindowOverlayRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateAboveWindowRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonCreateWindowContentOverlayRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonCreateFrameLoadingAnimationRequested?: (options: CreateFrameLoadingAnimationRequestOptions) => void;\r\n\tonCreateBelowWindowRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateAboveTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateAboveTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateBeforeTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateBeforeTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateTabRequested?: (options: CreateTabRequestOptions) => void;\r\n\tonUpdateTabRequested?: (options: CreateTabRequestOptions) => void;\r\n\r\n\tonCreateAfterTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateAfterTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateTabHeaderButtonsRequested?: (options: CreateButtonsOptions) => void;\r\n\r\n\tonCreateTabOverflowPopupRequested?: (options: CreateTabOverflowPopupRequestOptions) => void;\r\n\r\n\tonCreateBelowTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateBelowTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonUpdateFrameRequested?: (options: UpdateFrameRequestOptions) => void;\r\n\tonUpdateStandardButtonRequested?: (options: UpdateStandardButtonRequestOptions) => void;\r\n\tonUpdateCustomButtonsRequested?: (options: UpdateCustomButtonsRequestOptions) => void;\r\n\r\n\tonCreateHtmlButtonsRequested?: (options: CreateButtonsOptions) => void;\r\n\tonRemoveHtmlButtonsRequested?: (options: RemoveRequestOptions) => void;\r\n\r\n\tonRemoveFrameCaptionBarRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveFrameWindowOverlayRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveAboveWindowRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveWindowContentOverlayRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveFrameLoadingAnimationRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveBelowWindowRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveAboveTabsRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveBeforeTabsComponentRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveTabRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveAfterTabsComponentRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveTabHeaderButtonsRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveTabOverflowPopupRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveBelowTabsRequested?: (options: RemoveRequestOptions) => void;\r\n\r\n\tonShowCaptionEditorRequested?: (targetType: TargetType, targetId: string, text: string) => void;\r\n\tonCommitCaptionEditingRequested?: (targetType: TargetType, targetId: string) => void;\r\n\tonHideCaptionEditorRequested?: (targetType: TargetType, targetId: string) => void;\r\n\r\n\tonShowLoadingAnimationRequested?: (targetType: TargetType, targetId: string) => void;\r\n\tonHideLoadingAnimationRequested?: (targetType: TargetType, targetId: string) => void;\r\n\tstyles?: {\r\n\t\ttabs?: {\r\n\t\t\theader?: StylesOptions;\r\n\t\t\tmoveArea?: StylesOptions;\r\n\t\t},\r\n\t\tframe?: {\r\n\t\t\telement?: StylesOptions;\r\n\t\t}\r\n\t};\r\n}\r\n\r\nexport interface CreateGroupCaptionBarRequestOptions extends CreateElementRequestOptions {\r\n\tmoveAreaId: string;\r\n\tcaption: string;\r\n\tvisible: boolean;\r\n\textract: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t},\r\n\tminimize: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\trestore: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tmaximize: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tclose: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tcaptionEditor: {\r\n\t\tshow: boolean;\r\n\t\ttext?: string;\r\n\t};\r\n}\r\n\r\nexport interface UpdateGroupCaptionBarRequestOptions extends CreateGroupCaptionBarRequestOptions {\r\n\r\n}\r\n\r\nexport interface UpdateFrameCaptionBarRequestOptions extends BaseElementOptions {\r\n\r\n}\r\n\r\nexport interface CreateFrameCaptionBarRequestOptions extends CreateButtonsOptions {\r\n\tcaption: string;\r\n\tmoveAreaId: string;\r\n\tchannelSelectorVisible: boolean;\r\n\tselectedChannel: string;\r\n\tselectedChannelColor: string;\r\n\tcaptionEditor: {\r\n\t\tshow: boolean;\r\n\t\ttext?: string;\r\n\t};\r\n\tchannelsMode: \"single\" | \"multi\";\r\n\tselectedChannels: { name: string; color: string }[];\r\n\tchannelRestrictions: {\r\n\t\tread: boolean,\r\n\t\twrite: boolean\r\n\t};\r\n\tchannelLabel: string;\r\n}\r\n\r\nexport interface CreateTabRequestOptions extends CreateElementRequestOptions {\r\n\tcaption: string;\r\n\tselected: boolean;\r\n\tflashing: boolean;\r\n\tpinned: boolean;\r\n\tchannelSelectorVisible: boolean;\r\n\tselectedChannel: string;\r\n\tselectedChannelColor: string;\r\n\tcaptionEditor: {\r\n\t\tshow: boolean;\r\n\t\ttext?: string;\r\n\t};\r\n\tchannelsMode: \"single\" | \"multi\";\r\n\tselectedChannels: { name: string; color: string }[];\r\n\tchannelRestrictions: {\r\n\t\tread: boolean,\r\n\t\twrite: boolean\r\n\t};\r\n\tchannelLabel: string;\r\n}\r\n\r\nexport interface UpdateStandardButtonRequestOptions extends CreateElementRequestOptions {\r\n\tbuttonId: StandardButtons;\r\n\tbuttonTarget: StandardButtonTarget;\r\n\tvisible: boolean;\r\n\ttooltip: string;\r\n\tisPressed: boolean;\r\n}\r\n\r\nexport interface UpdateCustomButtonsRequestOptions extends CreateElementRequestOptions {\r\n\tcustomButtons: UpdateCustomButtonOptions[];\r\n}\r\n\r\nexport interface UpdateCustomButtonOptions {\r\n\tbuttonId: string;\r\n\ttooltip: string;\r\n\timageData: string;\r\n}\r\n\r\nexport interface CreateStandardButtonsOptions {\r\n\ttooltip: string;\r\n\tvisible: boolean;\r\n\ttarget: StandardButtonTarget;\r\n}\r\n\r\nexport interface CreateStandardToggleButtonsOptions extends CreateStandardButtonsOptions {\r\n\tisPressed: boolean;\r\n}\r\n\r\nexport interface CreateButtonsOptions extends CreateFrameElementRequestOptions {\r\n\toverflow: CreateStandardButtonsOptions,\r\n\tfeedback: CreateStandardButtonsOptions,\r\n\tclone: CreateStandardButtonsOptions,\r\n\tsticky: CreateStandardToggleButtonsOptions,\r\n\textract: CreateStandardButtonsOptions,\r\n\tlock: CreateStandardButtonsOptions,\r\n\tunlock: CreateStandardButtonsOptions,\r\n\tminimize: CreateStandardButtonsOptions,\r\n\trestore: CreateStandardButtonsOptions,\r\n\tmaximize: CreateStandardButtonsOptions,\r\n\tclose: CreateStandardButtonsOptions,\r\n\tcustomButtons: UpdateCustomButtonOptions[],\r\n\thiddenTabsToTheLeft: OverflowedTabInfo[];\r\n\thiddenTabsToTheRight: OverflowedTabInfo[];\r\n}\r\n\r\nexport interface RemoveRequestOptions {\r\n\ttargetId: string;\r\n}\r\n\r\nexport interface BaseElementOptions {\r\n\ttargetId: string;\r\n}\r\n\r\nexport interface CreateElementRequestOptions extends BaseElementOptions {\r\n\tparentElement: HTMLElement;\r\n\ttargetType: TargetType;\r\n\telementId: string;\r\n}\r\n\r\nexport interface CreateFrameElementRequestOptions extends CreateElementRequestOptions {\r\n\tselectedWindow: string;\r\n}\r\n\r\nexport interface OverflowedTabInfo {\r\n\ttitle: string;\r\n\twindowId: string;\r\n}\r\n\r\nexport interface CreateTabOverflowPopupRequestOptions extends CreateElementRequestOptions {\r\n\thiddenTabsToTheLeft: OverflowedTabInfo[];\r\n\thiddenTabsToTheRight: OverflowedTabInfo[];\r\n}\r\n\r\nexport interface CreateFrameLoadingAnimationRequestOptions extends CreateFrameElementRequestOptions {\r\n\tshow: boolean;\r\n}\r\n\r\nexport interface UpdateFrameRequestOptions extends CreateFrameElementRequestOptions {\r\n\thiddenTabsToTheLeft: OverflowedTabInfo[];\r\n\thiddenTabsToTheRight: OverflowedTabInfo[];\r\n}\r\n\r\nexport enum TargetType {\r\n\tGroup = \"group\",\r\n\tFrame = \"frame\",\r\n\tTabBar = \"tabBar\",\r\n\tTab = \"tab\",\r\n\tHtmlButtons = \"html\"\r\n}\r\n\r\nexport enum StandardButtons {\r\n\tOverflow = \"overflow\",\r\n\tFeedback = \"feedback\",\r\n\tClone = \"clone\",\r\n\tSticky = \"sticky\",\r\n\tExtract = \"extract\",\r\n\tLock = \"lock\",\r\n\tUnlock = \"unlock\",\r\n\tMinimize = \"minimize\",\r\n\tMaximize = \"maximize\",\r\n\tRestore = \"restore\",\r\n\tClose = \"close\",\r\n}\r\n\r\nexport interface ElementCreationWrapperState {\r\n\tgroupCaptionBar?: CreateGroupCaptionBarRequestOptions;\r\n\tgroupOverlay?: CreateElementRequestOptions;\r\n\tframeCaptionBars: { [targetId: string]: CreateFrameCaptionBarRequestOptions };\r\n\tframeWindowOverlays: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\twindowContentOverlays: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\tframeLoadingAnimations: { [targetId: string]: CreateFrameLoadingAnimationRequestOptions };\r\n\taboveWindowZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\tbelowWindowZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\taboveTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\tbeforeTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\ttabElements: { [targetId: string]: CreateTabRequestOptions };\r\n\tafterTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\ttabHeaderButtons: { [targetId: string]: CreateButtonsOptions };\r\n\ttabOverflowPopups: { [targetId: string]: CreateTabOverflowPopupRequestOptions };\r\n\tbelowTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\thtmlButtons: { [targetId: string]: CreateButtonsOptions };\r\n}\r\n\r\nexport interface ExternalLibraryFactory {\r\n\treadonly groupId: string;\r\n\tfocusPage(): void;\r\n\tfocusFrame(frameId: string): void;\r\n\tfocusGroup(): void;\r\n\tonStandardButtonClick(targetType: TargetType, targetId: string, buttonId: StandardButtons): void;\r\n\tonCustomButtonClick(targetType: TargetType, targetId: string, buttonId: string): void;\r\n\tonTabCloseButtonClick(targetId: string): void;\r\n\tonTabChannelSelectorClick(targetId: string, channelSelectorBounds: Bounds): void;\r\n\tonFrameChannelSelectorClick(targetId: string, channelSelectorBounds: Bounds): void;\r\n\tonMoveAreaChanged(targetType: TargetType, targetId: string): void;\r\n\tonCaptionTextBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void;\r\n\tshowCaptionEditor(targetType: TargetType, targetId: string, text: string): void;\r\n\tstartDragMove(): void;\r\n\tonCaptionEditorVisibleChanged(targetType: TargetType, targetId: string, visible: boolean): void;\r\n\tonCaptionEditorBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void;\r\n\tcommitCaptionEditing(targetType: TargetType, targetId: string, text: string): void;\r\n\r\n\tupdateTabHeaderStyles(styles: StylesOptions): void;\r\n\tupdateTabMoveAreaStyles(styles: StylesOptions): void;\r\n\tupdateFrameStyles(styles: StylesOptions): void;\r\n\r\n\tselectTab(windowId: string): void;\r\n\topenTabOverflowPopup(frameId: string, location: Location): void\r\n\r\n\taddTabContainerClass(windowId: string, className: string): void;\r\n\tremoveTabContainerClass(windowId: string, className: string): void;\r\n}\r\n\r\nexport interface WebGroupsManager {\r\n\tinit: (factory?: any) => void;\r\n\tnotifyMoveAreaChanged(): void;\r\n\tregisterPopup(element: HTMLElement): string;\r\n\tremovePopup(element: HTMLElement): void;\r\n\tremovePopupById(elementId: string): void;\r\n\tsubscribeForWindowFocused(cb: () => any): () => void;\r\n\tunmount(): void;\r\n\texternalLibraryFactory: ExternalLibraryFactory;\r\n}\r\n\r\nexport interface Size {\r\n\twidth: number;\r\n\theight: number;\r\n}\r\n\r\nexport interface Location {\r\n\tleft: number;\r\n\ttop: number;\r\n}\r\n\r\nexport interface StylesOptions {\r\n\tcss?: Partial<NonMethods<CSSStyleDeclaration>>;\r\n\tclasses?: string[]\r\n}\r\n\r\nexport interface Bounds extends Size, Location {\r\n}\r\n","\"use strict\";\nfunction createRegistry(options) {\n if (options && options.errorHandling\n && typeof options.errorHandling !== \"function\"\n && options.errorHandling !== \"log\"\n && options.errorHandling !== \"silent\"\n && options.errorHandling !== \"throw\") {\n throw new Error(\"Invalid options passed to createRegistry. Prop errorHandling should be [\\\"log\\\" | \\\"silent\\\" | \\\"throw\\\" | (err) => void], but \" + typeof options.errorHandling + \" was passed\");\n }\n var _userErrorHandler = options && typeof options.errorHandling === \"function\" && options.errorHandling;\n var callbacks = {};\n function add(key, callback, replayArgumentsArr) {\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey) {\n callbacksForKey = [];\n callbacks[key] = callbacksForKey;\n }\n callbacksForKey.push(callback);\n if (replayArgumentsArr) {\n setTimeout(function () {\n replayArgumentsArr.forEach(function (replayArgument) {\n var _a;\n if ((_a = callbacks[key]) === null || _a === void 0 ? void 0 : _a.includes(callback)) {\n try {\n if (Array.isArray(replayArgument)) {\n callback.apply(undefined, replayArgument);\n }\n else {\n callback.apply(undefined, [replayArgument]);\n }\n }\n catch (err) {\n _handleError(err, key);\n }\n }\n });\n }, 0);\n }\n return function () {\n var allForKey = callbacks[key];\n if (!allForKey) {\n return;\n }\n allForKey = allForKey.reduce(function (acc, element, index) {\n if (!(element === callback && acc.length === index)) {\n acc.push(element);\n }\n return acc;\n }, []);\n if (allForKey.length === 0) {\n delete callbacks[key];\n }\n else {\n callbacks[key] = allForKey;\n }\n };\n }\n function execute(key) {\n var argumentsArr = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n argumentsArr[_i - 1] = arguments[_i];\n }\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey || callbacksForKey.length === 0) {\n return [];\n }\n var results = [];\n callbacksForKey.forEach(function (callback) {\n try {\n var result = callback.apply(undefined, argumentsArr);\n results.push(result);\n }\n catch (err) {\n results.push(undefined);\n _handleError(err, key);\n }\n });\n return results;\n }\n function _handleError(exceptionArtifact, key) {\n var errParam = exceptionArtifact instanceof Error ? exceptionArtifact : new Error(exceptionArtifact);\n if (_userErrorHandler) {\n _userErrorHandler(errParam);\n return;\n }\n var msg = \"[ERROR] callback-registry: User callback for key \\\"\" + key + \"\\\" failed: \" + errParam.stack;\n if (options) {\n switch (options.errorHandling) {\n case \"log\":\n return console.error(msg);\n case \"silent\":\n return;\n case \"throw\":\n throw new Error(msg);\n }\n }\n console.error(msg);\n }\n function clear() {\n callbacks = {};\n }\n function clearKey(key) {\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey) {\n return;\n }\n delete callbacks[key];\n }\n return {\n add: add,\n execute: execute,\n clear: clear,\n clearKey: clearKey\n };\n}\n;\ncreateRegistry.default = createRegistry;\nmodule.exports = createRegistry;\n//# sourceMappingURL=index.js.map","import { Bounds, Location, StandardButtons, StylesOptions, TargetType, WebGroupsManager } from \"./types/internal\";\r\nimport callbackRegistry from \"callback-registry\";\r\n\r\ndeclare const window: Window & { webGroupsManager: WebGroupsManager };\r\n\r\nclass WebGroupsManagerDecorator {\r\n private readonly registry = callbackRegistry();\r\n public readonly skipFocusStyle = \"t42-skip-focus\";\r\n\r\n public init(io: any, componentFactory: any) {\r\n if (window.webGroupsManager) {\r\n window.webGroupsManager.init(componentFactory);\r\n } else {\r\n throw new Error(`Could not find the webGroupsManager the groups library should be loaded as a group application`);\r\n }\r\n }\r\n\r\n public getGroupId() {\r\n return window.webGroupsManager.externalLibraryFactory.groupId;\r\n }\r\n\r\n public notifyMoveAreaChanged() {\r\n window.webGroupsManager.notifyMoveAreaChanged();\r\n }\r\n\r\n public registerPopup(element: HTMLElement): string {\r\n return window.webGroupsManager.registerPopup(element);\r\n }\r\n\r\n public removePopup(element: HTMLElement): void {\r\n return window.webGroupsManager.removePopup(element);\r\n }\r\n\r\n public removePopupById(elementId: string): void {\r\n return window.webGroupsManager.removePopupById(elementId);\r\n }\r\n\r\n public subscribeForWindowFocused(cb: () => any): () => void {\r\n return window.webGroupsManager.subscribeForWindowFocused(cb);\r\n }\r\n\r\n public unmount(): void {\r\n return window.webGroupsManager.unmount();\r\n }\r\n\r\n public requestPageFocus(): void {\r\n return window.webGroupsManager.externalLibraryFactory.focusPage();\r\n }\r\n\r\n public requestFrameFocus(frameId: string): void {\r\n return window.webGroupsManager.externalLibraryFactory.focusFrame(frameId);\r\n }\r\n\r\n public requestGroupFocus(): void {\r\n return window.webGroupsManager.externalLibraryFactory.focusGroup();\r\n }\r\n\r\n public onCloseButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Close);\r\n }\r\n\r\n public onRestoreButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Restore);\r\n }\r\n\r\n public onMaximizeButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Maximize);\r\n }\r\n\r\n public onMinimizeButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Minimize);\r\n }\r\n\r\n public onLockButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Lock);\r\n }\r\n\r\n public onUnlockButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Unlock);\r\n }\r\n\r\n public onOverflowButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Overflow);\r\n }\r\n\r\n public onFeedbackButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Feedback);\r\n }\r\n\r\n public onCloneButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Clone);\r\n }\r\n\r\n public onStickyButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Sticky);\r\n }\r\n\r\n public onExtractButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Extract);\r\n }\r\n\r\n public closeTab(targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onTabCloseButtonClick(targetId);\r\n }\r\n\r\n public clickCustomButton(targetId: string, buttonId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onCustomButtonClick(TargetType.Frame, targetId, buttonId);\r\n }\r\n\r\n public onGroupMoveAreaChanged(targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onMoveAreaChanged(TargetType.Group, targetId);\r\n }\r\n\r\n public onTabChannelSelectorClick(targetId: string, selectorBounds: Bounds): void {\r\n window.webGroupsManager.externalLibraryFactory.onTabChannelSelectorClick(targetId, selectorBounds);\r\n }\r\n\r\n public onFrameChannelSelectorClick(targetId: string, selectorBounds: Bounds): void {\r\n window.webGroupsManager.externalLibraryFactory.onFrameChannelSelectorClick(targetId, selectorBounds);\r\n }\r\n\r\n public onCaptionTextBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.onCaptionTextBoundsChanged !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.onCaptionTextBoundsChanged(targetType, targetId, bounds);\r\n }\r\n\r\n public startDragMove() {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.startDragMove !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.startDragMove();\r\n }\r\n\r\n public showCaptionEditor(targetType: TargetType, targetId: string, text: string): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.showCaptionEditor !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.showCaptionEditor(targetType, targetId, text);\r\n }\r\n\r\n public onCaptionEditorVisibleChanged(targetType: TargetType, targetId: string, visible: boolean): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.onCaptionEditorVisibleChanged !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.onCaptionEditorVisibleChanged(targetType, targetId, visible);\r\n }\r\n\r\n public onCaptionEditorBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.onCaptionEditorBoundsChanged !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.onCaptionEditorBoundsChanged(targetType, targetId, bounds);\r\n }\r\n\r\n public commitCaptionEditing(targetType: TargetType, targetId: string, text: string): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.commitCaptionEditing !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.commitCaptionEditing(targetType, targetId, text);\r\n }\r\n\r\n public onCommitCaptionEditingRequested(targetType: TargetType, targetId: string, callback: () => void): () => void {\r\n return this.registry.add(`${targetType}-${targetId}`, callback);\r\n }\r\n\r\n public requestCommitCaptionEditing(targetType: TargetType, targetId: string) {\r\n this.registry.execute(`${targetType}-${targetId}`);\r\n }\r\n\r\n public updateTabHeaderStyles(styles: StylesOptions) {\r\n window.webGroupsManager.externalLibraryFactory.updateTabHeaderStyles(styles);\r\n }\r\n\r\n public updateTabMoveAreaStyles(styles: StylesOptions) {\r\n window.webGroupsManager.externalLibraryFactory.updateTabMoveAreaStyles(styles);\r\n }\r\n\r\n public updateFrameStyles(styles: StylesOptions) {\r\n window.webGroupsManager.externalLibraryFactory.updateFrameStyles(styles);\r\n }\r\n public selectTab(windowId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.selectTab(windowId);\r\n }\r\n\r\n public addTabContainerClass(windowId: string, className: string): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.addTabContainerClass !== \"function\") {\r\n console.warn(\"The method addTabContainerClass is not supported by the current version of the library\");\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.addTabContainerClass(windowId, className);\r\n }\r\n\r\n public removeTabContainerClass(windowId: string, className: string): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.removeTabContainerClass !== \"function\") {\r\n console.warn(\"The method removeTabContainerClass is not supported by the current version of the library\");\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.removeTabContainerClass(windowId, className);\r\n }\r\n\r\n public openTabOverflowPopup(frameId: string, location: Location): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.openTabOverflowPopup !== \"function\") {\r\n console.warn(\"The method openTabOverflowPopup is not supported by the current version of the library\");\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.openTabOverflowPopup(frameId, location);\r\n }\r\n}\r\n\r\nexport default new WebGroupsManagerDecorator();","import React from \"react\";\r\nimport { BaseButtonProps } from \"../../types/defaultComponents\";\r\nimport webGroupsManager from \"../../webGroupsManager\";\r\n\r\nconst BaseButton: React.FC<BaseButtonProps> = ({ outerElement, innerElement }) => {\r\n return <li {...outerElement} data-testid=\"outer-element\" className={`${webGroupsManager.skipFocusStyle} ${outerElement.className}`}>\r\n <div {...innerElement}>\r\n </div>\r\n </li>\r\n}\r\n\r\nexport default BaseButton;","import { StandardButtons, StandardButtonTarget } from \"../../types/internal\";\r\n\r\nexport function getStandardButtonInnerClassName(buttonId: StandardButtons, target?: StandardButtonTarget): string {\r\n let classNames = `t42-standard-button t42-standard-button-${buttonId}`;\r\n if (target && target !== StandardButtonTarget.Default) {\r\n classNames = classNames.concat(` t42-standard-button-${target}-${buttonId}`);\r\n }\r\n return classNames;\r\n}\r\n\r\nexport function getStandardButtonOuterClassName(buttonId: StandardButtons, target?: StandardButtonTarget, isPressed?: boolean): string {\r\n let classNames = `t42-button t42-caption-bar-button t42-tab-bar-button t42-caption-bar-button-${buttonId}`;\r\n if (isPressed === true) {\r\n classNames = classNames.concat(` active`);\r\n }\r\n if (target && target !== StandardButtonTarget.Default) {\r\n classNames = classNames.concat(` t42-caption-bar-button-${target}-${buttonId}`);\r\n }\r\n return classNames;\r\n}\r\n","import React from \"react\";\r\nimport { StandardButtonProps } from \"../../types/defaultComponents\";\r\nimport BaseButton from \"./BaseButton\";\r\nimport { getStandardButtonInnerClassName, getStandardButtonOuterClassName } from \"../utils/common\";\r\n\r\nconst StandardButton: React.FC<StandardButtonProps> = ({ buttonId, target, isPressed, tooltip, onClick }) => {\r\n return <BaseButton\r\n innerElement={{ className: getStandardButtonInnerClassName(buttonId, target) }}\r\n outerElement={{ className: getStandardButtonOuterClassName(buttonId, target, isPressed), title: tooltip, onClick }} />\r\n}\r\n\r\nexport default StandardButton;","import React from \"react\";\r\nimport { CloseButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst CloseButton: React.FC<CloseButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Close}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default CloseButton;","/**\n * A simple guard function:\n *\n * ```js\n * Math.min(Math.max(low, value), high)\n * ```\n */\nfunction guard(low, high, value) {\n return Math.min(Math.max(low, value), high);\n}\n\nclass ColorError extends Error {\n constructor(color) {\n super(`Failed to parse color: \"${color}\"`);\n }\n}\nvar ColorError$1 = ColorError;\n\n/**\n * Parses a color into red, gree, blue, alpha parts\n *\n * @param color the input color. Can be a RGB, RBGA, HSL, HSLA, or named color\n */\nfunction parseToRgba(color) {\n if (typeof color !== 'string') throw new ColorError$1(color);\n if (color.trim().toLowerCase() === 'transparent') return [0, 0, 0, 0];\n let normalizedColor = color.trim();\n normalizedColor = namedColorRegex.test(color) ? nameToHex(color) : color;\n const reducedHexMatch = reducedHexRegex.exec(normalizedColor);\n if (reducedHexMatch) {\n const arr = Array.from(reducedHexMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(r(x, 2), 16)), parseInt(r(arr[3] || 'f', 2), 16) / 255];\n }\n const hexMatch = hexRegex.exec(normalizedColor);\n if (hexMatch) {\n const arr = Array.from(hexMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(x, 16)), parseInt(arr[3] || 'ff', 16) / 255];\n }\n const rgbaMatch = rgbaRegex.exec(normalizedColor);\n if (rgbaMatch) {\n const arr = Array.from(rgbaMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(x, 10)), parseFloat(arr[3] || '1')];\n }\n const hslaMatch = hslaRegex.exec(normalizedColor);\n if (hslaMatch) {\n const [h, s, l, a] = Array.from(hslaMatch).slice(1).map(parseFloat);\n if (guard(0, 100, s) !== s) throw new ColorError$1(color);\n if (guard(0, 100, l) !== l) throw new ColorError$1(color);\n return [...hslToRgb(h, s, l), Number.isNaN(a) ? 1 : a];\n }\n throw new ColorError$1(color);\n}\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i) {\n hash = hash * 33 ^ str.charCodeAt(--i);\n }\n\n /* JavaScript does bitwise operations (like XOR, above) on 32-bit signed\n * integers. Since we want the results to be always positive, convert the\n * signed int to an unsigned by doing an unsigned bitshift. */\n return (hash >>> 0) % 2341;\n}\nconst colorToInt = x => parseInt(x.replace(/_/g, ''), 36);\nconst compressedColorMap = '1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm'.split(' ').reduce((acc, next) => {\n const key = colorToInt(next.substring(0, 3));\n const hex = colorToInt(next.substring(3)).toString(16);\n\n // NOTE: padStart could be used here but it breaks Node 6 compat\n // https://github.com/ricokahler/color2k/issues/351\n let prefix = '';\n for (let i = 0; i < 6 - hex.length; i++) {\n prefix += '0';\n }\n acc[key] = `${prefix}${hex}`;\n return acc;\n}, {});\n\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n */\nfunction nameToHex(color) {\n const normalizedColorName = color.toLowerCase().trim();\n const result = compressedColorMap[hash(normalizedColorName)];\n if (!result) throw new ColorError$1(color);\n return `#${result}`;\n}\nconst r = (str, amount) => Array.from(Array(amount)).map(() => str).join('');\nconst reducedHexRegex = new RegExp(`^#${r('([a-f0-9])', 3)}([a-f0-9])?$`, 'i');\nconst hexRegex = new RegExp(`^#${r('([a-f0-9]{2})', 3)}([a-f0-9]{2})?$`, 'i');\nconst rgbaRegex = new RegExp(`^rgba?\\\\(\\\\s*(\\\\d+)\\\\s*${r(',\\\\s*(\\\\d+)\\\\s*', 2)}(?:,\\\\s*([\\\\d.]+))?\\\\s*\\\\)$`, 'i');\nconst hslaRegex = /^hsla?\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)%\\s*,\\s*([\\d.]+)%(?:\\s*,\\s*([\\d.]+))?\\s*\\)$/i;\nconst namedColorRegex = /^[a-z]+$/i;\nconst roundColor = color => {\n return Math.round(color * 255);\n};\nconst hslToRgb = (hue, saturation, lightness) => {\n let l = lightness / 100;\n if (saturation === 0) {\n // achromatic\n return [l, l, l].map(roundColor);\n }\n\n // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n const huePrime = (hue % 360 + 360) % 360 / 60;\n const chroma = (1 - Math.abs(2 * l - 1)) * (saturation / 100);\n const secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n let red = 0;\n let green = 0;\n let blue = 0;\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n const lightnessModification = l - chroma / 2;\n const finalRed = red + lightnessModification;\n const finalGreen = green + lightnessModification;\n const finalBlue = blue + lightnessModification;\n return [finalRed, finalGreen, finalBlue].map(roundColor);\n};\n\n// taken from:\n// https://github.com/styled-components/polished/blob/a23a6a2bb26802b3d922d9c3b67bac3f3a54a310/src/internalHelpers/_rgbToHsl.js\n\n/**\n * Parses a color in hue, saturation, lightness, and the alpha channel.\n *\n * Hue is a number between 0 and 360, saturation, lightness, and alpha are\n * decimal percentages between 0 and 1\n */\nfunction parseToHsla(color) {\n const [red, green, blue, alpha] = parseToRgba(color).map((value, index) =>\n // 3rd index is alpha channel which is already normalized\n index === 3 ? value : value / 255);\n const max = Math.max(red, green, blue);\n const min = Math.min(red, green, blue);\n const lightness = (max + min) / 2;\n\n // achromatic\n if (max === min) return [0, 0, lightness, alpha];\n const delta = max - min;\n const saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n const hue = 60 * (red === max ? (green - blue) / delta + (green < blue ? 6 : 0) : green === max ? (blue - red) / delta + 2 : (red - green) / delta + 4);\n return [hue, saturation, lightness, alpha];\n}\n\n/**\n * Takes in hsla parts and constructs an hsla string\n *\n * @param hue The color circle (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue\n * @param saturation Percentage of saturation, given as a decimal between 0 and 1\n * @param lightness Percentage of lightness, given as a decimal between 0 and 1\n * @param alpha Percentage of opacity, given as a decimal between 0 and 1\n */\nfunction hsla(hue, saturation, lightness, alpha) {\n return `hsla(${(hue % 360).toFixed()}, ${guard(0, 100, saturation * 100).toFixed()}%, ${guard(0, 100, lightness * 100).toFixed()}%, ${parseFloat(guard(0, 1, alpha).toFixed(3))})`;\n}\n\n/**\n * Adjusts the current hue of the color by the given degrees. Wraps around when\n * over 360.\n *\n * @param color input color\n * @param degrees degrees to adjust the input color, accepts degree integers\n * (0 - 360) and wraps around on overflow\n */\nfunction adjustHue(color, degrees) {\n const [h, s, l, a] = parseToHsla(color);\n return hsla(h + degrees, s, l, a);\n}\n\n/**\n * Darkens using lightness. This is equivalent to subtracting the lightness\n * from the L in HSL.\n *\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction darken(color, amount) {\n const [hue, saturation, lightness, alpha] = parseToHsla(color);\n return hsla(hue, saturation, lightness - amount, alpha);\n}\n\n/**\n * Desaturates the input color by the given amount via subtracting from the `s`\n * in `hsla`.\n *\n * @param amount The amount to desaturate, given as a decimal between 0 and 1\n */\nfunction desaturate(color, amount) {\n const [h, s, l, a] = parseToHsla(color);\n return hsla(h, s - amount, l, a);\n}\n\n// taken from:\n// https://github.com/styled-components/polished/blob/0764c982551b487469043acb56281b0358b3107b/src/color/getLuminance.js\n\n/**\n * Returns a number (float) representing the luminance of a color.\n */\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n function f(x) {\n const channel = x / 255;\n return channel <= 0.04045 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }\n const [r, g, b] = parseToRgba(color);\n return 0.2126 * f(r) + 0.7152 * f(g) + 0.0722 * f(b);\n}\n\n// taken from:\n// https://github.com/styled-components/polished/blob/0764c982551b487469043acb56281b0358b3107b/src/color/getContrast.js\n\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n */\nfunction getContrast(color1, color2) {\n const luminance1 = getLuminance(color1);\n const luminance2 = getLuminance(color2);\n return luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05);\n}\n\n/**\n * Takes in rgba parts and returns an rgba string\n *\n * @param red The amount of red in the red channel, given in a number between 0 and 255 inclusive\n * @param green The amount of green in the red channel, given in a number between 0 and 255 inclusive\n * @param blue The amount of blue in the red channel, given in a number between 0 and 255 inclusive\n * @param alpha Percentage of opacity, given as a decimal between 0 and 1\n */\nfunction rgba(red, green, blue, alpha) {\n return `rgba(${guard(0, 255, red).toFixed()}, ${guard(0, 255, green).toFixed()}, ${guard(0, 255, blue).toFixed()}, ${parseFloat(guard(0, 1, alpha).toFixed(3))})`;\n}\n\n/**\n * Mixes two colors together. Taken from sass's implementation.\n */\nfunction mix(color1, color2, weight) {\n const normalize = (n, index) =>\n // 3rd index is alpha channel which is already normalized\n index === 3 ? n : n / 255;\n const [r1, g1, b1, a1] = parseToRgba(color1).map(normalize);\n const [r2, g2, b2, a2] = parseToRgba(color2).map(normalize);\n\n // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n const alphaDelta = a2 - a1;\n const normalizedWeight = weight * 2 - 1;\n const combinedWeight = normalizedWeight * alphaDelta === -1 ? normalizedWeight : normalizedWeight + alphaDelta / (1 + normalizedWeight * alphaDelta);\n const weight2 = (combinedWeight + 1) / 2;\n const weight1 = 1 - weight2;\n const r = (r1 * weight1 + r2 * weight2) * 255;\n const g = (g1 * weight1 + g2 * weight2) * 255;\n const b = (b1 * weight1 + b2 * weight2) * 255;\n const a = a2 * weight + a1 * (1 - weight);\n return rgba(r, g, b, a);\n}\n\n/**\n * Given a series colors, this function will return a `scale(x)` function that\n * accepts a percentage as a decimal between 0 and 1 and returns the color at\n * that percentage in the scale.\n *\n * ```js\n * const scale = getScale('red', 'yellow', 'green');\n * console.log(scale(0)); // rgba(255, 0, 0, 1)\n * console.log(scale(0.5)); // rgba(255, 255, 0, 1)\n * console.log(scale(1)); // rgba(0, 128, 0, 1)\n * ```\n *\n * If you'd like to limit the domain and range like chroma-js, we recommend\n * wrapping scale again.\n *\n * ```js\n * const _scale = getScale('red', 'yellow', 'green');\n * const scale = x => _scale(x / 100);\n *\n * console.log(scale(0)); // rgba(255, 0, 0, 1)\n * console.log(scale(50)); // rgba(255, 255, 0, 1)\n * console.log(scale(100)); // rgba(0, 128, 0, 1)\n * ```\n */\nfunction getScale(...colors) {\n return n => {\n const lastIndex = colors.length - 1;\n const lowIndex = guard(0, lastIndex, Math.floor(n * lastIndex));\n const highIndex = guard(0, lastIndex, Math.ceil(n * lastIndex));\n const color1 = colors[lowIndex];\n const color2 = colors[highIndex];\n const unit = 1 / lastIndex;\n const weight = (n - unit * lowIndex) / unit;\n return mix(color1, color2, weight);\n };\n}\n\nconst guidelines = {\n decorative: 1.5,\n readable: 3,\n aa: 4.5,\n aaa: 7\n};\n\n/**\n * Returns whether or not a color has bad contrast against a background\n * according to a given standard.\n */\nfunction hasBadContrast(color, standard = 'aa', background = '#fff') {\n return getContrast(color, background) < guidelines[standard];\n}\n\n/**\n * Lightens a color by a given amount. This is equivalent to\n * `darken(color, -amount)`\n *\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction lighten(color, amount) {\n return darken(color, -amount);\n}\n\n/**\n * Takes in a color and makes it more transparent by convert to `rgba` and\n * decreasing the amount in the alpha channel.\n *\n * @param amount The amount to increase the transparency by, given as a decimal between 0 and 1\n */\nfunction transparentize(color, amount) {\n const [r, g, b, a] = parseToRgba(color);\n return rgba(r, g, b, a - amount);\n}\n\n/**\n * Takes a color and un-transparentizes it. Equivalent to\n * `transparentize(color, -amount)`\n *\n * @param amount The amount to increase the opacity by, given as a decimal between 0 and 1\n */\nfunction opacify(color, amount) {\n return transparentize(color, -amount);\n}\n\n/**\n * An alternative function to `readableColor`. Returns whether or not the \n * readable color (i.e. the color to be place on top the input color) should be\n * black.\n */\nfunction readableColorIsBlack(color) {\n return getLuminance(color) > 0.179;\n}\n\n/**\n * Returns black or white for best contrast depending on the luminosity of the\n * given color.\n */\nfunction readableColor(color) {\n return readableColorIsBlack(color) ? '#000' : '#fff';\n}\n\n/**\n * Saturates a color by converting it to `hsl` and increasing the saturation\n * amount. Equivalent to `desaturate(color, -amount)`\n * \n * @param color Input color\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction saturate(color, amount) {\n return desaturate(color, -amount);\n}\n\n/**\n * Takes in any color and returns it as a hex code.\n */\nfunction toHex(color) {\n const [r, g, b, a] = parseToRgba(color);\n let hex = x => {\n const h = guard(0, 255, x).toString(16);\n // NOTE: padStart could be used here but it breaks Node 6 compat\n // https://github.com/ricokahler/color2k/issues/351\n return h.length === 1 ? `0${h}` : h;\n };\n return `#${hex(r)}${hex(g)}${hex(b)}${a < 1 ? hex(Math.round(a * 255)) : ''}`;\n}\n\n/**\n * Takes in any color and returns it as an rgba string.\n */\nfunction toRgba(color) {\n return rgba(...parseToRgba(color));\n}\n\n/**\n * Takes in any color and returns it as an hsla string.\n */\nfunction toHsla(color) {\n return hsla(...parseToHsla(color));\n}\n\nexport { ColorError$1 as ColorError, adjustHue, darken, desaturate, getContrast, getLuminance, getScale, guard, hasBadContrast, hsla, lighten, mix, opacify, parseToHsla, parseToRgba, readableColor, readableColorIsBlack, rgba, saturate, toHex, toHsla, toRgba, transparentize };\n//# sourceMappingURL=index.module.es.js.map\n","import { parseToRgba, readableColorIsBlack } from \"color2k\";\r\n\r\nexport function IsBlackReadable(color: string) {\r\n try {\r\n const rgba = parseToRgba(color);\r\n const r = rgba[0];\r\n const g = rgba[1];\r\n const b = rgba[2];\r\n const backgroundWeight = (0.2126 * r + 0.7152 * g + 0.0722 * b) / 255;\r\n return backgroundWeight > 0.5;\r\n } catch {\r\n // Fallback to other implementation\r\n }\r\n\r\n try {\r\n return readableColorIsBlack(color);\r\n } catch (error) {\r\n // tslint:disable-next-line: no-console\r\n console.error(`Error while checking readable color for '${color}'`, error);\r\n }\r\n return false;\r\n}\r\n\r\nexport function getChannelDirection(channelRestrictions: { read: boolean, write: boolean }): string {\r\n if (!channelRestrictions) {\r\n return \"\";\r\n }\r\n if (typeof channelRestrictions.read === \"boolean\" && typeof channelRestrictions.write === \"boolean\") {\r\n if (channelRestrictions.read && channelRestrictions.write) {\r\n return \"\";\r\n }\r\n if (channelRestrictions.read) {\r\n return \"subscribe\";\r\n }\r\n if (channelRestrictions.write) {\r\n return \"publish\"\r\n }\r\n return \"\";\r\n } else {\r\n return \"\";\r\n }\r\n};","import React, { useEffect, useRef } from \"react\";\r\nimport { BaseChannelSelectorProps } from \"../../types/defaultComponents\";\r\nimport { IsBlackReadable } from \"./utils\";\r\n\r\nconst BaseChannelSelector: React.FC<BaseChannelSelectorProps> = ({ outsideClass, contentClass, showSelector, selectedChannel, selectedChannelColor, direction, channelLabel }) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const wrappedOnClick = () => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n const bounds = ref.current.getBoundingClientRect();\r\n showSelector({\r\n left: bounds.left,\r\n top: bounds.top,\r\n width: bounds.width,\r\n height: bounds.height,\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n const handler = (e: MouseEvent) => {\r\n e.stopPropagation();\r\n };\r\n const current = ref.current;\r\n current?.addEventListener(\"mousedown\", handler);\r\n return ()=> {\r\n current?.removeEventListener(\"mousedown\", handler);\r\n }\r\n }, [ref]);\r\n\r\n let className = contentClass;\r\n\r\n if (selectedChannel && selectedChannelColor) {\r\n className = `${contentClass} ${IsBlackReadable(selectedChannelColor) ? \"t42-channel-selector-content-dark\" : \"t42-channel-selector-content-light\"}`;\r\n }\r\n\r\n const style = {\r\n background: selectedChannelColor\r\n };\r\n\r\n return <div title={selectedChannel ?? \"\"} ref={ref}\r\n style={style}\r\n onClick={wrappedOnClick} className={`t42-buttons ${outsideClass}`} >\r\n {channelLabel ?\r\n <div className={`${className} ${direction ? \"icon\" : \"\"}`}>\r\n {channelLabel}\r\n {direction && <i className={`icon-${direction}`}></i>}\r\n </div> : <div className={className}>\r\n </div>}\r\n </div >\r\n};\r\n\r\nexport default BaseChannelSelector;\r\n","import React from \"react\";\r\nimport { FlatChannelSelectorProps } from \"../../types/defaultComponents\";\r\nimport BaseChannelSelector from \"./BaseChannelSelector\";\r\nimport { getChannelDirection } from \"./utils\";\r\n\r\nconst FlatChannelSelector: React.FC<FlatChannelSelectorProps> = ({ showSelector, selectedChannel, selectedChannelColor, channelRestrictions, channelLabel }) => {\r\n return <BaseChannelSelector outsideClass={channelLabel ? \"t42-frame-caption-bar-element t42-frame-channel-selector t42-channel-selector-direction\" : \"t42-frame-caption-bar-element t42-frame-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-frame-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannel={selectedChannel}\r\n selectedChannelColor={selectedChannelColor}\r\n direction={getChannelDirection(channelRestrictions)}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default FlatChannelSelector;","import React from \"react\";\r\nimport { ExtractButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst ExtractButton: React.FC<ExtractButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Extract}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default ExtractButton;","import React from \"react\";\r\nimport { FeedbackButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst FeedbackButton: React.FC<FeedbackButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Feedback}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default FeedbackButton;","import React from \"react\";\r\nimport { CloneButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n \r\nconst CloneButton: React.FC<CloneButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Clone}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default CloneButton;","import React from \"react\";\nimport { StickyButtonProps } from \"../../types/defaultComponents\";\nimport { StandardButtons } from \"../../types/internal\";\nimport StandardButton from \"./StandardButton\";\n\nconst StickyButton: React.FC<StickyButtonProps> = (props) => {\n return <StandardButton\n buttonId={StandardButtons.Sticky}\n {...props}\n />\n}\n\nexport default StickyButton;","import React from \"react\";\r\nimport { LockButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst LockButton: React.FC<LockButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Lock}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default LockButton;","import React from \"react\";\r\nimport { MaximizeButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst MaximizeButton: React.FC<MaximizeButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Maximize}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default MaximizeButton;","import React from \"react\";\r\nimport { MinimizeButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst MinimizeButton: React.FC<MinimizeButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Minimize}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default MinimizeButton;","import React from \"react\";\r\nimport { RestoreButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst RestoreButton: React.FC<RestoreButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Restore}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default RestoreButton;","import React from \"react\";\r\nimport { UnlockButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst UnlockButton: React.FC<UnlockButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Unlock}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default UnlockButton;","import React from \"react\";\nimport BaseButton from \"./BaseButton\";\nimport { CustomButtonProps } from \"../../types/defaultComponents\";\n\nconst CustomButton: React.FC<CustomButtonProps> = ({ onClick, tooltip, imageData }) => {\n return <BaseButton\n innerElement={{ className: \"t42-custom-button\", style: {backgroundImage: `url(\"${imageData}\")`} }}\n outerElement={{ className: \"t42-button t42-caption-bar-button t42-tab-bar-button\", title: tooltip, onClick }} />\n}\n\nexport default CustomButton;","import React from \"react\";\r\nimport { FlatButtonsProps } from \"../../types/defaultComponents\";\r\nimport CloseButton from \"../buttons/CloseButton\";\r\nimport ExtractButton from \"../buttons/ExtractButton\";\r\nimport FeedbackButton from \"../buttons/FeedbackButton\";\r\nimport CloneButton from \"../buttons/CloneButton\";\r\nimport StickyButton from \"../buttons/StickyButton\";\r\nimport LockButton from \"../buttons/LockButtons\";\r\nimport MaximizeButton from \"../buttons/MaximizeButton\";\r\nimport MinimizeButton from \"../buttons/MinimizeButton\";\r\nimport RestoreButton from \"../buttons/RestoreButton\";\r\nimport UnlockButton from \"../buttons/UnlockButton\";\r\nimport CustomButton from \"../buttons/CustomButton\";\r\n\r\nconst FlatButtons: React.FC<FlatButtonsProps> = ({ extract, minimize, maximize, restore, close, lock, unlock, feedback, clone, sticky, customButtons }) => {\r\n return <div className=\"t42-buttons-container t42-frame-caption-bar-element\">\r\n <ul className=\"t42-buttons t42-tab-bar-element\">\r\n {\r\n customButtons.map(customButton => {\r\n return customButton.visible && <CustomButton key={customButton.buttonId} {...customButton} />\r\n })\r\n }\r\n </ul>\r\n <ul className=\"t42-buttons t42-frame-caption-bar-element\">\r\n {feedback?.visible && <FeedbackButton {...feedback} />}\r\n {clone?.visible && <CloneButton {...clone} />}\r\n {sticky?.visible && <StickyButton {...sticky} />}\r\n {extract?.visible && <ExtractButton {...extract} />}\r\n {lock?.visible && <LockButton {...lock} />}\r\n {unlock?.visible && <UnlockButton {...unlock} />}\r\n {minimize?.visible && <MinimizeButton {...minimize} />}\r\n {maximize?.visible && <MaximizeButton {...maximize} />}\r\n {restore?.visible && <RestoreButton {...restore} />}\r\n {close?.visible && <CloseButton {...close} />}\r\n </ul>\r\n </div>\r\n}\r\n\r\nexport default FlatButtons;","import { Bounds } from \"./types/internal\";\r\n\r\nexport const waitForWindow = (io: any, windowId: string): Promise<any> => {\r\n return new Promise((res, rej) => {\r\n const unsub = io.windows.onWindowAdded((w: any) => {\r\n if (w.id === windowId) {\r\n res(w);\r\n unsub();\r\n }\r\n });\r\n\r\n const windowInCollection = io.windows.list().find((w: any) => w.id === windowId);\r\n if (windowInCollection) {\r\n res(windowInCollection);\r\n unsub();\r\n }\r\n });\r\n}\r\n\r\nexport const getElementBounds = (element: HTMLElement): Bounds => {\r\n const bounds = element.getBoundingClientRect();\r\n\r\n return {\r\n left: bounds.left,\r\n top: bounds.top,\r\n width: bounds.width,\r\n height: bounds.height\r\n }\r\n}","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array<Array>} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array<ResizeObserverSPI>}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the <html> itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","import React, { useLayoutEffect } from \"react\";\r\nimport { getElementBounds } from \"../../utils\";\r\nimport ResizeObserver from 'resize-observer-polyfill';\r\nimport { UseEditableCaptionOptions } from \"../../types/defaultComponents\";\r\n\r\nfunction useEditableCaption(ref: React.RefObject<HTMLElement>, options: UseEditableCaptionOptions): void {\r\n useLayoutEffect(() => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n\r\n const observer = new ResizeObserver(() => {\r\n if (ref.current && typeof options.notifyBoundsChanged === \"function\") {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n });\r\n\r\n observer.observe(ref.current);\r\n\r\n if (ref.current && typeof options.notifyBoundsChanged === \"function\") {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n\r\n return () => {\r\n observer.disconnect();\r\n }\r\n }, [ref]);\r\n}\r\n\r\nexport default useEditableCaption;\r\n\r\n","import { useEffect, useRef } from \"react\";\nimport webGroupsManager from \"../../webGroupsManager\";\n\nexport interface DragMoveOptions {\n threshold?: number; // Minimum movement in pixels to start drag\n}\n\nexport function useDragMove(option?: DragMoveOptions) {\n const { threshold = 3 } = option || {};\n const initialPos = useRef<{ x: number; y: number } | null>(null);\n\n const onMoveRef = useRef<(ev: MouseEvent) => void>();\n const onUpRef = useRef<(ev: MouseEvent) => void>();\n\n const cleanup = () => {\n document.removeEventListener(\"mousemove\", onMoveRef.current!, true);\n document.removeEventListener(\"mouseup\", onUpRef.current!, true);\n initialPos.current = null;\n document.body.style.pointerEvents = \"auto\";\n };\n\n if (!onMoveRef.current) {\n onMoveRef.current = (ev: MouseEvent) => {\n if (!initialPos.current) return;\n\n const dx = ev.pageX - initialPos.current.x;\n const dy = ev.pageY - initialPos.current.y;\n if (Math.abs(dx) >= threshold || Math.abs(dy) >= threshold) {\n document.body.style.pointerEvents = \"none\";\n cleanup();\n webGroupsManager.startDragMove();\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n };\n }\n\n if (!onUpRef.current) {\n onUpRef.current = (ev: MouseEvent) => {\n cleanup();\n ev.stopPropagation();\n ev.preventDefault();\n };\n }\n\n const startDrag = (ev: React.MouseEvent) => {\n if (ev.button !== 0) return;\n initialPos.current = { x: ev.pageX, y: ev.pageY };\n\n document.addEventListener(\"mousemove\", onMoveRef.current!, true);\n document.addEventListener(\"mouseup\", onUpRef.current!, true);\n\n ev.stopPropagation();\n ev.preventDefault();\n };\n\n useEffect(() => {\n return () => {\n if (onMoveRef.current) document.removeEventListener(\"mousemove\", onMoveRef.current, true);\n if (onUpRef.current) document.removeEventListener(\"mouseup\", onUpRef.current, true);\n document.body.style.pointerEvents = \"auto\";\n initialPos.current = null;\n };\n }, []);\n\n return { startDrag };\n}","import React, { useRef, MouseEvent } from \"react\";\r\nimport { FlatCaptionProps } from \"../../types/defaultComponents\";\r\nimport useEditableCaption from \"../captionEditor/useEditableCaption\";\r\nimport { useDragMove } from \"../utils/useDragMove\";\r\n\r\nconst FlatCaption: React.FC<FlatCaptionProps> = ({\r\n showCaptionEditor,\r\n caption,\r\n notifyBoundsChanged,\r\n}) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n useEditableCaption(ref, { notifyBoundsChanged });\r\n\r\n const { startDrag } = useDragMove();\r\n\r\n const handleMouseDown = (e: MouseEvent) => {\r\n if (e.button !== 0) return;\r\n startDrag(e);\r\n };\r\n\r\n const handleDoubleClick = (e: MouseEvent) => {\r\n showCaptionEditor(caption);\r\n e.stopPropagation();\r\n };\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className=\"t42-caption t42-title t42-frame-caption-bar-element\"\r\n onMouseDown={handleMouseDown}\r\n onDoubleClick={handleDoubleClick}\r\n >\r\n {caption}\r\n </div >\r\n );\r\n};\r\n\r\nexport default FlatCaption;","import React, { useEffect } from \"react\";\r\nimport { getElementBounds } from \"../../utils\";\r\nimport ResizeObserver from 'resize-observer-polyfill';\r\nimport { UseCaptionEditorOptions } from \"../../types/defaultComponents\";\r\n\r\nfunction useCaptionEditor(ref: React.RefObject<HTMLElement>, options: UseCaptionEditorOptions): void {\r\n useEffect(() => {\r\n if (!ref?.current) {\r\n return;\r\n }\r\n options.notifyEditorVisibilityChanged(true);\r\n const observer = new ResizeObserver(() => {\r\n if (ref.current) {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n });\r\n\r\n observer.observe(ref.current);\r\n\r\n if (ref.current) {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n\r\n return () => {\r\n options.notifyEditorVisibilityChanged(false);\r\n observer.disconnect();\r\n }\r\n }, [ref]);\r\n}\r\n\r\nexport default useCaptionEditor;","import React, { useEffect } from \"react\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport webGroupsManager from \"../../webGroupsManager\";\r\n\r\nfunction useCommitEditingRequested(targetType: TargetType, targetId: string, text: string): void {\r\n useEffect(() => {\r\n const unsub = webGroupsManager.onCommitCaptionEditingRequested(targetType, targetId, () => {\r\n webGroupsManager.commitCaptionEditing(targetType, targetId, text);\r\n });\r\n return () => {\r\n unsub();\r\n }\r\n }, [targetType, targetId, text]);\r\n}\r\n\r\nexport default useCommitEditingRequested;\r\n\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { CaptionEditorProps, } from \"../../types/defaultComponents\";\r\nimport useCaptionEditor from \"./useCaptionEditor\";\r\nimport useCommitEditingRequested from \"./useCommitEditingRequested\";\r\n\r\nconst CaptionEditor: React.FC<CaptionEditorProps> = ({ className,\r\n commitChanges,\r\n hideEditor,\r\n notifyBoundsChanged,\r\n caption,\r\n notifyEditorVisibilityChanged,\r\n targetType,\r\n targetId }) => {\r\n const [captionInEditor, setCaptionInEditor] = useState(caption);\r\n const [inputWidth, setInputWidth] = useState(0);\r\n const ref = useRef<HTMLInputElement>(null);\r\n const measurementRef = useRef<HTMLSpanElement>(null);\r\n\r\n const onBlur = () => {\r\n commitChanges(captionInEditor);\r\n }\r\n\r\n const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n setCaptionInEditor(e.target.value);\r\n }\r\n\r\n const onKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === \"Enter\") {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n const onKeyUp = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === \"Escape\") {\r\n hideEditor();\r\n } else if (e.key === \"Enter\") {\r\n commitChanges(captionInEditor);\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n useCaptionEditor(ref, { notifyBoundsChanged, notifyEditorVisibilityChanged });\r\n useCommitEditingRequested(targetType, targetId, captionInEditor);\r\n\r\n useEffect(() => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n const onMouseDown = (e: MouseEvent) => {\r\n e.stopPropagation();\r\n };\r\n\r\n const element = ref.current;\r\n element.addEventListener(\"mousedown\", onMouseDown);\r\n\r\n if (ref.current) {\r\n // Focus element on the next tick to have properly focused page\r\n setTimeout(() => {\r\n element?.focus();\r\n element?.select();\r\n }, 0);\r\n }\r\n\r\n return () => {\r\n element?.removeEventListener(\"mousedown\", onMouseDown);\r\n }\r\n }, [ref]);\r\n\r\n useEffect(() => {\r\n if (!measurementRef.current) {\r\n return;\r\n }\r\n\r\n setInputWidth(measurementRef.current.scrollWidth);\r\n }, [measurementRef, captionInEditor]);\r\n\r\n return <>\r\n <input ref={ref}\r\n style={{\r\n width: `${inputWidth}px`\r\n }}\r\n onKeyDown={onKeyDown}\r\n onKeyUp={onKeyUp}\r\n onChange={onChange}\r\n onBlur={onBlur}\r\n value={captionInEditor} className={className} />\r\n <span ref={measurementRef} style={{ visibility: \"hidden\", position: \"absolute\", top: -30000, left: -30000 }}>{captionInEditor}</span>\r\n </>;\r\n}\r\n\r\nexport default CaptionEditor;\r\n","import React from \"react\";\r\nimport { FlatCaptionEditorProps } from \"../../types/defaultComponents\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport CaptionEditor from \"../captionEditor/CaptionEditor\";\r\n\r\nconst FlatCaptionEditor: React.FC<FlatCaptionEditorProps> = (props) => {\r\n return <CaptionEditor {...props} targetId={props.frameId} targetType={TargetType.Frame} className={\"t42-caption-editor t42-frame-caption-bar-element\"} />\r\n}\r\n\r\nexport default FlatCaptionEditor;\r\n","import React from \"react\";\r\nimport { FlatMoveAreaProps } from \"../../types/defaultComponents\";\r\n\r\nconst FlatMoveArea: React.FC<FlatMoveAreaProps> = ({ children, moveAreaId }) => {\r\n return <div id={moveAreaId} className=\"t42-move-area t42-frame-caption-bar-element\">\r\n {children}\r\n </div>\r\n}\r\n\r\n\r\nexport default FlatMoveArea;","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { BaseMultiChannelSelectorProps } from \"../../../types/defaultComponents\";\r\nimport BaseChannelSelector from \"../BaseChannelSelector\";\r\nimport { getChannelDirection } from \"../utils\";\r\n\r\nconst BaseMultiChannelSelector: React.FC<BaseMultiChannelSelectorProps> = ({ outsideClass, contentClass, showSelector, selectedChannels, channelLabel, channelRestrictions }) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const len = selectedChannels.length;\r\n const showBaseChannelSelector = len < 2;\r\n const wrappedOnClick = () => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n\r\n const bounds = ref.current.getBoundingClientRect();\r\n showSelector({\r\n left: bounds.left,\r\n top: bounds.top,\r\n width: bounds.width,\r\n height: bounds.height,\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if (showBaseChannelSelector) {\r\n return;\r\n }\r\n\r\n const handler = (e: MouseEvent) => {\r\n e.stopPropagation();\r\n };\r\n const current = ref.current;\r\n ref.current?.addEventListener(\"mousedown\", handler);\r\n return () => {\r\n current?.removeEventListener(\"mousedown\", handler);\r\n }\r\n }, [ref, showBaseChannelSelector]);\r\n\r\n if (showBaseChannelSelector) {\r\n return <BaseChannelSelector\r\n showSelector={showSelector}\r\n selectedChannel={selectedChannels[0]?.name}\r\n selectedChannelColor={selectedChannels[0]?.color}\r\n outsideClass={outsideClass}\r\n contentClass={contentClass}\r\n channelLabel={channelLabel}\r\n direction={getChannelDirection(channelRestrictions)} />;\r\n }\r\n\r\n const colors = selectedChannels.map((channel) => channel.color) ?? [];\r\n const title = colors.join(\", \");\r\n const lenMax4 = Math.min(len, 4);\r\n const cssClass = `t42-multi-channel-selector-content t42-multi-channel-selector-${lenMax4}`;\r\n let style: any = {};\r\n colors.forEach((color: string, index: number) => {\r\n const colorVarName = `--t42-multi-channel-selector-${lenMax4}-color-${index + 1}`;\r\n style[colorVarName] = color;\r\n });\r\n\r\n return (\r\n <div id=\"basem\" title={title} ref={ref} onClick={wrappedOnClick} className={`t42-buttons ${outsideClass}`}>\r\n <div className={cssClass} style={style} >\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default BaseMultiChannelSelector;\r\n","import React from \"react\";\r\nimport { FlatMultiChannelSelectorProps } from \"../../../types/defaultComponents\";\r\nimport BaseMultiChannelSelector from \"./BaseMultiChannelSelector\";\r\n\r\nconst FlatMultiChannelSelector: React.FC<FlatMultiChannelSelectorProps> = ({ showSelector, selectedChannels, channelRestrictions, channelLabel }) => {\r\n return <BaseMultiChannelSelector outsideClass={channelLabel ? \"t42-frame-caption-bar-element t42-frame-channel-selector t42-channel-selector-direction\" : \"t42-frame-caption-bar-element t42-frame-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-frame-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannels={selectedChannels}\r\n channelRestrictions={channelRestrictions}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default FlatMultiChannelSelector;\r\n","import React from \"react\";\r\nimport { FlatCaptionBarProps } from \"../../types/api\";\r\nimport FlatChannelSelector from \"../channelSelector/FlatChannelSelector\";\r\nimport FlatButtons from \"./FlatButtons\";\r\nimport FlatCaption from \"./FlatCaption\";\r\nimport FlatCaptionEditor from \"./FlatCaptionEditor\";\r\nimport FlatMoveArea from \"./FlatMoveArea\";\r\nimport FlatMultiChannelSelector from \"../channelSelector/multi/FlatMultiChannelSelector\";\r\n\r\nconst FlatCaptionBar: React.FC<FlatCaptionBarProps> = ({ moveAreaId, caption, showCaptionEditor, channels, captionEditor, notifyCaptionBoundsChanged, ...rest }) => {\r\n return (\r\n <div className=\"t42-react-caption-bar\">\r\n {channels?.visible && channels.channelsMode !== \"multi\" && <FlatChannelSelector\r\n showSelector={channels?.showSelector}\r\n selectedChannel={channels?.selectedChannel}\r\n selectedChannelColor={channels?.selectedChannelColor}\r\n channelRestrictions={channels?.channelRestrictions}\r\n channelLabel={channels?.channelLabel} />}\r\n {channels?.visible && channels.channelsMode === \"multi\" && <FlatMultiChannelSelector\r\n showSelector={channels?.showSelector}\r\n selectedChannels={channels?.selectedChannels}\r\n channelRestrictions={channels?.channelRestrictions}\r\n channelLabel={channels?.channelLabel} />}\r\n <FlatMoveArea moveAreaId={moveAreaId}>\r\n {captionEditor.show ? <FlatCaptionEditor {...captionEditor} caption={captionEditor.text!} frameId={rest.frameId} /> : <FlatCaption showCaptionEditor={showCaptionEditor} notifyBoundsChanged={notifyCaptionBoundsChanged} caption={caption} />}\r\n </FlatMoveArea>\r\n <FlatButtons {...rest} />\r\n </div>);\r\n};\r\n\r\nexport default FlatCaptionBar;\r\n","import React from \"react\";\r\nimport { GroupMoveAreaProps } from \"../../types/defaultComponents\";\r\n\r\nconst GroupMoveArea: React.FC<GroupMoveAreaProps> = ({ children, moveAreaId }) => {\r\n return <div id={moveAreaId} className=\"t42-move-area t42-group-caption-bar-element\">\r\n {children}\r\n </div>\r\n}\r\n\r\nexport default GroupMoveArea;","import React from \"react\";\r\nimport { GroupButtonsProps } from \"../../types/defaultComponents\";\r\nimport CloseButton from \"../buttons/CloseButton\";\r\nimport MaximizeButton from \"../buttons/MaximizeButton\";\r\nimport MinimizeButton from \"../buttons/MinimizeButton\";\r\nimport RestoreButton from \"../buttons/RestoreButton\";\r\n\r\nconst GroupButtons: React.FC<GroupButtonsProps> = ({ minimize, restore, maximize, close }) => {\r\n return <div className=\"t42-buttons-container t42-group-caption-bar-element\">\r\n <ul className=\"t42-buttons t42-group-caption-bar-element\">\r\n {minimize?.visible && <MinimizeButton {...minimize} />}\r\n {restore?.visible && <RestoreButton {...restore} />}\r\n {maximize?.visible && <MaximizeButton {...maximize} />}\r\n {close?.visible && <CloseButton {...close} />}\r\n </ul>\r\n </div>\r\n}\r\n\r\nexport default GroupButtons;","import React, { MouseEvent, useRef } from \"react\";\r\nimport { GroupCaptionProps } from \"../../types/defaultComponents\";\r\nimport useEditableCaption from \"../captionEditor/useEditableCaption\";\r\nimport { useDragMove } from \"../utils/useDragMove\";\r\n\r\nconst GroupCaption: React.FC<GroupCaptionProps> = ({\r\n showCaptionEditor,\r\n caption,\r\n notifyBoundsChanged,\r\n}) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n useEditableCaption(ref, { notifyBoundsChanged });\r\n\r\n const { startDrag } = useDragMove();\r\n\r\n const handleMouseDown = (e: React.MouseEvent) => {\r\n if (e.button !== 0) return;\r\n startDrag(e);\r\n };\r\n\r\n const handleDoubleClick = (e: MouseEvent) => {\r\n showCaptionEditor(caption);\r\n e.stopPropagation();\r\n };\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n onMouseDown={handleMouseDown}\r\n onDoubleClick={handleDoubleClick}\r\n className=\"t42-caption t42-title t42-group-caption-bar-element\"\r\n >\r\n {caption}\r\n </div>\r\n );\r\n};\r\n\r\nexport default GroupCaption;\r\n","import React from \"react\";\r\nimport { GroupCaptionEditorProps } from \"../../types/defaultComponents\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport CaptionEditor from \"../captionEditor/CaptionEditor\";\r\n\r\nconst GroupCaptionEditor: React.FC<GroupCaptionEditorProps> = (props) => {\r\n return <CaptionEditor {...props} targetId={props.groupId} targetType={TargetType.Group} className=\"t42-caption-editor t42-group-caption-bar-element\" />\r\n}\r\n\r\nexport default GroupCaptionEditor;\r\n","import React from \"react\";\r\nimport { GroupCaptionBarProps } from \"../../types/api\";\r\nimport GroupMoveArea from \"./GroupMoveArea\";\r\nimport GroupButtons from \"./GroupButtons\";\r\nimport GroupCaption from \"./GroupCaption\";\r\nimport GroupCaptionEditor from \"./GroupCaptionEditor\";\r\n\r\nconst GroupCaptionBar: React.FC<GroupCaptionBarProps> = ({ moveAreaId, showCaptionEditor, targetType, targetId, caption, captionEditor, notifyCaptionBoundsChanged, ...rest }) => {\r\n return <div className=\"t42-react-caption-bar\">\r\n <GroupMoveArea moveAreaId={moveAreaId}>\r\n {captionEditor?.show ?\r\n <GroupCaptionEditor {...captionEditor} groupId={targetId} caption={captionEditor.text!} /> :\r\n <GroupCaption showCaptionEditor={showCaptionEditor} notifyBoundsChanged={notifyCaptionBoundsChanged} caption={caption} />}\r\n </GroupMoveArea>\r\n <GroupButtons {...rest} />\r\n </div>\r\n}\r\n\r\nexport default GroupCaptionBar;","import React from \"react\";\r\nimport { TabChannelSelectorProps } from \"../../types/defaultComponents\";\r\nimport BaseChannelSelector from \"./BaseChannelSelector\";\r\nimport { getChannelDirection } from \"./utils\";\r\n\r\nconst TabChannelSelector: React.FC<TabChannelSelectorProps> = ({ showSelector, selectedChannel, selectedChannelColor, channelRestrictions, channelLabel }) => {\r\n return <BaseChannelSelector outsideClass={channelLabel ? \"t42-tab-bar-element t42-tab-channel-selector t42-channel-selector-direction\" : \"t42-tab-bar-element t42-tab-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-tab-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannel={selectedChannel}\r\n selectedChannelColor={selectedChannelColor}\r\n direction={getChannelDirection(channelRestrictions)}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default TabChannelSelector;","import React from \"react\";\r\nimport { TabMultiChannelSelectorProps } from \"../../../types/defaultComponents\";\r\nimport BaseMultiChannelSelector from \"./BaseMultiChannelSelector\";\r\n\r\nconst TabMultiChannelSelector: React.FC<TabMultiChannelSelectorProps> = ({ showSelector, selectedChannels, channelRestrictions, channelLabel }) => {\r\n return <BaseMultiChannelSelector outsideClass={channelLabel ? \"t42-tab-bar-element t42-tab-channel-selector t42-channel-selector-direction\" : \"t42-tab-bar-element t42-tab-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-tab-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannels={selectedChannels}\r\n channelRestrictions={channelRestrictions}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default TabMultiChannelSelector;\r\n","import React, { useRef } from \"react\";\r\nimport { TabCaptionProps } from \"../../types/defaultComponents\";\r\nimport useEditableCaption from \"../captionEditor/useEditableCaption\";\r\n\r\nconst TabCaption: React.FC<TabCaptionProps> = ({ caption, selected, notifyBoundsChanged }) => {\r\n const normalClassName = \"t42-caption t42-tab-caption\";\r\n const selectedClassName = \"t42-caption t42-tab-caption t42-selected-tab-caption\";\r\n const ref = useRef<HTMLDivElement>(null);\r\n\r\n useEditableCaption(ref, { notifyBoundsChanged });\r\n\r\n return <div ref={ref} className={selected ? selectedClassName : normalClassName}>{caption}</div>\r\n}\r\n\r\nexport default TabCaption;","import React from \"react\";\r\nimport { TabCaptionEditorProps } from \"../../types/defaultComponents\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport CaptionEditor from \"../captionEditor/CaptionEditor\";\r\n\r\nconst TabCaptionEditor: React.FC<TabCaptionEditorProps> = (props) => {\r\n const normalClassName = \"t42-caption-editor t42-tab-caption-editor t42-caption t42-tab-caption\";\r\n const selectedClassName = \"t42-caption-editor t42-tab-caption-editor t42-caption t42-tab-caption t42-selected-tab-caption t42-selected-tab-element\";\r\n\r\n return <CaptionEditor {...props}\r\n targetType={TargetType.Tab}\r\n targetId={props.windowId}\r\n className={props.selected ? selectedClassName : normalClassName} />\r\n}\r\n\r\nexport default TabCaptionEditor;\r\n","import React, { useEffect, useRef } from \"react\";\r\nimport { TabCloseButtonProps } from \"../../types/defaultComponents\";\r\n\r\nconst TabCloseButton: React.FC<TabCloseButtonProps> = ({ selected, close }) => {\r\n const normalClassName = \"t42-tab-close-button t42-tab-bar-element\";\r\n const selectedClassName = \"t42-tab-close-button t42-tab-bar-element t42-selected-tab-close-button t42-selected-tab-element\";\r\n\r\n const normalContentClassName = \"t42-tab-close-button-content\";\r\n const selectedContentClassName = \"t42-tab-close-button-content t42-selected-tab-close-button-content\";\r\n\r\n const ref = useRef<HTMLDivElement>(null);\r\n\r\n useEffect(() => {\r\n ref.current?.addEventListener(\"mousedown\", (e) => {\r\n e.stopPropagation();\r\n });\r\n }, [ref]);\r\n\r\n return <div ref={ref} onClick={close} className={selected ? selectedClassName : normalClassName} title=\"close\">\r\n <div className={selected ? selectedContentClassName : normalContentClassName}>\r\n </div>\r\n </div>\r\n}\r\n\r\nexport default TabCloseButton;","import React from \"react\";\r\nimport { TabElementProps } from \"../../types/api\";\r\nimport TabChannelSelector from \"../channelSelector/TabChannelSelector\";\r\nimport TabMultiChannelSelector from \"../channelSelector/multi/TabMultiChannelSelector\";\r\nimport TabCaption from \"./TabCaption\";\r\nimport TabCaptionEditor from \"./TabCaptionEditor\";\r\nimport TabCloseButton from \"./TabCloseButton\";\r\n\r\nconst Tab: React.FC<TabElementProps> = ({ caption, selected, close, channels, captionEditor, notifyCaptionBoundsChanged, windowId, pinned }) => {\r\n return <div className=\"t42-react-tab\">\r\n {channels.visible && channels.channelsMode !== \"multi\" && <TabChannelSelector {...channels} />}\r\n {channels.visible && channels.channelsMode === \"multi\" && <TabMultiChannelSelector {...channels} />}\r\n {captionEditor.show ?\r\n <TabCaptionEditor {...captionEditor} caption={captionEditor.text!} selected={selected} windowId={windowId} /> :\r\n <TabCaption notifyBoundsChanged={notifyCaptionBoundsChanged} caption={caption} selected={selected} />}\r\n {pinned ? <></> : <TabCloseButton selected={selected} close={close} />}\r\n </div>\r\n};\r\n\r\nexport default Tab;\r\n","import React from \"react\";\r\nimport { OverflowButtonProps } from \"../../types/defaultComponents\";\r\nimport BaseButton from \"./BaseButton\";\r\nimport { getStandardButtonInnerClassName, getStandardButtonOuterClassName } from \"../utils/common\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\n\r\nconst OverflowButton: React.FC<OverflowButtonProps> = ({ onClick, tooltip }) => {\r\n return <BaseButton\r\n innerElement={{ className: getStandardButtonInnerClassName(StandardButtons.Overflow) }}\r\n outerElement={{\r\n onMouseDown: (e) => e.stopPropagation(),\r\n onPointerDown: (e) => e.stopPropagation(),\r\n className: getStandardButtonOuterClassName(StandardButtons.Overflow), title: tooltip, onClick\r\n }} />\r\n}\r\n\r\nexport default OverflowButton;","import React from \"react\";\r\nimport { TabHeaderButtonsProps } from \"../../types/api\";\r\nimport CloseButton from \"../buttons/CloseButton\";\r\nimport ExtractButton from \"../buttons/ExtractButton\";\r\nimport FeedbackButton from \"../buttons/FeedbackButton\";\r\nimport CloneButton from \"../buttons/CloneButton\";\r\nimport LockButton from \"../buttons/LockButtons\";\r\nimport MaximizeButton from \"../buttons/MaximizeButton\";\r\nimport MinimizeButton from \"../buttons/MinimizeButton\";\r\nimport RestoreButton from \"../buttons/RestoreButton\";\r\nimport StickyButton from \"../buttons/StickyButton\";\r\nimport UnlockButton from \"../buttons/UnlockButton\";\r\nimport CustomButton from \"../buttons/CustomButton\";\r\nimport OverflowButton from \"../buttons/OverflowButton\";\r\n\r\nconst TabHeaderButtons: React.FC<TabHeaderButtonsProps> = ({ overflow, extract, minimize, maximize, restore, close, lock, unlock, feedback, clone, sticky, customButtons }) => {\r\n return <div className=\"t42-buttons-container t42-tab-bar-element\">\r\n <ul className=\"t42-buttons t42-tab-bar-element\">\r\n {\r\n customButtons.map(customButton => {\r\n return customButton.visible && <CustomButton key={customButton.buttonId} {...customButton} />\r\n })\r\n }\r\n </ul>\r\n <ul className=\"t42-buttons t42-tab-bar-element\">\r\n {overflow?.visible && <OverflowButton {...overflow} />}\r\n {feedback?.visible && <FeedbackButton {...feedback} />}\r\n {clone?.visible && <CloneButton {...clone} />}\r\n {sticky?.visible && <StickyButton {...sticky} />}\r\n {extract?.visible && <ExtractButton {...extract} />}\r\n {lock?.visible && <LockButton {...lock} />}\r\n {unlock?.visible && <UnlockButton {...unlock} />}\r\n {minimize?.visible && <MinimizeButton {...minimize} />}\r\n {restore?.visible && <RestoreButton {...restore} />}\r\n {maximize?.visible && <MaximizeButton {...maximize} />}\r\n {close?.visible && <CloseButton {...close} />}\r\n </ul>\r\n </div>\r\n};\r\n\r\n\r\nexport default TabHeaderButtons;","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function useSyncExternalStore$2(subscribe, getSnapshot) {\n didWarnOld18Alpha ||\n void 0 === React.startTransition ||\n ((didWarnOld18Alpha = !0),\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.\"\n ));\n var value = getSnapshot();\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n objectIs(value, cachedValue) ||\n (console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0));\n }\n cachedValue = useState({\n inst: { value: value, getSnapshot: getSnapshot }\n });\n var inst = cachedValue[0].inst,\n forceUpdate = cachedValue[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue,\n didWarnOld18Alpha = !1,\n didWarnUncachedGetSnapshot = !1,\n shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\n exports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import React from \"react\";\r\nimport { GroupWrapperProps } from \"./types/internal\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\n\r\nclass GroupWrapper extends React.Component<GroupWrapperProps> {\r\n containerRef: HTMLElement | null;\r\n\r\n componentDidMount() {\r\n const componentFactory = {\r\n createGroupCaptionBar: this.props.onCreateGroupCaptionBarRequested,\r\n updateGroupCaptionBar: this.props.onUpdateGroupCaptionBarRequested,\r\n createGroupOverlay: this.props.onCreateGroupOverlayRequested,\r\n\r\n createFrameCaptionBar: this.props.onCreateFrameCaptionBarRequested,\r\n updateFrameCaptionBar: this.props.onUpdateFrameCaptionBarRequested,\r\n createFrameWindowOverlay: this.props.onCreateFrameWindowOverlayRequested,\r\n updateFrameWindowOverlay: this.props.onUpdateFrameWindowOverlayRequested,\r\n createAboveWindow: this.props.onCreateAboveWindowRequested,\r\n destroyAboveWindow: this.props.onRemoveAboveWindowRequested,\r\n createWindowContentOverlay: this.props.onCreateWindowContentOverlayRequested,\r\n destroyWindowContentOverlay: this.props.onRemoveWindowContentOverlayRequested,\r\n createFrameLoadingAnimation: this.props.onCreateFrameLoadingAnimationRequested,\r\n destroyFrameLoadingAnimation: this.props.onRemoveFrameLoadingAnimationRequested,\r\n createBelowWindow: this.props.onCreateBelowWindowRequested,\r\n destroyBelowWindow: this.props.onRemoveBelowWindowRequested,\r\n\r\n createAboveTabs: this.props.onCreateAboveTabsRequested,\r\n updateAboveTabs: this.props.onUpdateAboveTabsRequested,\r\n createBeforeTabs: this.props.onCreateBeforeTabsComponentRequested,\r\n updateBeforeTabs: this.props.onUpdateBeforeTabsComponentRequested,\r\n\r\n createTab: this.props.onCreateTabRequested,\r\n updateTab: this.props.onUpdateTabRequested,\r\n\r\n createAfterTabs: this.props.onCreateAfterTabsComponentRequested,\r\n updateAfterTabs: this.props.onUpdateAfterTabsComponentRequested,\r\n createTabBarButtonsContainerElement: this.props.onCreateTabHeaderButtonsRequested,\r\n createBelowTabs: this.props.onCreateBelowTabsRequested,\r\n updateBelowTabs: this.props.onUpdateBelowTabsRequested,\r\n \r\n createHtmlButtonsContainerElement: this.props.onCreateHtmlButtonsRequested,\r\n destroyHtmlButtonsContainerElement: this.props.onRemoveHtmlButtonsRequested,\r\n\r\n createTabOverflowPopup:this.props.onCreateTabOverflowPopupRequested,\r\n destroyTabOverflowPopup: this.props.onRemoveTabOverflowPopupRequested,\r\n \r\n updateFrame: this.props.onUpdateFrameRequested,\r\n updateStandardButton: this.props.onUpdateStandardButtonRequested,\r\n updateCustomButtons: this.props.onUpdateCustomButtonsRequested,\r\n\r\n destroyFrameCaptionBar: this.props.onRemoveFrameCaptionBarRequested, // needed to prevent a memory leak\r\n destroyFrameWindowOverlay: this.props.onRemoveFrameWindowOverlayRequested,\r\n\r\n destroyAboveTabs: this.props.onRemoveAboveTabsRequested,\r\n destroyBeforeTabs: this.props.onRemoveBeforeTabsComponentRequested,\r\n destroyTab: this.props.onRemoveTabRequested,\r\n destroyAfterTabs: this.props.onRemoveAfterTabsComponentRequested,\r\n destroyTabBarButtonsContainerElement: this.props.onRemoveTabHeaderButtonsRequested,\r\n destroyBelowTabs: this.props.onRemoveBelowTabsRequested,\r\n\r\n showCaptionEditor: this.props.onShowCaptionEditorRequested,\r\n commitCaptionEditing: this.props.onCommitCaptionEditingRequested,\r\n hideCaptionEditor: this.props.onHideCaptionEditorRequested,\r\n\r\n showLoadingAnimation: this.props.onShowLoadingAnimationRequested,\r\n hideLoadingAnimation: this.props.onHideLoadingAnimationRequested,\r\n };\r\n\r\n webGroupsManager.init(undefined, componentFactory);\r\n webGroupsManager.updateTabHeaderStyles(this.props.styles?.tabs?.header ?? {});\r\n webGroupsManager.updateTabMoveAreaStyles(this.props.styles?.tabs?.moveArea ?? {});\r\n webGroupsManager.updateFrameStyles(this.props.styles?.frame?.element ?? {});\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<GroupWrapperProps>, prevState: Readonly<{}>, snapshot?: any): void {\r\n if (this.props.styles?.tabs?.header !== prevProps.styles?.tabs?.header) {\r\n webGroupsManager.updateTabHeaderStyles(this.props.styles?.tabs?.header ?? {});\r\n }\r\n\r\n if (this.props.styles?.tabs?.moveArea !== prevProps.styles?.tabs?.moveArea) {\r\n webGroupsManager.updateTabMoveAreaStyles(this.props.styles?.tabs?.moveArea ?? {});\r\n }\r\n\r\n if (this.props.styles?.frame?.element !== prevProps.styles?.frame?.element) {\r\n webGroupsManager.updateFrameStyles(this.props.styles?.frame?.element ?? {});\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n // TODO\r\n }\r\n\r\n render() {\r\n return (\r\n <div id=\"t42-group-container\" ref={(r) => this.containerRef = r}>\r\n <div id=\"t42-frames-container\">\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default GroupWrapper;","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { PortalProps } from \"./types/internal\";\r\n\r\nclass Portal extends React.Component<PortalProps> {\r\n render() {\r\n return ReactDOM.createPortal(this.props.children, this.props.parentElement);\r\n }\r\n}\r\n\r\nexport default Portal;","import {\r\n CreateElementRequestOptions,\r\n CreateFrameCaptionBarRequestOptions,\r\n CreateFrameElementRequestOptions,\r\n CreateGroupCaptionBarRequestOptions,\r\n CreateButtonsOptions,\r\n CreateTabRequestOptions,\r\n ElementCreationWrapperState,\r\n RemoveRequestOptions,\r\n TargetType,\r\n UpdateFrameCaptionBarRequestOptions,\r\n UpdateGroupCaptionBarRequestOptions,\r\n UpdateStandardButtonRequestOptions,\r\n UpdateFrameRequestOptions,\r\n CreateFrameLoadingAnimationRequestOptions,\r\n UpdateCustomButtonsRequestOptions,\r\n CreateTabOverflowPopupRequestOptions,\r\n OverflowedTabInfo\r\n} from \"./types/internal\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\n\r\nclass WebGroupsStore {\r\n\r\n private listeners = new Set<() => void>();\r\n private state: ElementCreationWrapperState = {\r\n groupCaptionBar: undefined,\r\n groupOverlay: undefined,\r\n frameCaptionBars: {}, // dict frameId to create caption bar options\r\n frameWindowOverlays: {}, // dict frameId to create options\r\n aboveWindowZones: {}, // dict frameId to create options\r\n windowContentOverlays: {},//dict frameId to create options\r\n belowWindowZones: {}, // dict frameId to create options\r\n aboveTabsZones: {}, // dict frameId to create options\r\n beforeTabsZones: {}, // dict frameId to create before tabs zones options\r\n tabElements: {}, // dict windowId to create tab elements options\r\n afterTabsZones: {}, // dict frameId to after tabs zones options\r\n tabHeaderButtons: {}, // dict frameId to crate tab header buttons options\r\n tabOverflowPopups: {}, // dict frameId to create tab overflow popup options,\r\n belowTabsZones: {}, // dict frameId to create options\r\n frameLoadingAnimations: {}, // dict frameId to create options\r\n htmlButtons: {}, // dict frameId to crate html buttons options\r\n }\r\n\r\n public subscribe = (cb: () => void) => {\r\n this.listeners.add(cb);\r\n return () => {\r\n this.listeners.delete(cb);\r\n };\r\n }\r\n\r\n public getSnapshot = () => {\r\n return this.state;\r\n }\r\n\r\n public onCreateGroupCaptionBarRequested = (options: CreateGroupCaptionBarRequestOptions) => {\r\n if (options === this.state.groupCaptionBar) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n groupCaptionBar: options\r\n }\r\n });\r\n }\r\n\r\n public onCreateGroupOverlayRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.groupOverlay) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n groupOverlay: options\r\n }\r\n });\r\n }\r\n\r\n public onCreateFrameCaptionBarRequested = (options: CreateFrameCaptionBarRequestOptions) => {\r\n if (options === this.state.frameCaptionBars[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n frameCaptionBars: {\r\n ...s.frameCaptionBars,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateFrameWindowOverlayRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.frameWindowOverlays[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n frameWindowOverlays: {\r\n ...s.frameWindowOverlays,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateAboveWindowRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.aboveWindowZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n aboveWindowZones: {\r\n ...s.aboveWindowZones,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateWindowContentOverlayRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.windowContentOverlays[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n windowContentOverlays: {\r\n ...s.windowContentOverlays,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateFrameLoadingAnimationRequested = (options: CreateFrameLoadingAnimationRequestOptions) => {\r\n if (options === this.state.frameLoadingAnimations[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n frameLoadingAnimations: {\r\n ...s.frameLoadingAnimations,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateBelowWindowRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.belowWindowZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n belowWindowZones: {\r\n ...s.belowWindowZones,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateAboveTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.aboveTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n aboveTabsZones: {\r\n ...s.aboveTabsZones,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateBeforeTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.beforeTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n beforeTabsZones: {\r\n ...s.beforeTabsZones,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateTabElementRequested = (options: CreateTabRequestOptions) => {\r\n if (options === this.state.tabElements[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.tabElements).reduce((acc, targetId) => {\r\n acc[targetId] = s.tabElements[targetId];\r\n return acc;\r\n }, {});\r\n\r\n newTabElementsObj[options.targetId] = options;\r\n\r\n return {\r\n ...s,\r\n tabElements: {\r\n ...s.tabElements,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateAfterTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.afterTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n afterTabsZones: {\r\n ...s.afterTabsZones,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateTabHeaderButtonsRequested = (options: CreateButtonsOptions) => {\r\n if (options === this.state.tabHeaderButtons[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n tabHeaderButtons: {\r\n ...s.tabHeaderButtons,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateBelowTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.belowTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n belowTabsZones: {\r\n ...s.belowTabsZones,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateHtmlButtonsRequested = (options: CreateButtonsOptions) => {\r\n if (options === this.state.htmlButtons[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n htmlButtons: {\r\n ...s.htmlButtons,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateTabOverflowPopupRequested = (options: CreateTabOverflowPopupRequestOptions) => {\r\n if (options === this.state.tabOverflowPopups[options.targetId] || !options) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n tabOverflowPopups: {\r\n ...s.tabOverflowPopups,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateHtmlButtonsRequested = (options: CreateButtonsOptions) => {\r\n if (options === this.state.htmlButtons[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n htmlButtons: {\r\n ...s.htmlButtons,\r\n [options.targetId]: { ...s.htmlButtons[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateGroupCaptionBarRequested = (options: UpdateGroupCaptionBarRequestOptions) => {\r\n if (options === this.state.groupCaptionBar) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n groupCaptionBar: Object.assign({}, s.groupCaptionBar, options)\r\n }\r\n });\r\n }\r\n\r\n public onUpdateFrameCaptionBarRequested = (options: UpdateFrameCaptionBarRequestOptions) => {\r\n if (options === this.state.frameCaptionBars[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n frameCaptionBars: {\r\n ...s.frameCaptionBars,\r\n [options.targetId]: { ...s.frameCaptionBars[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateFrameWindowOverlayRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.frameWindowOverlays[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n frameWindowOverlays: {\r\n ...s.frameWindowOverlays,\r\n [options.targetId]: { ...s.frameWindowOverlays[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateAboveTabsRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.aboveTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n aboveTabsZones: {\r\n ...s.aboveTabsZones,\r\n [options.targetId]: { ...s.aboveTabsZones[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateBeforeTabsRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.beforeTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n beforeTabsZones: {\r\n ...s.beforeTabsZones,\r\n [options.targetId]: { ...s.beforeTabsZones[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateTabElementRequested = (options: CreateTabRequestOptions) => {\r\n if (options === this.state.tabElements[options.targetId] || !options) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n tabElements: {\r\n ...s.tabElements,\r\n [options.targetId]: { ...s.tabElements[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateAfterTabsRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.afterTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n afterTabsZones: {\r\n ...s.afterTabsZones,\r\n [options.targetId]: { ...s.afterTabsZones[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateTabHeaderButtonsRequested = (options: CreateButtonsOptions) => {\r\n if (options === this.state.tabHeaderButtons[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n tabHeaderButtons: {\r\n ...s.tabHeaderButtons,\r\n [options.targetId]: { ...s.tabHeaderButtons[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateBelowTabsRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.belowTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n belowTabsZones: {\r\n ...s.belowTabsZones,\r\n [options.targetId]: { ...s.belowTabsZones[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateFrame = (options: UpdateFrameRequestOptions) => {\r\n this.setState(s => {\r\n const newState = { ...s };\r\n\r\n const updateSelectionWindow = <T extends keyof ElementCreationWrapperState>(stateProp: T, targetId: string, selectedWindow: string) => {\r\n if (stateProp === \"groupOverlay\" || stateProp === \"groupCaptionBar\" || stateProp === \"tabElements\") {\r\n return;\r\n }\r\n\r\n if (newState[stateProp]![targetId] && newState[stateProp]![targetId]?.selectedWindow !== selectedWindow) {\r\n newState[stateProp] = {\r\n ...newState[stateProp],\r\n [targetId]: { ...newState[stateProp]![targetId], selectedWindow }\r\n }\r\n }\r\n };\r\n\r\n const updateHiddenTabs = <T extends keyof ElementCreationWrapperState>(stateProp: T, targetId: string, hiddenTabsToTheLeft: OverflowedTabInfo[], hiddenTabsToTheRight: OverflowedTabInfo[]) => {\r\n const oldHiddenToTheLeft = newState[stateProp]![targetId]?.hiddenTabsToTheLeft;\r\n const oldHiddenToTheRight = newState[stateProp]![targetId]?.hiddenTabsToTheRight;\r\n newState[stateProp] = {\r\n ...newState[stateProp],\r\n [targetId]: {\r\n ...newState[stateProp]![targetId],\r\n hiddenTabsToTheLeft: hiddenTabsToTheLeft || oldHiddenToTheLeft,\r\n hiddenTabsToTheRight: hiddenTabsToTheRight || oldHiddenToTheRight\r\n }\r\n }\r\n };\r\n\r\n updateSelectionWindow(\"frameCaptionBars\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"frameWindowOverlays\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"windowContentOverlays\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"aboveWindowZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"belowWindowZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"aboveTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"beforeTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"afterTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"tabHeaderButtons\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"belowTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"frameLoadingAnimations\", options.targetId, options.selectedWindow);\r\n\r\n updateHiddenTabs(\"afterTabsZones\", options.targetId, options.hiddenTabsToTheLeft, options.hiddenTabsToTheRight);\r\n updateHiddenTabs(\"tabHeaderButtons\", options.targetId, options.hiddenTabsToTheLeft, options.hiddenTabsToTheRight);\r\n\r\n return newState;\r\n });\r\n }\r\n\r\n public onUpdateStandardButton = (options: UpdateStandardButtonRequestOptions) => {\r\n const targetState = { targetId: options.targetId };\r\n switch (options.targetType) {\r\n case TargetType.Group:\r\n const currentGroupState = this.state.groupCaptionBar || targetState as CreateGroupCaptionBarRequestOptions;\r\n const newGroupOptions = {\r\n ...currentGroupState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateGroupCaptionBarRequested(newGroupOptions);\r\n break;\r\n case TargetType.Frame:\r\n const currentFrameState = this.state.frameCaptionBars[options.targetId] || targetState as CreateFrameCaptionBarRequestOptions;\r\n const newFrameOptions = {\r\n ...currentFrameState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateFrameCaptionBarRequested(newFrameOptions);\r\n break;\r\n case TargetType.TabBar:\r\n const currentTabButtonsState = this.state.tabHeaderButtons[options.targetId] || targetState as CreateButtonsOptions;\r\n const newTabButtonsOptions = {\r\n ...currentTabButtonsState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateTabHeaderButtonsRequested(newTabButtonsOptions);\r\n break;\r\n case TargetType.HtmlButtons:\r\n const currentHtmlButtonsState = this.state.htmlButtons[options.targetId] || targetState as CreateButtonsOptions;\r\n const newHtmlButtonsOptions = {\r\n ...currentHtmlButtonsState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateHtmlButtonsRequested(newHtmlButtonsOptions);\r\n break;\r\n }\r\n }\r\n\r\n public onUpdateCustomButtons = (options: UpdateCustomButtonsRequestOptions) => {\r\n switch (options.targetType) {\r\n case TargetType.Frame:\r\n const currentFrameState = this.state.frameCaptionBars[options.targetId] || { targetId: options.targetId } as CreateButtonsOptions;\r\n const newFrameOptions = {\r\n ...currentFrameState,\r\n ...options\r\n };\r\n this.onUpdateFrameCaptionBarRequested(newFrameOptions);\r\n break;\r\n case TargetType.TabBar:\r\n const currentTabBarState = this.state.tabHeaderButtons.customButtons || { customButtons: options.customButtons } as CreateButtonsOptions;\r\n const newTabBarOptions = {\r\n ...currentTabBarState,\r\n ...options\r\n };\r\n this.onUpdateTabHeaderButtonsRequested(newTabBarOptions);\r\n break;\r\n case TargetType.HtmlButtons:\r\n const currentHtmlButtonsState = this.state.htmlButtons.customButtons || { customButtons: options.customButtons } as CreateButtonsOptions;\r\n const newHtmlButtonsOptions = {\r\n ...currentHtmlButtonsState,\r\n ...options\r\n };\r\n this.onUpdateHtmlButtonsRequested(newHtmlButtonsOptions);\r\n break;\r\n }\r\n }\r\n\r\n public onRemoveFrameCaptionBarRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.frameCaptionBars[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newCaptionBarsObj = Object.keys(s.frameCaptionBars).reduce((acc, targetId) => {\r\n if (targetId !== options.targetId) {\r\n acc[targetId] = s.frameCaptionBars[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n frameCaptionBars: newCaptionBarsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveFrameWindowOverlayRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.frameWindowOverlays[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newCaptionBarsObj = Object.keys(s.frameWindowOverlays).reduce((acc, targetId) => {\r\n if (targetId !== options.targetId) {\r\n acc[targetId] = s.frameWindowOverlays[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n frameWindowOverlays: newCaptionBarsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveAboveWindowRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.aboveWindowZones[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newCaptionBarsObj = Object.keys(s.aboveWindowZones).reduce((acc, targetId) => {\r\n if (targetId !== options.targetId) {\r\n acc[targetId] = s.aboveWindowZones[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n aboveWindowZones: newCaptionBarsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveWindowContentOverlayRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.windowContentOverlays[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newOverlaysObj = Object.keys(s.windowContentOverlays).reduce((acc, targetId) => {\r\n if (targetId !== options.targetId) {\r\n acc[targetId] = s.windowContentOverlays[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n windowContentOverlays: newOverlaysObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveFrameLoadingAnimationRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.frameLoadingAnimations[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newLoadingAnimationObj = Object.keys(s.frameLoadingAnimations).reduce((acc, targetId) => {\r\n if (targetId !== options.targetId) {\r\n acc[targetId] = s.frameLoadingAnimations[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n return {\r\n ...s,\r\n frameLoadingAnimation: newLoadingAnimationObj\r\n }\r\n })\r\n }\r\n\r\n public onRemoveBelowWindowRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.belowWindowZones[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newCaptionBarsObj = Object.keys(s.belowWindowZones).reduce((acc, targetId) => {\r\n if (targetId !== options.targetId) {\r\n acc[targetId] = s.belowWindowZones[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n belowWindowZones: newCaptionBarsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveAboveTabsRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.aboveTabsZones[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.aboveTabsZones).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.aboveTabsZones[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n aboveTabsZones: newTabElementsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveBeforeTabsComponentRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.beforeTabsZones[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.beforeTabsZones).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.beforeTabsZones[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n beforeTabsZones: newTabElementsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveTabElementRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.tabElements[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.tabElements).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.tabElements[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n tabElements: newTabElementsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveAfterTabsComponentRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.afterTabsZones[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.afterTabsZones).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.afterTabsZones[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n afterTabsZones: newTabElementsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveTabHeaderButtonsRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.tabHeaderButtons[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.tabHeaderButtons).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.tabHeaderButtons[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n tabHeaderButtons: newTabElementsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveBelowTabsRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.belowTabsZones[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.belowTabsZones).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.belowTabsZones[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n belowTabsZones: newTabElementsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveHtmlButtonsRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.htmlButtons[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newHtmlObj = Object.keys(s.htmlButtons).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.htmlButtons[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n htmlButtons: newHtmlObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveTabOverflowPopupRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.tabOverflowPopups[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabOverflowPopupsObj = Object.keys(s.tabOverflowPopups).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.tabOverflowPopups[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n tabOverflowPopups: newTabOverflowPopupsObj\r\n }\r\n });\r\n }\r\n\r\n public onShowCaptionEditorRequested = (targetType: TargetType, targetId: string, text: string) => {\r\n if (targetType === TargetType.Group) {\r\n this.onShowGroupCaptionEditorRequested(targetId, text);\r\n } else if (targetType === TargetType.Frame) {\r\n this.onShowFlatCaptionEditorRequested(targetId, text);\r\n } else if (targetType === TargetType.Tab) {\r\n this.onShowTabCaptionEditorRequested(targetId, text);\r\n }\r\n }\r\n\r\n public onCommitCaptionEditingRequested = (targetType: TargetType, targetId: string) => {\r\n webGroupsManager.requestCommitCaptionEditing(targetType, targetId);\r\n }\r\n\r\n public onHideCaptionEditorRequested = (targetType: TargetType, targetId: string) => {\r\n if (targetType === TargetType.Group) {\r\n this.onHideGroupCaptionEditorRequested(targetId);\r\n } else if (targetType === TargetType.Frame) {\r\n this.onHideFlatCaptionEditorRequested(targetId);\r\n } else if (targetType === TargetType.Tab) {\r\n this.onHideTabCaptionEditorRequested(targetId)\r\n }\r\n }\r\n\r\n public onShowLoadingAnimationRequested = (targetType: TargetType, targetId: string) => {\r\n if (targetType === TargetType.Frame) {\r\n this.onShowLoadingAnimation(targetId);\r\n } else {\r\n console.warn(`Loading animation for elements other than Frame are not supported`);\r\n }\r\n }\r\n\r\n public onHideLoadingAnimationRequested = (targetType: TargetType, targetId: string) => {\r\n if (targetType === TargetType.Frame) {\r\n this.onHideLoadingAnimation(targetId);\r\n } else {\r\n console.warn(`Loading animation for elements other than Frame are not supported`);\r\n }\r\n }\r\n\r\n private onShowGroupCaptionEditorRequested = (_: string, text: string) => {\r\n if (!this.state.groupCaptionBar) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.groupCaptionBar?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n groupCaptionBar: {\r\n ...s.groupCaptionBar!,\r\n captionEditor: {\r\n ...captionEditor,\r\n show: true,\r\n text\r\n }\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideGroupCaptionEditorRequested = (_: string) => {\r\n if (!this.state.groupCaptionBar) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.groupCaptionBar?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n groupCaptionBar: {\r\n ...s.groupCaptionBar!,\r\n captionEditor: {\r\n ...captionEditor,\r\n show: false,\r\n }\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onShowFlatCaptionEditorRequested = (targetId: string, text: string) => {\r\n if (!this.state.frameCaptionBars[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.frameCaptionBars[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameCaptionBars: {\r\n ...s.frameCaptionBars!,\r\n [targetId]: {\r\n ...s.frameCaptionBars[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: true,\r\n text\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideFlatCaptionEditorRequested = (targetId: string) => {\r\n if (!this.state.frameCaptionBars[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.frameCaptionBars[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameCaptionBars: {\r\n ...s.frameCaptionBars!,\r\n [targetId]: {\r\n ...s.frameCaptionBars[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: false,\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onShowTabCaptionEditorRequested = (targetId: string, text: string) => {\r\n if (!this.state.tabElements[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.tabElements[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n tabElements: {\r\n ...s.tabElements!,\r\n [targetId]: {\r\n ...s.tabElements[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: true,\r\n text\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideTabCaptionEditorRequested = (targetId: string) => {\r\n if (!this.state.tabElements[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.tabElements[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n tabElements: {\r\n ...s.tabElements!,\r\n [targetId]: {\r\n ...s.tabElements[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: false,\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onShowLoadingAnimation = (targetId: string) => {\r\n if (!this.state.frameLoadingAnimations[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameLoadingAnimations: {\r\n ...s.frameLoadingAnimations,\r\n [targetId]: {\r\n ...s.frameLoadingAnimations[targetId],\r\n show: true,\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideLoadingAnimation = (targetId: string) => {\r\n if (!this.state.frameLoadingAnimations[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameLoadingAnimations: {\r\n ...s.frameLoadingAnimations,\r\n [targetId]: {\r\n ...s.frameLoadingAnimations[targetId],\r\n show: false,\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private setState = (cb: (s: ElementCreationWrapperState) => ElementCreationWrapperState) => {\r\n this.state = cb(this.state);\r\n\r\n this.listeners.forEach((l) => l());\r\n }\r\n}\r\n\r\nexport default new WebGroupsStore();","import React from \"react\";\nimport { FrameLoadingAnimationProps } from \"../../types/api\";\n\nconst FrameLoadingAnimation: React.FC<FrameLoadingAnimationProps> = ({show}) => {\n return (\n show ?\n (\n <div className=\"loader-wrapper active\">\n <div className=\"loader\"></div>\n <div className=\"loader-text\">Loading...</div>\n </div>\n ) : <></>\n );\n}\n\nexport default FrameLoadingAnimation;","import React from \"react\";\r\nimport { useSyncExternalStore } from \"use-sync-external-store/shim\";\r\nimport GroupWrapper from \"./GroupWrapper\";\r\nimport Portal from \"./Portal\";\r\nimport { ChannelProps, GroupProps } from \"./types/api\";\r\nimport { Bounds, ElementCreationWrapperState, TargetType } from \"./types/internal\";\r\nimport { CustomButtonProps } from \"./types/defaultComponents\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\nimport webGroupsStore from \"./webGroupsStore\";\r\nimport FrameLoadingAnimation from \"./defaultComponents/loadingAnimation/FrameLoadingAnimation\";\r\n\r\nconst GroupElementCreationWrapper: React.FC<GroupProps> = ({ components, styles }) => {\r\n\r\n const state = useSyncExternalStore<ElementCreationWrapperState>(webGroupsStore.subscribe, webGroupsStore.getSnapshot);\r\n const LoadingAnimation = components?.frame?.LoadingAnimation ?? FrameLoadingAnimation;\r\n\r\n const renderGroupCaptionBar = () => {\r\n const GroupCaptionBarCustomElement = components?.group?.CaptionBar;\r\n if (!GroupCaptionBarCustomElement || (!state.groupCaptionBar || !state.groupCaptionBar.parentElement)) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = state.groupCaptionBar;\r\n\r\n const showCaptionEditor = (text: string) => {\r\n webGroupsManager.showCaptionEditor(TargetType.Group, options.targetId, text);\r\n }\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n const captionEditor = {\r\n ...options.captionEditor,\r\n commitChanges: (text: string) => {\r\n webGroupsManager.commitCaptionEditing(TargetType.Group, options.targetId, text);\r\n },\r\n hideEditor: () => {\r\n webGroupsStore.onHideCaptionEditorRequested(TargetType.Group, options.targetId);\r\n },\r\n notifyBoundsChanged: (bounds: Bounds) => {\r\n webGroupsManager.onCaptionEditorBoundsChanged(TargetType.Group, options.targetId, bounds);\r\n },\r\n notifyEditorVisibilityChanged: (visible: boolean) => {\r\n webGroupsManager.onCaptionEditorVisibleChanged(TargetType.Group, options.targetId, visible);\r\n }\r\n };\r\n\r\n const notifyCaptionBoundsChanged = (bounds: Bounds) => webGroupsManager.onCaptionTextBoundsChanged(TargetType.Group, options.targetId, bounds);\r\n\r\n return (\r\n <Portal parentElement={parentElement}>\r\n <GroupCaptionBarCustomElement {...options}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n captionEditor={captionEditor}\r\n showCaptionEditor={showCaptionEditor}\r\n notifyCaptionBoundsChanged={notifyCaptionBoundsChanged} />\r\n </Portal>\r\n );\r\n }\r\n\r\n const renderGroupOverlay = () => {\r\n const GroupOverlayCustomElement = components?.group?.Overlay;\r\n if (!GroupOverlayCustomElement || (!state.groupOverlay || !state.groupOverlay.parentElement)) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = state.groupOverlay;\r\n\r\n\r\n return <Portal parentElement={parentElement}><GroupOverlayCustomElement {...options} /></Portal>;\r\n }\r\n\r\n const renderFrameCaptionBar = () => {\r\n const FrameCaptionBarCustomElement = components?.flat?.CaptionBar;\r\n return Object.values(state.frameCaptionBars).map((fcb) => {\r\n if (!FrameCaptionBarCustomElement || !fcb.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = fcb;\r\n\r\n const showCaptionEditor = (text: string) => {\r\n webGroupsManager.showCaptionEditor(TargetType.Frame, options.targetId, text);\r\n };\r\n\r\n const feedback = {\r\n onClick: () => {\r\n webGroupsManager.onFeedbackButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.feedback\r\n };\r\n\r\n const clone = {\r\n onClick: () => {\r\n webGroupsManager.onCloneButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.clone\r\n };\r\n\r\n const sticky = {\r\n onClick: () => {\r\n webGroupsManager.onStickyButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.sticky\r\n };\r\n\r\n const extract = {\r\n onClick: () => {\r\n webGroupsManager.onExtractButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.extract\r\n };\r\n\r\n const lock = {\r\n onClick: () => {\r\n webGroupsManager.onLockButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.lock\r\n };\r\n\r\n const unlock = {\r\n onClick: () => {\r\n webGroupsManager.onUnlockButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.unlock\r\n };\r\n\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n let customButtonsProps = new Array<CustomButtonProps>();\r\n if (options.customButtons) {\r\n customButtonsProps = options.customButtons.map((cButton) => {\r\n return {\r\n onClick: () => {\r\n webGroupsManager.clickCustomButton(options.targetId, cButton.buttonId);\r\n },\r\n visible: true,\r\n imageData: cButton.imageData,\r\n tooltip: cButton.tooltip,\r\n buttonId: cButton.buttonId\r\n }\r\n });\r\n }\r\n\r\n const showSelector = (bounds: Bounds) => {\r\n webGroupsManager.onFrameChannelSelectorClick(options.targetId, bounds);\r\n }\r\n\r\n const channels = {\r\n showSelector,\r\n visible: options.channelSelectorVisible,\r\n selectedChannel: options.selectedChannel,\r\n selectedChannelColor: options.selectedChannelColor,\r\n channelRestrictions: options.channelRestrictions,\r\n channelLabel: options.channelLabel,\r\n channelsMode: options.channelsMode ?? \"single\",\r\n selectedChannels: options.selectedChannels\r\n }\r\n\r\n const captionEditor = {\r\n ...options.captionEditor,\r\n commitChanges: (text: string) => {\r\n webGroupsManager.commitCaptionEditing(TargetType.Frame, options.targetId, text);\r\n },\r\n hideEditor: () => {\r\n webGroupsStore.onHideCaptionEditorRequested(TargetType.Frame, options.targetId);\r\n },\r\n notifyBoundsChanged: (bounds: Bounds) => {\r\n webGroupsManager.onCaptionEditorBoundsChanged(TargetType.Frame, options.targetId, bounds);\r\n },\r\n notifyEditorVisibilityChanged: (visible: boolean) => {\r\n webGroupsManager.onCaptionEditorVisibleChanged(TargetType.Frame, options.targetId, visible);\r\n }\r\n };\r\n\r\n const notifyCaptionBoundsChanged = (bounds: Bounds) => webGroupsManager.onCaptionTextBoundsChanged(TargetType.Frame, options.targetId, bounds);\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <FrameCaptionBarCustomElement {...options}\r\n feedback={feedback}\r\n clone={clone}\r\n sticky={sticky}\r\n extract={extract}\r\n lock={lock}\r\n unlock={unlock}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n channels={channels}\r\n customButtons={customButtonsProps}\r\n frameId={options.targetId}\r\n captionEditor={captionEditor}\r\n showCaptionEditor={showCaptionEditor}\r\n notifyCaptionBoundsChanged={notifyCaptionBoundsChanged} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderFrameWindowOverlay = () => {\r\n const FrameWindowOverlayCustomElement = components?.frame?.Overlay;\r\n return Object.values(state.frameWindowOverlays).map((fcb) => {\r\n if (!FrameWindowOverlayCustomElement || !fcb.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = fcb;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <FrameWindowOverlayCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderAboveWindow = () => {\r\n const AboveWindowCustomElement = components?.frame?.AboveWindow;\r\n return Object.values(state.aboveWindowZones).map((awz) => {\r\n if (!AboveWindowCustomElement || !awz.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = awz;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <AboveWindowCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderWindowContentOverlays = () => {\r\n const WindowContentCustomElement = components?.frame?.WindowContentOverlay;\r\n return Object.values(state.windowContentOverlays).map((wco) => {\r\n if (!WindowContentCustomElement || !wco.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = wco;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <WindowContentCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderFrameLoadingAnimations = () => {\r\n const LoadingAnimationCustomElement = LoadingAnimation;\r\n return Object.values(state.frameLoadingAnimations).map((wla) => {\r\n if (!LoadingAnimationCustomElement || !wla.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = wla;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <LoadingAnimationCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderBelowWindow = () => {\r\n const BelowWindowCustomElement = components?.frame?.BelowWindow;\r\n return Object.values(state.belowWindowZones).map((bwz) => {\r\n if (!BelowWindowCustomElement || !bwz.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = bwz;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <BelowWindowCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderAboveTabs = () => {\r\n const AboveTabsCustomElement = components?.tabs?.Above;\r\n\r\n return Object.values(state.aboveTabsZones).map((te) => {\r\n if (!AboveTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><AboveTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderBeforeTabsZones = () => {\r\n const BeforeTabsCustomElement = components?.tabs?.Before;\r\n\r\n return Object.values(state.beforeTabsZones).map((te) => {\r\n if (!BeforeTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><BeforeTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderTabElements = () => {\r\n const TabCustomElement = components?.tabs?.Element;\r\n\r\n return Object.values(state.tabElements).map((te) => {\r\n if (!TabCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n\r\n const onCloseClick = () => {\r\n webGroupsManager.closeTab(options.targetId);\r\n }\r\n\r\n const showSelector = (bounds: Bounds) => {\r\n webGroupsManager.onTabChannelSelectorClick(options.targetId, bounds);\r\n }\r\n\r\n const channels: ChannelProps = {\r\n showSelector,\r\n visible: options.channelSelectorVisible,\r\n selectedChannel: options.selectedChannel,\r\n selectedChannelColor: options.selectedChannelColor ?? options.selectedChannel, // TODO remove the null check when the variable has been added\r\n channelRestrictions: options.channelRestrictions,\r\n channelLabel: options.channelLabel,\r\n channelsMode: options.channelsMode ?? \"single\",\r\n selectedChannels: options.selectedChannels\r\n };\r\n\r\n const captionEditor = {\r\n ...options.captionEditor,\r\n commitChanges: (text: string) => {\r\n webGroupsManager.commitCaptionEditing(TargetType.Tab, options.targetId, text);\r\n },\r\n hideEditor: () => {\r\n webGroupsStore.onHideCaptionEditorRequested(TargetType.Tab, options.targetId);\r\n },\r\n notifyBoundsChanged: (bounds: Bounds) => {\r\n webGroupsManager.onCaptionEditorBoundsChanged(TargetType.Tab, options.targetId, bounds);\r\n },\r\n notifyEditorVisibilityChanged: (visible: boolean) => {\r\n webGroupsManager.onCaptionEditorVisibleChanged(TargetType.Tab, options.targetId, visible);\r\n }\r\n };\r\n\r\n const notifyCaptionBoundsChanged = (bounds: Bounds) => webGroupsManager.onCaptionTextBoundsChanged(TargetType.Tab, options.targetId, bounds);\r\n\r\n const addContainerClass = (className: string) => {\r\n webGroupsManager.addTabContainerClass(options.targetId, className);\r\n }\r\n\r\n const removeContainerClass = (className: string) => {\r\n webGroupsManager.removeTabContainerClass(options.targetId, className);\r\n }\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <TabCustomElement {...options}\r\n close={onCloseClick}\r\n channels={channels}\r\n windowId={options.targetId}\r\n captionEditor={captionEditor}\r\n notifyCaptionBoundsChanged={notifyCaptionBoundsChanged}\r\n addContainerClass={addContainerClass}\r\n removeContainerClass={removeContainerClass}\r\n />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderAfterTabsZones = () => {\r\n const AfterTabsCustomElement = components?.tabs?.After;\r\n\r\n return Object.values(state.afterTabsZones).map((te) => {\r\n if (!AfterTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><AfterTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderTabHeaderButtons = () => {\r\n const TabButtonsCustomElement = components?.tabs?.Buttons;\r\n\r\n return Object.values(state.tabHeaderButtons).map((te) => {\r\n if (!TabButtonsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = te;\r\n\r\n const overflow = {\r\n onClick: () => {\r\n webGroupsManager.onOverflowButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.overflow\r\n };\r\n\r\n const feedback = {\r\n onClick: () => {\r\n webGroupsManager.onFeedbackButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.feedback\r\n };\r\n\r\n const clone = {\r\n onClick: () => {\r\n webGroupsManager.onCloneButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.clone\r\n };\r\n\r\n const sticky = {\r\n onClick: () => {\r\n webGroupsManager.onStickyButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.sticky\r\n };\r\n\r\n const extract = {\r\n onClick: () => {\r\n webGroupsManager.onExtractButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.extract\r\n };\r\n\r\n const lock = {\r\n onClick: () => {\r\n webGroupsManager.onLockButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.lock\r\n }\r\n\r\n const unlock = {\r\n onClick: () => {\r\n webGroupsManager.onUnlockButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.unlock\r\n }\r\n\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n let customButtonsProps = new Array<CustomButtonProps>();\r\n if (options.customButtons) {\r\n customButtonsProps = options.customButtons.map((cButton) => {\r\n return {\r\n onClick: () => {\r\n webGroupsManager.clickCustomButton(options.targetId, cButton.buttonId);\r\n },\r\n visible: true,\r\n imageData: cButton.imageData,\r\n tooltip: cButton.tooltip,\r\n buttonId: cButton.buttonId\r\n }\r\n });\r\n }\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}><TabButtonsCustomElement {...options}\r\n overflow={overflow}\r\n feedback={feedback}\r\n clone={clone}\r\n sticky={sticky}\r\n extract={extract}\r\n lock={lock}\r\n unlock={unlock}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n customButtons={customButtonsProps}\r\n frameId={options.targetId}\r\n /></Portal>\r\n });\r\n }\r\n\r\n const renderTabOverflowPopups = () => {\r\n const TabOverflowCustomElement = components?.tabs?.OverflowPopup;\r\n\r\n return Object.values(state.tabOverflowPopups).map((top) => {\r\n if (!TabOverflowCustomElement || !top.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = top;\r\n\r\n const select = (windowId: string) => {\r\n webGroupsManager.selectTab(windowId);\r\n };\r\n\r\n const close = (windowId: string) => {\r\n webGroupsManager.closeTab(windowId);\r\n }\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}><TabOverflowCustomElement {...options}\r\n select={select}\r\n close={close}\r\n frameId={options.targetId}\r\n /></Portal>\r\n });\r\n }\r\n\r\n const renderBelowTabs = () => {\r\n const BelowTabsCustomElement = components?.tabs?.Below;\r\n\r\n return Object.values(state.belowTabsZones).map((te) => {\r\n if (!BelowTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><BelowTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderHtmlButtons = () => {\r\n const HtmlButtonsCustomElement = components?.html?.Buttons;\r\n\r\n return Object.values(state.htmlButtons).map((te) => {\r\n if (!HtmlButtonsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = te;\r\n\r\n const overflow = {\r\n onClick: () => {\r\n webGroupsManager.onOverflowButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.overflow\r\n };\r\n\r\n const feedback = {\r\n onClick: () => {\r\n webGroupsManager.onFeedbackButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.feedback\r\n };\r\n\r\n const clone = {\r\n onClick: () => {\r\n webGroupsManager.onCloneButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.clone\r\n };\r\n\r\n const sticky = {\r\n onClick: () => {\r\n webGroupsManager.onStickyButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.sticky\r\n };\r\n\r\n const extract = {\r\n onClick: () => {\r\n webGroupsManager.onExtractButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.extract\r\n };\r\n\r\n const lock = {\r\n onClick: () => {\r\n webGroupsManager.onLockButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.lock\r\n }\r\n\r\n const unlock = {\r\n onClick: () => {\r\n webGroupsManager.onUnlockButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.unlock\r\n }\r\n\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n let customButtonsProps = new Array<CustomButtonProps>();\r\n if (options.customButtons) {\r\n customButtonsProps = options.customButtons.map((cButton) => {\r\n return {\r\n onClick: () => {\r\n webGroupsManager.clickCustomButton(options.targetId, cButton.buttonId);\r\n },\r\n visible: true,\r\n imageData: cButton.imageData,\r\n tooltip: cButton.tooltip,\r\n buttonId: cButton.buttonId\r\n }\r\n });\r\n }\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}><HtmlButtonsCustomElement {...options}\r\n overflow={overflow}\r\n feedback={feedback}\r\n clone={clone}\r\n sticky={sticky}\r\n extract={extract}\r\n lock={lock}\r\n unlock={unlock}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n customButtons={customButtonsProps}\r\n frameId={options.targetId}\r\n /></Portal>\r\n });\r\n }\r\n\r\n return <>\r\n {renderGroupCaptionBar()}\r\n {renderGroupOverlay()}\r\n {renderFrameCaptionBar()}\r\n {renderFrameWindowOverlay()}\r\n {renderAboveWindow()}\r\n {renderWindowContentOverlays()}\r\n {renderFrameLoadingAnimations()}\r\n {renderBelowWindow()}\r\n {renderAboveTabs()}\r\n {renderBeforeTabsZones()}\r\n {renderTabElements()}\r\n {renderAfterTabsZones()}\r\n {renderTabHeaderButtons()}\r\n {renderTabOverflowPopups()}\r\n {renderBelowTabs()}\r\n {renderHtmlButtons()}\r\n <GroupWrapper\r\n onCreateGroupCaptionBarRequested={components?.group?.CaptionBar ? webGroupsStore.onCreateGroupCaptionBarRequested : undefined}\r\n onCreateGroupOverlayRequested={components?.group?.Overlay ? webGroupsStore.onCreateGroupOverlayRequested : undefined}\r\n onCreateFrameCaptionBarRequested={components?.flat?.CaptionBar ? webGroupsStore.onCreateFrameCaptionBarRequested : undefined}\r\n onCreateFrameWindowOverlayRequested={components?.frame?.Overlay ? webGroupsStore.onCreateFrameWindowOverlayRequested : undefined}\r\n onCreateAboveWindowRequested={components?.frame?.AboveWindow ? webGroupsStore.onCreateAboveWindowRequested : undefined}\r\n onCreateWindowContentOverlayRequested={components?.frame?.WindowContentOverlay ? webGroupsStore.onCreateWindowContentOverlayRequested : undefined}\r\n onCreateFrameLoadingAnimationRequested={LoadingAnimation ? webGroupsStore.onCreateFrameLoadingAnimationRequested : undefined}\r\n onCreateBelowWindowRequested={components?.frame?.BelowWindow ? webGroupsStore.onCreateBelowWindowRequested : undefined}\r\n onCreateAboveTabsRequested={components?.tabs?.Above ? webGroupsStore.onCreateAboveTabsComponentRequested : undefined}\r\n onCreateBeforeTabsComponentRequested={components?.tabs?.Before ? webGroupsStore.onCreateBeforeTabsComponentRequested : undefined}\r\n onCreateTabRequested={components?.tabs?.Element ? webGroupsStore.onCreateTabElementRequested : undefined}\r\n onCreateAfterTabsComponentRequested={components?.tabs?.After ? webGroupsStore.onCreateAfterTabsComponentRequested : undefined}\r\n onCreateTabHeaderButtonsRequested={components?.tabs?.Buttons ? webGroupsStore.onCreateTabHeaderButtonsRequested : undefined}\r\n onCreateBelowTabsRequested={components?.tabs?.Below ? webGroupsStore.onCreateBelowTabsComponentRequested : undefined}\r\n onCreateHtmlButtonsRequested={components?.html?.Buttons ? webGroupsStore.onCreateHtmlButtonsRequested : undefined}\r\n onCreateTabOverflowPopupRequested={components?.tabs?.OverflowPopup ? webGroupsStore.onCreateTabOverflowPopupRequested : undefined}\r\n onUpdateGroupCaptionBarRequested={components?.group?.CaptionBar ? webGroupsStore.onUpdateGroupCaptionBarRequested : undefined}\r\n onUpdateFrameWindowOverlayRequested={components?.group?.Overlay ? webGroupsStore.onUpdateFrameWindowOverlayRequested : undefined}\r\n onUpdateFrameCaptionBarRequested={components?.flat?.CaptionBar ? webGroupsStore.onUpdateFrameCaptionBarRequested : undefined}\r\n onUpdateFrameRequested={webGroupsStore.onUpdateFrame}\r\n onUpdateStandardButtonRequested={webGroupsStore.onUpdateStandardButton}\r\n onUpdateCustomButtonsRequested={webGroupsStore.onUpdateCustomButtons}\r\n onUpdateAboveTabsRequested={components?.tabs?.Above ? webGroupsStore.onUpdateAboveTabsRequested : undefined}\r\n onUpdateBeforeTabsComponentRequested={components?.tabs?.Before ? webGroupsStore.onUpdateBeforeTabsRequested : undefined}\r\n onUpdateTabRequested={components?.tabs?.Element ? webGroupsStore.onUpdateTabElementRequested : undefined}\r\n onUpdateAfterTabsComponentRequested={components?.tabs?.After ? webGroupsStore.onUpdateAfterTabsRequested : undefined}\r\n onUpdateBelowTabsRequested={components?.tabs?.Below ? webGroupsStore.onUpdateBelowTabsRequested : undefined}\r\n onRemoveFrameCaptionBarRequested={webGroupsStore.onRemoveFrameCaptionBarRequested}\r\n onRemoveFrameWindowOverlayRequested={webGroupsStore.onRemoveFrameWindowOverlayRequested}\r\n onRemoveAboveWindowRequested={webGroupsStore.onRemoveAboveWindowRequested}\r\n onRemoveWindowContentOverlayRequested={webGroupsStore.onRemoveWindowContentOverlayRequested}\r\n onRemoveFrameLoadingAnimationRequested={webGroupsStore.onRemoveFrameLoadingAnimationRequested}\r\n onRemoveBelowWindowRequested={webGroupsStore.onRemoveBelowWindowRequested}\r\n onRemoveAboveTabsRequested={webGroupsStore.onRemoveAboveTabsRequested}\r\n onRemoveBeforeTabsComponentRequested={webGroupsStore.onRemoveBeforeTabsComponentRequested}\r\n onRemoveTabRequested={webGroupsStore.onRemoveTabElementRequested}\r\n onRemoveAfterTabsComponentRequested={webGroupsStore.onRemoveAfterTabsComponentRequested}\r\n onRemoveTabHeaderButtonsRequested={webGroupsStore.onRemoveTabHeaderButtonsRequested}\r\n onRemoveBelowTabsRequested={webGroupsStore.onRemoveBelowTabsRequested}\r\n onRemoveHtmlButtonsRequested={webGroupsStore.onRemoveHtmlButtonsRequested}\r\n onRemoveTabOverflowPopupRequested={webGroupsStore.onRemoveTabOverflowPopupRequested}\r\n onShowCaptionEditorRequested={webGroupsStore.onShowCaptionEditorRequested}\r\n onCommitCaptionEditingRequested={webGroupsStore.onCommitCaptionEditingRequested}\r\n onHideCaptionEditorRequested={webGroupsStore.onHideCaptionEditorRequested}\r\n onShowLoadingAnimationRequested={webGroupsStore.onShowLoadingAnimationRequested}\r\n onHideLoadingAnimationRequested={webGroupsStore.onHideLoadingAnimationRequested}\r\n styles={styles}\r\n />\r\n </>\r\n}\r\n\r\nexport default GroupElementCreationWrapper;\r\n","import { useContext, useEffect, useState } from \"react\";\r\nimport { IOConnectContext } from \"@interopio/react-hooks\";\r\n\r\nfunction useIOConnectWindow (windowId: string) {\r\n const [IOConnectWindow, setIOConnectWindow] = useState<any>(undefined);\r\n\r\n const io = (window as any).io || useContext(IOConnectContext);\r\n useEffect(() => {\r\n const unsub = io.windows.onWindowAdded((w: any) => {\r\n if (w.id === windowId) {\r\n setIOConnectWindow(w);\r\n unsub();\r\n }\r\n });\r\n\r\n const windowInCollection = io.windows.list().find((w: any) => w.id === windowId);\r\n if (windowInCollection) {\r\n setIOConnectWindow(windowInCollection);\r\n unsub();\r\n }\r\n\r\n return unsub;\r\n }, [windowId]);\r\n\r\n return IOConnectWindow;\r\n}\r\n\r\nexport default useIOConnectWindow;\r\n\r\n","import { useSyncExternalStore } from \"use-sync-external-store/shim\";\r\nimport { GroupComponentVisibilityState } from \"./types/api\";\r\nimport { ElementCreationWrapperState } from \"./types/internal\";\r\nimport webGroupsStore from \"./webGroupsStore\";\r\n\r\nfunction useGroupComponentVisibility(): GroupComponentVisibilityState {\r\n const state = useSyncExternalStore<ElementCreationWrapperState>(webGroupsStore.subscribe, webGroupsStore.getSnapshot);\r\n return {\r\n groupCaptionBarVisible: state.groupCaptionBar?.visible\r\n };\r\n}\r\n\r\nexport default useGroupComponentVisibility;\r\n\r\n","import { TargetType } from \"../../types/internal\";\r\nimport useCommitEditingRequested from \"../captionEditor/useCommitEditingRequested\";\r\n\r\nfunction useCommitTabCaptionEditingRequested(targetId: string, text: string): void {\r\n useCommitEditingRequested(TargetType.Tab, targetId, text);\r\n}\r\n\r\nexport default useCommitTabCaptionEditingRequested;","import { TargetType } from \"../../types/internal\";\r\nimport useCommitEditingRequested from \"../captionEditor/useCommitEditingRequested\";\r\n\r\nfunction useCommitGroupCaptionEditingRequested(targetId: string, text: string): void {\r\n useCommitEditingRequested(TargetType.Group, targetId, text);\r\n}\r\n\r\nexport default useCommitGroupCaptionEditingRequested;\r\n","import { TargetType } from \"../../types/internal\";\r\nimport useCommitEditingRequested from \"../captionEditor/useCommitEditingRequested\";\r\n\r\nfunction useCommitFlatCaptionEditingRequested(targetId: string, text: string): void {\r\n useCommitEditingRequested(TargetType.Frame, targetId, text);\r\n}\r\n\r\nexport default useCommitFlatCaptionEditingRequested;","import React from \"react\";\nimport { HtmlButtonsProps } from \"../../types/api\";\nimport CloseButton from \"../buttons/CloseButton\";\nimport ExtractButton from \"../buttons/ExtractButton\";\nimport FeedbackButton from \"../buttons/FeedbackButton\";\nimport CloneButton from \"../buttons/CloneButton\";\nimport LockButton from \"../buttons/LockButtons\";\nimport MaximizeButton from \"../buttons/MaximizeButton\";\nimport MinimizeButton from \"../buttons/MinimizeButton\";\nimport RestoreButton from \"../buttons/RestoreButton\";\nimport StickyButton from \"../buttons/StickyButton\";\nimport UnlockButton from \"../buttons/UnlockButton\";\nimport CustomButton from \"../buttons/CustomButton\";\n\nconst HtmlButtons: React.FC<HtmlButtonsProps> = ({ extract, minimize, maximize, restore, close, lock, unlock, feedback, clone, sticky, customButtons }) => {\n return <div className=\"t42-buttons-container t42-html-buttons-bar-element\">\n <ul className=\"t42-buttons t42-html-buttons-bar-element\">\n {\n customButtons.map(customButton => {\n return customButton.visible && <CustomButton key={customButton.buttonId} {...customButton} />\n })\n }\n </ul>\n <ul className=\"t42-buttons t42-html-buttons-bar-element\">\n {feedback?.visible && <FeedbackButton {...feedback} />}\n {clone?.visible && <CloneButton {...clone} />}\n {sticky?.visible && <StickyButton {...sticky} />}\n {extract?.visible && <ExtractButton {...extract} />}\n {lock?.visible && <LockButton {...lock} />}\n {unlock?.visible && <UnlockButton {...unlock} />}\n {minimize?.visible && <MinimizeButton {...minimize} />}\n {restore?.visible && <RestoreButton {...restore} />}\n {maximize?.visible && <MaximizeButton {...maximize} />}\n {close?.visible && <CloseButton {...close} />}\n </ul>\n </div>\n};\n\n\nexport default HtmlButtons;","import React from 'react';\r\nimport { TabOverflowPopupProps } from '../../types/api';\r\nimport { OverflowedTabInfo } from '../../types/internal';\r\n\r\nconst TabOverflowPopup: React.FC<TabOverflowPopupProps> = ({\r\n hiddenTabsToTheLeft,\r\n hiddenTabsToTheRight,\r\n close,\r\n select\r\n}) => {\r\n const createSection = (tabs: OverflowedTabInfo[], title: string) => {\r\n return (\r\n <ul>\r\n <li className=\"title\">{title}</li>\r\n {tabs.map((tab) => (\r\n <li key={tab.windowId} onClick={() => handleTabClick(tab.windowId)}>\r\n <span>{tab.title}</span>\r\n <div className=\"t42-tab-close-button-content\" onClick={(e) => {\r\n e.stopPropagation();\r\n handleTabClose(tab.windowId)\r\n }}></div>\r\n </li>\r\n ))}\r\n </ul>\r\n );\r\n };\r\n\r\n const handleTabClick = (windowId: string) => {\r\n select(windowId);\r\n };\r\n\r\n const handleTabClose = (windowId: string) => {\r\n close(windowId);\r\n };\r\n\r\n return (\r\n <div className=\"t42-wg-tab-overflow-popup\">\r\n {hiddenTabsToTheLeft.length > 0 && createSection(hiddenTabsToTheLeft, \"Open left\")}\r\n {hiddenTabsToTheLeft.length > 0 && hiddenTabsToTheRight.length > 0 && <hr />}\r\n {hiddenTabsToTheRight.length > 0 && createSection(hiddenTabsToTheRight, \"Open right\")}\r\n </div>\r\n );\r\n};\r\n\r\nexport default TabOverflowPopup;","import CloseButton from \"./defaultComponents/buttons/CloseButton\";\r\nimport FlatCaptionBar from \"./defaultComponents/flatCaptionBar/FlatCaptionBar\";\r\nimport GroupCaptionBar from \"./defaultComponents/groupCaptionBar/GroupCaptionBar\";\r\nimport MaximizeButton from \"./defaultComponents/buttons/MaximizeButton\";\r\nimport MinimizeButton from \"./defaultComponents/buttons/MinimizeButton\";\r\nimport Tab from \"./defaultComponents/tabs/Tab\";\r\nimport TabHeaderButtons from \"./defaultComponents/tabs/TabHeaderButtons\";\r\nimport TabCaption from \"./defaultComponents/tabs/TabCaption\";\r\nimport TabCloseButton from \"./defaultComponents/tabs/TabCloseButton\";\r\nimport GroupElementCreationWrapper from \"./GroupElementCreationWrapper\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\nimport GroupMoveArea from \"./defaultComponents/groupCaptionBar/GroupMoveArea\";\r\nimport GroupButtons from \"./defaultComponents/groupCaptionBar/GroupButtons\";\r\nimport FlatMoveArea from \"./defaultComponents/flatCaptionBar/FlatMoveArea\";\r\nimport FlatButtons from \"./defaultComponents/flatCaptionBar/FlatButtons\";\r\nimport FlatCaption from \"./defaultComponents/flatCaptionBar/FlatCaption\";\r\nimport GroupCaption from \"./defaultComponents/groupCaptionBar/GroupCaption\";\r\nimport FlatChannelSelector from \"./defaultComponents/channelSelector/FlatChannelSelector\";\r\nimport TabChannelSelector from \"./defaultComponents/channelSelector/TabChannelSelector\";\r\nimport RestoreButton from \"./defaultComponents/buttons/RestoreButton\";\r\nimport LockButton from \"./defaultComponents/buttons/LockButtons\";\r\nimport UnlockButton from \"./defaultComponents/buttons/UnlockButton\";\r\nimport ExtractButton from \"./defaultComponents/buttons/ExtractButton\";\r\nimport FeedbackButton from \"./defaultComponents/buttons/FeedbackButton\";\r\nimport CloneButton from \"./defaultComponents/buttons/CloneButton\";\r\nimport StickyButton from \"./defaultComponents/buttons/StickyButton\";\r\nimport OverflowButton from \"./defaultComponents/buttons/OverflowButton\";\r\nimport useIOConnectWindow from \"./useIOConnectWindow\";\r\nimport CustomButton from \"./defaultComponents/buttons/CustomButton\";\r\nimport { waitForWindow } from \"./utils\";\r\nimport useGroupComponentVisibility from \"./useGroupComponentVisibility\";\r\nimport {\r\n CloseButtonProps,\r\n ExtractButtonProps,\r\n StickyButtonProps,\r\n FeedbackButtonProps,\r\n FlatButtonsProps,\r\n FlatCaptionEditorProps,\r\n FlatCaptionProps,\r\n FlatChannelSelectorProps,\r\n FlatMoveAreaProps,\r\n GroupButtonsProps,\r\n GroupCaptionEditorProps,\r\n GroupMoveAreaProps,\r\n LockButtonProps,\r\n MaximizeButtonProps,\r\n MinimizeButtonProps,\r\n RestoreButtonProps,\r\n TabCaptionEditorProps,\r\n TabCaptionProps,\r\n TabChannelSelectorProps,\r\n TabCloseButtonProps,\r\n UnlockButtonProps,\r\n UseCaptionEditorOptions,\r\n UseEditableCaptionOptions,\r\n OverflowButtonProps\r\n} from \"./types/defaultComponents\";\r\nimport {\r\n AboveTabsProps,\r\n AboveWindowProps,\r\n AfterTabsProps,\r\n BeforeTabsProps,\r\n BelowTabsProps,\r\n BelowWindowProps,\r\n FlatCaptionBarProps,\r\n FrameLoadingAnimationProps,\r\n FrameWindowOverlayProps,\r\n GroupCaptionBarProps,\r\n GroupComponentVisibilityState,\r\n GroupOverlayProps,\r\n GroupProps,\r\n HtmlButtonsProps,\r\n MoveAreaProps,\r\n OpenTabOverflowPopupOptions,\r\n TabElementProps,\r\n TabHeaderButtonsProps,\r\n TabOverflowPopupProps,\r\n WindowContentOverlayProps,\r\n} from \"./types/api\";\r\nimport GroupCaptionEditor from \"./defaultComponents/groupCaptionBar/GroupCaptionEditor\";\r\nimport FlatCaptionEditor from \"./defaultComponents/flatCaptionBar/FlatCaptionEditor\";\r\nimport TabCaptionEditor from \"./defaultComponents/tabs/TabCaptionEditor\";\r\nimport { Location, TargetType } from \"./types/internal\";\r\nimport useCommitTabCaptionEditingRequested from \"./defaultComponents/tabs/useCommitTabCaptionEditingRequested\";\r\nimport useCommitGroupCaptionEditingRequested from \"./defaultComponents/groupCaptionBar/useCommitGroupCaptionEditingRequested\";\r\nimport useCommitFlatCaptionEditingRequested from \"./defaultComponents/flatCaptionBar/useCommitFlatCaptionEditingRequested\";\r\nimport useEditableCaption from \"./defaultComponents/captionEditor/useEditableCaption\";\r\nimport useCaptionEditor from \"./defaultComponents/captionEditor/useCaptionEditor\";\r\nimport FrameLoadingAnimation from \"./defaultComponents/loadingAnimation/FrameLoadingAnimation\";\r\nimport HtmlButtons from \"./defaultComponents/htmlButtonsBar/buttons\";\r\nimport TabOverflowPopup from \"./defaultComponents/popups/TabOverflowPopup\";\r\nimport TabMultiChannelSelector from \"./defaultComponents/channelSelector/multi/TabMultiChannelSelector\";\r\nimport FlatMultiChannelSelector from \"./defaultComponents/channelSelector/multi/FlatMultiChannelSelector\";\r\nimport { useDragMove } from \"./defaultComponents/utils/useDragMove\";\r\n\r\nexport {\r\n GroupCaptionBar,\r\n GroupMoveArea,\r\n GroupButtons,\r\n GroupCaptionEditor,\r\n Tab,\r\n TabChannelSelector,\r\n TabCaption,\r\n TabCloseButton,\r\n TabCaptionEditor,\r\n FeedbackButton,\r\n CloneButton,\r\n StickyButton,\r\n ExtractButton,\r\n LockButton,\r\n UnlockButton,\r\n MinimizeButton,\r\n RestoreButton,\r\n MaximizeButton,\r\n CustomButton,\r\n CloseButton,\r\n FlatCaptionBar,\r\n FlatChannelSelector,\r\n FlatCaption,\r\n FlatMoveArea,\r\n FlatButtons,\r\n FlatCaptionEditor,\r\n TabHeaderButtons,\r\n FrameLoadingAnimation,\r\n HtmlButtons,\r\n TabOverflowPopup,\r\n OverflowButton,\r\n GroupComponentVisibilityState,\r\n TabMultiChannelSelector,\r\n FlatMultiChannelSelector,\r\n useIOConnectWindow,\r\n useGroupComponentVisibility,\r\n waitForWindow,\r\n useEditableCaption,\r\n useCaptionEditor,\r\n useDragMove,\r\n useCommitGroupCaptionEditingRequested,\r\n useCommitFlatCaptionEditingRequested,\r\n useCommitTabCaptionEditingRequested,\r\n}\r\n\r\nexport const getGroupId: () => string = () => webGroupsManager?.getGroupId();\r\nexport const requestPageFocus: () => void = () => webGroupsManager?.requestPageFocus();\r\nexport const requestFrameFocus: (frameId: string) => void = (frameId) => webGroupsManager?.requestFrameFocus(frameId);\r\nexport const requestGroupFocus: () => void = () => webGroupsManager?.requestGroupFocus();\r\nexport const openTabOverflowPopup: (options: OpenTabOverflowPopupOptions) => void = ({ frameId, location }: OpenTabOverflowPopupOptions) => webGroupsManager.openTabOverflowPopup(frameId, location);\r\n\r\nexport const onCommitGroupCaptionEditingRequested = (targetId: string, cb: () => void) => webGroupsManager.onCommitCaptionEditingRequested(TargetType.Group, targetId, cb);\r\nexport const onCommitFlatCaptionEditingRequested = (targetId: string, cb: () => void) => webGroupsManager.onCommitCaptionEditingRequested(TargetType.Frame, targetId, cb);\r\nexport const onCommitTabCaptionEditingRequested = (targetId: string, cb: () => void) => webGroupsManager.onCommitCaptionEditingRequested(TargetType.Tab, targetId, cb);\r\n\r\nexport {\r\n MoveAreaProps,\r\n GroupProps,\r\n GroupCaption,\r\n GroupCaptionBarProps,\r\n GroupMoveAreaProps,\r\n GroupOverlayProps,\r\n GroupButtonsProps,\r\n GroupCaptionEditorProps,\r\n TabElementProps,\r\n TabChannelSelectorProps,\r\n TabCaptionProps,\r\n TabCloseButtonProps,\r\n TabHeaderButtonsProps,\r\n TabCaptionEditorProps,\r\n HtmlButtonsProps,\r\n FlatCaptionBarProps,\r\n FlatCaptionProps,\r\n FrameWindowOverlayProps,\r\n FlatMoveAreaProps,\r\n FlatChannelSelectorProps,\r\n FlatButtonsProps,\r\n FlatCaptionEditorProps,\r\n OverflowButtonProps,\r\n StickyButtonProps,\r\n FeedbackButtonProps,\r\n ExtractButtonProps,\r\n LockButtonProps,\r\n UnlockButtonProps,\r\n MinimizeButtonProps,\r\n MaximizeButtonProps,\r\n RestoreButtonProps,\r\n CloseButtonProps,\r\n FrameLoadingAnimationProps,\r\n UseCaptionEditorOptions,\r\n UseEditableCaptionOptions,\r\n AboveWindowProps,\r\n BelowWindowProps,\r\n AboveTabsProps,\r\n BelowTabsProps,\r\n BeforeTabsProps,\r\n AfterTabsProps,\r\n WindowContentOverlayProps,\r\n TabOverflowPopupProps,\r\n}\r\n\r\nexport default GroupElementCreationWrapper;\r\n"],"names":["callbackRegistry","useEffect","useLayoutEffect","ResizeObserver","useState","shim","React","require$$0","require$$1","useSyncExternalStore"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;AACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;AACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;AACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1G,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC;AACF;AACO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;AAChC,IAAI,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;AAC7C,QAAQ,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;AAClG,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;AAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AACzF,CAAC;AACD;AACO,IAAI,QAAQ,GAAG,WAAW;AACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;AACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,SAAS;AACT,QAAQ,OAAO,CAAC,CAAC;AACjB,MAAK;AACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC3C,EAAC;AACD;AACO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;AAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;AACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;AACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,SAAS;AACT,IAAI,OAAO,CAAC,CAAC;AACb,CAAC;AAmRD;AACuB,OAAO,eAAe,KAAK,UAAU,GAAG,eAAe,GAAG,UAAU,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE;AACvH,IAAI,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/B,IAAI,OAAO,CAAC,CAAC,IAAI,GAAG,iBAAiB,EAAE,CAAC,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC;AACrF;;ACjUA,IAAY,oBAGX,CAAA;AAHD,CAAA,UAAY,oBAAoB,EAAA;AAC5B,IAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,oBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACnB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,GAG/B,EAAA,CAAA,CAAA,CAAA;AAuPD,IAAY,UAMX,CAAA;AAND,CAAA,UAAY,UAAU,EAAA;AACrB,IAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,UAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,UAAA,CAAA,aAAA,CAAA,GAAA,MAAoB,CAAA;AACrB,CAAC,EANW,UAAU,KAAV,UAAU,GAMrB,EAAA,CAAA,CAAA,CAAA;AAED,IAAY,eAYX,CAAA;AAZD,CAAA,UAAY,eAAe,EAAA;AAC1B,IAAA,eAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,eAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,eAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,eAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AAChB,CAAC,EAZW,eAAe,KAAf,eAAe,GAY1B,EAAA,CAAA,CAAA;;ACvRD,SAAS,cAAc,CAAC,OAAO,EAAE;AACjC,IAAI,IAAI,OAAO,IAAI,OAAO,CAAC,aAAa;AACxC,WAAW,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU;AACtD,WAAW,OAAO,CAAC,aAAa,KAAK,KAAK;AAC1C,WAAW,OAAO,CAAC,aAAa,KAAK,QAAQ;AAC7C,WAAW,OAAO,CAAC,aAAa,KAAK,OAAO,EAAE;AAC9C,QAAQ,MAAM,IAAI,KAAK,CAAC,iIAAiI,GAAG,OAAO,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC;AAC1M,KAAK;AACL,IAAI,IAAI,iBAAiB,GAAG,OAAO,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;AAC5G,IAAI,IAAI,SAAS,GAAG,EAAE,CAAC;AACvB,IAAI,SAAS,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,kBAAkB,EAAE;AACpD,QAAQ,IAAI,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AAC7C,QAAQ,IAAI,CAAC,eAAe,EAAE;AAC9B,YAAY,eAAe,GAAG,EAAE,CAAC;AACjC,YAAY,SAAS,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC;AAC7C,SAAS;AACT,QAAQ,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvC,QAAQ,IAAI,kBAAkB,EAAE;AAChC,YAAY,UAAU,CAAC,YAAY;AACnC,gBAAgB,kBAAkB,CAAC,OAAO,CAAC,UAAU,cAAc,EAAE;AACrE,oBAAoB,IAAI,EAAE,CAAC;AAC3B,oBAAoB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAC1G,wBAAwB,IAAI;AAC5B,4BAA4B,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;AAC/D,gCAAgC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AAC1E,6BAA6B;AAC7B,iCAAiC;AACjC,gCAAgC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AAC5E,6BAA6B;AAC7B,yBAAyB;AACzB,wBAAwB,OAAO,GAAG,EAAE;AACpC,4BAA4B,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACnD,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa,EAAE,CAAC,CAAC,CAAC;AAClB,SAAS;AACT,QAAQ,OAAO,YAAY;AAC3B,YAAY,IAAI,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AAC3C,YAAY,IAAI,CAAC,SAAS,EAAE;AAC5B,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;AACxE,gBAAgB,IAAI,EAAE,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,EAAE;AACrE,oBAAoB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtC,iBAAiB;AACjB,gBAAgB,OAAO,GAAG,CAAC;AAC3B,aAAa,EAAE,EAAE,CAAC,CAAC;AACnB,YAAY,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AACxC,gBAAgB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AACtC,aAAa;AACb,iBAAiB;AACjB,gBAAgB,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;AAC3C,aAAa;AACb,SAAS,CAAC;AACV,KAAK;AACL,IAAI,SAAS,OAAO,CAAC,GAAG,EAAE;AAC1B,QAAQ,IAAI,YAAY,GAAG,EAAE,CAAC;AAC9B,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AACtD,YAAY,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;AACjD,SAAS;AACT,QAAQ,IAAI,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AAC7C,QAAQ,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9D,YAAY,OAAO,EAAE,CAAC;AACtB,SAAS;AACT,QAAQ,IAAI,OAAO,GAAG,EAAE,CAAC;AACzB,QAAQ,eAAe,CAAC,OAAO,CAAC,UAAU,QAAQ,EAAE;AACpD,YAAY,IAAI;AAChB,gBAAgB,IAAI,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AACrE,gBAAgB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACrC,aAAa;AACb,YAAY,OAAO,GAAG,EAAE;AACxB,gBAAgB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACxC,gBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACvC,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,OAAO,CAAC;AACvB,KAAK;AACL,IAAI,SAAS,YAAY,CAAC,iBAAiB,EAAE,GAAG,EAAE;AAClD,QAAQ,IAAI,QAAQ,GAAG,iBAAiB,YAAY,KAAK,GAAG,iBAAiB,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAC7G,QAAQ,IAAI,iBAAiB,EAAE;AAC/B,YAAY,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACxC,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,GAAG,GAAG,qDAAqD,GAAG,GAAG,GAAG,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;AAC/G,QAAQ,IAAI,OAAO,EAAE;AACrB,YAAY,QAAQ,OAAO,CAAC,aAAa;AACzC,gBAAgB,KAAK,KAAK;AAC1B,oBAAoB,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9C,gBAAgB,KAAK,QAAQ;AAC7B,oBAAoB,OAAO;AAC3B,gBAAgB,KAAK,OAAO;AAC5B,oBAAoB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AACzC,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC3B,KAAK;AACL,IAAI,SAAS,KAAK,GAAG;AACrB,QAAQ,SAAS,GAAG,EAAE,CAAC;AACvB,KAAK;AACL,IAAI,SAAS,QAAQ,CAAC,GAAG,EAAE;AAC3B,QAAQ,IAAI,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AAC7C,QAAQ,IAAI,CAAC,eAAe,EAAE;AAC9B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AAC9B,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,GAAG,EAAE,GAAG;AAChB,QAAQ,OAAO,EAAE,OAAO;AACxB,QAAQ,KAAK,EAAE,KAAK;AACpB,QAAQ,QAAQ,EAAE,QAAQ;AAC1B,KAAK,CAAC;AACN,CAAC;AAED,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC;AACxC,IAAc,GAAA,GAAG,cAAc;;AChH/B,IAAA,yBAAA,kBAAA,YAAA;AAAA,IAAA,SAAA,yBAAA,GAAA;QACqB,IAAQ,CAAA,QAAA,GAAGA,GAAgB,EAAE,CAAC;QAC/B,IAAc,CAAA,cAAA,GAAG,gBAAgB,CAAC;KAgNrD;AA9MU,IAAA,yBAAA,CAAA,SAAA,CAAA,IAAI,GAAX,UAAY,EAAO,EAAE,gBAAqB,EAAA;QACtC,IAAI,MAAM,CAAC,gBAAgB,EAAE;AACzB,YAAA,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAClD,SAAA;AAAM,aAAA;AACH,YAAA,MAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;AACrH,SAAA;KACJ,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,UAAU,GAAjB,YAAA;AACI,QAAA,OAAO,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,OAAO,CAAC;KACjE,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,qBAAqB,GAA5B,YAAA;AACI,QAAA,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,CAAC;KACnD,CAAA;IAEM,yBAAa,CAAA,SAAA,CAAA,aAAA,GAApB,UAAqB,OAAoB,EAAA;QACrC,OAAO,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KACzD,CAAA;IAEM,yBAAW,CAAA,SAAA,CAAA,WAAA,GAAlB,UAAmB,OAAoB,EAAA;QACnC,OAAO,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KACvD,CAAA;IAEM,yBAAe,CAAA,SAAA,CAAA,eAAA,GAAtB,UAAuB,SAAiB,EAAA;QACpC,OAAO,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;KAC7D,CAAA;IAEM,yBAAyB,CAAA,SAAA,CAAA,yBAAA,GAAhC,UAAiC,EAAa,EAAA;QAC1C,OAAO,MAAM,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;KAChE,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,OAAO,GAAd,YAAA;AACI,QAAA,OAAO,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;KAC5C,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,gBAAgB,GAAvB,YAAA;QACI,OAAO,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,SAAS,EAAE,CAAC;KACrE,CAAA;IAEM,yBAAiB,CAAA,SAAA,CAAA,iBAAA,GAAxB,UAAyB,OAAe,EAAA;QACpC,OAAO,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;KAC7E,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,iBAAiB,GAAxB,YAAA;QACI,OAAO,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,UAAU,EAAE,CAAC;KACtE,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAzB,UAA0B,UAAsB,EAAE,QAAgB,EAAA;AAC9D,QAAA,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;KACrH,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,oBAAoB,GAA3B,UAA4B,UAAsB,EAAE,QAAgB,EAAA;AAChE,QAAA,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;KACvH,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,qBAAqB,GAA5B,UAA6B,UAAsB,EAAE,QAAgB,EAAA;AACjE,QAAA,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;KACxH,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,qBAAqB,GAA5B,UAA6B,UAAsB,EAAE,QAAgB,EAAA;AACjE,QAAA,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;KACxH,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,iBAAiB,GAAxB,UAAyB,UAAsB,EAAE,QAAgB,EAAA;AAC7D,QAAA,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;KACpH,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,mBAAmB,GAA1B,UAA2B,UAAsB,EAAE,QAAgB,EAAA;AAC/D,QAAA,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;KACtH,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,qBAAqB,GAA5B,UAA6B,UAAsB,EAAE,QAAgB,EAAA;AACjE,QAAA,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;KACxH,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,qBAAqB,GAA5B,UAA6B,UAAsB,EAAE,QAAgB,EAAA;AACjE,QAAA,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;KACxH,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAzB,UAA0B,UAAsB,EAAE,QAAgB,EAAA;AAC9D,QAAA,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;KACrH,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,mBAAmB,GAA1B,UAA2B,UAAsB,EAAE,QAAgB,EAAA;AAC/D,QAAA,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;KACtH,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,oBAAoB,GAA3B,UAA4B,UAAsB,EAAE,QAAgB,EAAA;AAChE,QAAA,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;KACvH,CAAA;IAEM,yBAAQ,CAAA,SAAA,CAAA,QAAA,GAAf,UAAgB,QAAgB,EAAA;QAC5B,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;KAClF,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,iBAAiB,GAAxB,UAAyB,QAAgB,EAAE,QAAgB,EAAA;AACvD,QAAA,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;KAC5G,CAAA;IAEM,yBAAsB,CAAA,SAAA,CAAA,sBAAA,GAA7B,UAA8B,QAAgB,EAAA;AAC1C,QAAA,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;KAChG,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,yBAAyB,GAAhC,UAAiC,QAAgB,EAAE,cAAsB,EAAA;QACrE,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,yBAAyB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;KACtG,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,2BAA2B,GAAlC,UAAmC,QAAgB,EAAE,cAAsB,EAAA;QACvE,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,2BAA2B,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;KACxG,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,0BAA0B,GAAjC,UAAkC,UAAsB,EAAE,QAAgB,EAAE,MAAc,EAAA;QACtF,IAAI,OAAO,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,0BAA0B,KAAK,UAAU,EAAE;;YAEjG,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,0BAA0B,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;KAC3G,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,aAAa,GAApB,YAAA;QACI,IAAI,OAAO,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,aAAa,KAAK,UAAU,EAAE;;YAEpF,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,aAAa,EAAE,CAAC;KAClE,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,iBAAiB,GAAxB,UAAyB,UAAsB,EAAE,QAAgB,EAAE,IAAY,EAAA;QAC3E,IAAI,OAAO,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,iBAAiB,KAAK,UAAU,EAAE;;YAExF,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;KAChG,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,6BAA6B,GAApC,UAAqC,UAAsB,EAAE,QAAgB,EAAE,OAAgB,EAAA;QAC3F,IAAI,OAAO,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,6BAA6B,KAAK,UAAU,EAAE;;YAEpG,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,6BAA6B,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KAC/G,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,4BAA4B,GAAnC,UAAoC,UAAsB,EAAE,QAAgB,EAAE,MAAc,EAAA;QACxF,IAAI,OAAO,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,4BAA4B,KAAK,UAAU,EAAE;;YAEnG,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,4BAA4B,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;KAC7G,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,oBAAoB,GAA3B,UAA4B,UAAsB,EAAE,QAAgB,EAAE,IAAY,EAAA;QAC9E,IAAI,OAAO,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,oBAAoB,KAAK,UAAU,EAAE;;YAE3F,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;KACnG,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,+BAA+B,GAAtC,UAAuC,UAAsB,EAAE,QAAgB,EAAE,QAAoB,EAAA;AACjG,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAI,UAAU,GAAA,GAAA,GAAI,QAAU,EAAE,QAAQ,CAAC,CAAC;KACnE,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,2BAA2B,GAAlC,UAAmC,UAAsB,EAAE,QAAgB,EAAA;QACvE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAI,UAAU,GAAA,GAAA,GAAI,QAAU,CAAC,CAAC;KACtD,CAAA;IAEM,yBAAqB,CAAA,SAAA,CAAA,qBAAA,GAA5B,UAA6B,MAAqB,EAAA;QAC9C,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;KAChF,CAAA;IAEM,yBAAuB,CAAA,SAAA,CAAA,uBAAA,GAA9B,UAA+B,MAAqB,EAAA;QAChD,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;KAClF,CAAA;IAEM,yBAAiB,CAAA,SAAA,CAAA,iBAAA,GAAxB,UAAyB,MAAqB,EAAA;QAC1C,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;KAC5E,CAAA;IACM,yBAAS,CAAA,SAAA,CAAA,SAAA,GAAhB,UAAiB,QAAgB,EAAA;QAC7B,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;KACtE,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,oBAAoB,GAA3B,UAA4B,QAAgB,EAAE,SAAiB,EAAA;QAC3D,IAAI,OAAO,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,oBAAoB,KAAK,UAAU,EAAE;AAC3F,YAAA,OAAO,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;YACvG,OAAO;AACV,SAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;KAC5F,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,uBAAuB,GAA9B,UAA+B,QAAgB,EAAE,SAAiB,EAAA;QAC9D,IAAI,OAAO,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,uBAAuB,KAAK,UAAU,EAAE;AAC9F,YAAA,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;YAC1G,OAAO;AACV,SAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;KAC/F,CAAA;AAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,oBAAoB,GAA3B,UAA4B,OAAe,EAAE,QAAkB,EAAA;QAC3D,IAAI,OAAO,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,oBAAoB,KAAK,UAAU,EAAE;AAC3F,YAAA,OAAO,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;YACvG,OAAO;AACV,SAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;KAC1F,CAAA;IACL,OAAC,yBAAA,CAAA;AAAD,CAAC,EAAA,CAAA,CAAA;AAED,uBAAe,IAAI,yBAAyB,EAAE;;ACrN9C,IAAM,UAAU,GAA8B,UAAC,EAA8B,EAAA;QAA5B,YAAY,GAAA,EAAA,CAAA,YAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAAA,CAAA;AACvE,IAAA,OAAO,KAAQ,CAAA,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA,EAAA,EAAA,YAAY,EAAc,EAAA,aAAA,EAAA,eAAe,EAAC,SAAS,EAAK,gBAAgB,CAAC,cAAc,GAAI,GAAA,GAAA,YAAY,CAAC,SAAW,EAAA,CAAA;QAC9H,KAAS,CAAA,aAAA,CAAA,KAAA,EAAA,QAAA,CAAA,EAAA,EAAA,YAAY,CACf,CAAA,CACL,CAAA;AACT,CAAC;;ACPe,SAAA,+BAA+B,CAAC,QAAyB,EAAE,MAA6B,EAAA;AACpG,IAAA,IAAI,UAAU,GAAG,0CAA2C,GAAA,QAAU,CAAC;AACvE,IAAA,IAAI,MAAM,IAAI,MAAM,KAAK,oBAAoB,CAAC,OAAO,EAAE;QACnD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,0BAAwB,MAAM,GAAA,GAAA,GAAI,QAAU,CAAC,CAAC;AAChF,KAAA;AACD,IAAA,OAAO,UAAU,CAAC;AACtB,CAAC;SAEe,+BAA+B,CAAC,QAAyB,EAAE,MAA6B,EAAE,SAAmB,EAAA;AACzH,IAAA,IAAI,UAAU,GAAG,8EAA+E,GAAA,QAAU,CAAC;IAC3G,IAAI,SAAS,KAAK,IAAI,EAAE;AACpB,QAAA,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC7C,KAAA;AACD,IAAA,IAAI,MAAM,IAAI,MAAM,KAAK,oBAAoB,CAAC,OAAO,EAAE;QACnD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,6BAA2B,MAAM,GAAA,GAAA,GAAI,QAAU,CAAC,CAAC;AACnF,KAAA;AACD,IAAA,OAAO,UAAU,CAAC;AACtB;;ACdA,IAAM,cAAc,GAAkC,UAAC,EAAiD,EAAA;AAA/C,IAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA,EAAE,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,OAAO,GAAA,EAAA,CAAA,OAAA,CAAA;AAClG,IAAA,OAAO,oBAAC,UAAU,EAAA,EACd,YAAY,EAAE,EAAE,SAAS,EAAE,+BAA+B,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAC9E,YAAY,EAAE,EAAE,SAAS,EAAE,+BAA+B,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAA,OAAA,EAAE,GAAI,CAAA;AAC9H,CAAC;;ACJK,IAAA,WAAW,GAA+B,UAAC,KAAK,EAAA;IAClD,OAAO,KAAA,CAAA,aAAA,CAAC,cAAc,EAAA,QAAA,CAAA,EAClB,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAA,EAC3B,KAAK,CAAA,CACX,CAAA;AACN;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;AACjC,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC;AACD;AACA,MAAM,UAAU,SAAS,KAAK,CAAC;AAC/B,EAAE,WAAW,CAAC,KAAK,EAAE;AACrB,IAAI,KAAK,CAAC,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,GAAG;AACH,CAAC;AACD,IAAI,YAAY,GAAG,UAAU,CAAC;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AAC/D,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,aAAa,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACxE,EAAE,IAAI,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;AACrC,EAAE,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AAC3E,EAAE,MAAM,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAChE,EAAE,IAAI,eAAe,EAAE;AACvB,IAAI,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrD,IAAI,OAAO,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;AACzG,GAAG;AACH,EAAE,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAClD,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC9C,IAAI,OAAO,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;AAC9F,GAAG;AACH,EAAE,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACpD,EAAE,IAAI,SAAS,EAAE;AACjB,IAAI,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/C,IAAI,OAAO,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;AACrF,GAAG;AACH,EAAE,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACpD,EAAE,IAAI,SAAS,EAAE;AACjB,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACxE,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AAC9D,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AAC9D,IAAI,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3D,GAAG;AACH,EAAE,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AACD,SAAS,IAAI,CAAC,GAAG,EAAE;AACnB,EAAE,IAAI,IAAI,GAAG,IAAI,CAAC;AAClB,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;AACrB,EAAE,OAAO,CAAC,EAAE;AACZ,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3C,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC;AAC7B,CAAC;AACD,MAAM,UAAU,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1D,MAAM,kBAAkB,GAAG,qzCAAqzC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK;AACl3C,EAAE,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/C,EAAE,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACzD;AACA;AACA;AACA,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC3C,IAAI,MAAM,IAAI,GAAG,CAAC;AAClB,GAAG;AACH,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/B,EAAE,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACP;AACA;AACA;AACA;AACA,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,EAAE,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;AACzD,EAAE,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAC/D,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7C,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AACtB,CAAC;AACD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7E,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/E,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,CAAC;AAC9E,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAAC,EAAE,GAAG,CAAC,CAAC;AAClH,MAAM,SAAS,GAAG,gFAAgF,CAAC;AACnG,MAAM,eAAe,GAAG,WAAW,CAAC;AACpC,MAAM,UAAU,GAAG,KAAK,IAAI;AAC5B,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AACjC,CAAC,CAAC;AACF,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,KAAK;AACjD,EAAE,IAAI,CAAC,GAAG,SAAS,GAAG,GAAG,CAAC;AAC1B,EAAE,IAAI,UAAU,KAAK,CAAC,EAAE;AACxB;AACA,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACrC,GAAG;AACH;AACA;AACA,EAAE,MAAM,QAAQ,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC;AAChD,EAAE,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,UAAU,GAAG,GAAG,CAAC,CAAC;AAChE,EAAE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACpE,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;AACd,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;AAChB,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;AACf,EAAE,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE;AACrC,IAAI,GAAG,GAAG,MAAM,CAAC;AACjB,IAAI,KAAK,GAAG,eAAe,CAAC;AAC5B,GAAG,MAAM,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE;AAC5C,IAAI,GAAG,GAAG,eAAe,CAAC;AAC1B,IAAI,KAAK,GAAG,MAAM,CAAC;AACnB,GAAG,MAAM,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE;AAC5C,IAAI,KAAK,GAAG,MAAM,CAAC;AACnB,IAAI,IAAI,GAAG,eAAe,CAAC;AAC3B,GAAG,MAAM,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE;AAC5C,IAAI,KAAK,GAAG,eAAe,CAAC;AAC5B,IAAI,IAAI,GAAG,MAAM,CAAC;AAClB,GAAG,MAAM,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE;AAC5C,IAAI,GAAG,GAAG,eAAe,CAAC;AAC1B,IAAI,IAAI,GAAG,MAAM,CAAC;AAClB,GAAG,MAAM,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE;AAC5C,IAAI,GAAG,GAAG,MAAM,CAAC;AACjB,IAAI,IAAI,GAAG,eAAe,CAAC;AAC3B,GAAG;AACH,EAAE,MAAM,qBAAqB,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;AAC/C,EAAE,MAAM,QAAQ,GAAG,GAAG,GAAG,qBAAqB,CAAC;AAC/C,EAAE,MAAM,UAAU,GAAG,KAAK,GAAG,qBAAqB,CAAC;AACnD,EAAE,MAAM,SAAS,GAAG,IAAI,GAAG,qBAAqB,CAAC;AACjD,EAAE,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC3D,CAAC,CAAC;AAyEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,YAAY,CAAC,KAAK,EAAE;AAC7B,EAAE,IAAI,KAAK,KAAK,aAAa,EAAE,OAAO,CAAC,CAAC;AACxC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE;AAChB,IAAI,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC;AAC5B,IAAI,OAAO,OAAO,IAAI,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,KAAK,IAAI,KAAK,EAAE,GAAG,CAAC,CAAC;AAC3F,GAAG;AACH,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;AACvC,EAAE,OAAO,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAqID;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oBAAoB,CAAC,KAAK,EAAE;AACrC,EAAE,OAAO,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACrC;;AC1WM,SAAU,eAAe,CAAC,KAAa,EAAA;IACzC,IAAI;AACA,QAAA,IAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;AAChC,QAAA,IAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,QAAA,IAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,QAAA,IAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,QAAA,IAAM,gBAAgB,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC;QACtE,OAAO,gBAAgB,GAAG,GAAG,CAAC;AACjC,KAAA;IAAC,OAAM,EAAA,EAAA;;AAEP,KAAA;IAED,IAAI;AACA,QAAA,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACtC,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;;QAEZ,OAAO,CAAC,KAAK,CAAC,2CAAA,GAA4C,KAAK,GAAG,GAAA,EAAE,KAAK,CAAC,CAAC;AAC9E,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAEK,SAAU,mBAAmB,CAAC,mBAAsD,EAAA;IACtF,IAAI,CAAC,mBAAmB,EAAE;AACtB,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;AACD,IAAA,IAAI,OAAO,mBAAmB,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,mBAAmB,CAAC,KAAK,KAAK,SAAS,EAAE;AACjG,QAAA,IAAI,mBAAmB,CAAC,IAAI,IAAI,mBAAmB,CAAC,KAAK,EAAE;AACvD,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;QACD,IAAI,mBAAmB,CAAC,IAAI,EAAE;AAC1B,YAAA,OAAO,WAAW,CAAC;AACtB,SAAA;QACD,IAAI,mBAAmB,CAAC,KAAK,EAAE;AAC3B,YAAA,OAAO,SAAS,CAAA;AACnB,SAAA;AACD,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;AAAM,SAAA;AACH,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;AACL;;ACrCA,IAAM,mBAAmB,GAAuC,UAAC,EAA4G,EAAA;AAA1G,IAAA,IAAA,YAAY,kBAAA,EAAE,YAAY,kBAAA,EAAE,YAAY,kBAAA,EAAE,eAAe,GAAA,EAAA,CAAA,eAAA,EAAE,oBAAoB,GAAA,EAAA,CAAA,oBAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAAA,CAAA;AACvK,IAAA,IAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;AACzC,IAAA,IAAM,cAAc,GAAG,YAAA;AACnB,QAAA,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YACd,OAAO;AACV,SAAA;QACD,IAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;AACnD,QAAA,YAAY,CAAC;YACT,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;AACxB,SAAA,CAAC,CAAC;AACP,KAAC,CAAA;AAED,IAAAC,WAAS,CAAC,YAAA;QACN,IAAM,OAAO,GAAG,UAAC,CAAa,EAAA;YAC1B,CAAC,CAAC,eAAe,EAAE,CAAC;AACxB,SAAC,CAAC;AACF,QAAA,IAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAE,CAAA;QAChD,OAAO,YAAA;YACH,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAE,CAAA;AACvD,SAAC,CAAA;AACL,KAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,IAAI,SAAS,GAAG,YAAY,CAAC;IAE7B,IAAI,eAAe,IAAI,oBAAoB,EAAE;AACzC,QAAA,SAAS,GAAM,YAAY,GAAA,GAAA,IAAI,eAAe,CAAC,oBAAoB,CAAC,GAAG,mCAAmC,GAAG,oCAAoC,CAAE,CAAC;AACvJ,KAAA;AAED,IAAA,IAAM,KAAK,GAAG;AACV,QAAA,UAAU,EAAE,oBAAoB;KACnC,CAAC;AAEF,IAAA,OAAO,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,eAAe,KAAf,IAAA,IAAA,eAAe,KAAf,KAAA,CAAA,GAAA,eAAe,GAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAC9C,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,cAAe,GAAA,YAAc,EAChE,EAAA,YAAY;AACT,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAK,SAAS,GAAA,GAAA,IAAI,SAAS,GAAG,MAAM,GAAG,EAAE,CAAE,EAAA;YACpD,YAAY;AACZ,YAAA,SAAS,IAAI,KAAG,CAAA,aAAA,CAAA,GAAA,EAAA,EAAA,SAAS,EAAE,OAAA,GAAQ,SAAW,EAAM,CAAA,CACnD,GAAG,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,SAAS,EAAA,CAC5B,CACP,CAAA;AACX,CAAC;;AC7CK,IAAA,mBAAmB,GAAuC,UAAC,EAA0F,EAAA;AAAxF,IAAA,IAAA,YAAY,GAAA,EAAA,CAAA,YAAA,EAAE,eAAe,GAAA,EAAA,CAAA,eAAA,EAAE,oBAAoB,GAAA,EAAA,CAAA,oBAAA,EAAE,mBAAmB,GAAA,EAAA,CAAA,mBAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAAA,CAAA;IACrJ,OAAO,KAAA,CAAA,aAAA,CAAC,mBAAmB,EAAC,EAAA,YAAY,EAAE,YAAY,GAAG,yFAAyF,GAAG,0DAA0D,EAC3M,YAAY,EAAE,CAAC,YAAY,GAAG,oCAAoC,GAAG,EAAE,EACvE,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,oBAAoB,EAAE,oBAAoB,EAC1C,SAAS,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,EACnD,YAAY,EAAE,YAAY,EAAA,CAC5B,CAAA;AACN;;ACTM,IAAA,aAAa,GAAiC,UAAC,KAAK,EAAA;IACtD,OAAO,KAAA,CAAA,aAAA,CAAC,cAAc,EAAA,QAAA,CAAA,EAClB,QAAQ,EAAE,eAAe,CAAC,OAAO,EAAA,EAC7B,KAAK,CAAA,CACX,CAAA;AACN;;ACLM,IAAA,cAAc,GAAkC,UAAC,KAAK,EAAA;IACxD,OAAO,KAAA,CAAA,aAAA,CAAC,cAAc,EAAA,QAAA,CAAA,EAClB,QAAQ,EAAE,eAAe,CAAC,QAAQ,EAAA,EAC9B,KAAK,CAAA,CACX,CAAA;AACN;;ACLM,IAAA,WAAW,GAA+B,UAAC,KAAK,EAAA;IAClD,OAAO,KAAA,CAAA,aAAA,CAAC,cAAc,EAAA,QAAA,CAAA,EAClB,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAA,EAC3B,KAAK,CAAA,CACX,CAAA;AACN;;ACLM,IAAA,YAAY,GAAgC,UAAC,KAAK,EAAA;IACpD,OAAO,KAAA,CAAA,aAAA,CAAC,cAAc,EAAA,QAAA,CAAA,EAClB,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAA,EAC5B,KAAK,CAAA,CACX,CAAA;AACN;;ACLM,IAAA,UAAU,GAA8B,UAAC,KAAK,EAAA;IAChD,OAAO,KAAA,CAAA,aAAA,CAAC,cAAc,EAAA,QAAA,CAAA,EAClB,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAA,EAC1B,KAAK,CAAA,CACX,CAAA;AACN;;ACLM,IAAA,cAAc,GAAkC,UAAC,KAAK,EAAA;IACxD,OAAO,KAAA,CAAA,aAAA,CAAC,cAAc,EAAA,QAAA,CAAA,EAClB,QAAQ,EAAE,eAAe,CAAC,QAAQ,EAAA,EAC9B,KAAK,CAAA,CACX,CAAA;AACN;;ACLM,IAAA,cAAc,GAAkC,UAAC,KAAK,EAAA;IACxD,OAAO,KAAA,CAAA,aAAA,CAAC,cAAc,EAAA,QAAA,CAAA,EAClB,QAAQ,EAAE,eAAe,CAAC,QAAQ,EAAA,EAC9B,KAAK,CAAA,CACX,CAAA;AACN;;ACLM,IAAA,aAAa,GAAiC,UAAC,KAAK,EAAA;IACtD,OAAO,KAAA,CAAA,aAAA,CAAC,cAAc,EAAA,QAAA,CAAA,EAClB,QAAQ,EAAE,eAAe,CAAC,OAAO,EAAA,EAC7B,KAAK,CAAA,CACX,CAAA;AACN;;ACLM,IAAA,YAAY,GAAgC,UAAC,KAAK,EAAA;IACpD,OAAO,KAAA,CAAA,aAAA,CAAC,cAAc,EAAA,QAAA,CAAA,EAClB,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAA,EAC5B,KAAK,CAAA,CACX,CAAA;AACN;;ACNM,IAAA,YAAY,GAAgC,UAAC,EAA+B,EAAA;AAA7B,IAAA,IAAA,OAAO,aAAA,EAAE,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA,CAAA;AAC5E,IAAA,OAAO,oBAAC,UAAU,EAAA,EACd,YAAY,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAC,eAAe,EAAE,WAAQ,SAAS,GAAA,KAAI,EAAC,EAAE,EACjG,YAAY,EAAE,EAAE,SAAS,EAAE,sDAAsD,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAA,OAAA,EAAE,GAAI,CAAA;AACxH;;ACMM,IAAA,WAAW,GAA+B,UAAC,EAAqG,EAAA;AAAnG,IAAA,IAAA,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,KAAK,WAAA,EAAE,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,aAAa,GAAA,EAAA,CAAA,aAAA,CAAA;IAChJ,OAAO,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qDAAqD,EAAA;QACvE,KAAI,CAAA,aAAA,CAAA,IAAA,EAAA,EAAA,SAAS,EAAC,iCAAiC,EAAA,EAEvC,aAAa,CAAC,GAAG,CAAC,UAAA,YAAY,EAAA;AAC1B,YAAA,OAAO,YAAY,CAAC,OAAO,IAAI,oBAAC,YAAY,EAAA,QAAA,CAAA,EAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,EAAM,EAAA,YAAY,EAAI,CAAA;AACjG,SAAC,CAAC,CAEL;QACL,KAAI,CAAA,aAAA,CAAA,IAAA,EAAA,EAAA,SAAS,EAAC,2CAA2C,EAAA;AACpD,YAAA,CAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,cAAc,EAAK,QAAA,CAAA,EAAA,EAAA,QAAQ,CAAI,CAAA;AACrD,YAAA,CAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,WAAW,EAAK,QAAA,CAAA,EAAA,EAAA,KAAK,CAAI,CAAA;AAC5C,YAAA,CAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,YAAY,EAAK,QAAA,CAAA,EAAA,EAAA,MAAM,CAAI,CAAA;AAC/C,YAAA,CAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,aAAa,EAAK,QAAA,CAAA,EAAA,EAAA,OAAO,CAAI,CAAA;AAClD,YAAA,CAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJ,IAAI,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,UAAU,EAAK,QAAA,CAAA,EAAA,EAAA,IAAI,CAAI,CAAA;AACzC,YAAA,CAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,YAAY,EAAK,QAAA,CAAA,EAAA,EAAA,MAAM,CAAI,CAAA;AAC/C,YAAA,CAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,cAAc,EAAK,QAAA,CAAA,EAAA,EAAA,QAAQ,CAAI,CAAA;AACrD,YAAA,CAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,cAAc,EAAK,QAAA,CAAA,EAAA,EAAA,QAAQ,CAAI,CAAA;AACrD,YAAA,CAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,aAAa,EAAK,QAAA,CAAA,EAAA,EAAA,OAAO,CAAI,CAAA;AAClD,YAAA,CAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,OAAO,KAAI,KAAA,CAAA,aAAA,CAAC,WAAW,EAAK,QAAA,CAAA,EAAA,EAAA,KAAK,CAAI,CAAA,CAC5C,CACH,CAAA;AACV;;AClCa,IAAA,aAAa,GAAG,UAAC,EAAO,EAAE,QAAgB,EAAA;AACnD,IAAA,OAAO,IAAI,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG,EAAA;QACxB,IAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,UAAC,CAAM,EAAA;AAC1C,YAAA,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE;gBACnB,GAAG,CAAC,CAAC,CAAC,CAAC;AACP,gBAAA,KAAK,EAAE,CAAC;AACX,aAAA;AACL,SAAC,CAAC,CAAC;QAEH,IAAM,kBAAkB,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAC,CAAM,EAAA,EAAK,OAAA,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAA,EAAA,CAAC,CAAC;AACjF,QAAA,IAAI,kBAAkB,EAAE;YACpB,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACxB,YAAA,KAAK,EAAE,CAAC;AACX,SAAA;AACL,KAAC,CAAC,CAAC;AACP,EAAC;AAEM,IAAM,gBAAgB,GAAG,UAAC,OAAoB,EAAA;AACjD,IAAA,IAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAE/C,OAAO;QACH,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;KACxB,CAAA;AACL,CAAC;;AC5BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,GAAG,CAAC,YAAY;AAC3B,IAAI,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;AACpC,QAAQ,OAAO,GAAG,CAAC;AACnB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;AAChC,QAAQ,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;AACxB,QAAQ,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,KAAK,EAAE;AACzC,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AAClC,gBAAgB,MAAM,GAAG,KAAK,CAAC;AAC/B,gBAAgB,OAAO,IAAI,CAAC;AAC5B,aAAa;AACb,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK;AACL,IAAI,sBAAsB,YAAY;AACtC,QAAQ,SAAS,OAAO,GAAG;AAC3B,YAAY,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;AAClC,SAAS;AACT,QAAQ,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE;AACzD;AACA;AACA;AACA,YAAY,GAAG,EAAE,YAAY;AAC7B,gBAAgB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AAC/C,aAAa;AACb,YAAY,UAAU,EAAE,IAAI;AAC5B,YAAY,YAAY,EAAE,IAAI;AAC9B,SAAS,CAAC,CAAC;AACX;AACA;AACA;AACA;AACA,QAAQ,OAAO,CAAC,SAAS,CAAC,GAAG,GAAG,UAAU,GAAG,EAAE;AAC/C,YAAY,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACxD,YAAY,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAChD,YAAY,OAAO,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AACrC,SAAS,CAAC;AACV;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,CAAC,SAAS,CAAC,GAAG,GAAG,UAAU,GAAG,EAAE,KAAK,EAAE;AACtD,YAAY,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACxD,YAAY,IAAI,CAAC,KAAK,EAAE;AACxB,gBAAgB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACnD,aAAa;AACb,iBAAiB;AACjB,gBAAgB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACpD,aAAa;AACb,SAAS,CAAC;AACV;AACA;AACA;AACA;AACA,QAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,GAAG,EAAE;AAClD,YAAY,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;AAC3C,YAAY,IAAI,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC/C,YAAY,IAAI,CAAC,KAAK,EAAE;AACxB,gBAAgB,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACzC,aAAa;AACb,SAAS,CAAC;AACV;AACA;AACA;AACA;AACA,QAAQ,OAAO,CAAC,SAAS,CAAC,GAAG,GAAG,UAAU,GAAG,EAAE;AAC/C,YAAY,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACtD,SAAS,CAAC;AACV;AACA;AACA;AACA,QAAQ,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,YAAY;AAC9C,YAAY,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACvC,SAAS,CAAC;AACV;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,QAAQ,EAAE,GAAG,EAAE;AAC7D,YAAY,IAAI,GAAG,KAAK,KAAK,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE;AAC/C,YAAY,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAC1E,gBAAgB,IAAI,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACnC,gBAAgB,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,OAAO,OAAO,CAAC;AACvB,KAAK,EAAE,EAAE;AACT,CAAC,GAAG,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,SAAS,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACjH;AACA;AACA,IAAI,QAAQ,GAAG,CAAC,YAAY;AAC5B,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE;AAC/D,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK;AACL,IAAI,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;AAC3D,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK;AACL,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE;AAC/D,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK;AACL;AACA,IAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;AACrC,CAAC,GAAG,CAAC;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,uBAAuB,GAAG,CAAC,YAAY;AAC3C,IAAI,IAAI,OAAO,qBAAqB,KAAK,UAAU,EAAE;AACrD;AACA;AACA;AACA,QAAQ,OAAO,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpD,KAAK;AACL,IAAI,OAAO,UAAU,QAAQ,EAAE,EAAE,OAAO,UAAU,CAAC,YAAY,EAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/G,CAAC,GAAG,CAAC;AACL;AACA;AACA,IAAI,eAAe,GAAG,CAAC,CAAC;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;AACpC,IAAI,IAAI,WAAW,GAAG,KAAK,EAAE,YAAY,GAAG,KAAK,EAAE,YAAY,GAAG,CAAC,CAAC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,cAAc,GAAG;AAC9B,QAAQ,IAAI,WAAW,EAAE;AACzB,YAAY,WAAW,GAAG,KAAK,CAAC;AAChC,YAAY,QAAQ,EAAE,CAAC;AACvB,SAAS;AACT,QAAQ,IAAI,YAAY,EAAE;AAC1B,YAAY,KAAK,EAAE,CAAC;AACpB,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,eAAe,GAAG;AAC/B,QAAQ,uBAAuB,CAAC,cAAc,CAAC,CAAC;AAChD,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,KAAK,GAAG;AACrB,QAAQ,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACnC,QAAQ,IAAI,WAAW,EAAE;AACzB;AACA,YAAY,IAAI,SAAS,GAAG,YAAY,GAAG,eAAe,EAAE;AAC5D,gBAAgB,OAAO;AACvB,aAAa;AACb;AACA;AACA;AACA;AACA,YAAY,YAAY,GAAG,IAAI,CAAC;AAChC,SAAS;AACT,aAAa;AACb,YAAY,WAAW,GAAG,IAAI,CAAC;AAC/B,YAAY,YAAY,GAAG,KAAK,CAAC;AACjC,YAAY,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AAC/C,SAAS;AACT,QAAQ,YAAY,GAAG,SAAS,CAAC;AACjC,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,CAAC;AACD;AACA;AACA,IAAI,aAAa,GAAG,EAAE,CAAC;AACvB;AACA;AACA,IAAI,cAAc,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC7F;AACA,IAAI,yBAAyB,GAAG,OAAO,gBAAgB,KAAK,WAAW,CAAC;AACxE;AACA;AACA;AACA,IAAI,wBAAwB,kBAAkB,YAAY;AAC1D;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,wBAAwB,GAAG;AACxC;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AAChC;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;AACvC;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AAC7B,QAAQ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjE,QAAQ,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;AACxE,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,wBAAwB,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,QAAQ,EAAE;AACzE,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AACjD,YAAY,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3C,SAAS;AACT;AACA,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAC9B,YAAY,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC5B,SAAS;AACT,KAAK,CAAC;AACN;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,wBAAwB,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,QAAQ,EAAE;AAC5E,QAAQ,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;AACxC,QAAQ,IAAI,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChD;AACA,QAAQ,IAAI,CAAC,KAAK,EAAE;AACpB,YAAY,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACvC,SAAS;AACT;AACA,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE;AAClD,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC;AAC/B,SAAS;AACT,KAAK,CAAC;AACN;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,wBAAwB,CAAC,SAAS,CAAC,OAAO,GAAG,YAAY;AAC7D,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACtD;AACA;AACA,QAAQ,IAAI,eAAe,EAAE;AAC7B,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;AAC3B,SAAS;AACT,KAAK,CAAC;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,wBAAwB,CAAC,SAAS,CAAC,gBAAgB,GAAG,YAAY;AACtE;AACA,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,QAAQ,EAAE;AACzE,YAAY,OAAO,QAAQ,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;AACjE,SAAS,CAAC,CAAC;AACX;AACA;AACA;AACA;AACA;AACA,QAAQ,eAAe,CAAC,OAAO,CAAC,UAAU,QAAQ,EAAE,EAAE,OAAO,QAAQ,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5F,QAAQ,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1C,KAAK,CAAC;AACN;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,wBAAwB,CAAC,SAAS,CAAC,QAAQ,GAAG,YAAY;AAC9D;AACA;AACA,QAAQ,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;AAC3C,YAAY,OAAO;AACnB,SAAS;AACT;AACA;AACA;AACA,QAAQ,QAAQ,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC1E,QAAQ,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AACxD,QAAQ,IAAI,yBAAyB,EAAE;AACvC,YAAY,IAAI,CAAC,kBAAkB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzE,YAAY,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE;AACtD,gBAAgB,UAAU,EAAE,IAAI;AAChC,gBAAgB,SAAS,EAAE,IAAI;AAC/B,gBAAgB,aAAa,EAAE,IAAI;AACnC,gBAAgB,OAAO,EAAE,IAAI;AAC7B,aAAa,CAAC,CAAC;AACf,SAAS;AACT,aAAa;AACb,YAAY,QAAQ,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1E,YAAY,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;AAC7C,SAAS;AACT,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC/B,KAAK,CAAC;AACN;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,wBAAwB,CAAC,SAAS,CAAC,WAAW,GAAG,YAAY;AACjE;AACA;AACA,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAC5C,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,QAAQ,CAAC,mBAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC7E,QAAQ,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3D,QAAQ,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACrC,YAAY,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC;AACjD,SAAS;AACT,QAAQ,IAAI,IAAI,CAAC,oBAAoB,EAAE;AACvC,YAAY,QAAQ,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7E,SAAS;AACT,QAAQ,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;AACvC,QAAQ,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;AAC1C,QAAQ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AAChC,KAAK,CAAC;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,wBAAwB,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,EAAE,EAAE;AACxE,QAAQ,IAAI,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,YAAY,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AACzE;AACA,QAAQ,IAAI,gBAAgB,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE;AAClE,YAAY,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAChD,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,gBAAgB,EAAE;AAC9B,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;AAC3B,SAAS;AACT,KAAK,CAAC;AACN;AACA;AACA;AACA;AACA;AACA,IAAI,wBAAwB,CAAC,WAAW,GAAG,YAAY;AACvD,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AAC7B,YAAY,IAAI,CAAC,SAAS,GAAG,IAAI,wBAAwB,EAAE,CAAC;AAC5D,SAAS;AACT,QAAQ,OAAO,IAAI,CAAC,SAAS,CAAC;AAC9B,KAAK,CAAC;AACN;AACA;AACA;AACA;AACA;AACA,IAAI,wBAAwB,CAAC,SAAS,GAAG,IAAI,CAAC;AAC9C,IAAI,OAAO,wBAAwB,CAAC;AACpC,CAAC,EAAE,CAAC,CAAC;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,kBAAkB,IAAI,UAAU,MAAM,EAAE,KAAK,EAAE;AACnD,IAAI,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AACpE,QAAQ,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACzB,QAAQ,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;AAC3C,YAAY,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;AAC7B,YAAY,UAAU,EAAE,KAAK;AAC7B,YAAY,QAAQ,EAAE,KAAK;AAC3B,YAAY,YAAY,EAAE,IAAI;AAC9B,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,WAAW,IAAI,UAAU,MAAM,EAAE;AACrC;AACA;AACA;AACA,IAAI,IAAI,WAAW,GAAG,MAAM,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;AACzF;AACA;AACA,IAAI,OAAO,WAAW,IAAI,QAAQ,CAAC;AACnC,CAAC,CAAC,CAAC;AACH;AACA;AACA,IAAI,SAAS,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO,CAAC,KAAK,EAAE;AACxB,IAAI,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,MAAM,EAAE;AAChC,IAAI,IAAI,SAAS,GAAG,EAAE,CAAC;AACvB,IAAI,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAClD,QAAQ,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;AAC1C,KAAK;AACL,IAAI,OAAO,SAAS,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,QAAQ,EAAE;AACtD,QAAQ,IAAI,KAAK,GAAG,MAAM,CAAC,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC;AAC5D,QAAQ,OAAO,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AACrC,KAAK,EAAE,CAAC,CAAC,CAAC;AACV,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,MAAM,EAAE;AAC7B,IAAI,IAAI,SAAS,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACvD,IAAI,IAAI,QAAQ,GAAG,EAAE,CAAC;AACtB,IAAI,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,WAAW,GAAG,SAAS,EAAE,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAC7E,QAAQ,IAAI,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;AACvC,QAAQ,IAAI,KAAK,GAAG,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC;AAClD,QAAQ,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAC5C,KAAK;AACL,IAAI,OAAO,QAAQ,CAAC;AACpB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iBAAiB,CAAC,MAAM,EAAE;AACnC,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;AAChC,IAAI,OAAO,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yBAAyB,CAAC,MAAM,EAAE;AAC3C;AACA;AACA,IAAI,IAAI,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE;AACvC,QAAQ,OAAO,SAAS,CAAC;AACzB,KAAK;AACL,IAAI,IAAI,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC9D,IAAI,IAAI,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AACvC,IAAI,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;AAClD,IAAI,IAAI,OAAO,GAAG,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;AACjD;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACvE;AACA;AACA,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,YAAY,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,WAAW,EAAE;AAC1D,YAAY,KAAK,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC;AACxE,SAAS;AACT,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,YAAY,EAAE;AAC3D,YAAY,MAAM,IAAI,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC;AACxE,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE;AACpC;AACA;AACA;AACA;AACA,QAAQ,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,WAAW,CAAC;AACvE,QAAQ,IAAI,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,YAAY,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;AAC3C,YAAY,KAAK,IAAI,aAAa,CAAC;AACnC,SAAS;AACT,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;AAC5C,YAAY,MAAM,IAAI,cAAc,CAAC;AACrC,SAAS;AACT,KAAK;AACL,IAAI,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACtE,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,oBAAoB,GAAG,CAAC,YAAY;AACxC;AACA;AACA,IAAI,IAAI,OAAO,kBAAkB,KAAK,WAAW,EAAE;AACnD,QAAQ,OAAO,UAAU,MAAM,EAAE,EAAE,OAAO,MAAM,YAAY,WAAW,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC;AACtG,KAAK;AACL;AACA;AACA;AACA,IAAI,OAAO,UAAU,MAAM,EAAE,EAAE,QAAQ,MAAM,YAAY,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU;AACvF,QAAQ,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,EAAE,CAAC;AACjD,CAAC,GAAG,CAAC;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iBAAiB,CAAC,MAAM,EAAE;AACnC,IAAI,OAAO,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;AACnE,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,MAAM,EAAE;AAChC,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,QAAQ,OAAO,SAAS,CAAC;AACzB,KAAK;AACL,IAAI,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE;AACtC,QAAQ,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACzC,KAAK;AACL,IAAI,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kBAAkB,CAAC,EAAE,EAAE;AAChC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AACjE;AACA,IAAI,IAAI,MAAM,GAAG,OAAO,eAAe,KAAK,WAAW,GAAG,eAAe,GAAG,MAAM,CAAC;AACnF,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC/C;AACA,IAAI,kBAAkB,CAAC,IAAI,EAAE;AAC7B,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;AAChD,QAAQ,GAAG,EAAE,CAAC;AACd,QAAQ,KAAK,EAAE,CAAC,GAAG,KAAK;AACxB,QAAQ,MAAM,EAAE,MAAM,GAAG,CAAC;AAC1B,QAAQ,IAAI,EAAE,CAAC;AACf,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,IAAI,CAAC;AAChB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;AAC7C,IAAI,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACxD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAiB,kBAAkB,YAAY;AACnD;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,iBAAiB,CAAC,MAAM,EAAE;AACvC;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;AAChC;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;AACjC;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvD,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAiB,CAAC,SAAS,CAAC,QAAQ,GAAG,YAAY;AACvD,QAAQ,IAAI,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/C,QAAQ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACjC,QAAQ,QAAQ,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,cAAc;AAClD,YAAY,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,EAAE;AAClD,KAAK,CAAC;AACN;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAiB,CAAC,SAAS,CAAC,aAAa,GAAG,YAAY;AAC5D,QAAQ,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;AACrC,QAAQ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;AACzC,QAAQ,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;AAC3C,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK,CAAC;AACN,IAAI,OAAO,iBAAiB,CAAC;AAC7B,CAAC,EAAE,CAAC,CAAC;AACL;AACA,IAAI,mBAAmB,kBAAkB,YAAY;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE;AACnD,QAAQ,IAAI,WAAW,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,kBAAkB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;AAC/E,KAAK;AACL,IAAI,OAAO,mBAAmB,CAAC;AAC/B,CAAC,EAAE,CAAC,CAAC;AACL;AACA,IAAI,iBAAiB,kBAAkB,YAAY;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;AACtC;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI,OAAO,EAAE,CAAC;AAC3C,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AAC5C,YAAY,MAAM,IAAI,SAAS,CAAC,yDAAyD,CAAC,CAAC;AAC3F,SAAS;AACT,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAClC,QAAQ,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;AACtC,QAAQ,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;AACxC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAiB,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,MAAM,EAAE;AAC5D,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;AAC/B,YAAY,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;AAC5E,SAAS;AACT;AACA,QAAQ,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,EAAE,OAAO,YAAY,MAAM,CAAC,EAAE;AAC5E,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,EAAE,MAAM,YAAY,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE;AAC9D,YAAY,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;AACzE,SAAS;AACT,QAAQ,IAAI,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;AAC9C;AACA,QAAQ,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;AACtC,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;AAChE,QAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC3C;AACA,QAAQ,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;AACnC,KAAK,CAAC;AACN;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAiB,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,MAAM,EAAE;AAC9D,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;AAC/B,YAAY,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;AAC5E,SAAS;AACT;AACA,QAAQ,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,EAAE,OAAO,YAAY,MAAM,CAAC,EAAE;AAC5E,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,EAAE,MAAM,YAAY,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE;AAC9D,YAAY,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;AACzE,SAAS;AACT,QAAQ,IAAI,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;AAC9C;AACA,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;AACvC,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACpC,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;AAChC,YAAY,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAClD,SAAS;AACT,KAAK,CAAC;AACN;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAiB,CAAC,SAAS,CAAC,UAAU,GAAG,YAAY;AACzD,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;AAC3B,QAAQ,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AACnC,QAAQ,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAC9C,KAAK,CAAC;AACN;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAiB,CAAC,SAAS,CAAC,YAAY,GAAG,YAAY;AAC3D,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;AAC3B,QAAQ,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,WAAW,EAAE;AAC1D,YAAY,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE;AACxC,gBAAgB,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5D,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAiB,CAAC,SAAS,CAAC,eAAe,GAAG,YAAY;AAC9D;AACA,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;AAC/B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;AACpC;AACA,QAAQ,IAAI,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,WAAW,EAAE;AAC1E,YAAY,OAAO,IAAI,mBAAmB,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC;AAC5F,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;AAC/C,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;AAC3B,KAAK,CAAC;AACN;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAiB,CAAC,SAAS,CAAC,WAAW,GAAG,YAAY;AAC1D,QAAQ,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3C,KAAK,CAAC;AACN;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAiB,CAAC,SAAS,CAAC,SAAS,GAAG,YAAY;AACxD,QAAQ,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;AACnD,KAAK,CAAC;AACN,IAAI,OAAO,iBAAiB,CAAC;AAC7B,CAAC,EAAE,CAAC,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,SAAS,GAAG,OAAO,OAAO,KAAK,WAAW,GAAG,IAAI,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;AAC/E;AACA;AACA;AACA;AACA,IAAI,cAAc,kBAAkB,YAAY;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,cAAc,CAAC,QAAQ,EAAE;AACtC,QAAQ,IAAI,EAAE,IAAI,YAAY,cAAc,CAAC,EAAE;AAC/C,YAAY,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;AACtE,SAAS;AACT,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;AAC/B,YAAY,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;AAC5E,SAAS;AACT,QAAQ,IAAI,UAAU,GAAG,wBAAwB,CAAC,WAAW,EAAE,CAAC;AAChE,QAAQ,IAAI,QAAQ,GAAG,IAAI,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;AACzE,QAAQ,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACtC,KAAK;AACL,IAAI,OAAO,cAAc,CAAC;AAC1B,CAAC,EAAE,CAAC,CAAC;AACL;AACA;AACA,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,CAAC,CAAC,OAAO,CAAC,UAAU,MAAM,EAAE;AAC5B,IAAI,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,YAAY;AACnD,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AACvE,KAAK,CAAC;AACN,CAAC,CAAC,CAAC;AACH;AACA,IAAI,KAAK,GAAG,CAAC,YAAY;AACzB;AACA,IAAI,IAAI,OAAO,QAAQ,CAAC,cAAc,KAAK,WAAW,EAAE;AACxD,QAAQ,OAAO,QAAQ,CAAC,cAAc,CAAC;AACvC,KAAK;AACL,IAAI,OAAO,cAAc,CAAC;AAC1B,CAAC,GAAG;;ACx5BJ,SAAS,kBAAkB,CAAC,GAAiC,EAAE,OAAkC,EAAA;AAC7F,IAAAC,iBAAe,CAAC,YAAA;AACZ,QAAA,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YACd,OAAO;AACV,SAAA;AAED,QAAA,IAAM,QAAQ,GAAG,IAAIC,KAAc,CAAC,YAAA;YAChC,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,mBAAmB,KAAK,UAAU,EAAE;gBAClE,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9D,aAAA;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE9B,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,mBAAmB,KAAK,UAAU,EAAE;YAClE,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9D,SAAA;QAED,OAAO,YAAA;YACH,QAAQ,CAAC,UAAU,EAAE,CAAC;AAC1B,SAAC,CAAA;AACL,KAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACd;;ACpBM,SAAU,WAAW,CAAC,MAAwB,EAAA;AAC1C,IAAA,IAAA,EAAkB,GAAA,CAAA,MAAM,IAAI,EAAE,EAAjB,SAAA,EAAb,SAAS,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,CAAkB;AACvC,IAAA,IAAM,UAAU,GAAG,MAAM,CAAkC,IAAI,CAAC,CAAC;AAEjE,IAAA,IAAM,SAAS,GAAG,MAAM,EAA4B,CAAC;AACrD,IAAA,IAAM,OAAO,GAAG,MAAM,EAA4B,CAAC;AAEnD,IAAA,IAAM,OAAO,GAAG,YAAA;QACd,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,OAAQ,EAAE,IAAI,CAAC,CAAC;QACpE,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,OAAQ,EAAE,IAAI,CAAC,CAAC;AAChE,QAAA,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;AAC7C,KAAC,CAAC;AAEF,IAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;AACtB,QAAA,SAAS,CAAC,OAAO,GAAG,UAAC,EAAc,EAAA;YACjC,IAAI,CAAC,UAAU,CAAC,OAAO;gBAAE,OAAO;YAEhC,IAAM,EAAE,GAAG,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,IAAM,EAAE,GAAG,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3C,YAAA,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE;gBAC1D,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;AAC3C,gBAAA,OAAO,EAAE,CAAC;gBACV,gBAAgB,CAAC,aAAa,EAAE,CAAC;AAClC,aAAA;YAED,EAAE,CAAC,eAAe,EAAE,CAAC;YACrB,EAAE,CAAC,cAAc,EAAE,CAAC;AACtB,SAAC,CAAC;AACH,KAAA;AAED,IAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACpB,QAAA,OAAO,CAAC,OAAO,GAAG,UAAC,EAAc,EAAA;AAC/B,YAAA,OAAO,EAAE,CAAC;YACV,EAAE,CAAC,eAAe,EAAE,CAAC;YACrB,EAAE,CAAC,cAAc,EAAE,CAAC;AACtB,SAAC,CAAC;AACH,KAAA;IAED,IAAM,SAAS,GAAG,UAAC,EAAoB,EAAA;AACrC,QAAA,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;AAC5B,QAAA,UAAU,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;QAElD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC,OAAQ,EAAE,IAAI,CAAC,CAAC;QACjE,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,OAAQ,EAAE,IAAI,CAAC,CAAC;QAE7D,EAAE,CAAC,eAAe,EAAE,CAAC;QACrB,EAAE,CAAC,cAAc,EAAE,CAAC;AACtB,KAAC,CAAC;AAEF,IAAAF,WAAS,CAAC,YAAA;QACR,OAAO,YAAA;YACL,IAAI,SAAS,CAAC,OAAO;gBAAE,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1F,IAAI,OAAO,CAAC,OAAO;gBAAE,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACpF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;AAC3C,YAAA,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AAC5B,SAAC,CAAC;KACH,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,OAAO,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;AACvB;;AC9DM,IAAA,WAAW,GAA+B,UAAC,EAIhD,EAAA;AAHG,IAAA,IAAA,iBAAiB,uBAAA,EACjB,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,mBAAmB,GAAA,EAAA,CAAA,mBAAA,CAAA;AAEnB,IAAA,IAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,kBAAkB,CAAC,GAAG,EAAE,EAAE,mBAAmB,EAAA,mBAAA,EAAE,CAAC,CAAC;AAEzC,IAAA,IAAA,SAAS,GAAK,WAAW,EAAE,UAAlB,CAAmB;IAEpC,IAAM,eAAe,GAAG,UAAC,CAAa,EAAA;AAClC,QAAA,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC3B,SAAS,CAAC,CAAC,CAAC,CAAC;AACjB,KAAC,CAAC;IAEF,IAAM,iBAAiB,GAAG,UAAC,CAAa,EAAA;QACpC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC,CAAC,eAAe,EAAE,CAAC;AACxB,KAAC,CAAC;IAEF,QACI,6BACI,GAAG,EAAE,GAAG,EACR,SAAS,EAAC,qDAAqD,EAC/D,WAAW,EAAE,eAAe,EAC5B,aAAa,EAAE,iBAAiB,EAE/B,EAAA,OAAO,CACL,EACT;AACN;;AC9BA,SAAS,gBAAgB,CAAC,GAAiC,EAAE,OAAgC,EAAA;AACzF,IAAAA,WAAS,CAAC,YAAA;QACN,IAAI,EAAC,GAAG,KAAH,IAAA,IAAA,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAA,EAAE;YACf,OAAO;AACV,SAAA;AACD,QAAA,OAAO,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;AAC5C,QAAA,IAAM,QAAQ,GAAG,IAAIE,KAAc,CAAC,YAAA;YAChC,IAAI,GAAG,CAAC,OAAO,EAAE;gBACb,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9D,aAAA;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE9B,IAAI,GAAG,CAAC,OAAO,EAAE;YACb,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9D,SAAA;QAED,OAAO,YAAA;AACH,YAAA,OAAO,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;YAC7C,QAAQ,CAAC,UAAU,EAAE,CAAC;AAC1B,SAAC,CAAA;AACL,KAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACd;;ACxBA,SAAS,yBAAyB,CAAC,UAAsB,EAAE,QAAgB,EAAE,IAAY,EAAA;AACrF,IAAAF,WAAS,CAAC,YAAA;QACN,IAAM,KAAK,GAAG,gBAAgB,CAAC,+BAA+B,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAA;YACjF,gBAAgB,CAAC,oBAAoB,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AACtE,SAAC,CAAC,CAAC;QACH,OAAO,YAAA;AACH,YAAA,KAAK,EAAE,CAAC;AACZ,SAAC,CAAA;KACJ,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AACrC;;ACRA,IAAM,aAAa,GAAiC,UAAC,EAOvC,EAAA;QAPyC,SAAS,GAAA,EAAA,CAAA,SAAA,EAC5D,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,mBAAmB,GAAA,EAAA,CAAA,mBAAA,EACnB,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,6BAA6B,GAAA,EAAA,CAAA,6BAAA,EAC7B,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA;IACF,IAAA,EAAA,GAAwCG,UAAQ,CAAC,OAAO,CAAC,EAAxD,eAAe,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,kBAAkB,GAAA,EAAA,CAAA,CAAA,CAAqB,CAAC;IAC1D,IAAA,EAAA,GAA8BA,UAAQ,CAAC,CAAC,CAAC,EAAxC,UAAU,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,aAAa,GAAA,EAAA,CAAA,CAAA,CAAe,CAAC;AAChD,IAAA,IAAM,GAAG,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;AAC3C,IAAA,IAAM,cAAc,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAC;AAErD,IAAA,IAAM,MAAM,GAAG,YAAA;QACX,aAAa,CAAC,eAAe,CAAC,CAAC;AACnC,KAAC,CAAA;IAED,IAAM,QAAQ,GAAG,UAAC,CAAsC,EAAA;AACpD,QAAA,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACvC,KAAC,CAAA;IAED,IAAM,SAAS,GAAG,UAAC,CAAwC,EAAA;AACvD,QAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;YACnB,CAAC,CAAC,cAAc,EAAE,CAAC;AACtB,SAAA;AACL,KAAC,CAAA;IAED,IAAM,OAAO,GAAG,UAAC,CAAwC,EAAA;AACrD,QAAA,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;AACpB,YAAA,UAAU,EAAE,CAAC;AAChB,SAAA;AAAM,aAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;YAC1B,aAAa,CAAC,eAAe,CAAC,CAAC;YAC/B,CAAC,CAAC,cAAc,EAAE,CAAC;AACtB,SAAA;AACL,KAAC,CAAA;IAED,gBAAgB,CAAC,GAAG,EAAE,EAAE,mBAAmB,EAAA,mBAAA,EAAE,6BAA6B,EAAA,6BAAA,EAAE,CAAC,CAAC;AAC9E,IAAA,yBAAyB,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;AAEjE,IAAAH,WAAS,CAAC,YAAA;AACN,QAAA,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YACd,OAAO;AACV,SAAA;QACD,IAAM,WAAW,GAAG,UAAC,CAAa,EAAA;YAC9B,CAAC,CAAC,eAAe,EAAE,CAAC;AACxB,SAAC,CAAC;AAEF,QAAA,IAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AAC5B,QAAA,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEnD,IAAI,GAAG,CAAC,OAAO,EAAE;;AAEb,YAAA,UAAU,CAAC,YAAA;AACP,gBAAA,OAAO,aAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,KAAK,EAAG,CAAA;AACjB,gBAAA,OAAO,aAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,MAAM,EAAG,CAAA;aACrB,EAAE,CAAC,CAAC,CAAC;AACT,SAAA;QAED,OAAO,YAAA;YACH,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAE,CAAA;AAC3D,SAAC,CAAA;AACL,KAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAEV,IAAAA,WAAS,CAAC,YAAA;AACN,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACzB,OAAO;AACV,SAAA;AAED,QAAA,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACtD,KAAC,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC;IAEtC,OAAO,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA;AACH,QAAA,KAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAO,GAAG,EAAE,GAAG,EACX,KAAK,EAAE;gBACH,KAAK,EAAK,UAAU,GAAI,IAAA;aAC3B,EACD,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAI,CAAA;AACpD,QAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAA,EAAG,eAAe,CAAQ,CACtI,CAAC;AACR,CAAC;;ACnFK,IAAA,iBAAiB,GAAqC,UAAC,KAAK,EAAA;IAC9D,OAAO,KAAA,CAAA,aAAA,CAAC,aAAa,EAAK,QAAA,CAAA,EAAA,EAAA,KAAK,IAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,kDAAkD,EAAA,CAAA,CAAI,CAAA;AAC7J;;ACJM,IAAA,YAAY,GAAgC,UAAC,EAAwB,EAAA;QAAtB,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,UAAU,GAAA,EAAA,CAAA,UAAA,CAAA;IACrE,OAAO,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAC,6CAA6C,EAAA,EAC9E,QAAQ,CACP,CAAA;AACV;;ACFA,IAAM,wBAAwB,GAA4C,UAAC,EAAiG,EAAA;;AAA/F,IAAA,IAAA,YAAY,GAAA,EAAA,CAAA,YAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAAA,EAAE,gBAAgB,sBAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAAA,EAAE,mBAAmB,GAAA,EAAA,CAAA,mBAAA,CAAA;AACtK,IAAA,IAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;AACzC,IAAA,IAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC;AACpC,IAAA,IAAM,uBAAuB,GAAG,GAAG,GAAG,CAAC,CAAC;AACxC,IAAA,IAAM,cAAc,GAAG,YAAA;AACnB,QAAA,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YACd,OAAO;AACV,SAAA;QAED,IAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;AACnD,QAAA,YAAY,CAAC;YACT,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;AACxB,SAAA,CAAC,CAAC;AACP,KAAC,CAAA;AAED,IAAAA,WAAS,CAAC,YAAA;;AACN,QAAA,IAAI,uBAAuB,EAAE;YACzB,OAAO;AACV,SAAA;QAED,IAAM,OAAO,GAAG,UAAC,CAAa,EAAA;YAC1B,CAAC,CAAC,eAAe,EAAE,CAAC;AACxB,SAAC,CAAC;AACF,QAAA,IAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,CAAA,EAAA,GAAA,GAAG,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAE,CAAA;QACpD,OAAO,YAAA;YACH,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAE,CAAA;AACvD,SAAC,CAAA;AACL,KAAC,EAAE,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAEnC,IAAA,IAAI,uBAAuB,EAAE;QACzB,OAAO,KAAA,CAAA,aAAA,CAAC,mBAAmB,EACvB,EAAA,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,CAAA,EAAA,GAAA,gBAAgB,CAAC,CAAC,CAAC,0CAAE,IAAI,EAC1C,oBAAoB,EAAE,CAAA,EAAA,GAAA,gBAAgB,CAAC,CAAC,CAAC,0CAAE,KAAK,EAChD,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,GAAI,CAAC;AAC/D,KAAA;AAED,IAAA,IAAM,MAAM,GAAG,CAAA,EAAA,GAAA,gBAAgB,CAAC,GAAG,CAAC,UAAC,OAAO,EAAA,EAAK,OAAA,OAAO,CAAC,KAAK,CAAA,EAAA,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC;IACtE,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,IAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACjC,IAAA,IAAM,QAAQ,GAAG,gEAAiE,GAAA,OAAS,CAAC;IAC5F,IAAI,KAAK,GAAQ,EAAE,CAAC;AACpB,IAAA,MAAM,CAAC,OAAO,CAAC,UAAC,KAAa,EAAE,KAAa,EAAA;QACxC,IAAM,YAAY,GAAG,+BAAgC,GAAA,OAAO,gBAAU,KAAK,GAAG,CAAC,CAAE,CAAC;AAClF,QAAA,KAAK,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;AAChC,KAAC,CAAC,CAAC;IAEH,QACI,6BAAK,EAAE,EAAC,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,cAAA,GAAe,YAAc,EAAA;QACrG,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAA,CAChC,CACJ,EACR;AACN,CAAC;;AC7DK,IAAA,wBAAwB,GAA4C,UAAC,EAAqE,EAAA;QAAnE,YAAY,GAAA,EAAA,CAAA,YAAA,EAAE,gBAAgB,GAAA,EAAA,CAAA,gBAAA,EAAE,mBAAmB,GAAA,EAAA,CAAA,mBAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAAA,CAAA;IAC1I,OAAO,KAAA,CAAA,aAAA,CAAC,wBAAwB,EAAC,EAAA,YAAY,EAAE,YAAY,GAAG,yFAAyF,GAAG,0DAA0D,EAChN,YAAY,EAAE,CAAC,YAAY,GAAG,oCAAoC,GAAG,EAAE,EACvE,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,GAC5B,CAAA;AACN;;ACHM,IAAA,cAAc,GAAkC,UAAC,EAAwG,EAAA;IAAtG,IAAA,UAAU,gBAAA,EAAE,OAAO,aAAA,EAAE,iBAAiB,uBAAA,EAAE,QAAQ,cAAA,EAAE,aAAa,mBAAA,EAAE,0BAA0B,gCAAA,EAAK,IAAI,GAAtG,MAAA,CAAA,EAAA,EAAA,CAAA,YAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,eAAA,EAAA,4BAAA,CAAwG,CAAF,CAAA;AACzJ,IAAA,QACI,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,uBAAuB,EAAA;AACjC,QAAA,CAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,OAAO,KAAI,QAAQ,CAAC,YAAY,KAAK,OAAO,IAAI,KAAA,CAAA,aAAA,CAAC,mBAAmB,EAAA,EAC3E,YAAY,EAAE,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAE,YAAY,EACpC,eAAe,EAAE,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,eAAe,EAC1C,oBAAoB,EAAE,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,oBAAoB,EACpD,mBAAmB,EAAE,QAAQ,KAAR,IAAA,IAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAE,mBAAmB,EAClD,YAAY,EAAE,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,YAAY,EAAI,CAAA;QAC3C,CAAA,QAAQ,KAAR,IAAA,IAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAE,OAAO,KAAI,QAAQ,CAAC,YAAY,KAAK,OAAO,IAAI,KAAC,CAAA,aAAA,CAAA,wBAAwB,EAChF,EAAA,YAAY,EAAE,QAAQ,KAAR,IAAA,IAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAE,YAAY,EACpC,gBAAgB,EAAE,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,gBAAgB,EAC5C,mBAAmB,EAAE,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,mBAAmB,EAClD,YAAY,EAAE,QAAQ,KAAR,IAAA,IAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAE,YAAY,EAAI,CAAA;QAC5C,KAAC,CAAA,aAAA,CAAA,YAAY,IAAC,UAAU,EAAE,UAAU,EAC/B,EAAA,aAAa,CAAC,IAAI,GAAG,KAAA,CAAA,aAAA,CAAC,iBAAiB,EAAK,QAAA,CAAA,EAAA,EAAA,aAAa,IAAE,OAAO,EAAE,aAAa,CAAC,IAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAA,CAAA,CAAI,GAAG,KAAC,CAAA,aAAA,CAAA,WAAW,EAAC,EAAA,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,OAAO,EAAE,OAAO,EAAA,CAAI,CACnO;AACf,QAAA,KAAA,CAAA,aAAA,CAAC,WAAW,EAAK,QAAA,CAAA,EAAA,EAAA,IAAI,CAAI,CAAA,CACvB,EAAE;AAChB;;ACzBM,IAAA,aAAa,GAAiC,UAAC,EAAwB,EAAA;QAAtB,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,UAAU,GAAA,EAAA,CAAA,UAAA,CAAA;IACvE,OAAO,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAC,6CAA6C,EAAA,EAC9E,QAAQ,CACP,CAAA;AACV;;ACAM,IAAA,YAAY,GAAgC,UAAC,EAAsC,EAAA;QAApC,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA;IACnF,OAAO,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qDAAqD,EAAA;QACvE,KAAI,CAAA,aAAA,CAAA,IAAA,EAAA,EAAA,SAAS,EAAC,2CAA2C,EAAA;AACpD,YAAA,CAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,cAAc,EAAK,QAAA,CAAA,EAAA,EAAA,QAAQ,CAAI,CAAA;AACrD,YAAA,CAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,aAAa,EAAK,QAAA,CAAA,EAAA,EAAA,OAAO,CAAI,CAAA;AAClD,YAAA,CAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,cAAc,EAAK,QAAA,CAAA,EAAA,EAAA,QAAQ,CAAI,CAAA;AACrD,YAAA,CAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,OAAO,KAAI,KAAA,CAAA,aAAA,CAAC,WAAW,EAAK,QAAA,CAAA,EAAA,EAAA,KAAK,CAAI,CAAA,CAC5C,CACH,CAAA;AACV;;ACXM,IAAA,YAAY,GAAgC,UAAC,EAIlD,EAAA;AAHG,IAAA,IAAA,iBAAiB,uBAAA,EACjB,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,mBAAmB,GAAA,EAAA,CAAA,mBAAA,CAAA;AAEnB,IAAA,IAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,kBAAkB,CAAC,GAAG,EAAE,EAAE,mBAAmB,EAAA,mBAAA,EAAE,CAAC,CAAC;AAEzC,IAAA,IAAA,SAAS,GAAK,WAAW,EAAE,UAAlB,CAAmB;IAEpC,IAAM,eAAe,GAAG,UAAC,CAAmB,EAAA;AACxC,QAAA,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC3B,SAAS,CAAC,CAAC,CAAC,CAAC;AACjB,KAAC,CAAC;IAEF,IAAM,iBAAiB,GAAG,UAAC,CAAa,EAAA;QACpC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC,CAAC,eAAe,EAAE,CAAC;AACxB,KAAC,CAAC;IAEF,QACI,6BACI,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,eAAe,EAC5B,aAAa,EAAE,iBAAiB,EAChC,SAAS,EAAC,qDAAqD,EAE9D,EAAA,OAAO,CACN,EACR;AACN;;AC9BM,IAAA,kBAAkB,GAAsC,UAAC,KAAK,EAAA;IAChE,OAAO,KAAA,CAAA,aAAA,CAAC,aAAa,EAAK,QAAA,CAAA,EAAA,EAAA,KAAK,IAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,EAAC,kDAAkD,EAAA,CAAA,CAAG,CAAA;AAC3J;;ACAM,IAAA,eAAe,GAAmC,UAAC,EAAoH,EAAA;IAAlH,IAAA,UAAU,GAAA,EAAA,CAAA,UAAA,CAAA,CAAE,iBAAiB,GAAA,EAAA,CAAA,iBAAA,EAAY,EAAA,CAAA,UAAA,CAAE,KAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA,CAAE,OAAO,GAAA,EAAA,CAAA,OAAA,CAAA,CAAE,aAAa,GAAA,EAAA,CAAA,aAAA,CAAE,CAAA,0BAA0B,gCAAA,CAAK,CAAA,IAAI,GAAlH,MAAA,CAAA,EAAA,EAAA,CAAA,YAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,SAAA,EAAA,eAAA,EAAA,4BAAA,CAAoH,EAAF;IACvK,OAAO,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,uBAAuB,EAAA;AACzC,QAAA,KAAA,CAAA,aAAA,CAAC,aAAa,EAAA,EAAC,UAAU,EAAE,UAAU,EAChC,EAAA,CAAA,aAAa,KAAA,IAAA,IAAb,aAAa,KAAb,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,aAAa,CAAE,IAAI;AAChB,YAAA,KAAA,CAAA,aAAA,CAAC,kBAAkB,EAAA,QAAA,CAAA,EAAA,EAAK,aAAa,EAAA,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,IAAK,EAAA,CAAA,CAAI;AAC1F,YAAA,KAAA,CAAA,aAAA,CAAC,YAAY,EAAA,EAAC,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,OAAO,EAAE,OAAO,GAAI,CACjH;AAChB,QAAA,KAAA,CAAA,aAAA,CAAC,YAAY,EAAA,QAAA,CAAA,EAAA,EAAK,IAAI,CAAA,CAAI,CACxB,CAAA;AACV;;ACXM,IAAA,kBAAkB,GAAsC,UAAC,EAA0F,EAAA;AAAxF,IAAA,IAAA,YAAY,GAAA,EAAA,CAAA,YAAA,EAAE,eAAe,GAAA,EAAA,CAAA,eAAA,EAAE,oBAAoB,GAAA,EAAA,CAAA,oBAAA,EAAE,mBAAmB,GAAA,EAAA,CAAA,mBAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAAA,CAAA;IACnJ,OAAO,KAAA,CAAA,aAAA,CAAC,mBAAmB,EAAC,EAAA,YAAY,EAAE,YAAY,GAAG,6EAA6E,GAAG,8CAA8C,EACnL,YAAY,EAAE,CAAC,YAAY,GAAG,kCAAkC,GAAG,EAAE,EACrE,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,oBAAoB,EAAE,oBAAoB,EAC1C,SAAS,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,EACnD,YAAY,EAAE,YAAY,EAAA,CAC5B,CAAA;AACN;;ACVM,IAAA,uBAAuB,GAA2C,UAAC,EAAqE,EAAA;QAAnE,YAAY,GAAA,EAAA,CAAA,YAAA,EAAE,gBAAgB,GAAA,EAAA,CAAA,gBAAA,EAAE,mBAAmB,GAAA,EAAA,CAAA,mBAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAAA,CAAA;IACxI,OAAO,KAAA,CAAA,aAAA,CAAC,wBAAwB,EAAC,EAAA,YAAY,EAAE,YAAY,GAAG,6EAA6E,GAAG,8CAA8C,EACxL,YAAY,EAAE,CAAC,YAAY,GAAG,kCAAkC,GAAG,EAAE,EACrE,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,GAC5B,CAAA;AACN;;ACRM,IAAA,UAAU,GAA8B,UAAC,EAA0C,EAAA;AAAxC,IAAA,IAAA,OAAO,aAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,mBAAmB,GAAA,EAAA,CAAA,mBAAA,CAAA;IACnF,IAAM,eAAe,GAAG,6BAA6B,CAAC;IACtD,IAAM,iBAAiB,GAAG,sDAAsD,CAAC;AACjF,IAAA,IAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEzC,kBAAkB,CAAC,GAAG,EAAE,EAAE,mBAAmB,EAAA,mBAAA,EAAE,CAAC,CAAC;AAEjD,IAAA,OAAO,6BAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,GAAG,iBAAiB,GAAG,eAAe,EAAG,EAAA,OAAO,CAAO,CAAA;AACpG;;ACPM,IAAA,gBAAgB,GAAoC,UAAC,KAAK,EAAA;IAC5D,IAAM,eAAe,GAAG,uEAAuE,CAAC;IAChG,IAAM,iBAAiB,GAAG,0HAA0H,CAAC;AAErJ,IAAA,OAAO,KAAC,CAAA,aAAA,CAAA,aAAa,EAAK,QAAA,CAAA,EAAA,EAAA,KAAK,EAC3B,EAAA,UAAU,EAAE,UAAU,CAAC,GAAG,EAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,SAAS,EAAE,KAAK,CAAC,QAAQ,GAAG,iBAAiB,GAAG,eAAe,IAAI,CAAA;AAC3E;;ACVM,IAAA,cAAc,GAAkC,UAAC,EAAmB,EAAA;QAAjB,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA;IACpE,IAAM,eAAe,GAAG,0CAA0C,CAAC;IACnE,IAAM,iBAAiB,GAAG,iGAAiG,CAAC;IAE5H,IAAM,sBAAsB,GAAG,8BAA8B,CAAC;IAC9D,IAAM,wBAAwB,GAAG,oEAAoE,CAAC;AAEtG,IAAA,IAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;AAEzC,IAAAA,WAAS,CAAC,YAAA;;QACN,CAAA,EAAA,GAAA,GAAG,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,gBAAgB,CAAC,WAAW,EAAE,UAAC,CAAC,EAAA;YACzC,CAAC,CAAC,eAAe,EAAE,CAAC;AACxB,SAAC,CAAE,CAAA;AACP,KAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,GAAG,iBAAiB,GAAG,eAAe,EAAE,KAAK,EAAC,OAAO,EAAA;AAC1G,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,QAAQ,GAAG,wBAAwB,GAAG,sBAAsB,EAAA,CACtE,CACJ,CAAA;AACV;;ACdM,IAAA,GAAG,GAA8B,UAAC,EAAmG,EAAA;QAAjG,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,aAAa,GAAA,EAAA,CAAA,aAAA,EAAE,0BAA0B,GAAA,EAAA,CAAA,0BAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,CAAA;IACrI,OAAO,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,eAAe,EAAA;AAChC,QAAA,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,YAAY,KAAK,OAAO,IAAI,KAAA,CAAA,aAAA,CAAC,kBAAkB,EAAA,QAAA,CAAA,EAAA,EAAK,QAAQ,CAAI,CAAA;AAC7F,QAAA,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,YAAY,KAAK,OAAO,IAAI,KAAA,CAAA,aAAA,CAAC,uBAAuB,EAAA,QAAA,CAAA,EAAA,EAAK,QAAQ,CAAI,CAAA;QAClG,aAAa,CAAC,IAAI;AACf,YAAA,KAAA,CAAA,aAAA,CAAC,gBAAgB,EAAK,QAAA,CAAA,EAAA,EAAA,aAAa,IAAE,OAAO,EAAE,aAAa,CAAC,IAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAA,CAAA,CAAI;AAC7G,YAAA,KAAA,CAAA,aAAA,CAAC,UAAU,EAAA,EAAC,mBAAmB,EAAE,0BAA0B,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAI,CAAA;AACxG,QAAA,MAAM,GAAG,yCAAK,GAAG,KAAC,CAAA,aAAA,CAAA,cAAc,IAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAA,CAAI,CACpE,CAAA;AACV;;ACXM,IAAA,cAAc,GAAkC,UAAC,EAAoB,EAAA;QAAlB,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,OAAO,GAAA,EAAA,CAAA,OAAA,CAAA;AACrE,IAAA,OAAO,oBAAC,UAAU,EAAA,EACd,YAAY,EAAE,EAAE,SAAS,EAAE,+BAA+B,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,EACtF,YAAY,EAAE;YACV,WAAW,EAAE,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,eAAe,EAAE,CAAA,EAAA;YACvC,aAAa,EAAE,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,eAAe,EAAE,CAAA,EAAA;YACzC,SAAS,EAAE,+BAA+B,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO;AAAE,YAAA,OAAO,EAAA,OAAA;AAChG,SAAA,EAAA,CAAI,CAAA;AACb;;ACCM,IAAA,gBAAgB,GAAoC,UAAC,EAA+G,EAAA;AAA7G,IAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,KAAK,WAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,aAAa,GAAA,EAAA,CAAA,aAAA,CAAA;IACpK,OAAO,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,2CAA2C,EAAA;QAC7D,KAAI,CAAA,aAAA,CAAA,IAAA,EAAA,EAAA,SAAS,EAAC,iCAAiC,EAAA,EAEvC,aAAa,CAAC,GAAG,CAAC,UAAA,YAAY,EAAA;AAC1B,YAAA,OAAO,YAAY,CAAC,OAAO,IAAI,oBAAC,YAAY,EAAA,QAAA,CAAA,EAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,EAAM,EAAA,YAAY,EAAI,CAAA;AACjG,SAAC,CAAC,CAEL;QACL,KAAI,CAAA,aAAA,CAAA,IAAA,EAAA,EAAA,SAAS,EAAC,iCAAiC,EAAA;AAC1C,YAAA,CAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,cAAc,EAAK,QAAA,CAAA,EAAA,EAAA,QAAQ,CAAI,CAAA;AACrD,YAAA,CAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,cAAc,EAAK,QAAA,CAAA,EAAA,EAAA,QAAQ,CAAI,CAAA;AACrD,YAAA,CAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,WAAW,EAAK,QAAA,CAAA,EAAA,EAAA,KAAK,CAAI,CAAA;AAC5C,YAAA,CAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,YAAY,EAAK,QAAA,CAAA,EAAA,EAAA,MAAM,CAAI,CAAA;AAC/C,YAAA,CAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,aAAa,EAAK,QAAA,CAAA,EAAA,EAAA,OAAO,CAAI,CAAA;AAClD,YAAA,CAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJ,IAAI,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,UAAU,EAAK,QAAA,CAAA,EAAA,EAAA,IAAI,CAAI,CAAA;AACzC,YAAA,CAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,YAAY,EAAK,QAAA,CAAA,EAAA,EAAA,MAAM,CAAI,CAAA;AAC/C,YAAA,CAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,cAAc,EAAK,QAAA,CAAA,EAAA,EAAA,QAAQ,CAAI,CAAA;AACrD,YAAA,CAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,aAAa,EAAK,QAAA,CAAA,EAAA,EAAA,OAAO,CAAI,CAAA;AAClD,YAAA,CAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,cAAc,EAAK,QAAA,CAAA,EAAA,EAAA,QAAQ,CAAI,CAAA;AACrD,YAAA,CAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,OAAO,KAAI,KAAA,CAAA,aAAA,CAAC,WAAW,EAAM,QAAA,CAAA,EAAA,EAAA,KAAK,CAAI,CAAA,CAC7C,CACH,CAAA;AACV;;;;;;;;;;;;;;;;AC1BA,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;AAClB,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3E,CAAC;AACD,IAAI,QAAQ,GAAG,UAAU,KAAK,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE;AAC/D,EAAE,QAAQ,GAAG,KAAK,CAAC,QAAQ;AAC3B,EAAE,SAAS,GAAG,KAAK,CAAC,SAAS;AAC7B,EAAE,eAAe,GAAG,KAAK,CAAC,eAAe;AACzC,EAAE,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;AACtC,SAAS,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE;AACxD,EAAE,IAAI,KAAK,GAAG,WAAW,EAAE;AAC3B,IAAI,SAAS,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;AAC9E,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;AAC5B,IAAI,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAC/B,EAAE,eAAe;AACjB,IAAI,YAAY;AAChB,MAAM,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACzB,MAAM,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AACrC,MAAM,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAClE,KAAK;AACL,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC;AACnC,GAAG,CAAC;AACJ,EAAE,SAAS;AACX,IAAI,YAAY;AAChB,MAAM,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAClE,MAAM,OAAO,SAAS,CAAC,YAAY;AACnC,QAAQ,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACpE,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,CAAC,SAAS,CAAC;AACf,GAAG,CAAC;AACJ,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;AACvB,EAAE,OAAO,KAAK,CAAC;AACf,CAAC;AACD,SAAS,sBAAsB,CAAC,IAAI,EAAE;AACtC,EAAE,IAAI,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC;AAC3C,EAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;AACpB,EAAE,IAAI;AACN,IAAI,IAAI,SAAS,GAAG,iBAAiB,EAAE,CAAC;AACxC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACtC,GAAG,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,OAAO,CAAC,CAAC,CAAC;AACd,GAAG;AACH,CAAC;AACD,SAAS,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE;AACxD,EAAE,OAAO,WAAW,EAAE,CAAC;AACvB,CAAC;AACD,IAAII,MAAI;AACR,EAAE,WAAW,KAAK,OAAO,MAAM;AAC/B,EAAE,WAAW,KAAK,OAAO,MAAM,CAAC,QAAQ;AACxC,EAAE,WAAW,KAAK,OAAO,MAAM,CAAC,QAAQ,CAAC,aAAa;AACtD,MAAM,sBAAsB;AAC5B,MAAM,sBAAsB,CAAC;AAC7B,IAA4B,oBAAA;AAC5B,EAAE,KAAK,CAAC,KAAK,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,GAAGA,MAAI,CAAA;;;;;;;ACtD3E,YAAY,KAAK,OAAO,CAAC,GAAG,CAAC,QAAQ;AACrC,EAAE,CAAC,YAAY;AACf,IAAI,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;AACtB,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/E,KAAK;AACL,IAAI,SAAS,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE;AAC5D,MAAM,iBAAiB;AACvB,QAAQ,KAAK,CAAC,KAAKC,OAAK,CAAC,eAAe;AACxC,SAAS,CAAC,iBAAiB,GAAG,CAAC,CAAC;AAChC,QAAQ,OAAO,CAAC,KAAK;AACrB,UAAU,gMAAgM;AAC1M,SAAS,CAAC,CAAC;AACX,MAAM,IAAI,KAAK,GAAG,WAAW,EAAE,CAAC;AAChC,MAAM,IAAI,CAAC,0BAA0B,EAAE;AACvC,QAAQ,IAAI,WAAW,GAAG,WAAW,EAAE,CAAC;AACxC,QAAQ,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;AACpC,WAAW,OAAO,CAAC,KAAK;AACxB,YAAY,sEAAsE;AAClF,WAAW;AACX,WAAW,0BAA0B,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,OAAO;AACP,MAAM,WAAW,GAAG,QAAQ,CAAC;AAC7B,QAAQ,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE;AACxD,OAAO,CAAC,CAAC;AACT,MAAM,IAAI,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;AACpC,QAAQ,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AACrC,MAAM,eAAe;AACrB,QAAQ,YAAY;AACpB,UAAU,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAC7B,UAAU,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AACzC,UAAU,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACtE,SAAS;AACT,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC;AACvC,OAAO,CAAC;AACR,MAAM,SAAS;AACf,QAAQ,YAAY;AACpB,UAAU,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACtE,UAAU,OAAO,SAAS,CAAC,YAAY;AACvC,YAAY,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACxE,WAAW,CAAC,CAAC;AACb,SAAS;AACT,QAAQ,CAAC,SAAS,CAAC;AACnB,OAAO,CAAC;AACR,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;AAC3B,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL,IAAI,SAAS,sBAAsB,CAAC,IAAI,EAAE;AAC1C,MAAM,IAAI,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC;AAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;AACxB,MAAM,IAAI;AACV,QAAQ,IAAI,SAAS,GAAG,iBAAiB,EAAE,CAAC;AAC5C,QAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC1C,OAAO,CAAC,OAAO,KAAK,EAAE;AACtB,QAAQ,OAAO,CAAC,CAAC,CAAC;AAClB,OAAO;AACP,KAAK;AACL,IAAI,SAAS,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE;AAC5D,MAAM,OAAO,WAAW,EAAE,CAAC;AAC3B,KAAK;AACL,IAAI,WAAW,KAAK,OAAO,8BAA8B;AACzD,MAAM,UAAU;AAChB,QAAQ,OAAO,8BAA8B,CAAC,2BAA2B;AACzE,MAAM,8BAA8B,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC,CAAC;AAC1E,IAAI,IAAIA,OAAK,GAAGC,KAAgB;AAChC,MAAM,QAAQ,GAAG,UAAU,KAAK,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE;AACjE,MAAM,QAAQ,GAAGD,OAAK,CAAC,QAAQ;AAC/B,MAAM,SAAS,GAAGA,OAAK,CAAC,SAAS;AACjC,MAAM,eAAe,GAAGA,OAAK,CAAC,eAAe;AAC7C,MAAM,aAAa,GAAGA,OAAK,CAAC,aAAa;AACzC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC,MAAM,IAAI;AACV,QAAQ,WAAW,KAAK,OAAO,MAAM;AACrC,QAAQ,WAAW,KAAK,OAAO,MAAM,CAAC,QAAQ;AAC9C,QAAQ,WAAW,KAAK,OAAO,MAAM,CAAC,QAAQ,CAAC,aAAa;AAC5D,YAAY,sBAAsB;AAClC,YAAY,sBAAsB,CAAC;AACnC,IAAI,OAA4B,CAAA,oBAAA;AAChC,MAAM,KAAK,CAAC,KAAKA,OAAK,CAAC,oBAAoB,GAAGA,OAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC;AAChF,IAAI,WAAW,KAAK,OAAO,8BAA8B;AACzD,MAAM,UAAU;AAChB,QAAQ,OAAO,8BAA8B,CAAC,0BAA0B;AACxE,MAAM,8BAA8B,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC,CAAC;AACzE,GAAG,GAAG,CAAA;;;;AC7FN;AACA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;AAC3C,EAAE,MAAA,CAAA,OAAc,GAAGC,mCAA4D,CAAC;AAChF,CAAC,MAAM;AACP,EAAE,MAAA,CAAA,OAAc,GAAGC,oCAA6D,CAAC;AACjF,CAAA;;;ACFA,IAAA,YAAA,kBAAA,UAAA,MAAA,EAAA;IAA2B,SAAkC,CAAA,YAAA,EAAA,MAAA,CAAA,CAAA;AAA7D,IAAA,SAAA,YAAA,GAAA;;KAgGC;AA7FG,IAAA,YAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,YAAA;;AACI,QAAA,IAAM,gBAAgB,GAAG;AACrB,YAAA,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,gCAAgC;AAClE,YAAA,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,gCAAgC;AAClE,YAAA,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,6BAA6B;AAE5D,YAAA,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,gCAAgC;AAClE,YAAA,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,gCAAgC;AAClE,YAAA,wBAAwB,EAAE,IAAI,CAAC,KAAK,CAAC,mCAAmC;AACxE,YAAA,wBAAwB,EAAE,IAAI,CAAC,KAAK,CAAC,mCAAmC;AACxE,YAAA,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,4BAA4B;AAC1D,YAAA,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,4BAA4B;AAC3D,YAAA,0BAA0B,EAAE,IAAI,CAAC,KAAK,CAAC,qCAAqC;AAC5E,YAAA,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,qCAAqC;AAC7E,YAAA,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,sCAAsC;AAC9E,YAAA,4BAA4B,EAAE,IAAI,CAAC,KAAK,CAAC,sCAAsC;AAC/E,YAAA,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,4BAA4B;AAC1D,YAAA,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,4BAA4B;AAE3D,YAAA,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,0BAA0B;AACtD,YAAA,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,0BAA0B;AACtD,YAAA,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,oCAAoC;AACjE,YAAA,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,oCAAoC;AAEjE,YAAA,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB;AAC1C,YAAA,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB;AAE1C,YAAA,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,mCAAmC;AAC/D,YAAA,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,mCAAmC;AAC/D,YAAA,mCAAmC,EAAE,IAAI,CAAC,KAAK,CAAC,iCAAiC;AACjF,YAAA,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,0BAA0B;AACtD,YAAA,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,0BAA0B;AAEtD,YAAA,iCAAiC,EAAE,IAAI,CAAC,KAAK,CAAC,4BAA4B;AAC1E,YAAA,kCAAkC,EAAE,IAAI,CAAC,KAAK,CAAC,4BAA4B;AAE3E,YAAA,sBAAsB,EAAC,IAAI,CAAC,KAAK,CAAC,iCAAiC;AACnE,YAAA,uBAAuB,EAAE,IAAI,CAAC,KAAK,CAAC,iCAAiC;AAErE,YAAA,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB;AAC9C,YAAA,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,+BAA+B;AAChE,YAAA,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,8BAA8B;AAE9D,YAAA,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,gCAAgC;AACnE,YAAA,yBAAyB,EAAE,IAAI,CAAC,KAAK,CAAC,mCAAmC;AAEzE,YAAA,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,0BAA0B;AACvD,YAAA,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,oCAAoC;AAClE,YAAA,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB;AAC3C,YAAA,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,mCAAmC;AAChE,YAAA,oCAAoC,EAAE,IAAI,CAAC,KAAK,CAAC,iCAAiC;AAClF,YAAA,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,0BAA0B;AAEvD,YAAA,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,4BAA4B;AAC1D,YAAA,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,+BAA+B;AAChE,YAAA,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,4BAA4B;AAE1D,YAAA,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,+BAA+B;AAChE,YAAA,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,+BAA+B;SACnE,CAAC;AAEF,QAAA,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AACnD,QAAA,gBAAgB,CAAC,qBAAqB,CAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC,CAAC;AAC9E,QAAA,gBAAgB,CAAC,uBAAuB,CAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC,CAAC;AAClF,QAAA,gBAAgB,CAAC,iBAAiB,CAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC,CAAC;KAC/E,CAAA;AAED,IAAA,YAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,UAAmB,SAAsC,EAAE,SAAuB,EAAE,QAAc,EAAA;;AAC9F,QAAA,IAAI,aAAA,IAAI,CAAC,KAAK,CAAC,MAAM,0CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,OAAK,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,SAAS,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAA,EAAE;AACpE,YAAA,gBAAgB,CAAC,qBAAqB,CAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC,CAAC;AACjF,SAAA;AAED,QAAA,IAAI,aAAA,IAAI,CAAC,KAAK,CAAC,MAAM,0CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,OAAK,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,SAAS,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAA,EAAE;AACxE,YAAA,gBAAgB,CAAC,uBAAuB,CAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC,CAAC;AACrF,SAAA;AAED,QAAA,IAAI,aAAA,IAAI,CAAC,KAAK,CAAC,MAAM,0CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,OAAK,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,SAAS,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAA,EAAE;AACxE,YAAA,gBAAgB,CAAC,iBAAiB,CAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC,CAAC;AAC/E,SAAA;KACJ,CAAA;AAED,IAAA,YAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,YAAA;;KAEC,CAAA;AAED,IAAA,YAAA,CAAA,SAAA,CAAA,MAAM,GAAN,YAAA;QAAA,IAOC,KAAA,GAAA,IAAA,CAAA;AANG,QAAA,QACI,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,EAAE,EAAC,qBAAqB,EAAC,GAAG,EAAE,UAAC,CAAC,EAAA,EAAK,OAAA,KAAI,CAAC,YAAY,GAAG,CAAC,GAAA,EAAA;AAC3D,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,EAAE,EAAC,sBAAsB,EACxB,CAAA,CACJ,EACR;KACL,CAAA;IACL,OAAC,YAAA,CAAA;AAAD,CAAC,CAhG0B,KAAK,CAAC,SAAS,CAgGzC,CAAA;;AChGD,IAAA,MAAA,kBAAA,UAAA,MAAA,EAAA;IAAqB,SAA4B,CAAA,MAAA,EAAA,MAAA,CAAA,CAAA;AAAjD,IAAA,SAAA,MAAA,GAAA;;KAIC;AAHG,IAAA,MAAA,CAAA,SAAA,CAAA,MAAM,GAAN,YAAA;AACI,QAAA,OAAO,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;KAC/E,CAAA;IACL,OAAC,MAAA,CAAA;AAAD,CAAC,CAJoB,KAAK,CAAC,SAAS,CAInC,CAAA;;ACaD,IAAA,cAAA,kBAAA,YAAA;AAAA,IAAA,SAAA,cAAA,GAAA;QAAA,IAohCC,KAAA,GAAA,IAAA,CAAA;AAlhCW,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;AAClC,QAAA,IAAA,CAAA,KAAK,GAAgC;AACzC,YAAA,eAAe,EAAE,SAAS;AAC1B,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,gBAAgB,EAAE,EAAE;AACpB,YAAA,mBAAmB,EAAE,EAAE;AACvB,YAAA,gBAAgB,EAAE,EAAE;AACpB,YAAA,qBAAqB,EAAE,EAAE;AACzB,YAAA,gBAAgB,EAAE,EAAE;AACpB,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,eAAe,EAAE,EAAE;AACnB,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,gBAAgB,EAAE,EAAE;AACpB,YAAA,iBAAiB,EAAE,EAAE;AACrB,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,sBAAsB,EAAE,EAAE;AAC1B,YAAA,WAAW,EAAE,EAAE;SAClB,CAAA;QAEM,IAAS,CAAA,SAAA,GAAG,UAAC,EAAc,EAAA;AAC9B,YAAA,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,OAAO,YAAA;gBACH,KAAI,CAAC,SAAS,CAAC,QAAM,CAAA,CAAC,EAAE,CAAC,CAAC;AAC9B,aAAC,CAAC;AACN,SAAC,CAAA;AAEM,QAAA,IAAA,CAAA,WAAW,GAAG,YAAA;YACjB,OAAO,KAAI,CAAC,KAAK,CAAC;AACtB,SAAC,CAAA;QAEM,IAAgC,CAAA,gCAAA,GAAG,UAAC,OAA4C,EAAA;AACnF,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,eAAe,EAAE;gBACxC,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;AACX,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,eAAe,EAAE,OAAO,EAC3B,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAA6B,CAAA,6BAAA,GAAG,UAAC,OAAoC,EAAA;AACxE,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,YAAY,EAAE;gBACrC,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;AACX,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,YAAY,EAAE,OAAO,EACxB,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAgC,CAAA,gCAAA,GAAG,UAAC,OAA4C,EAAA;AACnF,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBACvE,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;AACX,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,gBAAgB,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACT,CAAC,CAAC,gBAAgB,CAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CACpB,OAAO,CAAC,QAAQ,CAAA,GAAG,OAAO,EAElC,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAmC,CAAA,mCAAA,GAAG,UAAC,OAAyC,EAAA;AACnF,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBAC1E,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;AACX,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,mBAAmB,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACZ,CAAC,CAAC,mBAAmB,CAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CACvB,OAAO,CAAC,QAAQ,CAAA,GAAG,OAAO,EAElC,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAA4B,CAAA,4BAAA,GAAG,UAAC,OAAyC,EAAA;AAC5E,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBACvE,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;AACX,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,gBAAgB,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACT,CAAC,CAAC,gBAAgB,CAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CACpB,OAAO,CAAC,QAAQ,CAAA,GAAG,OAAO,EAElC,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAqC,CAAA,qCAAA,GAAG,UAAC,OAAyC,EAAA;AACrF,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBAC5E,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;AACX,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,qBAAqB,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACd,CAAC,CAAC,qBAAqB,CAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CACzB,OAAO,CAAC,QAAQ,CAAA,GAAG,OAAO,EAElC,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAsC,CAAA,sCAAA,GAAG,UAAC,OAAkD,EAAA;AAC/F,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBAC7E,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;AACX,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,sBAAsB,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACf,CAAC,CAAC,sBAAsB,CAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAC1B,OAAO,CAAC,QAAQ,CAAA,GAAG,OAAO,EAElC,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAA4B,CAAA,4BAAA,GAAG,UAAC,OAAyC,EAAA;AAC5E,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBACvE,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;AACX,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,gBAAgB,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACT,CAAC,CAAC,gBAAgB,CAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CACpB,OAAO,CAAC,QAAQ,CAAA,GAAG,OAAO,EAElC,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAmC,CAAA,mCAAA,GAAG,UAAC,OAAyC,EAAA;AACnF,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBACrE,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;AACX,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,cAAc,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACP,CAAC,CAAC,cAAc,CAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAClB,OAAO,CAAC,QAAQ,CAAA,GAAG,OAAO,EAElC,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAoC,CAAA,oCAAA,GAAG,UAAC,OAAyC,EAAA;AACpF,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBACtE,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;AACX,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,eAAe,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACR,CAAC,CAAC,eAAe,CAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CACnB,OAAO,CAAC,QAAQ,CAAA,GAAG,OAAO,EAElC,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAA2B,CAAA,2BAAA,GAAG,UAAC,OAAgC,EAAA;AAClE,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBAClE,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;AACX,gBAAA,IAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,QAAQ,EAAA;oBACtE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACxC,oBAAA,OAAO,GAAG,CAAC;iBACd,EAAE,EAAE,CAAC,CAAC;AAEP,gBAAA,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;AAE9C,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,WAAW,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACJ,CAAC,CAAC,WAAW,CAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CACf,OAAO,CAAC,QAAQ,CAAA,GAAG,OAAO,EAElC,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAmC,CAAA,mCAAA,GAAG,UAAC,OAAyC,EAAA;AACnF,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBACrE,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;AACX,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,cAAc,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACP,CAAC,CAAC,cAAc,CAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAClB,OAAO,CAAC,QAAQ,CAAA,GAAG,OAAO,EAElC,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAiC,CAAA,iCAAA,GAAG,UAAC,OAA6B,EAAA;AACrE,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBACvE,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;AACX,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,gBAAgB,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACT,CAAC,CAAC,gBAAgB,CAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CACpB,OAAO,CAAC,QAAQ,CAAA,GAAG,OAAO,EAElC,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAmC,CAAA,mCAAA,GAAG,UAAC,OAAyC,EAAA;AACnF,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBACrE,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;AACX,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,cAAc,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACP,CAAC,CAAC,cAAc,CAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAClB,OAAO,CAAC,QAAQ,CAAA,GAAG,OAAO,EAElC,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAA4B,CAAA,4BAAA,GAAG,UAAC,OAA6B,EAAA;AAChE,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBAClE,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;AACX,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,WAAW,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACJ,CAAC,CAAC,WAAW,CAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CACf,OAAO,CAAC,QAAQ,CAAA,GAAG,OAAO,EAElC,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAiC,CAAA,iCAAA,GAAG,UAAC,OAA6C,EAAA;AACrF,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBACxE,OAAO;AACV,aAAA;AAED,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;AACX,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,iBAAiB,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACV,CAAC,CAAC,iBAAiB,CAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CACrB,OAAO,CAAC,QAAQ,CAAA,GAAG,OAAO,EAElC,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAA4B,CAAA,4BAAA,GAAG,UAAC,OAA6B,EAAA;AAChE,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBAClE,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;gBACX,OACO,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAC,KACJ,WAAW,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACJ,CAAC,CAAC,WAAW,CACf,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,OAAO,CAAC,QAAQ,0BAAQ,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAK,EAAA,OAAO,CAE3E,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAgC,CAAA,gCAAA,GAAG,UAAC,OAA4C,EAAA;AACnF,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,eAAe,EAAE;gBACxC,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;AACX,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CACJ,EAAA,EAAA,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,EAAE,OAAO,CAAC,EACjE,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAgC,CAAA,gCAAA,GAAG,UAAC,OAA4C,EAAA;AACnF,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBACvE,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;gBACX,OACO,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAC,KACJ,gBAAgB,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACT,CAAC,CAAC,gBAAgB,CACpB,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,OAAO,CAAC,QAAQ,0BAAQ,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAK,EAAA,OAAO,CAEhF,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAmC,CAAA,mCAAA,GAAG,UAAC,OAAoC,EAAA;AAC9E,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBAC1E,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;gBACX,OACO,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAC,KACJ,mBAAmB,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACZ,CAAC,CAAC,mBAAmB,CACvB,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,OAAO,CAAC,QAAQ,0BAAQ,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAK,EAAA,OAAO,CAEnF,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAA0B,CAAA,0BAAA,GAAG,UAAC,OAAoC,EAAA;AACrE,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBACrE,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;gBACX,OACO,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAC,KACJ,cAAc,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACP,CAAC,CAAC,cAAc,CAClB,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,OAAO,CAAC,QAAQ,0BAAQ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAK,EAAA,OAAO,CAE9E,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAA2B,CAAA,2BAAA,GAAG,UAAC,OAAoC,EAAA;AACtE,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBACtE,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;gBACX,OACO,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAC,KACJ,eAAe,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACR,CAAC,CAAC,eAAe,CACnB,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,OAAO,CAAC,QAAQ,0BAAQ,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAK,EAAA,OAAO,CAE/E,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAA2B,CAAA,2BAAA,GAAG,UAAC,OAAgC,EAAA;AAClE,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBAClE,OAAO;AACV,aAAA;AAED,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;gBACX,OACO,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAC,KACJ,WAAW,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACJ,CAAC,CAAC,WAAW,CACf,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,OAAO,CAAC,QAAQ,0BAAQ,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAK,EAAA,OAAO,CAE3E,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAA0B,CAAA,0BAAA,GAAG,UAAC,OAAoC,EAAA;AACrE,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBACrE,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;gBACX,OACO,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAC,KACJ,cAAc,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACP,CAAC,CAAC,cAAc,CAClB,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,OAAO,CAAC,QAAQ,0BAAQ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAK,EAAA,OAAO,CAE9E,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAiC,CAAA,iCAAA,GAAG,UAAC,OAA6B,EAAA;AACrE,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBACvE,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;gBACX,OACO,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAC,KACJ,gBAAgB,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACT,CAAC,CAAC,gBAAgB,CACpB,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,OAAO,CAAC,QAAQ,0BAAQ,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAK,EAAA,OAAO,CAEhF,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAA0B,CAAA,0BAAA,GAAG,UAAC,OAAoC,EAAA;AACrE,YAAA,IAAI,OAAO,KAAK,KAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBACrE,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;gBACX,OACO,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAC,KACJ,cAAc,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACP,CAAC,CAAC,cAAc,CAClB,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,OAAO,CAAC,QAAQ,0BAAQ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAK,EAAA,OAAO,CAE9E,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAa,CAAA,aAAA,GAAG,UAAC,OAAkC,EAAA;AACtD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;AACX,gBAAA,IAAM,QAAQ,GAAA,QAAA,CAAA,EAAA,EAAQ,CAAC,CAAE,CAAC;AAE1B,gBAAA,IAAM,qBAAqB,GAAG,UAA8C,SAAY,EAAE,QAAgB,EAAE,cAAsB,EAAA;;;oBAC9H,IAAI,SAAS,KAAK,cAAc,IAAI,SAAS,KAAK,iBAAiB,IAAI,SAAS,KAAK,aAAa,EAAE;wBAChG,OAAO;AACV,qBAAA;oBAED,IAAI,QAAQ,CAAC,SAAS,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,SAAS,CAAE,CAAC,QAAQ,CAAC,0CAAE,cAAc,MAAK,cAAc,EAAE;wBACrG,QAAQ,CAAC,SAAS,CAAC,GAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACZ,QAAQ,CAAC,SAAS,CAAC,CAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CACrB,QAAQ,CAAA,GAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EAAQ,QAAQ,CAAC,SAAS,CAAE,CAAC,QAAQ,CAAC,CAAE,EAAA,EAAA,cAAc,EAAA,cAAA,EAAA,CAAA,EAAA,EAAA,EAClE,CAAA;AACJ,qBAAA;AACL,iBAAC,CAAC;gBAEF,IAAM,gBAAgB,GAAG,UAA8C,SAAY,EAAE,QAAgB,EAAE,mBAAwC,EAAE,oBAAyC,EAAA;;;oBACtL,IAAM,kBAAkB,GAAG,CAAA,EAAA,GAAA,QAAQ,CAAC,SAAS,CAAE,CAAC,QAAQ,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,mBAAmB,CAAC;oBAC/E,IAAM,mBAAmB,GAAG,CAAA,EAAA,GAAA,QAAQ,CAAC,SAAS,CAAE,CAAC,QAAQ,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,oBAAoB,CAAC;AACjF,oBAAA,QAAQ,CAAC,SAAS,CAAC,GAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACZ,QAAQ,CAAC,SAAS,CAAC,CACrB,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,QAAQ,CACF,GAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,SAAS,CAAE,CAAC,QAAQ,CAAC,CAAA,EAAA,EACjC,mBAAmB,EAAE,mBAAmB,IAAI,kBAAkB,EAC9D,oBAAoB,EAAE,oBAAoB,IAAI,mBAAmB,SAExE,CAAA;AACL,iBAAC,CAAC;gBAEF,qBAAqB,CAAC,kBAAkB,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBACpF,qBAAqB,CAAC,qBAAqB,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBACvF,qBAAqB,CAAC,uBAAuB,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBACzF,qBAAqB,CAAC,kBAAkB,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBACpF,qBAAqB,CAAC,kBAAkB,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBACpF,qBAAqB,CAAC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBAClF,qBAAqB,CAAC,iBAAiB,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBACnF,qBAAqB,CAAC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBAClF,qBAAqB,CAAC,kBAAkB,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBACpF,qBAAqB,CAAC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBAClF,qBAAqB,CAAC,wBAAwB,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;AAE1F,gBAAA,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAChH,gBAAA,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAElH,gBAAA,OAAO,QAAQ,CAAC;AACpB,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAsB,CAAA,sBAAA,GAAG,UAAC,OAA2C,EAAA;;YACxE,IAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnD,QAAQ,OAAO,CAAC,UAAU;gBACtB,KAAK,UAAU,CAAC,KAAK;oBACjB,IAAM,iBAAiB,GAAG,KAAI,CAAC,KAAK,CAAC,eAAe,IAAI,WAAkD,CAAC;oBAC3G,IAAM,eAAe,GACd,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,iBAAiB,CACnB,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,OAAO,CAAC,QAAQ,CAAA,GAAA,QAAA,CAAA,EAAA,EACV,OAAO,CAAA,EAAA,EAAA,EAEjB,CAAC;AACF,oBAAA,KAAI,CAAC,gCAAgC,CAAC,eAAe,CAAC,CAAC;oBACvD,MAAM;gBACV,KAAK,UAAU,CAAC,KAAK;AACjB,oBAAA,IAAM,iBAAiB,GAAG,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,WAAkD,CAAC;oBAC9H,IAAM,eAAe,GACd,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,iBAAiB,CACnB,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,OAAO,CAAC,QAAQ,CAAA,GAAA,QAAA,CAAA,EAAA,EACV,OAAO,CAAA,EAAA,EAAA,EAEjB,CAAC;AACF,oBAAA,KAAI,CAAC,gCAAgC,CAAC,eAAe,CAAC,CAAC;oBACvD,MAAM;gBACV,KAAK,UAAU,CAAC,MAAM;AAClB,oBAAA,IAAM,sBAAsB,GAAG,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,WAAmC,CAAC;oBACpH,IAAM,oBAAoB,GACnB,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,sBAAsB,CACxB,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,OAAO,CAAC,QAAQ,CAAA,GAAA,QAAA,CAAA,EAAA,EACV,OAAO,CAAA,EAAA,EAAA,EAEjB,CAAC;AACF,oBAAA,KAAI,CAAC,iCAAiC,CAAC,oBAAoB,CAAC,CAAC;oBAC7D,MAAM;gBACV,KAAK,UAAU,CAAC,WAAW;AACvB,oBAAA,IAAM,uBAAuB,GAAG,KAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,WAAmC,CAAC;oBAChH,IAAM,qBAAqB,GACpB,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,uBAAuB,CACzB,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,OAAO,CAAC,QAAQ,CAAA,GAAA,QAAA,CAAA,EAAA,EACV,OAAO,CAAA,EAAA,EAAA,EAEjB,CAAC;AACF,oBAAA,KAAI,CAAC,4BAA4B,CAAC,qBAAqB,CAAC,CAAC;oBACzD,MAAM;AACb,aAAA;AACL,SAAC,CAAA;QAEM,IAAqB,CAAA,qBAAA,GAAG,UAAC,OAA0C,EAAA;YACtE,QAAQ,OAAO,CAAC,UAAU;gBACtB,KAAK,UAAU,CAAC,KAAK;oBACjB,IAAM,iBAAiB,GAAG,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAA0B,CAAC;AAClI,oBAAA,IAAM,eAAe,GACd,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,iBAAiB,CACjB,EAAA,OAAO,CACb,CAAC;AACF,oBAAA,KAAI,CAAC,gCAAgC,CAAC,eAAe,CAAC,CAAC;oBACvD,MAAM;gBACV,KAAK,UAAU,CAAC,MAAM;AAClB,oBAAA,IAAM,kBAAkB,GAAG,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAA0B,CAAC;AACzI,oBAAA,IAAM,gBAAgB,GACf,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,kBAAkB,CAClB,EAAA,OAAO,CACb,CAAC;AACF,oBAAA,KAAI,CAAC,iCAAiC,CAAC,gBAAgB,CAAC,CAAC;oBACzD,MAAM;gBACV,KAAK,UAAU,CAAC,WAAW;AACvB,oBAAA,IAAM,uBAAuB,GAAG,KAAI,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAA0B,CAAC;AACzI,oBAAA,IAAM,qBAAqB,GACpB,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,uBAAuB,CACvB,EAAA,OAAO,CACb,CAAC;AACF,oBAAA,KAAI,CAAC,4BAA4B,CAAC,qBAAqB,CAAC,CAAC;oBACzD,MAAM;AACb,aAAA;AACL,SAAC,CAAA;QAEM,IAAgC,CAAA,gCAAA,GAAG,UAAC,OAA6B,EAAA;YACpE,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAChD,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;AACX,gBAAA,IAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,QAAQ,EAAA;AAC3E,oBAAA,IAAI,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;wBAC/B,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAChD,qBAAA;AACD,oBAAA,OAAO,GAAG,CAAC;iBACd,EAAE,EAAE,CAAC,CAAC;AAEP,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,gBAAgB,EAAE,iBAAiB,EACtC,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAmC,CAAA,mCAAA,GAAG,UAAC,OAA6B,EAAA;YACvE,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACnD,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;AACX,gBAAA,IAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,QAAQ,EAAA;AAC9E,oBAAA,IAAI,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;wBAC/B,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AACnD,qBAAA;AACD,oBAAA,OAAO,GAAG,CAAC;iBACd,EAAE,EAAE,CAAC,CAAC;AAEP,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,mBAAmB,EAAE,iBAAiB,EACzC,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAA4B,CAAA,4BAAA,GAAG,UAAC,OAA6B,EAAA;YAChE,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAChD,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;AACX,gBAAA,IAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,QAAQ,EAAA;AAC3E,oBAAA,IAAI,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;wBAC/B,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAChD,qBAAA;AACD,oBAAA,OAAO,GAAG,CAAC;iBACd,EAAE,EAAE,CAAC,CAAC;AAEP,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,gBAAgB,EAAE,iBAAiB,EACtC,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAqC,CAAA,qCAAA,GAAG,UAAC,OAA6B,EAAA;YACzE,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACrD,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;AACX,gBAAA,IAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,QAAQ,EAAA;AAC7E,oBAAA,IAAI,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;wBAC/B,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AACrD,qBAAA;AACD,oBAAA,OAAO,GAAG,CAAC;iBACd,EAAE,EAAE,CAAC,CAAC;AAEP,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,qBAAqB,EAAE,cAAc,EACxC,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAsC,CAAA,sCAAA,GAAG,UAAC,OAA6B,EAAA;YAC1E,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACtD,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;AACX,gBAAA,IAAM,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,QAAQ,EAAA;AACtF,oBAAA,IAAI,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;wBAC/B,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;AACtD,qBAAA;AACD,oBAAA,OAAO,GAAG,CAAC;iBACd,EAAE,EAAE,CAAC,CAAC;AACP,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,qBAAqB,EAAE,sBAAsB,EAChD,CAAA,CAAA;AACL,aAAC,CAAC,CAAA;AACN,SAAC,CAAA;QAEM,IAA4B,CAAA,4BAAA,GAAG,UAAC,OAA6B,EAAA;YAChE,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAChD,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;AACX,gBAAA,IAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,QAAQ,EAAA;AAC3E,oBAAA,IAAI,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;wBAC/B,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAChD,qBAAA;AACD,oBAAA,OAAO,GAAG,CAAC;iBACd,EAAE,EAAE,CAAC,CAAC;AAEP,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,gBAAgB,EAAE,iBAAiB,EACtC,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAA0B,CAAA,0BAAA,GAAG,UAAC,OAA6B,EAAA;YAC9D,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC9C,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;AACX,gBAAA,IAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,QAAQ,EAAA;AACzE,oBAAA,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;wBAC9B,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC9C,qBAAA;AACD,oBAAA,OAAO,GAAG,CAAC;iBACd,EAAE,EAAE,CAAC,CAAC;AAEP,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,cAAc,EAAE,iBAAiB,EACpC,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAoC,CAAA,oCAAA,GAAG,UAAC,OAA6B,EAAA;YACxE,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC/C,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;AACX,gBAAA,IAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,QAAQ,EAAA;AAC1E,oBAAA,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;wBAC9B,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC/C,qBAAA;AACD,oBAAA,OAAO,GAAG,CAAC;iBACd,EAAE,EAAE,CAAC,CAAC;AAEP,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,eAAe,EAAE,iBAAiB,EACrC,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAA2B,CAAA,2BAAA,GAAG,UAAC,OAA6B,EAAA;YAC/D,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC3C,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;AACX,gBAAA,IAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,QAAQ,EAAA;AACtE,oBAAA,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;wBAC9B,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC3C,qBAAA;AACD,oBAAA,OAAO,GAAG,CAAC;iBACd,EAAE,EAAE,CAAC,CAAC;AAEP,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,WAAW,EAAE,iBAAiB,EACjC,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAmC,CAAA,mCAAA,GAAG,UAAC,OAA6B,EAAA;YACvE,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC9C,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;AACX,gBAAA,IAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,QAAQ,EAAA;AACzE,oBAAA,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;wBAC9B,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC9C,qBAAA;AACD,oBAAA,OAAO,GAAG,CAAC;iBACd,EAAE,EAAE,CAAC,CAAC;AAEP,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,cAAc,EAAE,iBAAiB,EACpC,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAiC,CAAA,iCAAA,GAAG,UAAC,OAA6B,EAAA;YACrE,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAChD,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;AACX,gBAAA,IAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,QAAQ,EAAA;AAC3E,oBAAA,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;wBAC9B,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAChD,qBAAA;AACD,oBAAA,OAAO,GAAG,CAAC;iBACd,EAAE,EAAE,CAAC,CAAC;AAEP,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,gBAAgB,EAAE,iBAAiB,EACtC,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAA0B,CAAA,0BAAA,GAAG,UAAC,OAA6B,EAAA;YAC9D,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC9C,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;AACX,gBAAA,IAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,QAAQ,EAAA;AACzE,oBAAA,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;wBAC9B,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC9C,qBAAA;AACD,oBAAA,OAAO,GAAG,CAAC;iBACd,EAAE,EAAE,CAAC,CAAC;AAEP,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,cAAc,EAAE,iBAAiB,EACpC,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAA4B,CAAA,4BAAA,GAAG,UAAC,OAA6B,EAAA;YAChE,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC3C,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;AACX,gBAAA,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,QAAQ,EAAA;AAC/D,oBAAA,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;wBAC9B,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC3C,qBAAA;AACD,oBAAA,OAAO,GAAG,CAAC;iBACd,EAAE,EAAE,CAAC,CAAC;AAEP,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,WAAW,EAAE,UAAU,EAC1B,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEM,IAAiC,CAAA,iCAAA,GAAG,UAAC,OAA6B,EAAA;YACrE,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACjD,OAAO;AACV,aAAA;AACD,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;AACX,gBAAA,IAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,QAAQ,EAAA;AAClF,oBAAA,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;wBAC9B,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACjD,qBAAA;AACD,oBAAA,OAAO,GAAG,CAAC;iBACd,EAAE,EAAE,CAAC,CAAC;AAEP,gBAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACO,CAAC,CAAA,EAAA,EACJ,iBAAiB,EAAE,uBAAuB,EAC7C,CAAA,CAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;AAEM,QAAA,IAAA,CAAA,4BAA4B,GAAG,UAAC,UAAsB,EAAE,QAAgB,EAAE,IAAY,EAAA;AACzF,YAAA,IAAI,UAAU,KAAK,UAAU,CAAC,KAAK,EAAE;AACjC,gBAAA,KAAI,CAAC,iCAAiC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC1D,aAAA;AAAM,iBAAA,IAAI,UAAU,KAAK,UAAU,CAAC,KAAK,EAAE;AACxC,gBAAA,KAAI,CAAC,gCAAgC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACzD,aAAA;AAAM,iBAAA,IAAI,UAAU,KAAK,UAAU,CAAC,GAAG,EAAE;AACtC,gBAAA,KAAI,CAAC,+BAA+B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACxD,aAAA;AACL,SAAC,CAAA;AAEM,QAAA,IAAA,CAAA,+BAA+B,GAAG,UAAC,UAAsB,EAAE,QAAgB,EAAA;AAC9E,YAAA,gBAAgB,CAAC,2BAA2B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACvE,SAAC,CAAA;AAEM,QAAA,IAAA,CAAA,4BAA4B,GAAG,UAAC,UAAsB,EAAE,QAAgB,EAAA;AAC3E,YAAA,IAAI,UAAU,KAAK,UAAU,CAAC,KAAK,EAAE;AACjC,gBAAA,KAAI,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAAC;AACpD,aAAA;AAAM,iBAAA,IAAI,UAAU,KAAK,UAAU,CAAC,KAAK,EAAE;AACxC,gBAAA,KAAI,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAC;AACnD,aAAA;AAAM,iBAAA,IAAI,UAAU,KAAK,UAAU,CAAC,GAAG,EAAE;AACtC,gBAAA,KAAI,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAA;AACjD,aAAA;AACL,SAAC,CAAA;AAEM,QAAA,IAAA,CAAA,+BAA+B,GAAG,UAAC,UAAsB,EAAE,QAAgB,EAAA;AAC9E,YAAA,IAAI,UAAU,KAAK,UAAU,CAAC,KAAK,EAAE;AACjC,gBAAA,KAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;AACzC,aAAA;AAAM,iBAAA;AACH,gBAAA,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;AACrF,aAAA;AACL,SAAC,CAAA;AAEM,QAAA,IAAA,CAAA,+BAA+B,GAAG,UAAC,UAAsB,EAAE,QAAgB,EAAA;AAC9E,YAAA,IAAI,UAAU,KAAK,UAAU,CAAC,KAAK,EAAE;AACjC,gBAAA,KAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;AACzC,aAAA;AAAM,iBAAA;AACH,gBAAA,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;AACrF,aAAA;AACL,SAAC,CAAA;AAEO,QAAA,IAAA,CAAA,iCAAiC,GAAG,UAAC,CAAS,EAAE,IAAY,EAAA;AAChE,YAAA,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,eAAe,EAAE;gBAC7B,OAAO;AACV,aAAA;AAED,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;gBACX,IAAM,aAAa,GAAG,CAAA,CAAA,EAAA,GAAA,CAAC,CAAC,eAAe,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,KAAI,EAAE,CAAC;gBAC7D,IAAM,QAAQ,yBACP,CAAC,CAAA,EAAA,EACJ,eAAe,EACR,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAC,CAAC,eAAgB,CAAA,EAAA,EACrB,aAAa,EACN,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,aAAa,KAChB,IAAI,EAAE,IAAI,EACV,IAAI,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAGf,CAAA;AACD,gBAAA,OAAO,QAAQ,CAAC;AACpB,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEO,IAAiC,CAAA,iCAAA,GAAG,UAAC,CAAS,EAAA;AAClD,YAAA,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,eAAe,EAAE;gBAC7B,OAAO;AACV,aAAA;AAED,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;gBACX,IAAM,aAAa,GAAG,CAAA,CAAA,EAAA,GAAA,CAAC,CAAC,eAAe,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,KAAI,EAAE,CAAC;AAC7D,gBAAA,IAAM,QAAQ,GACP,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAC,KACJ,eAAe,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACR,CAAC,CAAC,eAAgB,CACrB,EAAA,EAAA,aAAa,wBACN,aAAa,CAAA,EAAA,EAChB,IAAI,EAAE,KAAK,SAGtB,CAAA;AACD,gBAAA,OAAO,QAAQ,CAAC;AACpB,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;AAEO,QAAA,IAAA,CAAA,gCAAgC,GAAG,UAAC,QAAgB,EAAE,IAAY,EAAA;YACtE,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;gBACxC,OAAO;AACV,aAAA;AAED,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;;AACX,gBAAA,IAAM,aAAa,GAAG,CAAA,CAAA,EAAA,GAAA,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,KAAI,EAAE,CAAC;AACxE,gBAAA,IAAM,QAAQ,GAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACP,CAAC,CAAA,EAAA,EACJ,gBAAgB,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACT,CAAC,CAAC,gBAAiB,CAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CACrB,QAAQ,CAAA,GAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACF,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA,EAAA,EAC/B,aAAa,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACN,aAAa,CAAA,EAAA,EAChB,IAAI,EAAE,IAAI,EACV,IAAI,EAAA,IAAA,eAKnB,CAAA;AACD,gBAAA,OAAO,QAAQ,CAAC;AACpB,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEO,IAAgC,CAAA,gCAAA,GAAG,UAAC,QAAgB,EAAA;YACxD,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;gBACxC,OAAO;AACV,aAAA;AAED,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;;AACX,gBAAA,IAAM,aAAa,GAAG,CAAA,CAAA,EAAA,GAAA,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,KAAI,EAAE,CAAC;gBACxE,IAAM,QAAQ,GACP,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAC,CACJ,EAAA,EAAA,gBAAgB,EACT,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAC,CAAC,gBAAiB,CACrB,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,QAAQ,CACF,GAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA,EAAA,EAC/B,aAAa,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACN,aAAa,CAAA,EAAA,EAChB,IAAI,EAAE,KAAK,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,CAK1B,CAAA;AACD,gBAAA,OAAO,QAAQ,CAAC;AACpB,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;AAEO,QAAA,IAAA,CAAA,+BAA+B,GAAG,UAAC,QAAgB,EAAE,IAAY,EAAA;YACrE,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;gBACnC,OAAO;AACV,aAAA;AAED,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;;AACX,gBAAA,IAAM,aAAa,GAAG,CAAA,CAAA,EAAA,GAAA,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,KAAI,EAAE,CAAC;AACnE,gBAAA,IAAM,QAAQ,GAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACP,CAAC,CAAA,EAAA,EACJ,WAAW,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACJ,CAAC,CAAC,WAAY,CAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAChB,QAAQ,CAAA,GAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACF,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA,EAAA,EAC1B,aAAa,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACN,aAAa,CAAA,EAAA,EAChB,IAAI,EAAE,IAAI,EACV,IAAI,EAAA,IAAA,eAKnB,CAAA;AACD,gBAAA,OAAO,QAAQ,CAAC;AACpB,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEO,IAA+B,CAAA,+BAAA,GAAG,UAAC,QAAgB,EAAA;YACvD,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;gBACnC,OAAO;AACV,aAAA;AAED,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;;AACX,gBAAA,IAAM,aAAa,GAAG,CAAA,CAAA,EAAA,GAAA,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,KAAI,EAAE,CAAC;gBACnE,IAAM,QAAQ,GACP,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAC,CACJ,EAAA,EAAA,WAAW,EACJ,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAC,CAAC,WAAY,CAChB,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,QAAQ,CACF,GAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA,EAAA,EAC1B,aAAa,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACN,aAAa,CAAA,EAAA,EAChB,IAAI,EAAE,KAAK,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,CAK1B,CAAA;AACD,gBAAA,OAAO,QAAQ,CAAC;AACpB,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEO,IAAsB,CAAA,sBAAA,GAAG,UAAC,QAAgB,EAAA;YAC9C,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE;gBAC9C,OAAO;AACV,aAAA;AAED,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;gBACX,IAAM,QAAQ,yBACP,CAAC,CAAA,EAAA,EACJ,sBAAsB,EACf,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAC,CAAC,sBAAsB,CAC1B,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,QAAQ,0BACF,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KACrC,IAAI,EAAE,IAAI,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,CAIrB,CAAA;AACD,gBAAA,OAAO,QAAQ,CAAC;AACpB,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEO,IAAsB,CAAA,sBAAA,GAAG,UAAC,QAAgB,EAAA;YAC9C,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE;gBAC9C,OAAO;AACV,aAAA;AAED,YAAA,KAAI,CAAC,QAAQ,CAAC,UAAA,CAAC,EAAA;;gBACX,IAAM,QAAQ,yBACP,CAAC,CAAA,EAAA,EACJ,sBAAsB,EACf,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAC,CAAC,sBAAsB,CAC1B,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,QAAQ,0BACF,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KACrC,IAAI,EAAE,KAAK,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,CAItB,CAAA;AACD,gBAAA,OAAO,QAAQ,CAAC;AACpB,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEO,IAAQ,CAAA,QAAA,GAAG,UAAC,EAAmE,EAAA;YACnF,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;AAE5B,YAAA,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,EAAE,CAAH,EAAG,CAAC,CAAC;AACvC,SAAC,CAAA;KACJ;IAAD,OAAC,cAAA,CAAA;AAAD,CAAC,EAAA,CAAA,CAAA;AAED,qBAAe,IAAI,cAAc,EAAE;;ACxiC7B,IAAA,qBAAqB,GAAyC,UAAC,EAAM,EAAA;AAAL,IAAA,IAAA,IAAI,GAAA,EAAA,CAAA,IAAA,CAAA;IACtE,QACI,IAAI;SAEJ,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,uBAAuB,EAAA;YAClC,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,QAAQ,EAAO,CAAA;YAC9B,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,aAAa,EAAiB,EAAA,YAAA,CAAA,CAC3C,IACF,KAAK,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,CAAA,EACX;AACN;;ACFM,IAAA,2BAA2B,GAAyB,UAAC,EAAsB,EAAA;;QAApB,UAAU,GAAA,EAAA,CAAA,UAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,CAAA;AAE3E,IAAA,IAAM,KAAK,GAAGC,yBAAoB,CAA8B,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;AACtH,IAAA,IAAM,gBAAgB,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAG,UAAU,KAAA,IAAA,IAAV,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAV,UAAU,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,qBAAqB,CAAC;AAEtF,IAAA,IAAM,qBAAqB,GAAG,YAAA;;QAC1B,IAAM,4BAA4B,GAAG,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,CAAC;AACnE,QAAA,IAAI,CAAC,4BAA4B,KAAK,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE;YACnG,OAAO;AACV,SAAA;AAED,QAAA,IAAM,EAAgC,GAAA,KAAK,CAAC,eAAe,EAAnD,aAAa,GAAA,EAAA,CAAA,aAAA,EAAK,OAAO,GAAA,MAAA,CAAA,EAAA,EAA3B,CAA6B,eAAA,CAAA,CAAwB,CAAC;QAE5D,IAAM,iBAAiB,GAAG,UAAC,IAAY,EAAA;AACnC,YAAA,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACjF,SAAC,CAAA;QACD,IAAM,QAAQ,GACV,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;gBACL,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/E,aAAC,EACE,EAAA,OAAO,CAAC,QAAQ,CACtB,CAAA;QAED,IAAM,OAAO,GACT,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;gBACL,gBAAgB,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9E,aAAC,EACE,EAAA,OAAO,CAAC,OAAO,CACrB,CAAA;QAED,IAAM,QAAQ,GACV,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;gBACL,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/E,aAAC,EACE,EAAA,OAAO,CAAC,QAAQ,CACtB,CAAA;QAED,IAAM,KAAK,GACP,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;gBACL,gBAAgB,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5E,aAAC,EACE,EAAA,OAAO,CAAC,KAAK,CACnB,CAAA;QAED,IAAM,aAAa,yBACZ,OAAO,CAAC,aAAa,CACxB,EAAA,EAAA,aAAa,EAAE,UAAC,IAAY,EAAA;AACxB,gBAAA,gBAAgB,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;aACnF,EACD,UAAU,EAAE,YAAA;gBACR,cAAc,CAAC,4BAA4B,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AACpF,aAAC,EACD,mBAAmB,EAAE,UAAC,MAAc,EAAA;AAChC,gBAAA,gBAAgB,CAAC,4BAA4B,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC9F,aAAC,EACD,6BAA6B,EAAE,UAAC,OAAgB,EAAA;AAC5C,gBAAA,gBAAgB,CAAC,6BAA6B,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAChG,aAAC,GACJ,CAAC;QAEF,IAAM,0BAA0B,GAAG,UAAC,MAAc,IAAK,OAAA,gBAAgB,CAAC,0BAA0B,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAvF,EAAuF,CAAC;AAE/I,QAAA,QACI,KAAC,CAAA,aAAA,CAAA,MAAM,EAAC,EAAA,aAAa,EAAE,aAAa,EAAA;AAChC,YAAA,KAAA,CAAA,aAAA,CAAC,4BAA4B,EAAA,QAAA,CAAA,EAAA,EAAK,OAAO,EAAA,EACrC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,0BAA0B,EAAE,0BAA0B,EAAI,CAAA,CAAA,CACzD,EACX;AACN,KAAC,CAAA;AAED,IAAA,IAAM,kBAAkB,GAAG,YAAA;;QACvB,IAAM,yBAAyB,GAAG,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAC;AAC7D,QAAA,IAAI,CAAC,yBAAyB,KAAK,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE;YAC1F,OAAO;AACV,SAAA;AAED,QAAA,IAAM,EAAgC,GAAA,KAAK,CAAC,YAAY,EAAhD,aAAa,GAAA,EAAA,CAAA,aAAA,EAAK,OAAO,GAAA,MAAA,CAAA,EAAA,EAA3B,CAA6B,eAAA,CAAA,CAAqB,CAAC;AAGzD,QAAA,OAAO,KAAC,CAAA,aAAA,CAAA,MAAM,EAAC,EAAA,aAAa,EAAE,aAAa,EAAA;AAAE,YAAA,KAAA,CAAA,aAAA,CAAC,yBAAyB,EAAA,QAAA,CAAA,EAAA,EAAK,OAAO,CAAA,CAAI,CAAS,CAAC;AACrG,KAAC,CAAA;AAED,IAAA,IAAM,qBAAqB,GAAG,YAAA;;QAC1B,IAAM,4BAA4B,GAAG,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,CAAC;AAClE,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG,EAAA;;AACjD,YAAA,IAAI,CAAC,4BAA4B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;gBACrD,OAAO;AACV,aAAA;YAEO,IAAA,aAAa,GAAiB,GAAG,CAApB,aAAA,EAAK,OAAO,GAAA,MAAA,CAAK,GAAG,EAAnC,CAA6B,eAAA,CAAA,CAAF,CAAS;YAE1C,IAAM,iBAAiB,GAAG,UAAC,IAAY,EAAA;AACnC,gBAAA,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACjF,aAAC,CAAC;YAEF,IAAM,QAAQ,GACV,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/E,iBAAC,EACE,EAAA,OAAO,CAAC,QAAQ,CACtB,CAAC;YAEF,IAAM,KAAK,GACP,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5E,iBAAC,EACE,EAAA,OAAO,CAAC,KAAK,CACnB,CAAC;YAEF,IAAM,MAAM,GACR,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7E,iBAAC,EACE,EAAA,OAAO,CAAC,MAAM,CACpB,CAAC;YAEF,IAAM,OAAO,GACT,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9E,iBAAC,EACE,EAAA,OAAO,CAAC,OAAO,CACrB,CAAC;YAEF,IAAM,IAAI,GACN,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC3E,iBAAC,EACE,EAAA,OAAO,CAAC,IAAI,CAClB,CAAC;YAEF,IAAM,MAAM,GACR,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7E,iBAAC,EACE,EAAA,OAAO,CAAC,MAAM,CACpB,CAAC;YAEF,IAAM,QAAQ,GACV,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/E,iBAAC,EACE,EAAA,OAAO,CAAC,QAAQ,CACtB,CAAA;YAED,IAAM,OAAO,GACT,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9E,iBAAC,EACE,EAAA,OAAO,CAAC,OAAO,CACrB,CAAA;YAED,IAAM,QAAQ,GACV,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/E,iBAAC,EACE,EAAA,OAAO,CAAC,QAAQ,CACtB,CAAA;YAED,IAAM,KAAK,GACP,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5E,iBAAC,EACE,EAAA,OAAO,CAAC,KAAK,CACnB,CAAA;AAED,YAAA,IAAI,kBAAkB,GAAG,IAAI,KAAK,EAAqB,CAAC;YACxD,IAAI,OAAO,CAAC,aAAa,EAAE;gBACvB,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,UAAC,OAAO,EAAA;oBACnD,OAAO;AACH,wBAAA,OAAO,EAAE,YAAA;4BACL,gBAAgB,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;yBAC1E;AACD,wBAAA,OAAO,EAAE,IAAI;wBACb,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;qBAC7B,CAAA;AACL,iBAAC,CAAC,CAAC;AACN,aAAA;YAED,IAAM,YAAY,GAAG,UAAC,MAAc,EAAA;gBAChC,gBAAgB,CAAC,2BAA2B,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC3E,aAAC,CAAA;AAED,YAAA,IAAM,QAAQ,GAAG;AACb,gBAAA,YAAY,EAAA,YAAA;gBACZ,OAAO,EAAE,OAAO,CAAC,sBAAsB;gBACvC,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;gBAClD,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;gBAChD,YAAY,EAAE,OAAO,CAAC,YAAY;AAClC,gBAAA,YAAY,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,YAAY,mCAAI,QAAQ;gBAC9C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;aAC7C,CAAA;YAED,IAAM,aAAa,yBACZ,OAAO,CAAC,aAAa,CACxB,EAAA,EAAA,aAAa,EAAE,UAAC,IAAY,EAAA;AACxB,oBAAA,gBAAgB,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;iBACnF,EACD,UAAU,EAAE,YAAA;oBACR,cAAc,CAAC,4BAA4B,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AACpF,iBAAC,EACD,mBAAmB,EAAE,UAAC,MAAc,EAAA;AAChC,oBAAA,gBAAgB,CAAC,4BAA4B,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC9F,iBAAC,EACD,6BAA6B,EAAE,UAAC,OAAgB,EAAA;AAC5C,oBAAA,gBAAgB,CAAC,6BAA6B,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAChG,iBAAC,GACJ,CAAC;YAEF,IAAM,0BAA0B,GAAG,UAAC,MAAc,IAAK,OAAA,gBAAgB,CAAC,0BAA0B,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAvF,EAAuF,CAAC;YAE/I,OAAO,KAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAA;AAC9D,gBAAA,KAAA,CAAA,aAAA,CAAC,4BAA4B,EAAA,QAAA,CAAA,EAAA,EAAK,OAAO,EAAA,EACrC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,kBAAkB,EACjC,OAAO,EAAE,OAAO,CAAC,QAAQ,EACzB,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,0BAA0B,EAAE,0BAA0B,EAAA,CAAA,CAAI,CACzD,CAAA;AACb,SAAC,CAAC,CAAC;AACP,KAAC,CAAA;AAED,IAAA,IAAM,wBAAwB,GAAG,YAAA;;QAC7B,IAAM,+BAA+B,GAAG,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAC;AACnE,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG,EAAA;AACpD,YAAA,IAAI,CAAC,+BAA+B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;gBACxD,OAAO;AACV,aAAA;YAEO,IAAA,aAAa,GAAiB,GAAG,CAApB,aAAA,EAAK,OAAO,GAAA,MAAA,CAAK,GAAG,EAAnC,CAA6B,eAAA,CAAA,CAAF,CAAS;YAE1C,OAAO,KAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAA;gBAC9D,KAAC,CAAA,aAAA,CAAA,+BAA+B,EAAK,QAAA,CAAA,EAAA,EAAA,OAAO,EAAE,EAAA,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAI,CAAA,CAAA,CACtE,CAAA;AACb,SAAC,CAAC,CAAC;AACP,KAAC,CAAA;AAED,IAAA,IAAM,iBAAiB,GAAG,YAAA;;QACtB,IAAM,wBAAwB,GAAG,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,CAAC;AAChE,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG,EAAA;AACjD,YAAA,IAAI,CAAC,wBAAwB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;gBACjD,OAAO;AACV,aAAA;YACO,IAAA,aAAa,GAAiB,GAAG,CAApB,aAAA,EAAK,OAAO,GAAA,MAAA,CAAK,GAAG,EAAnC,CAA6B,eAAA,CAAA,CAAF,CAAS;YAE1C,OAAO,KAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAA;gBAC9D,KAAC,CAAA,aAAA,CAAA,wBAAwB,EAAK,QAAA,CAAA,EAAA,EAAA,OAAO,EAAE,EAAA,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAI,CAAA,CAAA,CAC/D,CAAA;AACb,SAAC,CAAC,CAAC;AACP,KAAC,CAAA;AAED,IAAA,IAAM,2BAA2B,GAAG,YAAA;;QAChC,IAAM,0BAA0B,GAAG,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,oBAAoB,CAAC;AAC3E,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG,EAAA;AACtD,YAAA,IAAI,CAAC,0BAA0B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;gBACnD,OAAO;AACV,aAAA;YACO,IAAA,aAAa,GAAiB,GAAG,CAApB,aAAA,EAAK,OAAO,GAAA,MAAA,CAAK,GAAG,EAAnC,CAA6B,eAAA,CAAA,CAAF,CAAS;YAE1C,OAAO,KAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAA;gBAC9D,KAAC,CAAA,aAAA,CAAA,0BAA0B,EAAK,QAAA,CAAA,EAAA,EAAA,OAAO,EAAE,EAAA,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAI,CAAA,CAAA,CACjE,CAAA;AACb,SAAC,CAAC,CAAC;AACP,KAAC,CAAA;AAED,IAAA,IAAM,4BAA4B,GAAG,YAAA;QACjC,IAAM,6BAA6B,GAAG,gBAAgB,CAAC;AACvD,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG,EAAA;AACvD,YAAA,IAAI,CAAC,6BAA6B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;gBACtD,OAAO;AACV,aAAA;YACO,IAAA,aAAa,GAAiB,GAAG,CAApB,aAAA,EAAK,OAAO,GAAA,MAAA,CAAK,GAAG,EAAnC,CAA6B,eAAA,CAAA,CAAF,CAAS;YAE1C,OAAO,KAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAA;gBAC9D,KAAC,CAAA,aAAA,CAAA,6BAA6B,EAAK,QAAA,CAAA,EAAA,EAAA,OAAO,EAAE,EAAA,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAI,CAAA,CAAA,CACpE,CAAA;AACb,SAAC,CAAC,CAAC;AACP,KAAC,CAAA;AAED,IAAA,IAAM,iBAAiB,GAAG,YAAA;;QACtB,IAAM,wBAAwB,GAAG,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,CAAC;AAChE,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG,EAAA;AACjD,YAAA,IAAI,CAAC,wBAAwB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;gBACjD,OAAO;AACV,aAAA;YACO,IAAA,aAAa,GAAiB,GAAG,CAApB,aAAA,EAAK,OAAO,GAAA,MAAA,CAAK,GAAG,EAAnC,CAA6B,eAAA,CAAA,CAAF,CAAS;YAE1C,OAAO,KAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAA;gBAC9D,KAAC,CAAA,aAAA,CAAA,wBAAwB,EAAK,QAAA,CAAA,EAAA,EAAA,OAAO,EAAE,EAAA,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAI,CAAA,CAAA,CAC/D,CAAA;AACb,SAAC,CAAC,CAAC;AACP,KAAC,CAAA;AAED,IAAA,IAAM,eAAe,GAAG,YAAA;;QACpB,IAAM,sBAAsB,GAAG,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAC;AAEvD,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,UAAC,EAAE,EAAA;AAC9C,YAAA,IAAI,CAAC,sBAAsB,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;gBAC9C,OAAO;AACV,aAAA;YAEO,IAAA,aAAa,GAAiB,EAAE,CAAnB,aAAA,EAAK,OAAO,GAAA,MAAA,CAAK,EAAE,EAAlC,CAA6B,eAAA,CAAA,CAAF,CAAQ;YACzC,OAAO,KAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAA;gBAAE,KAAC,CAAA,aAAA,CAAA,sBAAsB,EAAK,QAAA,CAAA,EAAA,EAAA,OAAO,EAAE,EAAA,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAI,CAAA,CAAA,CAAS,CAAA;AACnJ,SAAC,CAAC,CAAC;AACP,KAAC,CAAA;AAED,IAAA,IAAM,qBAAqB,GAAG,YAAA;;QAC1B,IAAM,uBAAuB,GAAG,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAC;AAEzD,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,UAAC,EAAE,EAAA;AAC/C,YAAA,IAAI,CAAC,uBAAuB,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;gBAC/C,OAAO;AACV,aAAA;YAEO,IAAA,aAAa,GAAiB,EAAE,CAAnB,aAAA,EAAK,OAAO,GAAA,MAAA,CAAK,EAAE,EAAlC,CAA6B,eAAA,CAAA,CAAF,CAAQ;YACzC,OAAO,KAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAA;gBAAE,KAAC,CAAA,aAAA,CAAA,uBAAuB,EAAK,QAAA,CAAA,EAAA,EAAA,OAAO,EAAE,EAAA,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAI,CAAA,CAAA,CAAS,CAAA;AACpJ,SAAC,CAAC,CAAC;AACP,KAAC,CAAA;AAED,IAAA,IAAM,iBAAiB,GAAG,YAAA;;QACtB,IAAM,gBAAgB,GAAG,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAC;AAEnD,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,UAAC,EAAE,EAAA;;AAC3C,YAAA,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;gBACxC,OAAO;AACV,aAAA;YAEO,IAAA,aAAa,GAAiB,EAAE,CAAnB,aAAA,EAAK,OAAO,GAAA,MAAA,CAAK,EAAE,EAAlC,CAA6B,eAAA,CAAA,CAAF,CAAQ;AAEzC,YAAA,IAAM,YAAY,GAAG,YAAA;AACjB,gBAAA,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChD,aAAC,CAAA;YAED,IAAM,YAAY,GAAG,UAAC,MAAc,EAAA;gBAChC,gBAAgB,CAAC,yBAAyB,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACzE,aAAC,CAAA;AAED,YAAA,IAAM,QAAQ,GAAiB;AAC3B,gBAAA,YAAY,EAAA,YAAA;gBACZ,OAAO,EAAE,OAAO,CAAC,sBAAsB;gBACvC,eAAe,EAAE,OAAO,CAAC,eAAe;AACxC,gBAAA,oBAAoB,QAAE,OAAO,CAAC,oBAAoB,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,OAAO,CAAC,eAAe;gBAC7E,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;gBAChD,YAAY,EAAE,OAAO,CAAC,YAAY;AAClC,gBAAA,YAAY,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,YAAY,mCAAI,QAAQ;gBAC9C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;aAC7C,CAAC;YAEF,IAAM,aAAa,yBACZ,OAAO,CAAC,aAAa,CACxB,EAAA,EAAA,aAAa,EAAE,UAAC,IAAY,EAAA;AACxB,oBAAA,gBAAgB,CAAC,oBAAoB,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;iBACjF,EACD,UAAU,EAAE,YAAA;oBACR,cAAc,CAAC,4BAA4B,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAClF,iBAAC,EACD,mBAAmB,EAAE,UAAC,MAAc,EAAA;AAChC,oBAAA,gBAAgB,CAAC,4BAA4B,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC5F,iBAAC,EACD,6BAA6B,EAAE,UAAC,OAAgB,EAAA;AAC5C,oBAAA,gBAAgB,CAAC,6BAA6B,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9F,iBAAC,GACJ,CAAC;YAEF,IAAM,0BAA0B,GAAG,UAAC,MAAc,IAAK,OAAA,gBAAgB,CAAC,0BAA0B,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAArF,EAAqF,CAAC;YAE7I,IAAM,iBAAiB,GAAG,UAAC,SAAiB,EAAA;gBACxC,gBAAgB,CAAC,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACvE,aAAC,CAAA;YAED,IAAM,oBAAoB,GAAG,UAAC,SAAiB,EAAA;gBAC3C,gBAAgB,CAAC,uBAAuB,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC1E,aAAC,CAAA;YAED,OAAO,KAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAA;AAC9D,gBAAA,KAAA,CAAA,aAAA,CAAC,gBAAgB,EAAA,QAAA,CAAA,EAAA,EAAK,OAAO,EAAA,EACzB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAC1B,aAAa,EAAE,aAAa,EAC5B,0BAA0B,EAAE,0BAA0B,EACtD,iBAAiB,EAAE,iBAAiB,EACpC,oBAAoB,EAAE,oBAAoB,EAAA,CAAA,CAC5C,CACG,CAAA;AACb,SAAC,CAAC,CAAC;AACP,KAAC,CAAA;AAED,IAAA,IAAM,oBAAoB,GAAG,YAAA;;QACzB,IAAM,sBAAsB,GAAG,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAC;AAEvD,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,UAAC,EAAE,EAAA;AAC9C,YAAA,IAAI,CAAC,sBAAsB,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;gBAC9C,OAAO;AACV,aAAA;YAEO,IAAA,aAAa,GAAiB,EAAE,CAAnB,aAAA,EAAK,OAAO,GAAA,MAAA,CAAK,EAAE,EAAlC,CAA6B,eAAA,CAAA,CAAF,CAAQ;YACzC,OAAO,KAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAA;gBAAE,KAAC,CAAA,aAAA,CAAA,sBAAsB,EAAK,QAAA,CAAA,EAAA,EAAA,OAAO,EAAE,EAAA,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAI,CAAA,CAAA,CAAS,CAAA;AACnJ,SAAC,CAAC,CAAC;AACP,KAAC,CAAA;AAED,IAAA,IAAM,sBAAsB,GAAG,YAAA;;QAC3B,IAAM,uBAAuB,GAAG,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAC;AAE1D,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,UAAC,EAAE,EAAA;AAChD,YAAA,IAAI,CAAC,uBAAuB,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;gBAC/C,OAAO;AACV,aAAA;YACO,IAAA,aAAa,GAAiB,EAAE,CAAnB,aAAA,EAAK,OAAO,GAAA,MAAA,CAAK,EAAE,EAAlC,CAA6B,eAAA,CAAA,CAAF,CAAQ;YAEzC,IAAM,QAAQ,GACV,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChF,iBAAC,EACE,EAAA,OAAO,CAAC,QAAQ,CACtB,CAAC;YAEF,IAAM,QAAQ,GACV,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChF,iBAAC,EACE,EAAA,OAAO,CAAC,QAAQ,CACtB,CAAC;YAEF,IAAM,KAAK,GACP,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7E,iBAAC,EACE,EAAA,OAAO,CAAC,KAAK,CACnB,CAAC;YAEF,IAAM,MAAM,GACR,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,mBAAmB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9E,iBAAC,EACE,EAAA,OAAO,CAAC,MAAM,CACpB,CAAC;YAEF,IAAM,OAAO,GACT,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,oBAAoB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/E,iBAAC,EACE,EAAA,OAAO,CAAC,OAAO,CACrB,CAAC;YAEF,IAAM,IAAI,GACN,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5E,iBAAC,EACE,EAAA,OAAO,CAAC,IAAI,CAClB,CAAA;YAED,IAAM,MAAM,GACR,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,mBAAmB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9E,iBAAC,EACE,EAAA,OAAO,CAAC,MAAM,CACpB,CAAA;YAED,IAAM,QAAQ,GACV,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChF,iBAAC,EACE,EAAA,OAAO,CAAC,QAAQ,CACtB,CAAA;YAED,IAAM,OAAO,GACT,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,oBAAoB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/E,iBAAC,EACE,EAAA,OAAO,CAAC,OAAO,CACrB,CAAA;YAED,IAAM,QAAQ,GACV,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChF,iBAAC,EACE,EAAA,OAAO,CAAC,QAAQ,CACtB,CAAA;YAED,IAAM,KAAK,GACP,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7E,iBAAC,EACE,EAAA,OAAO,CAAC,KAAK,CACnB,CAAA;AAED,YAAA,IAAI,kBAAkB,GAAG,IAAI,KAAK,EAAqB,CAAC;YACxD,IAAI,OAAO,CAAC,aAAa,EAAE;gBACvB,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,UAAC,OAAO,EAAA;oBACnD,OAAO;AACH,wBAAA,OAAO,EAAE,YAAA;4BACL,gBAAgB,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;yBAC1E;AACD,wBAAA,OAAO,EAAE,IAAI;wBACb,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;qBAC7B,CAAA;AACL,iBAAC,CAAC,CAAC;AACN,aAAA;YAED,OAAO,KAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAA;gBAAE,KAAC,CAAA,aAAA,CAAA,uBAAuB,EAAK,QAAA,CAAA,EAAA,EAAA,OAAO,EACpG,EAAA,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,kBAAkB,EACjC,OAAO,EAAE,OAAO,CAAC,QAAQ,EAC3B,CAAA,CAAA,CAAS,CAAA;AACf,SAAC,CAAC,CAAC;AACP,KAAC,CAAA;AAED,IAAA,IAAM,uBAAuB,GAAG,YAAA;;QAC5B,IAAM,wBAAwB,GAAG,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,CAAC;AAEjE,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG,EAAA;AAClD,YAAA,IAAI,CAAC,wBAAwB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;gBACjD,OAAO;AACV,aAAA;YACO,IAAA,aAAa,GAAiB,GAAG,CAApB,aAAA,EAAK,OAAO,GAAA,MAAA,CAAK,GAAG,EAAnC,CAA6B,eAAA,CAAA,CAAF,CAAS;YAE1C,IAAM,MAAM,GAAG,UAAC,QAAgB,EAAA;AAC5B,gBAAA,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACzC,aAAC,CAAC;YAEF,IAAM,KAAK,GAAG,UAAC,QAAgB,EAAA;AAC3B,gBAAA,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACxC,aAAC,CAAA;YAED,OAAO,KAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAA;AAAE,gBAAA,KAAA,CAAA,aAAA,CAAC,wBAAwB,EAAK,QAAA,CAAA,EAAA,EAAA,OAAO,IACrG,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAA,CAAA,CAC3B,CAAS,CAAA;AACf,SAAC,CAAC,CAAC;AACP,KAAC,CAAA;AAED,IAAA,IAAM,eAAe,GAAG,YAAA;;QACpB,IAAM,sBAAsB,GAAG,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAC;AAEvD,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,UAAC,EAAE,EAAA;AAC9C,YAAA,IAAI,CAAC,sBAAsB,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;gBAC9C,OAAO;AACV,aAAA;YAEO,IAAA,aAAa,GAAiB,EAAE,CAAnB,aAAA,EAAK,OAAO,GAAA,MAAA,CAAK,EAAE,EAAlC,CAA6B,eAAA,CAAA,CAAF,CAAQ;YACzC,OAAO,KAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAA;gBAAE,KAAC,CAAA,aAAA,CAAA,sBAAsB,EAAK,QAAA,CAAA,EAAA,EAAA,OAAO,EAAE,EAAA,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAI,CAAA,CAAA,CAAS,CAAA;AACnJ,SAAC,CAAC,CAAC;AACP,KAAC,CAAA;AAED,IAAA,IAAM,iBAAiB,GAAG,YAAA;;QACtB,IAAM,wBAAwB,GAAG,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAC;AAE3D,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,UAAC,EAAE,EAAA;AAC3C,YAAA,IAAI,CAAC,wBAAwB,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;gBAChD,OAAO;AACV,aAAA;YACO,IAAA,aAAa,GAAiB,EAAE,CAAnB,aAAA,EAAK,OAAO,GAAA,MAAA,CAAK,EAAE,EAAlC,CAA6B,eAAA,CAAA,CAAF,CAAQ;YAEzC,IAAM,QAAQ,GACV,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AACrF,iBAAC,EACE,EAAA,OAAO,CAAC,QAAQ,CACtB,CAAC;YAEF,IAAM,QAAQ,GACV,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AACrF,iBAAC,EACE,EAAA,OAAO,CAAC,QAAQ,CACtB,CAAC;YAEF,IAAM,KAAK,GACP,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,kBAAkB,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAClF,iBAAC,EACE,EAAA,OAAO,CAAC,KAAK,CACnB,CAAC;YAEF,IAAM,MAAM,GACR,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,mBAAmB,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AACnF,iBAAC,EACE,EAAA,OAAO,CAAC,MAAM,CACpB,CAAC;YAEF,IAAM,OAAO,GACT,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,oBAAoB,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AACpF,iBAAC,EACE,EAAA,OAAO,CAAC,OAAO,CACrB,CAAC;YAEF,IAAM,IAAI,GACN,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjF,iBAAC,EACE,EAAA,OAAO,CAAC,IAAI,CAClB,CAAA;YAED,IAAM,MAAM,GACR,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,mBAAmB,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AACnF,iBAAC,EACE,EAAA,OAAO,CAAC,MAAM,CACpB,CAAA;YAED,IAAM,QAAQ,GACV,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AACrF,iBAAC,EACE,EAAA,OAAO,CAAC,QAAQ,CACtB,CAAA;YAED,IAAM,OAAO,GACT,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,oBAAoB,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AACpF,iBAAC,EACE,EAAA,OAAO,CAAC,OAAO,CACrB,CAAA;YAED,IAAM,QAAQ,GACV,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AACrF,iBAAC,EACE,EAAA,OAAO,CAAC,QAAQ,CACtB,CAAA;YAED,IAAM,KAAK,GACP,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA;oBACL,gBAAgB,CAAC,kBAAkB,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAClF,iBAAC,EACE,EAAA,OAAO,CAAC,KAAK,CACnB,CAAA;AAED,YAAA,IAAI,kBAAkB,GAAG,IAAI,KAAK,EAAqB,CAAC;YACxD,IAAI,OAAO,CAAC,aAAa,EAAE;gBACvB,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,UAAC,OAAO,EAAA;oBACnD,OAAO;AACH,wBAAA,OAAO,EAAE,YAAA;4BACL,gBAAgB,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;yBAC1E;AACD,wBAAA,OAAO,EAAE,IAAI;wBACb,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;qBAC7B,CAAA;AACL,iBAAC,CAAC,CAAC;AACN,aAAA;YAED,OAAO,KAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAA;gBAAE,KAAC,CAAA,aAAA,CAAA,wBAAwB,EAAK,QAAA,CAAA,EAAA,EAAA,OAAO,EACrG,EAAA,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,kBAAkB,EACjC,OAAO,EAAE,OAAO,CAAC,QAAQ,EAC3B,CAAA,CAAA,CAAS,CAAA;AACf,SAAC,CAAC,CAAC;AACP,KAAC,CAAA;IAED,OAAO,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA;AACF,QAAA,qBAAqB,EAAE;AACvB,QAAA,kBAAkB,EAAE;AACpB,QAAA,qBAAqB,EAAE;AACvB,QAAA,wBAAwB,EAAE;AAC1B,QAAA,iBAAiB,EAAE;AACnB,QAAA,2BAA2B,EAAE;AAC7B,QAAA,4BAA4B,EAAE;AAC9B,QAAA,iBAAiB,EAAE;AACnB,QAAA,eAAe,EAAE;AACjB,QAAA,qBAAqB,EAAE;AACvB,QAAA,iBAAiB,EAAE;AACnB,QAAA,oBAAoB,EAAE;AACtB,QAAA,sBAAsB,EAAE;AACxB,QAAA,uBAAuB,EAAE;AACzB,QAAA,eAAe,EAAE;AACjB,QAAA,iBAAiB,EAAE;AACpB,QAAA,KAAA,CAAA,aAAA,CAAC,YAAY,EACT,EAAA,gCAAgC,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU,IAAG,cAAc,CAAC,gCAAgC,GAAG,SAAS,EAC7H,6BAA6B,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,uBAAV,UAAU,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,IAAG,cAAc,CAAC,6BAA6B,GAAG,SAAS,EACpH,gCAAgC,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,aAAV,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAV,UAAU,CAAE,IAAI,0CAAE,UAAU,IAAG,cAAc,CAAC,gCAAgC,GAAG,SAAS,EAC5H,mCAAmC,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,uBAAV,UAAU,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,IAAG,cAAc,CAAC,mCAAmC,GAAG,SAAS,EAChI,4BAA4B,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,aAAV,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAV,UAAU,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,IAAG,cAAc,CAAC,4BAA4B,GAAG,SAAS,EACtH,qCAAqC,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,uBAAV,UAAU,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,oBAAoB,IAAG,cAAc,CAAC,qCAAqC,GAAG,SAAS,EACjJ,sCAAsC,EAAE,gBAAgB,GAAG,cAAc,CAAC,sCAAsC,GAAG,SAAS,EAC5H,4BAA4B,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,uBAAV,UAAU,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,IAAG,cAAc,CAAC,4BAA4B,GAAG,SAAS,EACtH,0BAA0B,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,aAAV,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAV,UAAU,CAAE,IAAI,0CAAE,KAAK,IAAG,cAAc,CAAC,mCAAmC,GAAG,SAAS,EACpH,oCAAoC,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,uBAAV,UAAU,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,IAAG,cAAc,CAAC,oCAAoC,GAAG,SAAS,EAChI,oBAAoB,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,aAAV,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAV,UAAU,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,IAAG,cAAc,CAAC,2BAA2B,GAAG,SAAS,EACxG,mCAAmC,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,uBAAV,UAAU,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,IAAG,cAAc,CAAC,mCAAmC,GAAG,SAAS,EAC7H,iCAAiC,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,aAAV,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAV,UAAU,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,IAAG,cAAc,CAAC,iCAAiC,GAAG,SAAS,EAC3H,0BAA0B,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,IAAG,cAAc,CAAC,mCAAmC,GAAG,SAAS,EACpH,4BAA4B,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,uBAAV,UAAU,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,IAAG,cAAc,CAAC,4BAA4B,GAAG,SAAS,EACjH,iCAAiC,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,IAAI,0CAAE,aAAa,IAAG,cAAc,CAAC,iCAAiC,GAAG,SAAS,EACjI,gCAAgC,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU,IAAG,cAAc,CAAC,gCAAgC,GAAG,SAAS,EAC7H,mCAAmC,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,uBAAV,UAAU,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,IAAG,cAAc,CAAC,mCAAmC,GAAG,SAAS,EAChI,gCAAgC,EAAE,OAAA,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,IAAI,0CAAE,UAAU,IAAG,cAAc,CAAC,gCAAgC,GAAG,SAAS,EAC5H,sBAAsB,EAAE,cAAc,CAAC,aAAa,EACpD,+BAA+B,EAAE,cAAc,CAAC,sBAAsB,EACtE,8BAA8B,EAAE,cAAc,CAAC,qBAAqB,EACpE,0BAA0B,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,aAAV,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAV,UAAU,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,IAAG,cAAc,CAAC,0BAA0B,GAAG,SAAS,EAC3G,oCAAoC,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,IAAI,0CAAE,MAAM,IAAG,cAAc,CAAC,2BAA2B,GAAG,SAAS,EACvH,oBAAoB,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,aAAV,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAV,UAAU,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,IAAG,cAAc,CAAC,2BAA2B,GAAG,SAAS,EACxG,mCAAmC,EAAE,OAAA,UAAU,KAAA,IAAA,IAAV,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAV,UAAU,CAAE,IAAI,0CAAE,KAAK,IAAG,cAAc,CAAC,0BAA0B,GAAG,SAAS,EACpH,0BAA0B,EAAE,CAAA,CAAA,EAAA,GAAA,UAAU,KAAV,IAAA,IAAA,UAAU,uBAAV,UAAU,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,IAAG,cAAc,CAAC,0BAA0B,GAAG,SAAS,EAC3G,gCAAgC,EAAE,cAAc,CAAC,gCAAgC,EACjF,mCAAmC,EAAE,cAAc,CAAC,mCAAmC,EACvF,4BAA4B,EAAE,cAAc,CAAC,4BAA4B,EACzE,qCAAqC,EAAE,cAAc,CAAC,qCAAqC,EAC3F,sCAAsC,EAAE,cAAc,CAAC,sCAAsC,EAC7F,4BAA4B,EAAE,cAAc,CAAC,4BAA4B,EACzE,0BAA0B,EAAE,cAAc,CAAC,0BAA0B,EACrE,oCAAoC,EAAE,cAAc,CAAC,oCAAoC,EACzF,oBAAoB,EAAE,cAAc,CAAC,2BAA2B,EAChE,mCAAmC,EAAE,cAAc,CAAC,mCAAmC,EACvF,iCAAiC,EAAE,cAAc,CAAC,iCAAiC,EACnF,0BAA0B,EAAE,cAAc,CAAC,0BAA0B,EACrE,4BAA4B,EAAE,cAAc,CAAC,4BAA4B,EACzE,iCAAiC,EAAE,cAAc,CAAC,iCAAiC,EACnF,4BAA4B,EAAE,cAAc,CAAC,4BAA4B,EACzE,+BAA+B,EAAE,cAAc,CAAC,+BAA+B,EAC/E,4BAA4B,EAAE,cAAc,CAAC,4BAA4B,EACzE,+BAA+B,EAAE,cAAc,CAAC,+BAA+B,EAC/E,+BAA+B,EAAE,cAAc,CAAC,+BAA+B,EAC/E,MAAM,EAAE,MAAM,EAAA,CAChB,CACH,CAAA;AACP;;ACnwBA,SAAS,kBAAkB,CAAE,QAAgB,EAAA;IACnC,IAAA,EAAA,GAAwCL,UAAQ,CAAM,SAAS,CAAC,EAA/D,eAAe,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,kBAAkB,GAAA,EAAA,CAAA,CAAA,CAA4B,CAAC;IAEvE,IAAM,EAAE,GAAI,MAAc,CAAC,EAAE,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAAC;AAC9D,IAAAH,WAAS,CAAC,YAAA;QACN,IAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,UAAC,CAAM,EAAA;AAC1C,YAAA,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE;gBACnB,kBAAkB,CAAC,CAAC,CAAC,CAAC;AACtB,gBAAA,KAAK,EAAE,CAAC;AACX,aAAA;AACL,SAAC,CAAC,CAAC;QAEH,IAAM,kBAAkB,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAC,CAAM,EAAA,EAAK,OAAA,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAA,EAAA,CAAC,CAAC;AACjF,QAAA,IAAI,kBAAkB,EAAE;YACpB,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;AACvC,YAAA,KAAK,EAAE,CAAC;AACX,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;AACjB,KAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEf,IAAA,OAAO,eAAe,CAAC;AAC3B;;ACpBA,SAAS,2BAA2B,GAAA;;AAChC,IAAA,IAAM,KAAK,GAAGQ,yBAAoB,CAA8B,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACtH,OAAO;AACH,QAAA,sBAAsB,EAAE,CAAA,EAAA,GAAA,KAAK,CAAC,eAAe,0CAAE,OAAO;KACzD,CAAC;AACN;;ACPA,SAAS,mCAAmC,CAAC,QAAgB,EAAE,IAAY,EAAA;IACvE,yBAAyB,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC9D;;ACFA,SAAS,qCAAqC,CAAC,QAAgB,EAAE,IAAY,EAAA;IACzE,yBAAyB,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAChE;;ACFA,SAAS,oCAAoC,CAAC,QAAgB,EAAE,IAAY,EAAA;IACxE,yBAAyB,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAChE;;ACSM,IAAA,WAAW,GAA+B,UAAC,EAAqG,EAAA;AAAnG,IAAA,IAAA,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,KAAK,WAAA,EAAE,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,aAAa,GAAA,EAAA,CAAA,aAAA,CAAA;IAChJ,OAAO,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,oDAAoD,EAAA;QACtE,KAAI,CAAA,aAAA,CAAA,IAAA,EAAA,EAAA,SAAS,EAAC,0CAA0C,EAAA,EAEhD,aAAa,CAAC,GAAG,CAAC,UAAA,YAAY,EAAA;AAC1B,YAAA,OAAO,YAAY,CAAC,OAAO,IAAI,oBAAC,YAAY,EAAA,QAAA,CAAA,EAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,EAAM,EAAA,YAAY,EAAI,CAAA;AACjG,SAAC,CAAC,CAEL;QACL,KAAI,CAAA,aAAA,CAAA,IAAA,EAAA,EAAA,SAAS,EAAC,0CAA0C,EAAA;AACnD,YAAA,CAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,cAAc,EAAK,QAAA,CAAA,EAAA,EAAA,QAAQ,CAAI,CAAA;AACrD,YAAA,CAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,WAAW,EAAK,QAAA,CAAA,EAAA,EAAA,KAAK,CAAI,CAAA;AAC5C,YAAA,CAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,YAAY,EAAK,QAAA,CAAA,EAAA,EAAA,MAAM,CAAI,CAAA;AAC/C,YAAA,CAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,aAAa,EAAK,QAAA,CAAA,EAAA,EAAA,OAAO,CAAI,CAAA;AAClD,YAAA,CAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJ,IAAI,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,UAAU,EAAK,QAAA,CAAA,EAAA,EAAA,IAAI,CAAI,CAAA;AACzC,YAAA,CAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,YAAY,EAAK,QAAA,CAAA,EAAA,EAAA,MAAM,CAAI,CAAA;AAC/C,YAAA,CAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,cAAc,EAAK,QAAA,CAAA,EAAA,EAAA,QAAQ,CAAI,CAAA;AACrD,YAAA,CAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,aAAa,EAAK,QAAA,CAAA,EAAA,EAAA,OAAO,CAAI,CAAA;AAClD,YAAA,CAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,OAAO,KAAI,KAAC,CAAA,aAAA,CAAA,cAAc,EAAK,QAAA,CAAA,EAAA,EAAA,QAAQ,CAAI,CAAA;AACrD,YAAA,CAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,OAAO,KAAI,KAAA,CAAA,aAAA,CAAC,WAAW,EAAM,QAAA,CAAA,EAAA,EAAA,KAAK,CAAI,CAAA,CAC7C,CACH,CAAA;AACV;;AChCM,IAAA,gBAAgB,GAAoC,UAAC,EAK1D,EAAA;QAJG,mBAAmB,GAAA,EAAA,CAAA,mBAAA,EACnB,oBAAoB,GAAA,EAAA,CAAA,oBAAA,EACpB,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,MAAM,GAAA,EAAA,CAAA,MAAA,CAAA;AAEN,IAAA,IAAM,aAAa,GAAG,UAAC,IAAyB,EAAE,KAAa,EAAA;AAC3D,QAAA,QACI,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,IAAA;AACI,YAAA,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAC,OAAO,EAAA,EAAE,KAAK,CAAM;YACjC,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,EAAK,EAAA,QACf,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAI,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAA,EAAM,OAAA,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA,EAAA,EAAA;gBAC9D,KAAO,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EAAA,GAAG,CAAC,KAAK,CAAQ;AACxB,gBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,8BAA8B,EAAC,OAAO,EAAE,UAAC,CAAC,EAAA;wBACrD,CAAC,CAAC,eAAe,EAAE,CAAC;AACpB,wBAAA,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;qBAC/B,EAAA,CAAQ,CACR,EACR,EAAA,CAAC,CACD,EACP;AACN,KAAC,CAAC;IAEF,IAAM,cAAc,GAAG,UAAC,QAAgB,EAAA;QACpC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACrB,KAAC,CAAC;IAEF,IAAM,cAAc,GAAG,UAAC,QAAgB,EAAA;QACpC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACpB,KAAC,CAAC;AAEF,IAAA,QACI,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,2BAA2B,EAAA;QACrC,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,mBAAmB,EAAE,WAAW,CAAC;QACjF,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,IAAI,KAAM,CAAA,aAAA,CAAA,IAAA,EAAA,IAAA,CAAA;AAC3E,QAAA,oBAAoB,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,oBAAoB,EAAE,YAAY,CAAC,CACnF,EACR;AACN;;ACmGO,IAAM,UAAU,GAAiB,YAAM,EAAA,OAAA,gBAAgB,KAAhB,IAAA,IAAA,gBAAgB,KAAhB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,gBAAgB,CAAE,UAAU,MAAG;AACtE,IAAM,gBAAgB,GAAe,YAAM,EAAA,OAAA,gBAAgB,KAAhB,IAAA,IAAA,gBAAgB,KAAhB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,gBAAgB,CAAE,gBAAgB,MAAG;AAC1E,IAAA,iBAAiB,GAA8B,UAAC,OAAO,EAAK,EAAA,OAAA,gBAAgB,KAAhB,IAAA,IAAA,gBAAgB,uBAAhB,gBAAgB,CAAE,iBAAiB,CAAC,OAAO,KAAE;AAC/G,IAAM,iBAAiB,GAAe,YAAM,EAAA,OAAA,gBAAgB,KAAhB,IAAA,IAAA,gBAAgB,KAAhB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,gBAAgB,CAAE,iBAAiB,MAAG;AAClF,IAAM,oBAAoB,GAAmD,UAAC,EAAkD,EAAA;QAAhD,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA;AAAoC,IAAA,OAAA,gBAAgB,CAAC,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AAAxD,EAAyD;AAExL,IAAA,oCAAoC,GAAG,UAAC,QAAgB,EAAE,EAAc,EAAK,EAAA,OAAA,gBAAgB,CAAC,+BAA+B,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAhF,GAAiF;AAC9J,IAAA,mCAAmC,GAAG,UAAC,QAAgB,EAAE,EAAc,EAAK,EAAA,OAAA,gBAAgB,CAAC,+BAA+B,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAhF,GAAiF;AAC7J,IAAA,kCAAkC,GAAG,UAAC,QAAgB,EAAE,EAAc,EAAK,EAAA,OAAA,gBAAgB,CAAC,+BAA+B,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAA9E;;;;"}
|