commit 3880a265eb1ccda4fc98e38539e13b6c6c40f328 Author: Torsten Schulz Date: Wed Jul 17 22:24:56 2024 +0200 Initial commit diff --git a/backend/app.js b/backend/app.js new file mode 100644 index 0000000..16cf3a6 --- /dev/null +++ b/backend/app.js @@ -0,0 +1,20 @@ +import express from 'express'; +import path from 'path'; +import { fileURLToPath } from 'url'; +import chatRouter from './routers/chatRouter.js'; +import bodyParser from 'body-parser'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +const app = express(); + +app.use(bodyParser.json()); +app.use('/api/chat', chatRouter); +app.use('/images', express.static(path.join(__dirname, '../frontend/public/images'))); + +app.get('*', (req, res) => { + res.sendFile(path.join(__dirname, '../frontend/dist/index.html')); +}); + +export default app; diff --git a/backend/controllers/chatController.js b/backend/controllers/chatController.js new file mode 100644 index 0000000..eb7e1a4 --- /dev/null +++ b/backend/controllers/chatController.js @@ -0,0 +1,43 @@ +import { getMessages as getMessagesService, findMatch, registerUser as registerUserService, addMessage, endChat } from '../services/chatService.js'; + +export const getMessages = (req, res) => { + const { to, from } = req.body; + const messages = getMessagesService(to, from); + res.status(200).json(messages); +}; + +export const findRandomChatMatch = (req, res) => { + const { genders, age, id } = req.body; + const match = findMatch(genders, age, id); + if (match) { + res.status(200).json({ status: 'matched', user: match }); + } else { + res.status(200).json({ status: 'waiting' }); + } +}; + +export const registerUser = (req, res) => { + const { gender, age } = req.body; + const userId = registerUserService(gender, age); + res.status(200).json({ id: userId }); +}; + +export const sendMessage = (req, res) => { + const from = req.body.from; + const to = req.body.to; + const text = req.body.text; + const message = addMessage(from, to, text); + res.status(200).json(message); +}; + +export const removeUser = (req, res) => { + const { id } = req.body; + removeUserService(id); + res.sendStatus(200); +}; + +export const stopChat = (req, res) => { + const { id } = req.body; + endChat(id); + res.sendStatus(200); +} \ No newline at end of file diff --git a/backend/dist/index.html b/backend/dist/index.html new file mode 100644 index 0000000..09ec45e --- /dev/null +++ b/backend/dist/index.html @@ -0,0 +1 @@ +YourPart
\ No newline at end of file diff --git a/backend/dist/js/app.989c1f98.js b/backend/dist/js/app.989c1f98.js new file mode 100644 index 0000000..90891c7 --- /dev/null +++ b/backend/dist/js/app.989c1f98.js @@ -0,0 +1,2 @@ +(()=>{"use strict";var e={855:(e,t,n)=>{var s=n(756),r=n(641),o=n(33),a=n(751);function i(e,t,n,s,i,u){return(0,r.uX)(),(0,r.CE)("div",null,[((0,r.uX)(!0),(0,r.CE)(r.FK,null,(0,r.pI)(i.messages,(e=>((0,r.uX)(),(0,r.CE)("div",{key:e.id},(0,o.v_)(e.text),1)))),128)),(0,r.bo)((0,r.Lk)("input",{"onUpdate:modelValue":t[0]||(t[0]=e=>i.newMessage=e),onKeyup:t[1]||(t[1]=(0,a.jR)(((...e)=>u.sendMessage&&u.sendMessage(...e)),["enter"]))},null,544),[[a.Jo,i.newMessage]])])}var u=n(373);const l={data(){return{socket:null,messages:[],newMessage:""}},created(){this.socket=(0,u.Ay)("http://localhost:3001"),this.socket.on("newMessage",(e=>{this.messages.push(e)})),fetch("/api/chat/messages").then((e=>e.json())).then((e=>{this.messages=e}))},methods:{sendMessage(){if(""!==this.newMessage.trim()){const e={id:Date.now(),text:this.newMessage};this.socket.emit("newMessage",e),this.newMessage=""}}}};var d=n(262);const c=(0,d.A)(l,[["render",i]]),f=c;s["default"].config.productionTip=!1,new s["default"]({render:e=>e(f)}).$mount("#app")}},t={};function n(s){var r=t[s];if(void 0!==r)return r.exports;var o=t[s]={exports:{}};return e[s](o,o.exports,n),o.exports}n.m=e,(()=>{var e=[];n.O=(t,s,r,o)=>{if(!s){var a=1/0;for(d=0;d=o)&&Object.keys(n.O).every((e=>n.O[e](s[u])))?s.splice(u--,1):(i=!1,o0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[s,r,o]}})(),(()=>{n.d=(e,t)=>{for(var s in t)n.o(t,s)&&!n.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})}})(),(()=>{n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()})(),(()=>{n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{n.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{var e={524:0};n.O.j=t=>0===e[t];var t=(t,s)=>{var r,o,[a,i,u]=s,l=0;if(a.some((t=>0!==e[t]))){for(r in i)n.o(i,r)&&(n.m[r]=i[r]);if(u)var d=u(n)}for(t&&t(s);ln(855)));s=n.O(s)})(); +//# sourceMappingURL=app.989c1f98.js.map \ No newline at end of file diff --git a/backend/dist/js/app.989c1f98.js.map b/backend/dist/js/app.989c1f98.js.map new file mode 100644 index 0000000..5c59ad8 --- /dev/null +++ b/backend/dist/js/app.989c1f98.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/app.989c1f98.js","mappings":"yHACI,QAKM,c,aAJJ,QAEM,WAJZ,QAE6B,EAAAA,UAAXC,K,WAAZ,QAEM,OAF4BC,IAAKD,EAAQE,K,QAC1CF,EAAQG,MAAI,M,gBAEjB,QAAyD,SAL/D,qCAKsB,EAAU,cAAG,QAAK,aALxC,iBAKgD,EAAAC,aAAA,EAAAA,eAAA,IAAW,a,iBAArC,EAAAC,e,cAOpB,SACE,IAAAC,GACE,MAAO,CACLC,OAAQ,KACRR,SAAU,GACVM,WAAY,GAEhB,EACA,OAAAG,GACEC,KAAKF,QAAS,QAAG,yBAEjBE,KAAKF,OAAOG,GAAG,cAAeV,IAC5BS,KAAKV,SAASY,KAAKX,EAAQ,IAG7BY,MAAM,sBACHC,MAAKC,GAAYA,EAASC,SAC1BF,MAAKP,IACJG,KAAKV,SAAWO,CAAI,GAE1B,EACAU,QAAS,CACP,WAAAZ,GACE,GAA+B,KAA3BK,KAAKJ,WAAWY,OAAe,CACjC,MAAMjB,EAAU,CACdE,GAAIgB,KAAKC,MACThB,KAAMM,KAAKJ,YAEbI,KAAKF,OAAOa,KAAK,aAAcpB,GAC/BS,KAAKJ,WAAa,EACpB,CACF,I,aCtCN,MAAMgB,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,ICJA,aAAIC,OAAOC,eAAgB,EAE3B,IAAI,aAAI,CACNF,OAAQG,GAAKA,EAAEC,KACdC,OAAO,O,GCNNC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIC,EAASN,EAAyBE,GAAY,CAGjDG,QAAS,CAAC,GAOX,OAHAE,EAAoBL,GAAUI,EAAQA,EAAOD,QAASJ,GAG/CK,EAAOD,OACf,CAGAJ,EAAoBO,EAAID,E,MCzBxB,IAAIE,EAAW,GACfR,EAAoBS,EAAI,CAACC,EAAQC,EAAUC,EAAIC,KAC9C,IAAGF,EAAH,CAMA,IAAIG,EAAeC,IACnB,IAASC,EAAI,EAAGA,EAAIR,EAASS,OAAQD,IAAK,CAGzC,IAFA,IAAKL,EAAUC,EAAIC,GAAYL,EAASQ,GACpCE,GAAY,EACPC,EAAI,EAAGA,EAAIR,EAASM,OAAQE,MACpB,EAAXN,GAAsBC,GAAgBD,IAAaO,OAAOC,KAAKrB,EAAoBS,GAAGa,OAAOlD,GAAS4B,EAAoBS,EAAErC,GAAKuC,EAASQ,MAC9IR,EAASY,OAAOJ,IAAK,IAErBD,GAAY,EACTL,EAAWC,IAAcA,EAAeD,IAG7C,GAAGK,EAAW,CACbV,EAASe,OAAOP,IAAK,GACrB,IAAIQ,EAAIZ,SACET,IAANqB,IAAiBd,EAASc,EAC/B,CACD,CACA,OAAOd,CAnBP,CAJCG,EAAWA,GAAY,EACvB,IAAI,IAAIG,EAAIR,EAASS,OAAQD,EAAI,GAAKR,EAASQ,EAAI,GAAG,GAAKH,EAAUG,IAAKR,EAASQ,GAAKR,EAASQ,EAAI,GACrGR,EAASQ,GAAK,CAACL,EAAUC,EAAIC,EAqBjB,C,WCzBdb,EAAoByB,EAAI,CAACrB,EAASsB,KACjC,IAAI,IAAItD,KAAOsD,EACX1B,EAAoB2B,EAAED,EAAYtD,KAAS4B,EAAoB2B,EAAEvB,EAAShC,IAC5EgD,OAAOQ,eAAexB,EAAShC,EAAK,CAAEyD,YAAY,EAAMC,IAAKJ,EAAWtD,IAE1E,C,WCND4B,EAAoB+B,EAAI,WACvB,GAA0B,kBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOpD,MAAQ,IAAIqD,SAAS,cAAb,EAChB,CAAE,MAAOC,GACR,GAAsB,kBAAXC,OAAqB,OAAOA,MACxC,CACA,CAPuB,E,WCAxBnC,EAAoB2B,EAAI,CAACS,EAAKC,IAAUjB,OAAOkB,UAAUC,eAAeC,KAAKJ,EAAKC,E,WCClFrC,EAAoBwB,EAAKpB,IACH,qBAAXqC,QAA0BA,OAAOC,aAC1CtB,OAAOQ,eAAexB,EAASqC,OAAOC,YAAa,CAAEC,MAAO,WAE7DvB,OAAOQ,eAAexB,EAAS,aAAc,CAAEuC,OAAO,GAAO,C,WCA9D,IAAIC,EAAkB,CACrB,IAAK,GAaN5C,EAAoBS,EAAEU,EAAK0B,GAA0C,IAA7BD,EAAgBC,GAGxD,IAAIC,EAAuB,CAACC,EAA4BtE,KACvD,IAGIwB,EAAU4C,GAHTlC,EAAUqC,EAAaC,GAAWxE,EAGhBuC,EAAI,EAC3B,GAAGL,EAASuC,MAAM7E,GAAgC,IAAxBuE,EAAgBvE,KAAa,CACtD,IAAI4B,KAAY+C,EACZhD,EAAoB2B,EAAEqB,EAAa/C,KACrCD,EAAoBO,EAAEN,GAAY+C,EAAY/C,IAGhD,GAAGgD,EAAS,IAAIvC,EAASuC,EAAQjD,EAClC,CAEA,IADG+C,GAA4BA,EAA2BtE,GACrDuC,EAAIL,EAASM,OAAQD,IACzB6B,EAAUlC,EAASK,GAChBhB,EAAoB2B,EAAEiB,EAAiBC,IAAYD,EAAgBC,IACrED,EAAgBC,GAAS,KAE1BD,EAAgBC,GAAW,EAE5B,OAAO7C,EAAoBS,EAAEC,EAAO,EAGjCyC,EAAqBC,KAAK,wBAA0BA,KAAK,yBAA2B,GACxFD,EAAmBE,QAAQP,EAAqBQ,KAAK,KAAM,IAC3DH,EAAmBrE,KAAOgE,EAAqBQ,KAAK,KAAMH,EAAmBrE,KAAKwE,KAAKH,G,KC7CvF,IAAII,EAAsBvD,EAAoBS,OAAEN,EAAW,CAAC,MAAM,IAAOH,EAAoB,OAC7FuD,EAAsBvD,EAAoBS,EAAE8C,E","sources":["webpack://frontend/./src/App.vue","webpack://frontend/./src/App.vue?7ccd","webpack://frontend/./src/main.js","webpack://frontend/webpack/bootstrap","webpack://frontend/webpack/runtime/chunk loaded","webpack://frontend/webpack/runtime/define property getters","webpack://frontend/webpack/runtime/global","webpack://frontend/webpack/runtime/hasOwnProperty shorthand","webpack://frontend/webpack/runtime/make namespace object","webpack://frontend/webpack/runtime/jsonp chunk loading","webpack://frontend/webpack/startup"],"sourcesContent":["\n \n \n ","import { render } from \"./App.vue?vue&type=template&id=9260732e\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import Vue from 'vue';\nimport App from './App.vue';\n\nVue.config.productionTip = false;\n\nnew Vue({\n render: h => h(App),\n}).$mount('#app');\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkfrontend\"] = self[\"webpackChunkfrontend\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], () => (__webpack_require__(855)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["messages","message","key","id","text","sendMessage","newMessage","data","socket","created","this","on","push","fetch","then","response","json","methods","trim","Date","now","emit","__exports__","render","config","productionTip","h","App","$mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","splice","r","d","definition","o","defineProperty","enumerable","get","g","globalThis","Function","e","window","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","forEach","bind","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/backend/dist/js/chunk-vendors.e0723df7.js b/backend/dist/js/chunk-vendors.e0723df7.js new file mode 100644 index 0000000..fbef07f --- /dev/null +++ b/backend/dist/js/chunk-vendors.e0723df7.js @@ -0,0 +1,23 @@ +"use strict";(self["webpackChunkfrontend"]=self["webpackChunkfrontend"]||[]).push([[504],{953:(e,t,n)=>{n.d(t,{C4:()=>m,EW:()=>Se,Gc:()=>ye,IG:()=>Ce,Kh:()=>de,Pr:()=>$e,X2:()=>l,bl:()=>v,fE:()=>_e,g8:()=>ve,hZ:()=>A,i9:()=>Re,ju:()=>we,o5:()=>a,u4:()=>O,ux:()=>ke,yC:()=>i});var s=n(33); +/** +* @vue/reactivity v3.4.31 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let r,o;class i{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=r,!e&&r&&(this.index=(r.scopes||(r.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=r;try{return r=this,e()}finally{r=t}}else 0}on(){r=this}off(){r=this.parent}stop(e){if(this._active){let t,n;for(t=0,n=this.effects.length;t=4))break}1===this._dirtyLevel&&(this._dirtyLevel=0),v()}return this._dirtyLevel>=4}set dirty(e){this._dirtyLevel=e?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let e=d,t=o;try{return d=!0,o=this,this._runnings++,h(this),this.fn()}finally{p(this),this._runnings--,o=t,d=e}}stop(){this.active&&(h(this),p(this),this.onStop&&this.onStop(),this.active=!1)}}function u(e){return e.value}function h(e){e._trackId++,e._depsLength=0}function p(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},T=new WeakMap,x=Symbol(""),S=Symbol("");function O(e,t,n){if(d&&o){let t=T.get(e);t||T.set(e,t=new Map);let s=t.get(n);s||t.set(n,s=E((()=>t.delete(n)))),w(o,s,void 0)}}function A(e,t,n,r,o,i){const c=T.get(e);if(!c)return;let a=[];if("clear"===t)a=[...c.values()];else if("length"===n&&(0,s.cy)(e)){const e=Number(r);c.forEach(((t,n)=>{("length"===n||!(0,s.Bm)(n)&&n>=e)&&a.push(t)}))}else switch(void 0!==n&&a.push(c.get(n)),t){case"add":(0,s.cy)(e)?(0,s.yI)(n)&&a.push(c.get("length")):(a.push(c.get(x)),(0,s.CE)(e)&&a.push(c.get(S)));break;case"delete":(0,s.cy)(e)||(a.push(c.get(x)),(0,s.CE)(e)&&a.push(c.get(S)));break;case"set":(0,s.CE)(e)&&a.push(c.get(x));break}b();for(const s of a)s&&C(s,4,void 0);_()}const R=(0,s.pD)("__proto__,__v_isRef,__isVue"),L=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(s.Bm)),B=$();function $(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=ke(this);for(let t=0,r=this.length;t{e[t]=function(...e){m(),b();const n=ke(this)[t].apply(this,e);return _(),v(),n}})),e}function N(e){(0,s.Bm)(e)||(e=String(e));const t=ke(this);return O(t,"has",e),t.hasOwnProperty(e)}class F{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){const r=this._isReadonly,o=this._isShallow;if("__v_isReactive"===t)return!r;if("__v_isReadonly"===t)return r;if("__v_isShallow"===t)return o;if("__v_raw"===t)return n===(r?o?he:ue:o?le:ae).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const i=(0,s.cy)(e);if(!r){if(i&&(0,s.$3)(B,t))return Reflect.get(B,t,n);if("hasOwnProperty"===t)return N}const c=Reflect.get(e,t,n);return((0,s.Bm)(t)?L.has(t):R(t))?c:(r||O(e,"get",t),o?c:Re(c)?i&&(0,s.yI)(t)?c:c.value:(0,s.Gv)(c)?r?ge(c):de(c):c)}}class M extends F{constructor(e=!1){super(!1,e)}set(e,t,n,r){let o=e[t];if(!this._isShallow){const t=be(o);if(_e(n)||be(n)||(o=ke(o),n=ke(n)),!(0,s.cy)(e)&&Re(o)&&!Re(n))return!t&&(o.value=n,!0)}const i=(0,s.cy)(e)&&(0,s.yI)(t)?Number(t)e,q=e=>Reflect.getPrototypeOf(e);function V(e,t,n=!1,r=!1){e=e["__v_raw"];const o=ke(e),i=ke(t);n||((0,s.$H)(t,i)&&O(o,"get",t),O(o,"get",i));const{has:c}=q(o),a=r?D:n?Te:Ee;return c.call(o,t)?a(e.get(t)):c.call(o,i)?a(e.get(i)):void(e!==o&&e.get(t))}function H(e,t=!1){const n=this["__v_raw"],r=ke(n),o=ke(e);return t||((0,s.$H)(e,o)&&O(r,"has",e),O(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function K(e,t=!1){return e=e["__v_raw"],!t&&O(ke(e),"iterate",x),Reflect.get(e,"size",e)}function W(e){e=ke(e);const t=ke(this),n=q(t),s=n.has.call(t,e);return s||(t.add(e),A(t,"add",e,e)),this}function Z(e,t){t=ke(t);const n=ke(this),{has:r,get:o}=q(n);let i=r.call(n,e);i||(e=ke(e),i=r.call(n,e));const c=o.call(n,e);return n.set(e,t),i?(0,s.$H)(t,c)&&A(n,"set",e,t,c):A(n,"add",e,t),this}function X(e){const t=ke(this),{has:n,get:s}=q(t);let r=n.call(t,e);r||(e=ke(e),r=n.call(t,e));const o=s?s.call(t,e):void 0,i=t.delete(e);return r&&A(t,"delete",e,void 0,o),i}function G(){const e=ke(this),t=0!==e.size,n=void 0,s=e.clear();return t&&A(e,"clear",void 0,void 0,n),s}function z(e,t){return function(n,s){const r=this,o=r["__v_raw"],i=ke(o),c=t?D:e?Te:Ee;return!e&&O(i,"iterate",x),o.forEach(((e,t)=>n.call(s,c(e),c(t),r)))}}function Y(e,t,n){return function(...r){const o=this["__v_raw"],i=ke(o),c=(0,s.CE)(i),a="entries"===e||e===Symbol.iterator&&c,l="keys"===e&&c,u=o[e](...r),h=n?D:t?Te:Ee;return!t&&O(i,"iterate",l?S:x),{next(){const{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:a?[h(e[0]),h(e[1])]:h(e),done:t}},[Symbol.iterator](){return this}}}}function J(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function Q(){const e={get(e){return V(this,e)},get size(){return K(this)},has:H,add:W,set:Z,delete:X,clear:G,forEach:z(!1,!1)},t={get(e){return V(this,e,!1,!0)},get size(){return K(this)},has:H,add:W,set:Z,delete:X,clear:G,forEach:z(!1,!0)},n={get(e){return V(this,e,!0)},get size(){return K(this,!0)},has(e){return H.call(this,e,!0)},add:J("add"),set:J("set"),delete:J("delete"),clear:J("clear"),forEach:z(!0,!1)},s={get(e){return V(this,e,!0,!0)},get size(){return K(this,!0)},has(e){return H.call(this,e,!0)},add:J("add"),set:J("set"),delete:J("delete"),clear:J("clear"),forEach:z(!0,!0)},r=["keys","values","entries",Symbol.iterator];return r.forEach((r=>{e[r]=Y(r,!1,!1),n[r]=Y(r,!0,!1),t[r]=Y(r,!1,!0),s[r]=Y(r,!0,!0)})),[e,n,t,s]}const[ee,te,ne,se]=Q();function re(e,t){const n=t?e?se:ne:e?te:ee;return(t,r,o)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?t:Reflect.get((0,s.$3)(n,r)&&r in t?n:t,r,o)}const oe={get:re(!1,!1)},ie={get:re(!1,!0)},ce={get:re(!0,!1)};const ae=new WeakMap,le=new WeakMap,ue=new WeakMap,he=new WeakMap;function pe(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function fe(e){return e["__v_skip"]||!Object.isExtensible(e)?0:pe((0,s.Zf)(e))}function de(e){return be(e)?e:me(e,!1,j,oe,ae)}function ye(e){return me(e,!1,U,ie,le)}function ge(e){return me(e,!0,I,ce,ue)}function me(e,t,n,r,o){if(!(0,s.Gv)(e))return e;if(e["__v_raw"]&&(!t||!e["__v_isReactive"]))return e;const i=o.get(e);if(i)return i;const c=fe(e);if(0===c)return e;const a=new Proxy(e,2===c?r:n);return o.set(e,a),a}function ve(e){return be(e)?ve(e["__v_raw"]):!(!e||!e["__v_isReactive"])}function be(e){return!(!e||!e["__v_isReadonly"])}function _e(e){return!(!e||!e["__v_isShallow"])}function we(e){return!!e&&!!e["__v_raw"]}function ke(e){const t=e&&e["__v_raw"];return t?ke(t):e}function Ce(e){return Object.isExtensible(e)&&(0,s.yQ)(e,"__v_skip",!0),e}const Ee=e=>(0,s.Gv)(e)?de(e):e,Te=e=>(0,s.Gv)(e)?ge(e):e;class xe{constructor(e,t,n,s){this.getter=e,this._setter=t,this.dep=void 0,this.__v_isRef=!0,this["__v_isReadonly"]=!1,this.effect=new l((()=>e(this._value)),(()=>Ae(this,2===this.effect._dirtyLevel?2:3))),this.effect.computed=this,this.effect.active=this._cacheable=!s,this["__v_isReadonly"]=n}get value(){const e=ke(this);return e._cacheable&&!e.effect.dirty||!(0,s.$H)(e._value,e._value=e.effect.run())||Ae(e,4),Oe(e),e.effect._dirtyLevel>=2&&Ae(e,2),e._value}set value(e){this._setter(e)}get _dirty(){return this.effect.dirty}set _dirty(e){this.effect.dirty=e}}function Se(e,t,n=!1){let r,o;const i=(0,s.Tn)(e);i?(r=e,o=s.tE):(r=e.get,o=e.set);const c=new xe(r,o,i||!o,n);return c}function Oe(e){var t;d&&o&&(e=ke(e),w(o,null!=(t=e.dep)?t:e.dep=E((()=>e.dep=void 0),e instanceof xe?e:void 0),void 0))}function Ae(e,t=4,n,s){e=ke(e);const r=e.dep;r&&C(r,t,void 0)}function Re(e){return!(!e||!0!==e.__v_isRef)}function Le(e){return Re(e)?e.value:e}const Be={get:(e,t,n)=>Le(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return Re(r)&&!Re(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function $e(e){return ve(e)?e:new Proxy(e,Be)}},641:(e,t,n)=>{n.d(t,{$u:()=>z,CE:()=>Jt,Df:()=>It,FK:()=>Dt,Gy:()=>Ot,K9:()=>tt,Lk:()=>sn,MZ:()=>jt,OW:()=>Ft,QP:()=>Rt,bF:()=>rn,bo:()=>se,dY:()=>v,h:()=>jn,nI:()=>bn,pI:()=>oe,pR:()=>$t,qL:()=>i,uX:()=>Zt});var s=n(953),r=n(33);function o(e,t,n,s){try{return s?e(...s):e()}catch(r){c(r,t,n)}}function i(e,t,n,s){if((0,r.Tn)(e)){const i=o(e,t,n,s);return i&&(0,r.yL)(i)&&i.catch((e=>{c(e,t,n)})),i}if((0,r.cy)(e)){const r=[];for(let o=0;o>>1,r=h[s],o=x(r);op&&h.splice(t,1)}function C(e){(0,r.cy)(e)?f.push(...e):d&&d.includes(e,e.allowRecurse?y+1:y)||f.push(e),w()}function E(e,t,n=(l?p+1:0)){for(0;nx(e)-x(t)));if(f.length=0,d)return void d.push(...e);for(d=e,y=0;ynull==e.id?1/0:e.id,S=(e,t)=>{const n=x(e)-x(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function O(e){u=!1,l=!0,h.sort(S);r.tE;try{for(p=0;p(0,r.Kg)(e)?e.trim():e))),t&&(o=n.map(r.bB))}let l;let u=s[l=(0,r.rU)(t)]||s[l=(0,r.rU)((0,r.PT)(t))];!u&&c&&(u=s[l=(0,r.rU)((0,r.Tg)(t))]),u&&i(u,e,6,o);const h=s[l+"Once"];if(h){if(e.emitted){if(e.emitted[l])return}else e.emitted={};e.emitted[l]=!0,i(h,e,6,o)}}function R(e,t,n=!1){const s=t.emitsCache,o=s.get(e);if(void 0!==o)return o;const i=e.emits;let c={},a=!1;if(!(0,r.Tn)(e)){const s=e=>{const n=R(e,t,!0);n&&(a=!0,(0,r.X$)(c,n))};!n&&t.mixins.length&&t.mixins.forEach(s),e.extends&&s(e.extends),e.mixins&&e.mixins.forEach(s)}return i||a?((0,r.cy)(i)?i.forEach((e=>c[e]=null)):(0,r.X$)(c,i),(0,r.Gv)(e)&&s.set(e,c),c):((0,r.Gv)(e)&&s.set(e,null),null)}function L(e,t){return!(!e||!(0,r.Mp)(t))&&(t=t.slice(2).replace(/Once$/,""),(0,r.$3)(e,t[0].toLowerCase()+t.slice(1))||(0,r.$3)(e,(0,r.Tg)(t))||(0,r.$3)(e,t))}let B=null,$=null;function N(e){const t=B;return B=e,$=e&&e.type.__scopeId||null,t}function F(e,t=B,n){if(!t)return e;if(e._n)return e;const s=(...n)=>{s._d&&zt(-1);const r=N(t);let o;try{o=e(...n)}finally{N(r),s._d&&zt(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function M(e){const{type:t,vnode:n,proxy:s,withProxy:o,propsOptions:[i],slots:a,attrs:l,emit:u,render:h,renderCache:p,props:f,data:d,setupState:y,ctx:g,inheritAttrs:m}=e,v=N(e);let b,_;try{if(4&n.shapeFlag){const e=o||s,t=e;b=un(h.call(t,e,p,f,y,d,g)),_=l}else{const e=t;0,b=un(e.length>1?e(f,{attrs:l,slots:a,emit:u}):e(f,null)),_=t.props?l:P(l)}}catch(k){Kt.length=0,c(k,e,1),b=rn(Vt)}let w=b;if(_&&!1!==m){const e=Object.keys(_),{shapeFlag:t}=w;e.length&&7&t&&(i&&e.some(r.CP)&&(_=j(_,i)),w=an(w,_,!1,!0))}return n.dirs&&(w=an(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(n.dirs):n.dirs),n.transition&&(w.transition=n.transition),b=w,N(v),b}const P=e=>{let t;for(const n in e)("class"===n||"style"===n||(0,r.Mp)(n))&&((t||(t={}))[n]=e[n]);return t},j=(e,t)=>{const n={};for(const s in e)(0,r.CP)(s)&&s.slice(9)in t||(n[s]=e[s]);return n};function I(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:c,patchFlag:a}=t,l=o.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&a>=0))return!(!r&&!c||c&&c.$stable)||s!==i&&(s?!i||U(s,i,l):!!i);if(1024&a)return!0;if(16&a)return s?U(s,i,l):!!i;if(8&a){const e=t.dynamicProps;for(let t=0;te.__isSuspense;function H(e,t){t&&t.pendingBranch?(0,r.cy)(e)?t.effects.push(...e):t.effects.push(e):C(e)}function K(e,t,n=vn,r=!1){if(n){const o=n[e]||(n[e]=[]),c=t.__weh||(t.__weh=(...r)=>{(0,s.C4)();const o=kn(n),c=i(t,n,e,r);return o(),(0,s.bl)(),c});return r?o.unshift(c):o.push(c),c}}const W=e=>(t,n=vn)=>{Sn&&"sp"!==e||K(e,((...e)=>t(...e)),n)},Z=W("bm"),X=W("m"),G=W("bu"),z=W("u"),Y=W("bum"),J=W("um"),Q=W("sp"),ee=W("rtg"),te=W("rtc");function ne(e,t=vn){K("ec",e,t)}function se(e,t){if(null===B)return e;const n=Nn(B),s=e.dirs||(e.dirs=[]);for(let o=0;ot(e,n,void 0,i&&i[n])));else{const n=Object.keys(e);o=new Array(n.length);for(let s=0,r=n.length;s!!e.type.__asyncLoader +/*! #__NO_SIDE_EFFECTS__ */;const ce=e=>e?En(e)?Nn(e):ce(e.parent):null,ae=(0,r.X$)(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ce(e.parent),$root:e=>ce(e.root),$emit:e=>e.emit,$options:e=>me(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,_(e.update)}),$nextTick:e=>e.n||(e.n=v.bind(e.proxy)),$watch:e=>yt.bind(e)}),le=(e,t)=>e!==r.MZ&&!e.__isScriptSetup&&(0,r.$3)(e,t),ue={get({_:e},t){if("__v_skip"===t)return!0;const{ctx:n,setupState:o,data:i,props:c,accessCache:a,type:l,appContext:u}=e;let h;if("$"!==t[0]){const s=a[t];if(void 0!==s)switch(s){case 1:return o[t];case 2:return i[t];case 4:return n[t];case 3:return c[t]}else{if(le(o,t))return a[t]=1,o[t];if(i!==r.MZ&&(0,r.$3)(i,t))return a[t]=2,i[t];if((h=e.propsOptions[0])&&(0,r.$3)(h,t))return a[t]=3,c[t];if(n!==r.MZ&&(0,r.$3)(n,t))return a[t]=4,n[t];pe&&(a[t]=0)}}const p=ae[t];let f,d;return p?("$attrs"===t&&(0,s.u4)(e.attrs,"get",""),p(e)):(f=l.__cssModules)&&(f=f[t])?f:n!==r.MZ&&(0,r.$3)(n,t)?(a[t]=4,n[t]):(d=u.config.globalProperties,(0,r.$3)(d,t)?d[t]:void 0)},set({_:e},t,n){const{data:s,setupState:o,ctx:i}=e;return le(o,t)?(o[t]=n,!0):s!==r.MZ&&(0,r.$3)(s,t)?(s[t]=n,!0):!(0,r.$3)(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(i[t]=n,!0))},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:o,propsOptions:i}},c){let a;return!!n[c]||e!==r.MZ&&(0,r.$3)(e,c)||le(t,c)||(a=i[0])&&(0,r.$3)(a,c)||(0,r.$3)(s,c)||(0,r.$3)(ae,c)||(0,r.$3)(o.config.globalProperties,c)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:(0,r.$3)(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function he(e){return(0,r.cy)(e)?e.reduce(((e,t)=>(e[t]=null,e)),{}):e}let pe=!0;function fe(e){const t=me(e),n=e.proxy,o=e.ctx;pe=!1,t.beforeCreate&&ye(t.beforeCreate,e,"bc");const{data:i,computed:c,methods:a,watch:l,provide:u,inject:h,created:p,beforeMount:f,mounted:d,beforeUpdate:y,updated:g,activated:m,deactivated:v,beforeDestroy:b,beforeUnmount:_,destroyed:w,unmounted:k,render:C,renderTracked:E,renderTriggered:T,errorCaptured:x,serverPrefetch:S,expose:O,inheritAttrs:A,components:R,directives:L,filters:B}=t,$=null;if(h&&de(h,o,$),a)for(const s in a){const e=a[s];(0,r.Tn)(e)&&(o[s]=e.bind(n))}if(i){0;const t=i.call(n,n);0,(0,r.Gv)(t)&&(e.data=(0,s.Kh)(t))}if(pe=!0,c)for(const s in c){const e=c[s],t=(0,r.Tn)(e)?e.bind(n,n):(0,r.Tn)(e.get)?e.get.bind(n,n):r.tE;0;const i=!(0,r.Tn)(e)&&(0,r.Tn)(e.set)?e.set.bind(n):r.tE,a=Pn({get:t,set:i});Object.defineProperty(o,s,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(l)for(const s in l)ge(l[s],o,n,s);if(u){const e=(0,r.Tn)(u)?u.call(n):u;Reflect.ownKeys(e).forEach((t=>{Le(t,e[t])}))}function N(e,t){(0,r.cy)(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(p&&ye(p,e,"c"),N(Z,f),N(X,d),N(G,y),N(z,g),N(_t,m),N(wt,v),N(ne,x),N(te,E),N(ee,T),N(Y,_),N(J,k),N(Q,S),(0,r.cy)(O))if(O.length){const t=e.exposed||(e.exposed={});O.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});C&&e.render===r.tE&&(e.render=C),null!=A&&(e.inheritAttrs=A),R&&(e.components=R),L&&(e.directives=L)}function de(e,t,n=r.tE){(0,r.cy)(e)&&(e=ke(e));for(const o in e){const n=e[o];let i;i=(0,r.Gv)(n)?"default"in n?Be(n.from||o,n.default,!0):Be(n.from||o):Be(n),(0,s.i9)(i)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[o]=i}}function ye(e,t,n){i((0,r.cy)(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function ge(e,t,n,s){const o=s.includes(".")?gt(n,s):()=>n[s];if((0,r.Kg)(e)){const n=t[e];(0,r.Tn)(n)&&ft(o,n)}else if((0,r.Tn)(e))ft(o,e.bind(n));else if((0,r.Gv)(e))if((0,r.cy)(e))e.forEach((e=>ge(e,t,n,s)));else{const s=(0,r.Tn)(e.handler)?e.handler.bind(n):t[e.handler];(0,r.Tn)(s)&&ft(o,s,e)}else 0}function me(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:o,optionsCache:i,config:{optionMergeStrategies:c}}=e.appContext,a=i.get(t);let l;return a?l=a:o.length||n||s?(l={},o.length&&o.forEach((e=>ve(l,e,c,!0))),ve(l,t,c)):l=t,(0,r.Gv)(t)&&i.set(t,l),l}function ve(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&ve(e,o,n,!0),r&&r.forEach((t=>ve(e,t,n,!0)));for(const i in t)if(s&&"expose"===i);else{const s=be[i]||n&&n[i];e[i]=s?s(e[i],t[i]):t[i]}return e}const be={data:_e,props:Te,emits:Te,methods:Ee,computed:Ee,beforeCreate:Ce,created:Ce,beforeMount:Ce,mounted:Ce,beforeUpdate:Ce,updated:Ce,beforeDestroy:Ce,beforeUnmount:Ce,destroyed:Ce,unmounted:Ce,activated:Ce,deactivated:Ce,errorCaptured:Ce,serverPrefetch:Ce,components:Ee,directives:Ee,watch:xe,provide:_e,inject:we};function _e(e,t){return t?e?function(){return(0,r.X$)((0,r.Tn)(e)?e.call(this,this):e,(0,r.Tn)(t)?t.call(this,this):t)}:t:e}function we(e,t){return Ee(ke(e),ke(t))}function ke(e){if((0,r.cy)(e)){const t={};for(let n=0;n1)return n&&(0,r.Tn)(t)?t.call(s&&s.proxy):t}else 0}const $e={},Ne=()=>Object.create($e),Fe=e=>Object.getPrototypeOf(e)===$e;function Me(e,t,n,r=!1){const o={},i=Ne();e.propsDefaults=Object.create(null),je(e,t,o,i);for(const s in e.propsOptions[0])s in o||(o[s]=void 0);n?e.props=r?o:(0,s.Gc)(o):e.type.props?e.props=o:e.props=i,e.attrs=i}function Pe(e,t,n,o){const{props:i,attrs:c,vnode:{patchFlag:a}}=e,l=(0,s.ux)(i),[u]=e.propsOptions;let h=!1;if(!(o||a>0)||16&a){let s;je(e,t,i,c)&&(h=!0);for(const o in l)t&&((0,r.$3)(t,o)||(s=(0,r.Tg)(o))!==o&&(0,r.$3)(t,s))||(u?!n||void 0===n[o]&&void 0===n[s]||(i[o]=Ie(u,l,o,void 0,e,!0)):delete i[o]);if(c!==l)for(const e in c)t&&(0,r.$3)(t,e)||(delete c[e],h=!0)}else if(8&a){const n=e.vnode.dynamicProps;for(let s=0;s{l=!0;const[n,s]=Ue(e,t,!0);(0,r.X$)(c,n),s&&a.push(...s)};!n&&t.mixins.length&&t.mixins.forEach(s),e.extends&&s(e.extends),e.mixins&&e.mixins.forEach(s)}if(!i&&!l)return(0,r.Gv)(e)&&s.set(e,r.Oj),r.Oj;if((0,r.cy)(i))for(let h=0;h-1,s[1]=n<0||e-1||(0,r.$3)(s,"default"))&&a.push(t)}}}}const u=[c,a];return(0,r.Gv)(e)&&s.set(e,u),u}function De(e){return"$"!==e[0]&&!(0,r.SU)(e)}function qe(e){if(null===e)return"null";if("function"===typeof e)return e.name||"";if("object"===typeof e){const t=e.constructor&&e.constructor.name;return t||""}return""}function Ve(e,t){return qe(e)===qe(t)}function He(e,t){return(0,r.cy)(t)?t.findIndex((t=>Ve(t,e))):(0,r.Tn)(t)&&Ve(t,e)?0:-1}const Ke=e=>"_"===e[0]||"$stable"===e,We=e=>(0,r.cy)(e)?e.map(un):[un(e)],Ze=(e,t,n)=>{if(t._n)return t;const s=F(((...e)=>We(t(...e))),n);return s._c=!1,s},Xe=(e,t,n)=>{const s=e._ctx;for(const o in e){if(Ke(o))continue;const n=e[o];if((0,r.Tn)(n))t[o]=Ze(o,n,s);else if(null!=n){0;const e=We(n);t[o]=()=>e}}},Ge=(e,t)=>{const n=We(t);e.slots.default=()=>n},ze=(e,t)=>{const n=e.slots=Ne();if(32&e.vnode.shapeFlag){const e=t._;e?((0,r.X$)(n,t),(0,r.yQ)(n,"_",e,!0)):Xe(t,n)}else t&&Ge(e,t)},Ye=(e,t,n)=>{const{vnode:s,slots:o}=e;let i=!0,c=r.MZ;if(32&s.shapeFlag){const e=t._;e?n&&1===e?i=!1:((0,r.X$)(o,t),n||1!==e||delete o._):(i=!t.$stable,Xe(t,o)),c=t}else t&&(Ge(e,t),c={default:1});if(i)for(const r in o)Ke(r)||null!=c[r]||delete o[r]};function Je(e,t,n,i,c=!1){if((0,r.cy)(e))return void e.forEach(((e,s)=>Je(e,t&&((0,r.cy)(t)?t[s]:t),n,i,c)));if(ie(i)&&!c)return;const a=4&i.shapeFlag?Nn(i.component):i.el,l=c?null:a,{i:u,r:h}=e;const p=t&&t.r,f=u.refs===r.MZ?u.refs={}:u.refs,d=u.setupState;if(null!=p&&p!==h&&((0,r.Kg)(p)?(f[p]=null,(0,r.$3)(d,p)&&(d[p]=null)):(0,s.i9)(p)&&(p.value=null)),(0,r.Tn)(h))o(h,u,12,[l,f]);else{const t=(0,r.Kg)(h),o=(0,s.i9)(h);if(t||o){const s=()=>{if(e.f){const n=t?(0,r.$3)(d,h)?d[h]:f[h]:h.value;c?(0,r.cy)(n)&&(0,r.TF)(n,a):(0,r.cy)(n)?n.includes(a)||n.push(a):t?(f[h]=[a],(0,r.$3)(d,h)&&(d[h]=f[h])):(h.value=[a],e.k&&(f[e.k]=h.value))}else t?(f[h]=l,(0,r.$3)(d,h)&&(d[h]=l)):o&&(h.value=l,e.k&&(f[e.k]=l))};l?(s.id=-1,et(s,n)):s()}else 0}}function Qe(){"boolean"!==typeof __VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&((0,r.We)().__VUE_PROD_HYDRATION_MISMATCH_DETAILS__=!1)}const et=H;function tt(e){return nt(e)}function nt(e,t){Qe();const n=(0,r.We)();n.__VUE__=!0;const{insert:o,remove:i,patchProp:c,createElement:a,createText:l,createComment:u,setText:h,setElementText:p,parentNode:f,nextSibling:d,setScopeId:y=r.tE,insertStaticContent:g}=e,m=(e,t,n,s=null,r=null,o=null,i=void 0,c=null,a=!!t.dynamicChildren)=>{if(e===t)return;e&&!en(e,t)&&(s=J(e),Z(e,r,o,!0),e=null),-2===t.patchFlag&&(a=!1,t.dynamicChildren=null);const{type:l,ref:u,shapeFlag:h}=t;switch(l){case qt:v(e,t,n,s);break;case Vt:b(e,t,n,s);break;case Ht:null==e&&w(t,n,s,i);break;case Dt:N(e,t,n,s,r,o,i,c,a);break;default:1&h?S(e,t,n,s,r,o,i,c,a):6&h?F(e,t,n,s,r,o,i,c,a):(64&h||128&h)&&l.process(e,t,n,s,r,o,i,c,a,te)}null!=u&&r&&Je(u,e&&e.ref,o,t||e,!t)},v=(e,t,n,s)=>{if(null==e)o(t.el=l(t.children),n,s);else{const n=t.el=e.el;t.children!==e.children&&h(n,t.children)}},b=(e,t,n,s)=>{null==e?o(t.el=u(t.children||""),n,s):t.el=e.el},w=(e,t,n,s)=>{[e.el,e.anchor]=g(e.children,t,n,s,e.el,e.anchor)},C=({el:e,anchor:t},n,s)=>{let r;while(e&&e!==t)r=d(e),o(e,n,s),e=r;o(t,n,s)},x=({el:e,anchor:t})=>{let n;while(e&&e!==t)n=d(e),i(e),e=n;i(t)},S=(e,t,n,s,r,o,i,c,a)=>{"svg"===t.type?i="svg":"math"===t.type&&(i="mathml"),null==e?O(t,n,s,r,o,i,c,a):L(e,t,r,o,i,c,a)},O=(e,t,n,s,i,l,u,h)=>{let f,d;const{props:y,shapeFlag:g,transition:m,dirs:v}=e;if(f=e.el=a(e.type,l,y&&y.is,y),8&g?p(f,e.children):16&g&&R(e.children,f,null,s,i,st(e,l),u,h),v&&re(e,null,s,"created"),A(f,e,e.scopeId,u,s),y){for(const t in y)"value"===t||(0,r.SU)(t)||c(f,t,null,y[t],l,e.children,s,i,Y);"value"in y&&c(f,"value",null,y.value,l),(d=y.onVnodeBeforeMount)&&dn(d,s,e)}v&&re(e,null,s,"beforeMount");const b=ot(i,m);b&&m.beforeEnter(f),o(f,t,n),((d=y&&y.onVnodeMounted)||b||v)&&et((()=>{d&&dn(d,s,e),b&&m.enter(f),v&&re(e,null,s,"mounted")}),i)},A=(e,t,n,s,r)=>{if(n&&y(e,n),s)for(let o=0;o{for(let l=a;l{const l=t.el=e.el;let{patchFlag:u,dynamicChildren:h,dirs:f}=t;u|=16&e.patchFlag;const d=e.props||r.MZ,y=t.props||r.MZ;let g;if(n&&rt(n,!1),(g=y.onVnodeBeforeUpdate)&&dn(g,n,t,e),f&&re(t,e,n,"beforeUpdate"),n&&rt(n,!0),h?B(e.dynamicChildren,h,l,n,s,st(t,o),i):a||V(e,t,l,null,n,s,st(t,o),i,!1),u>0){if(16&u)$(l,t,d,y,n,s,o);else if(2&u&&d.class!==y.class&&c(l,"class",null,y.class,o),4&u&&c(l,"style",d.style,y.style,o),8&u){const r=t.dynamicProps;for(let t=0;t{g&&dn(g,n,t,e),f&&re(t,e,n,"updated")}),s)},B=(e,t,n,s,r,o,i)=>{for(let c=0;c{if(n!==s){if(n!==r.MZ)for(const l in n)(0,r.SU)(l)||l in s||c(e,l,n[l],null,a,t.children,o,i,Y);for(const l in s){if((0,r.SU)(l))continue;const u=s[l],h=n[l];u!==h&&"value"!==l&&c(e,l,h,u,a,t.children,o,i,Y)}"value"in s&&c(e,"value",n.value,s.value,a)}},N=(e,t,n,s,r,i,c,a,u)=>{const h=t.el=e?e.el:l(""),p=t.anchor=e?e.anchor:l("");let{patchFlag:f,dynamicChildren:d,slotScopeIds:y}=t;y&&(a=a?a.concat(y):y),null==e?(o(h,n,s),o(p,n,s),R(t.children||[],n,p,r,i,c,a,u)):f>0&&64&f&&d&&e.dynamicChildren?(B(e.dynamicChildren,d,n,r,i,c,a),(null!=t.key||r&&t===r.subTree)&&it(e,t,!0)):V(e,t,n,p,r,i,c,a,u)},F=(e,t,n,s,r,o,i,c,a)=>{t.slotScopeIds=c,null==e?512&t.shapeFlag?r.ctx.activate(t,n,s,i,a):P(t,n,s,r,o,i,a):j(e,t,a)},P=(e,t,n,s,r,o,i)=>{const c=e.component=mn(e,s,r);if(vt(e)&&(c.ctx.renderer=te),On(c),c.asyncDep){if(r&&r.registerDep(c,U,i),!e.el){const e=c.subTree=rn(Vt);b(null,e,t,n)}}else U(c,e,t,n,r,o,i)},j=(e,t,n)=>{const s=t.component=e.component;if(I(e,t,n)){if(s.asyncDep&&!s.asyncResolved)return void q(s,t,n);s.next=t,k(s.update),s.effect.dirty=!0,s.update()}else t.el=e.el,s.vnode=t},U=(e,t,n,o,i,c,a)=>{const l=()=>{if(e.isMounted){let{next:t,bu:n,u:s,parent:o,vnode:u}=e;{const n=at(e);if(n)return t&&(t.el=u.el,q(e,t,a)),void n.asyncDep.then((()=>{e.isUnmounted||l()}))}let h,p=t;0,rt(e,!1),t?(t.el=u.el,q(e,t,a)):t=u,n&&(0,r.DY)(n),(h=t.props&&t.props.onVnodeBeforeUpdate)&&dn(h,o,t,u),rt(e,!0);const d=M(e);0;const y=e.subTree;e.subTree=d,m(y,d,f(y.el),J(y),e,i,c),t.el=d.el,null===p&&D(e,d.el),s&&et(s,i),(h=t.props&&t.props.onVnodeUpdated)&&et((()=>dn(h,o,t,u)),i)}else{let s;const{el:a,props:l}=t,{bm:u,m:h,parent:p}=e,f=ie(t);if(rt(e,!1),u&&(0,r.DY)(u),!f&&(s=l&&l.onVnodeBeforeMount)&&dn(s,p,t),rt(e,!0),a&&se){const n=()=>{e.subTree=M(e),se(a,e.subTree,e,i,null)};f?t.type.__asyncLoader().then((()=>!e.isUnmounted&&n())):n()}else{0;const s=e.subTree=M(e);0,m(null,s,n,o,e,i,c),t.el=s.el}if(h&&et(h,i),!f&&(s=l&&l.onVnodeMounted)){const e=t;et((()=>dn(s,p,e)),i)}(256&t.shapeFlag||p&&ie(p.vnode)&&256&p.vnode.shapeFlag)&&e.a&&et(e.a,i),e.isMounted=!0,t=n=o=null}},u=e.effect=new s.X2(l,r.tE,(()=>_(h)),e.scope),h=e.update=()=>{u.dirty&&u.run()};h.id=e.uid,rt(e,!0),h()},q=(e,t,n)=>{t.component=e;const r=e.vnode.props;e.vnode=t,e.next=null,Pe(e,t.props,r,n),Ye(e,t.children,n),(0,s.C4)(),E(e),(0,s.bl)()},V=(e,t,n,s,r,o,i,c,a=!1)=>{const l=e&&e.children,u=e?e.shapeFlag:0,h=t.children,{patchFlag:f,shapeFlag:d}=t;if(f>0){if(128&f)return void K(l,h,n,s,r,o,i,c,a);if(256&f)return void H(l,h,n,s,r,o,i,c,a)}8&d?(16&u&&Y(l,r,o),h!==l&&p(n,h)):16&u?16&d?K(l,h,n,s,r,o,i,c,a):Y(l,r,o,!0):(8&u&&p(n,""),16&d&&R(h,n,s,r,o,i,c,a))},H=(e,t,n,s,o,i,c,a,l)=>{e=e||r.Oj,t=t||r.Oj;const u=e.length,h=t.length,p=Math.min(u,h);let f;for(f=0;fh?Y(e,o,i,!0,!1,p):R(t,n,s,o,i,c,a,l,p)},K=(e,t,n,s,o,i,c,a,l)=>{let u=0;const h=t.length;let p=e.length-1,f=h-1;while(u<=p&&u<=f){const s=e[u],r=t[u]=l?hn(t[u]):un(t[u]);if(!en(s,r))break;m(s,r,n,null,o,i,c,a,l),u++}while(u<=p&&u<=f){const s=e[p],r=t[f]=l?hn(t[f]):un(t[f]);if(!en(s,r))break;m(s,r,n,null,o,i,c,a,l),p--,f--}if(u>p){if(u<=f){const e=f+1,r=ef)while(u<=p)Z(e[u],o,i,!0),u++;else{const d=u,y=u,g=new Map;for(u=y;u<=f;u++){const e=t[u]=l?hn(t[u]):un(t[u]);null!=e.key&&g.set(e.key,u)}let v,b=0;const _=f-y+1;let w=!1,k=0;const C=new Array(_);for(u=0;u<_;u++)C[u]=0;for(u=d;u<=p;u++){const s=e[u];if(b>=_){Z(s,o,i,!0);continue}let r;if(null!=s.key)r=g.get(s.key);else for(v=y;v<=f;v++)if(0===C[v-y]&&en(s,t[v])){r=v;break}void 0===r?Z(s,o,i,!0):(C[r-y]=u+1,r>=k?k=r:w=!0,m(s,t[r],n,null,o,i,c,a,l),b++)}const E=w?ct(C):r.Oj;for(v=E.length-1,u=_-1;u>=0;u--){const e=y+u,r=t[e],p=e+1{const{el:i,type:c,transition:a,children:l,shapeFlag:u}=e;if(6&u)return void W(e.component.subTree,t,n,s);if(128&u)return void e.suspense.move(t,n,s);if(64&u)return void c.move(e,t,n,te);if(c===Dt){o(i,t,n);for(let e=0;ea.enter(i)),r);else{const{leave:e,delayLeave:s,afterLeave:r}=a,c=()=>o(i,t,n),l=()=>{e(i,(()=>{c(),r&&r()}))};s?s(i,c,l):l()}else o(i,t,n)},Z=(e,t,n,s=!1,r=!1)=>{const{type:o,props:i,ref:c,children:a,dynamicChildren:l,shapeFlag:u,patchFlag:h,dirs:p,memoIndex:f}=e;if(-2===h&&(r=!1),null!=c&&Je(c,null,n,e,!0),null!=f&&(t.renderCache[f]=void 0),256&u)return void t.ctx.deactivate(e);const d=1&u&&p,y=!ie(e);let g;if(y&&(g=i&&i.onVnodeBeforeUnmount)&&dn(g,t,e),6&u)z(e.component,n,s);else{if(128&u)return void e.suspense.unmount(n,s);d&&re(e,null,t,"beforeUnmount"),64&u?e.type.remove(e,t,n,te,s):l&&(o!==Dt||h>0&&64&h)?Y(l,t,n,!1,!0):(o===Dt&&384&h||!r&&16&u)&&Y(a,t,n),s&&X(e)}(y&&(g=i&&i.onVnodeUnmounted)||d)&&et((()=>{g&&dn(g,t,e),d&&re(e,null,t,"unmounted")}),n)},X=e=>{const{type:t,el:n,anchor:s,transition:r}=e;if(t===Dt)return void G(n,s);if(t===Ht)return void x(e);const o=()=>{i(n),r&&!r.persisted&&r.afterLeave&&r.afterLeave()};if(1&e.shapeFlag&&r&&!r.persisted){const{leave:t,delayLeave:s}=r,i=()=>t(n,o);s?s(e.el,o,i):i()}else o()},G=(e,t)=>{let n;while(e!==t)n=d(e),i(e),e=n;i(t)},z=(e,t,n)=>{const{bum:s,scope:o,update:i,subTree:c,um:a,m:l,a:u}=e;lt(l),lt(u),s&&(0,r.DY)(s),o.stop(),i&&(i.active=!1,Z(c,e,t,n)),a&&et(a,t),et((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},Y=(e,t,n,s=!1,r=!1,o=0)=>{for(let i=o;i6&e.shapeFlag?J(e.component.subTree):128&e.shapeFlag?e.suspense.next():d(e.anchor||e.el);let Q=!1;const ee=(e,t,n)=>{null==e?t._vnode&&Z(t._vnode,null,null,!0):m(t._vnode||null,e,t,null,null,null,n),Q||(Q=!0,E(),T(),Q=!1),t._vnode=e},te={p:m,um:Z,m:W,r:X,mt:P,mc:R,pc:V,pbc:B,n:J,o:e};let ne,se;return t&&([ne,se]=t(te)),{render:ee,hydrate:ne,createApp:Ae(ee,ne)}}function st({type:e,props:t},n){return"svg"===n&&"foreignObject"===e||"mathml"===n&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function rt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function ot(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function it(e,t,n=!1){const s=e.children,o=t.children;if((0,r.cy)(s)&&(0,r.cy)(o))for(let r=0;r>1,e[n[c]]0&&(t[s]=n[o-1]),n[o]=s)}}o=n.length,i=n[o-1];while(o-- >0)n[o]=i,i=t[i];return n}function at(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:at(t)}function lt(e){if(e)for(let t=0;t{{const e=Be(ut);return e}};const pt={};function ft(e,t,n){return dt(e,t,n)}function dt(e,t,{immediate:n,deep:c,flush:a,once:l,onTrack:u,onTrigger:h}=r.MZ){if(t&&l){const e=t;t=(...t)=>{e(...t),x()}}const p=vn,f=e=>!0===c?e:mt(e,!1===c?1:void 0);let d,y,g=!1,m=!1;if((0,s.i9)(e)?(d=()=>e.value,g=(0,s.fE)(e)):(0,s.g8)(e)?(d=()=>f(e),g=!0):(0,r.cy)(e)?(m=!0,g=e.some((e=>(0,s.g8)(e)||(0,s.fE)(e))),d=()=>e.map((e=>(0,s.i9)(e)?e.value:(0,s.g8)(e)?f(e):(0,r.Tn)(e)?o(e,p,2):void 0))):d=(0,r.Tn)(e)?t?()=>o(e,p,2):()=>(y&&y(),i(e,p,3,[b])):r.tE,t&&c){const e=d;d=()=>mt(e())}let v,b=e=>{y=E.onStop=()=>{o(e,p,4),y=E.onStop=void 0}};if(Sn){if(b=r.tE,t?n&&i(t,p,3,[d(),m?[]:void 0,b]):d(),"sync"!==a)return r.tE;{const e=ht();v=e.__watcherHandles||(e.__watcherHandles=[])}}let w=m?new Array(e.length).fill(pt):pt;const k=()=>{if(E.active&&E.dirty)if(t){const e=E.run();(c||g||(m?e.some(((e,t)=>(0,r.$H)(e,w[t]))):(0,r.$H)(e,w)))&&(y&&y(),i(t,p,3,[e,w===pt?void 0:m&&w[0]===pt?[]:w,b]),w=e)}else E.run()};let C;k.allowRecurse=!!t,"sync"===a?C=k:"post"===a?C=()=>et(k,p&&p.suspense):(k.pre=!0,p&&(k.id=p.uid),C=()=>_(k));const E=new s.X2(d,r.tE,C),T=(0,s.o5)(),x=()=>{E.stop(),T&&(0,r.TF)(T.effects,E)};return t?n?k():w=E.run():"post"===a?et(E.run.bind(E),p&&p.suspense):E.run(),v&&v.push(x),x}function yt(e,t,n){const s=this.proxy,o=(0,r.Kg)(e)?e.includes(".")?gt(s,e):()=>s[e]:e.bind(s,s);let i;(0,r.Tn)(t)?i=t:(i=t.handler,n=t);const c=kn(this),a=dt(o,i.bind(s),n);return c(),a}function gt(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{mt(e,t,n)}));else if((0,r.Qd)(e)){for(const s in e)mt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&mt(e[s],t,n)}return e}const vt=e=>e.type.__isKeepAlive;RegExp,RegExp;function bt(e,t){return(0,r.cy)(e)?e.some((e=>bt(e,t))):(0,r.Kg)(e)?e.split(",").includes(t):!!(0,r.gd)(e)&&e.test(t)}function _t(e,t){kt(e,"a",t)}function wt(e,t){kt(e,"da",t)}function kt(e,t,n=vn){const s=e.__wdc||(e.__wdc=()=>{let t=n;while(t){if(t.isDeactivated)return;t=t.parent}return e()});if(K(t,s,n),n){let e=n.parent;while(e&&e.parent)vt(e.parent.vnode)&&Ct(s,t,n,e),e=e.parent}}function Ct(e,t,n,s){const o=K(t,e,s,!0);J((()=>{(0,r.TF)(s[t],o)}),n)}function Et(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function Tt(e){return 128&e.shapeFlag?e.ssContent:e}const xt=Symbol("_leaveCb"),St=Symbol("_enterCb");function Ot(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return X((()=>{e.isMounted=!0})),Y((()=>{e.isUnmounting=!0})),e}const At=[Function,Array],Rt={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:At,onEnter:At,onAfterEnter:At,onEnterCancelled:At,onBeforeLeave:At,onLeave:At,onAfterLeave:At,onLeaveCancelled:At,onBeforeAppear:At,onAppear:At,onAfterAppear:At,onAppearCancelled:At},Lt=e=>{const t=e.subTree;return t.component?Lt(t.component):t},Bt={name:"BaseTransition",props:Rt,setup(e,{slots:t}){const n=bn(),r=Ot();return()=>{const o=t.default&&It(t.default(),!0);if(!o||!o.length)return;let i=o[0];if(o.length>1){let e=!1;for(const t of o)if(t.type!==Vt){0,i=t,e=!0;break}}const c=(0,s.ux)(e),{mode:a}=c;if(r.isLeaving)return Mt(i);const l=Pt(i);if(!l)return Mt(i);let u=Ft(l,c,r,n,(e=>u=e));jt(l,u);const h=n.subTree,p=h&&Pt(h);if(p&&p.type!==Vt&&!en(l,p)&&Lt(n).type!==Vt){const e=Ft(p,c,r,n);if(jt(p,e),"out-in"===a&&l.type!==Vt)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,!1!==n.update.active&&(n.effect.dirty=!0,n.update())},Mt(i);"in-out"===a&&l.type!==Vt&&(e.delayLeave=(e,t,n)=>{const s=Nt(r,p);s[String(p.key)]=p,e[xt]=()=>{t(),e[xt]=void 0,delete u.delayedLeave},u.delayedLeave=n})}return i}}},$t=Bt;function Nt(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Ft(e,t,n,s,o){const{appear:c,mode:a,persisted:l=!1,onBeforeEnter:u,onEnter:h,onAfterEnter:p,onEnterCancelled:f,onBeforeLeave:d,onLeave:y,onAfterLeave:g,onLeaveCancelled:m,onBeforeAppear:v,onAppear:b,onAfterAppear:_,onAppearCancelled:w}=t,k=String(e.key),C=Nt(n,e),E=(e,t)=>{e&&i(e,s,9,t)},T=(e,t)=>{const n=t[1];E(e,t),(0,r.cy)(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},x={mode:a,persisted:l,beforeEnter(t){let s=u;if(!n.isMounted){if(!c)return;s=v||u}t[xt]&&t[xt](!0);const r=C[k];r&&en(e,r)&&r.el[xt]&&r.el[xt](),E(s,[t])},enter(e){let t=h,s=p,r=f;if(!n.isMounted){if(!c)return;t=b||h,s=_||p,r=w||f}let o=!1;const i=e[St]=t=>{o||(o=!0,E(t?r:s,[e]),x.delayedLeave&&x.delayedLeave(),e[St]=void 0)};t?T(t,[e,i]):i()},leave(t,s){const r=String(e.key);if(t[St]&&t[St](!0),n.isUnmounting)return s();E(d,[t]);let o=!1;const i=t[xt]=n=>{o||(o=!0,s(),E(n?m:g,[t]),t[xt]=void 0,C[r]===e&&delete C[r])};C[r]=e,y?T(y,[t,i]):i()},clone(e){const r=Ft(e,t,n,s,o);return o&&o(r),r}};return x}function Mt(e){if(vt(e))return e=an(e),e.children=null,e}function Pt(e){if(!vt(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(16&t)return n[0];if(32&t&&(0,r.Tn)(n.default))return n.default()}}function jt(e,t){6&e.shapeFlag&&e.component?jt(e.component.subTree,t):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function It(e,t=!1,n){let s=[],r=0;for(let o=0;o1)for(let o=0;oe.__isTeleport;const Dt=Symbol.for("v-fgt"),qt=Symbol.for("v-txt"),Vt=Symbol.for("v-cmt"),Ht=Symbol.for("v-stc"),Kt=[];let Wt=null;function Zt(e=!1){Kt.push(Wt=e?null:[])}function Xt(){Kt.pop(),Wt=Kt[Kt.length-1]||null}let Gt=1;function zt(e){Gt+=e}function Yt(e){return e.dynamicChildren=Gt>0?Wt||r.Oj:null,Xt(),Gt>0&&Wt&&Wt.push(e),e}function Jt(e,t,n,s,r,o){return Yt(sn(e,t,n,s,r,o,!0))}function Qt(e){return!!e&&!0===e.__v_isVNode}function en(e,t){return e.type===t.type&&e.key===t.key}const tn=({key:e})=>null!=e?e:null,nn=({ref:e,ref_key:t,ref_for:n})=>("number"===typeof e&&(e=""+e),null!=e?(0,r.Kg)(e)||(0,s.i9)(e)||(0,r.Tn)(e)?{i:B,r:e,k:t,f:!!n}:e:null);function sn(e,t=null,n=null,s=0,o=null,i=(e===Dt?0:1),c=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&tn(t),ref:t&&nn(t),scopeId:$,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:B};return a?(pn(l,n),128&i&&e.normalize(l)):n&&(l.shapeFlag|=(0,r.Kg)(n)?8:16),Gt>0&&!c&&Wt&&(l.patchFlag>0||6&i)&&32!==l.patchFlag&&Wt.push(l),l}const rn=on;function on(e,t=null,n=null,o=0,i=null,c=!1){if(e&&e!==q||(e=Vt),Qt(e)){const s=an(e,t,!0);return n&&pn(s,n),Gt>0&&!c&&Wt&&(6&s.shapeFlag?Wt[Wt.indexOf(e)]=s:Wt.push(s)),s.patchFlag=-2,s}if(Mn(e)&&(e=e.__vccOpts),t){t=cn(t);let{class:e,style:n}=t;e&&!(0,r.Kg)(e)&&(t.class=(0,r.C4)(e)),(0,r.Gv)(n)&&((0,s.ju)(n)&&!(0,r.cy)(n)&&(n=(0,r.X$)({},n)),t.style=(0,r.Tr)(n))}const a=(0,r.Kg)(e)?1:V(e)?128:Ut(e)?64:(0,r.Gv)(e)?4:(0,r.Tn)(e)?2:0;return sn(e,t,n,o,i,a,c,!0)}function cn(e){return e?(0,s.ju)(e)||Fe(e)?(0,r.X$)({},e):e:null}function an(e,t,n=!1,s=!1){const{props:o,ref:i,patchFlag:c,children:a,transition:l}=e,u=t?fn(o||{},t):o,h={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&tn(u),ref:t&&t.ref?n&&i?(0,r.cy)(i)?i.concat(nn(t)):[i,nn(t)]:nn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Dt?-1===c?16:16|c:c,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&an(e.ssContent),ssFallback:e.ssFallback&&an(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&s&&jt(h,l.clone(h)),h}function ln(e=" ",t=0){return rn(qt,null,e,t)}function un(e){return null==e||"boolean"===typeof e?rn(Vt):(0,r.cy)(e)?rn(Dt,null,e.slice()):"object"===typeof e?hn(e):rn(qt,null,String(e))}function hn(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:an(e)}function pn(e,t){let n=0;const{shapeFlag:s}=e;if(null==t)t=null;else if((0,r.cy)(t))n=16;else if("object"===typeof t){if(65&s){const n=t.default;return void(n&&(n._c&&(n._d=!1),pn(e,n()),n._c&&(n._d=!0)))}{n=32;const s=t._;s||Fe(t)?3===s&&B&&(1===B.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=B}}else(0,r.Tn)(t)?(t={default:t,_ctx:B},n=32):(t=String(t),64&s?(n=16,t=[ln(t)]):n=8);e.children=t,e.shapeFlag|=n}function fn(...e){const t={};for(let n=0;nvn||B;let _n,wn;{const e=(0,r.We)(),t=(t,n)=>{let s;return(s=e[t])||(s=e[t]=[]),s.push(n),e=>{s.length>1?s.forEach((t=>t(e))):s[0](e)}};_n=t("__VUE_INSTANCE_SETTERS__",(e=>vn=e)),wn=t("__VUE_SSR_SETTERS__",(e=>Sn=e))}const kn=e=>{const t=vn;return _n(e),e.scope.on(),()=>{e.scope.off(),_n(t)}},Cn=()=>{vn&&vn.scope.off(),_n(null)};function En(e){return 4&e.vnode.shapeFlag}let Tn,xn,Sn=!1;function On(e,t=!1){t&&wn(t);const{props:n,children:s}=e.vnode,r=En(e);Me(e,n,r,t),ze(e,s);const o=r?An(e,t):void 0;return t&&wn(!1),o}function An(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ue);const{setup:i}=n;if(i){const n=e.setupContext=i.length>1?$n(e):null,a=kn(e);(0,s.C4)();const l=o(i,e,0,[e.props,n]);if((0,s.bl)(),a(),(0,r.yL)(l)){if(l.then(Cn,Cn),t)return l.then((n=>{Rn(e,n,t)})).catch((t=>{c(t,e,0)}));e.asyncDep=l}else Rn(e,l,t)}else Ln(e,t)}function Rn(e,t,n){(0,r.Tn)(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:(0,r.Gv)(t)&&(e.setupState=(0,s.Pr)(t)),Ln(e,n)}function Ln(e,t,n){const o=e.type;if(!e.render){if(!t&&Tn&&!o.render){const t=o.template||me(e).template;if(t){0;const{isCustomElement:n,compilerOptions:s}=e.appContext.config,{delimiters:i,compilerOptions:c}=o,a=(0,r.X$)((0,r.X$)({isCustomElement:n,delimiters:i},s),c);o.render=Tn(t,a)}}e.render=o.render||r.tE,xn&&xn(e)}{const t=kn(e);(0,s.C4)();try{fe(e)}finally{(0,s.bl)(),t()}}}const Bn={get(e,t){return(0,s.u4)(e,"get",""),e[t]}};function $n(e){const t=t=>{e.exposed=t||{}};return{attrs:new Proxy(e.attrs,Bn),slots:e.slots,emit:e.emit,expose:t}}function Nn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy((0,s.Pr)((0,s.IG)(e.exposed)),{get(t,n){return n in t?t[n]:n in ae?ae[n](e):void 0},has(e,t){return t in e||t in ae}})):e.proxy}function Fn(e,t=!0){return(0,r.Tn)(e)?e.displayName||e.name:e.name||t&&e.__name}function Mn(e){return(0,r.Tn)(e)&&"__vccOpts"in e}const Pn=(e,t)=>{const n=(0,s.EW)(e,t,Sn);return n};function jn(e,t,n){const s=arguments.length;return 2===s?(0,r.Gv)(t)&&!(0,r.cy)(t)?Qt(t)?rn(e,null,[t]):rn(e,t):rn(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):3===s&&Qt(n)&&(n=[n]),rn(e,t,n))}const In="3.4.31"},751:(e,t,n)=>{n.d(t,{Jo:()=>U,jR:()=>q});var s=n(641),r=n(33),o=n(953); +/** +* @vue/runtime-dom v3.4.31 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +"undefined"!==typeof document&&document;const i="transition",c="animation",a=Symbol("_vtc"),l=(e,{slots:t})=>(0,s.h)(s.pR,d(e),t);l.displayName="Transition";const u={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},h=l.props=(0,r.X$)({},s.QP,u),p=(e,t=[])=>{(0,r.cy)(e)?e.forEach((e=>e(...t))):e&&e(...t)},f=e=>!!e&&((0,r.cy)(e)?e.some((e=>e.length>1)):e.length>1);function d(e){const t={};for(const r in e)r in u||(t[r]=e[r]);if(!1===e.css)return t;const{name:n="v",type:s,duration:o,enterFromClass:i=`${n}-enter-from`,enterActiveClass:c=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=i,appearActiveClass:h=c,appearToClass:d=a,leaveFromClass:g=`${n}-leave-from`,leaveActiveClass:_=`${n}-leave-active`,leaveToClass:k=`${n}-leave-to`}=e,C=y(o),E=C&&C[0],x=C&&C[1],{onBeforeEnter:S,onEnter:O,onEnterCancelled:A,onLeave:R,onLeaveCancelled:L,onBeforeAppear:B=S,onAppear:$=O,onAppearCancelled:N=A}=t,F=(e,t,n)=>{v(e,t?d:a),v(e,t?h:c),n&&n()},M=(e,t)=>{e._isLeaving=!1,v(e,g),v(e,k),v(e,_),t&&t()},P=e=>(t,n)=>{const r=e?$:O,o=()=>F(t,e,n);p(r,[t,o]),b((()=>{v(t,e?l:i),m(t,e?d:a),f(r)||w(t,s,E,o)}))};return(0,r.X$)(t,{onBeforeEnter(e){p(S,[e]),m(e,i),m(e,c)},onBeforeAppear(e){p(B,[e]),m(e,l),m(e,h)},onEnter:P(!1),onAppear:P(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>M(e,t);m(e,g),m(e,_),T(),b((()=>{e._isLeaving&&(v(e,g),m(e,k),f(R)||w(e,s,x,n))})),p(R,[e,n])},onEnterCancelled(e){F(e,!1),p(A,[e])},onAppearCancelled(e){F(e,!0),p(N,[e])},onLeaveCancelled(e){M(e),p(L,[e])}})}function y(e){if(null==e)return null;if((0,r.Gv)(e))return[g(e.enter),g(e.leave)];{const t=g(e);return[t,t]}}function g(e){const t=(0,r.Ro)(e);return t}function m(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e[a]||(e[a]=new Set)).add(t)}function v(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));const n=e[a];n&&(n.delete(t),n.size||(e[a]=void 0))}function b(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let _=0;function w(e,t,n,s){const r=e._endId=++_,o=()=>{r===e._endId&&s()};if(n)return setTimeout(o,n);const{type:i,timeout:c,propCount:a}=k(e,t);if(!i)return s();const l=i+"end";let u=0;const h=()=>{e.removeEventListener(l,p),o()},p=t=>{t.target===e&&++u>=a&&h()};setTimeout((()=>{u(n[e]||"").split(", "),r=s(`${i}Delay`),o=s(`${i}Duration`),a=C(r,o),l=s(`${c}Delay`),u=s(`${c}Duration`),h=C(l,u);let p=null,f=0,d=0;t===i?a>0&&(p=i,f=a,d=o.length):t===c?h>0&&(p=c,f=h,d=u.length):(f=Math.max(a,h),p=f>0?a>h?i:c:null,d=p?p===i?o.length:u.length:0);const y=p===i&&/\b(transform|all)(,|$)/.test(s(`${i}Property`).toString());return{type:p,timeout:f,propCount:d,hasTransform:y}}function C(e,t){while(e.lengthE(t)+E(e[n]))))}function E(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function T(){return document.body.offsetHeight}Symbol("_vod"),Symbol("_vsh");Symbol("");function x(e,t,n,s){e.addEventListener(t,n,s)}Symbol("_vei"); +/*! #__NO_SIDE_EFFECTS__ */ +"undefined"!==typeof HTMLElement&&HTMLElement;const S=new WeakMap,O=new WeakMap,A=Symbol("_moveCb"),R=Symbol("_enterCb"),L={name:"TransitionGroup",props:(0,r.X$)({},h,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=(0,s.nI)(),r=(0,s.Gy)();let i,c;return(0,s.$u)((()=>{if(!i.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!F(i[0].el,n.vnode.el,t))return;i.forEach(B),i.forEach($);const s=i.filter(N);T(),s.forEach((e=>{const n=e.el,s=n.style;m(n,t),s.transform=s.webkitTransform=s.transitionDuration="";const r=n[A]=e=>{e&&e.target!==n||e&&!/transform$/.test(e.propertyName)||(n.removeEventListener("transitionend",r),n[A]=null,v(n,t))};n.addEventListener("transitionend",r)}))})),()=>{const a=(0,o.ux)(e),l=d(a);let u=a.tag||s.FK;if(i=[],c)for(let e=0;e{e.split(/\s+/).forEach((e=>e&&s.classList.remove(e)))})),n.split(/\s+/).forEach((e=>e&&s.classList.add(e))),s.style.display="none";const o=1===t.nodeType?t:t.parentNode;o.appendChild(s);const{hasTransform:i}=k(s);return o.removeChild(s),i}const M=e=>{const t=e.props["onUpdate:modelValue"]||!1;return(0,r.cy)(t)?e=>(0,r.DY)(t,e):t};function P(e){e.target.composing=!0}function j(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const I=Symbol("_assign"),U={created(e,{modifiers:{lazy:t,trim:n,number:s}},o){e[I]=M(o);const i=s||o.props&&"number"===o.props.type;x(e,t?"change":"input",(t=>{if(t.target.composing)return;let s=e.value;n&&(s=s.trim()),i&&(s=(0,r.bB)(s)),e[I](s)})),n&&x(e,"change",(()=>{e.value=e.value.trim()})),t||(x(e,"compositionstart",P),x(e,"compositionend",j),x(e,"change",j))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:o,number:i}},c){if(e[I]=M(c),e.composing)return;const a=!i&&"number"!==e.type||/^0\d/.test(e.value)?e.value:(0,r.bB)(e.value),l=null==t?"":t;if(a!==l){if(document.activeElement===e&&"range"!==e.type){if(s&&t===n)return;if(o&&e.value.trim()===l)return}e.value=l}}};const D={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},q=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=n=>{if(!("key"in n))return;const s=(0,r.Tg)(n.key);return t.some((e=>e===s||D[e]===s))?e(n):void 0})}},33:(e,t,n)=>{ +/** +* @vue/shared v3.4.31 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +/*! #__NO_SIDE_EFFECTS__ */ +function s(e,t){const n=new Set(e.split(","));return t?e=>n.has(e.toLowerCase()):e=>n.has(e)}n.d(t,{$3:()=>f,$H:()=>P,BH:()=>K,BX:()=>ne,Bm:()=>w,C4:()=>Y,CE:()=>y,CP:()=>l,DY:()=>j,Gv:()=>k,J$:()=>Q,Kg:()=>_,MZ:()=>r,Mp:()=>a,NO:()=>c,Oj:()=>o,PT:()=>B,Qd:()=>S,Ro:()=>D,SU:()=>A,TF:()=>h,Tg:()=>N,Tn:()=>b,Tr:()=>W,We:()=>V,X$:()=>u,Y2:()=>ee,ZH:()=>F,Zf:()=>x,bB:()=>U,cy:()=>d,gd:()=>v,pD:()=>s,rU:()=>M,tE:()=>i,u3:()=>se,vM:()=>g,v_:()=>oe,yI:()=>O,yL:()=>C,yQ:()=>I});const r={},o=[],i=()=>{},c=()=>!1,a=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),l=e=>e.startsWith("onUpdate:"),u=Object.assign,h=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},p=Object.prototype.hasOwnProperty,f=(e,t)=>p.call(e,t),d=Array.isArray,y=e=>"[object Map]"===T(e),g=e=>"[object Set]"===T(e),m=e=>"[object Date]"===T(e),v=e=>"[object RegExp]"===T(e),b=e=>"function"===typeof e,_=e=>"string"===typeof e,w=e=>"symbol"===typeof e,k=e=>null!==e&&"object"===typeof e,C=e=>(k(e)||b(e))&&b(e.then)&&b(e.catch),E=Object.prototype.toString,T=e=>E.call(e),x=e=>T(e).slice(8,-1),S=e=>"[object Object]"===T(e),O=e=>_(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,A=s(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),R=e=>{const t=Object.create(null);return n=>{const s=t[n];return s||(t[n]=e(n))}},L=/-(\w)/g,B=R((e=>e.replace(L,((e,t)=>t?t.toUpperCase():"")))),$=/\B([A-Z])/g,N=R((e=>e.replace($,"-$1").toLowerCase())),F=R((e=>e.charAt(0).toUpperCase()+e.slice(1))),M=R((e=>{const t=e?`on${F(e)}`:"";return t})),P=(e,t)=>!Object.is(e,t),j=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},U=e=>{const t=parseFloat(e);return isNaN(t)?e:t},D=e=>{const t=_(e)?Number(e):NaN;return isNaN(t)?e:t};let q;const V=()=>q||(q="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{});const H="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error",K=s(H);function W(e){if(d(e)){const t={};for(let n=0;n{if(e){const n=e.split(X);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function Y(e){let t="";if(_(e))t=e;else if(d(e))for(let n=0;nne(e,t)))}const re=e=>!(!e||!0!==e.__v_isRef),oe=e=>_(e)?e:null==e?"":d(e)||k(e)&&(e.toString===E||!b(e.toString))?re(e)?oe(e.value):JSON.stringify(e,ie,2):String(e),ie=(e,t)=>re(t)?ie(e,t.value):y(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n],s)=>(e[ce(t,s)+" =>"]=n,e)),{})}:g(t)?{[`Set(${t.size})`]:[...t.values()].map((e=>ce(e)))}:w(t)?ce(t):!k(t)||d(t)||S(t)?t:String(t),ce=(e,t="")=>{var n;return w(e)?`Symbol(${null!=(n=e.description)?n:t})`:e}},262:(e,t)=>{t.A=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n}},756:(e,t,n)=>{},373:(e,t,n)=>{n.d(t,{Ay:()=>Ze});var s={};n.r(s),n.d(s,{Decoder:()=>Ie,Encoder:()=>Pe,PacketType:()=>Me,protocol:()=>Fe});const r=Object.create(null);r["open"]="0",r["close"]="1",r["ping"]="2",r["pong"]="3",r["message"]="4",r["upgrade"]="5",r["noop"]="6";const o=Object.create(null);Object.keys(r).forEach((e=>{o[r[e]]=e}));const i={type:"error",data:"parser error"},c="function"===typeof Blob||"undefined"!==typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),a="function"===typeof ArrayBuffer,l=e=>"function"===typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,u=({type:e,data:t},n,s)=>c&&t instanceof Blob?n?s(t):h(t,s):a&&(t instanceof ArrayBuffer||l(t))?n?s(t):h(new Blob([t]),s):s(r[e]+(t||"")),h=(e,t)=>{const n=new FileReader;return n.onload=function(){const e=n.result.split(",")[1];t("b"+(e||""))},n.readAsDataURL(e)};function p(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let f;function d(e,t){return c&&e.data instanceof Blob?e.data.arrayBuffer().then(p).then(t):a&&(e.data instanceof ArrayBuffer||l(e.data))?t(p(e.data)):void u(e,!1,(e=>{f||(f=new TextEncoder),t(f.encode(e))}))}const y="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",g="undefined"===typeof Uint8Array?[]:new Uint8Array(256);for(let Ge=0;Ge{let t,n,s,r,o,i=.75*e.length,c=e.length,a=0;"="===e[e.length-1]&&(i--,"="===e[e.length-2]&&i--);const l=new ArrayBuffer(i),u=new Uint8Array(l);for(t=0;t>4,u[a++]=(15&s)<<4|r>>2,u[a++]=(3&r)<<6|63&o;return l},v="function"===typeof ArrayBuffer,b=(e,t)=>{if("string"!==typeof e)return{type:"message",data:w(e,t)};const n=e.charAt(0);if("b"===n)return{type:"message",data:_(e.substring(1),t)};const s=o[n];return s?e.length>1?{type:o[n],data:e.substring(1)}:{type:o[n]}:i},_=(e,t)=>{if(v){const n=m(e);return w(n,t)}return{base64:!0,data:e}},w=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},k=String.fromCharCode(30),C=(e,t)=>{const n=e.length,s=new Array(n);let r=0;e.forEach(((e,o)=>{u(e,!1,(e=>{s[o]=e,++r===n&&t(s.join(k))}))}))},E=(e,t)=>{const n=e.split(k),s=[];for(let r=0;r{const s=n.length;let r;if(s<126)r=new Uint8Array(1),new DataView(r.buffer).setUint8(0,s);else if(s<65536){r=new Uint8Array(3);const e=new DataView(r.buffer);e.setUint8(0,126),e.setUint16(1,s)}else{r=new Uint8Array(9);const e=new DataView(r.buffer);e.setUint8(0,127),e.setBigUint64(1,BigInt(s))}e.data&&"string"!==typeof e.data&&(r[0]|=128),t.enqueue(r),t.enqueue(n)}))}})}let x;function S(e){return e.reduce(((e,t)=>e+t.length),0)}function O(e,t){if(e[0].length===t)return e.shift();const n=new Uint8Array(t);let s=0;for(let r=0;rMath.pow(2,21)-1){a.enqueue(i);break}r=o*Math.pow(2,32)+t.getUint32(4),s=3}else{if(S(n)e){a.enqueue(i);break}}}})}const R=4;function L(e){if(e)return B(e)}function B(e){for(var t in L.prototype)e[t]=L.prototype[t];return e}L.prototype.on=L.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},L.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},L.prototype.off=L.prototype.removeListener=L.prototype.removeAllListeners=L.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,s=this._callbacks["$"+e];if(!s)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var r=0;r"undefined"!==typeof self?self:"undefined"!==typeof window?window:Function("return this")())();function N(e,...t){return t.reduce(((t,n)=>(e.hasOwnProperty(n)&&(t[n]=e[n]),t)),{})}const F=$.setTimeout,M=$.clearTimeout;function P(e,t){t.useNativeTimers?(e.setTimeoutFn=F.bind($),e.clearTimeoutFn=M.bind($)):(e.setTimeoutFn=$.setTimeout.bind($),e.clearTimeoutFn=$.clearTimeout.bind($))}const j=1.33;function I(e){return"string"===typeof e?U(e):Math.ceil((e.byteLength||e.size)*j)}function U(e){let t=0,n=0;for(let s=0,r=e.length;s=57344?n+=3:(s++,n+=4);return n}function D(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function q(e){let t={},n=e.split("&");for(let s=0,r=n.length;s0);return t}function J(){const e=Y(+new Date);return e!==X?(G=0,X=e):e+"."+Y(G++)}for(;z{this.readyState="paused",e()};if(this.polling||!this.writable){let e=0;this.polling&&(e++,this.once("pollComplete",(function(){--e||t()}))),this.writable||(e++,this.once("drain",(function(){--e||t()})))}else t()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){const t=e=>{if("opening"===this.readyState&&"open"===e.type&&this.onOpen(),"close"===e.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(e)};E(e,this.socket.binaryType).forEach(t),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}doClose(){const e=()=>{this.write([{type:"close"}])};"open"===this.readyState?e():this.once("open",e)}write(e){this.writable=!1,C(e,(e=>{this.doWrite(e,(()=>{this.writable=!0,this.emitReserved("drain")}))}))}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=J()),this.supportsBinary||t.sid||(t.b64=1),this.createUri(e,t)}request(e={}){return Object.assign(e,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new ie(this.uri(),e)}doWrite(e,t){const n=this.request({method:"POST",data:e});n.on("success",t),n.on("error",((e,t)=>{this.onError("xhr post error",e,t)}))}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",((e,t)=>{this.onError("xhr poll error",e,t)})),this.pollXhr=e}}class ie extends L{constructor(e,t){super(),P(this,t),this.opts=t,this.method=t.method||"GET",this.uri=e,this.data=void 0!==t.data?t.data:null,this.create()}create(){var e;const t=N(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this.opts.xd;const n=this.xhr=new te(t);try{n.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0);for(let e in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(e)&&n.setRequestHeader(e,this.opts.extraHeaders[e])}}catch(s){}if("POST"===this.method)try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(s){}try{n.setRequestHeader("Accept","*/*")}catch(s){}null===(e=this.opts.cookieJar)||void 0===e||e.addCookies(n),"withCredentials"in n&&(n.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(n.timeout=this.opts.requestTimeout),n.onreadystatechange=()=>{var e;3===n.readyState&&(null===(e=this.opts.cookieJar)||void 0===e||e.parseCookies(n)),4===n.readyState&&(200===n.status||1223===n.status?this.onLoad():this.setTimeoutFn((()=>{this.onError("number"===typeof n.status?n.status:0)}),0))},n.send(this.data)}catch(s){return void this.setTimeoutFn((()=>{this.onError(s)}),0)}"undefined"!==typeof document&&(this.index=ie.requestsCount++,ie.requests[this.index]=this)}onError(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}cleanup(e){if("undefined"!==typeof this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=se,e)try{this.xhr.abort()}catch(t){}"undefined"!==typeof document&&delete ie.requests[this.index],this.xhr=null}}onLoad(){const e=this.xhr.responseText;null!==e&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}if(ie.requestsCount=0,ie.requests={},"undefined"!==typeof document)if("function"===typeof attachEvent)attachEvent("onunload",ce);else if("function"===typeof addEventListener){const e="onpagehide"in $?"pagehide":"unload";addEventListener(e,ce,!1)}function ce(){for(let e in ie.requests)ie.requests.hasOwnProperty(e)&&ie.requests[e].abort()}const ae=(()=>{const e="function"===typeof Promise&&"function"===typeof Promise.resolve;return e?e=>Promise.resolve().then(e):(e,t)=>t(e,0)})(),le=$.WebSocket||$.MozWebSocket,ue=!0,he="arraybuffer",pe="undefined"!==typeof navigator&&"string"===typeof navigator.product&&"reactnative"===navigator.product.toLowerCase();class fe extends H{constructor(e){super(e),this.supportsBinary=!e.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protocols,n=pe?{}:N(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=ue&&!pe?t?new le(e,t):new le(e):new le(e,t,n)}catch(Xe){return this.emitReserved("error",Xe)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t{const t={};if(!ue&&(n.options&&(t.compress=n.options.compress),this.opts.perMessageDeflate)){const n="string"===typeof e?Buffer.byteLength(e):e.length;n{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){"undefined"!==typeof this.ws&&(this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=J()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}check(){return!!le}}class de extends H{get name(){return"webtransport"}doOpen(){"function"===typeof WebTransport&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then((()=>{this.onClose()})).catch((e=>{this.onError("webtransport error",e)})),this.transport.ready.then((()=>{this.transport.createBidirectionalStream().then((e=>{const t=A(Number.MAX_SAFE_INTEGER,this.socket.binaryType),n=e.readable.pipeThrough(t).getReader(),s=T();s.readable.pipeTo(e.writable),this.writer=s.writable.getWriter();const r=()=>{n.read().then((({done:e,value:t})=>{e||(this.onPacket(t),r())})).catch((e=>{}))};r();const o={type:"open"};this.query.sid&&(o.data=`{"sid":"${this.query.sid}"}`),this.writer.write(o).then((()=>this.onOpen()))}))})))}write(e){this.writable=!1;for(let t=0;t{s&&ae((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){var e;null===(e=this.transport)||void 0===e||e.close()}}const ye={websocket:fe,webtransport:de,polling:oe},ge=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,me=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function ve(e){if(e.length>2e3)throw"URI too long";const t=e,n=e.indexOf("["),s=e.indexOf("]");-1!=n&&-1!=s&&(e=e.substring(0,n)+e.substring(n,s).replace(/:/g,";")+e.substring(s,e.length));let r=ge.exec(e||""),o={},i=14;while(i--)o[me[i]]=r[i]||"";return-1!=n&&-1!=s&&(o.source=t,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=be(o,o["path"]),o.queryKey=_e(o,o["query"]),o}function be(e,t){const n=/\/{2,9}/g,s=t.replace(n,"/").split("/");return"/"!=t.slice(0,1)&&0!==t.length||s.splice(0,1),"/"==t.slice(-1)&&s.splice(s.length-1,1),s}function _e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,s){t&&(n[t]=s)})),n}class we extends L{constructor(e,t={}){super(),this.binaryType=he,this.writeBuffer=[],e&&"object"===typeof e&&(t=e,e=null),e?(e=ve(e),t.hostname=e.host,t.secure="https"===e.protocol||"wss"===e.protocol,t.port=e.port,e.query&&(t.query=e.query)):t.host&&(t.hostname=ve(t.host).host),P(this,t),this.secure=null!=t.secure?t.secure:"undefined"!==typeof location&&"https:"===location.protocol,t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||("undefined"!==typeof location?location.hostname:"localhost"),this.port=t.port||("undefined"!==typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=t.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),"string"===typeof this.opts.query&&(this.opts.query=q(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,"function"===typeof addEventListener&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),"localhost"!==this.hostname&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=R,t.transport=e,this.id&&(t.sid=this.id);const n=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new ye[e](n)}open(){let e;if(this.opts.rememberUpgrade&&we.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((()=>{this.emitReserved("error","No transports available")}),0);e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(t){return this.transports.shift(),void this.open()}e.open(),this.setTransport(e)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(e=>this.onClose("transport close",e)))}probe(e){let t=this.createTransport(e),n=!1;we.priorWebsocketSuccess=!1;const s=()=>{n||(t.send([{type:"ping",data:"probe"}]),t.once("packet",(e=>{if(!n)if("pong"===e.type&&"probe"===e.data){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;we.priorWebsocketSuccess="websocket"===t.name,this.transport.pause((()=>{n||"closed"!==this.readyState&&(l(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())}))}else{const e=new Error("probe error");e.transport=t.name,this.emitReserved("upgradeError",e)}})))};function r(){n||(n=!0,l(),t.close(),t=null)}const o=e=>{const n=new Error("probe error: "+e);n.transport=t.name,r(),this.emitReserved("upgradeError",n)};function i(){o("transport closed")}function c(){o("socket closed")}function a(e){t&&e.name!==t.name&&r()}const l=()=>{t.removeListener("open",s),t.removeListener("error",o),t.removeListener("close",i),this.off("close",c),this.off("upgrading",a)};t.once("open",s),t.once("error",o),t.once("close",i),this.once("close",c),this.once("upgrading",a),-1!==this.upgrades.indexOf("webtransport")&&"webtransport"!==e?this.setTimeoutFn((()=>{n||t.open()}),200):t.open()}onOpen(){if(this.readyState="open",we.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade){let e=0;const t=this.upgrades.length;for(;e{this.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}flush(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this.getWritablePackets();this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}getWritablePackets(){const e=this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1;if(!e)return this.writeBuffer;let t=1;for(let n=0;n0&&t>this.maxPayload)return this.writeBuffer.slice(0,n);t+=2}return this.writeBuffer}write(e,t,n){return this.sendPacket("message",e,t,n),this}send(e,t,n){return this.sendPacket("message",e,t,n),this}sendPacket(e,t,n,s){if("function"===typeof t&&(s=t,t=void 0),"function"===typeof n&&(s=n,n=null),"closing"===this.readyState||"closed"===this.readyState)return;n=n||{},n.compress=!1!==n.compress;const r={type:e,data:t,options:n};this.emitReserved("packetCreate",r),this.writeBuffer.push(r),s&&this.once("flush",s),this.flush()}close(){const e=()=>{this.onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},n=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(()=>{this.upgrading?n():e()})):this.upgrading?n():e()),this}onError(e){we.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}onClose(e,t){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"===typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(e){const t=[];let n=0;const s=e.length;for(;n"function"===typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,Te=Object.prototype.toString,xe="function"===typeof Blob||"undefined"!==typeof Blob&&"[object BlobConstructor]"===Te.call(Blob),Se="function"===typeof File||"undefined"!==typeof File&&"[object FileConstructor]"===Te.call(File);function Oe(e){return Ce&&(e instanceof ArrayBuffer||Ee(e))||xe&&e instanceof Blob||Se&&e instanceof File}function Ae(e,t){if(!e||"object"!==typeof e)return!1;if(Array.isArray(e)){for(let t=0,n=e.length;t=0&&e.num{delete this.acks[e];for(let t=0;t{this.io.clearTimeoutFn(r),t.apply(this,e)};o.withError=!0,this.acks[e]=o}emitWithAck(e,...t){return new Promise(((n,s)=>{const r=(e,t)=>e?s(e):n(t);r.withError=!0,t.push(r),this.emit(e,...t)}))}_addToQueue(e){let t;"function"===typeof e[e.length-1]&&(t=e.pop());const n={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push(((e,...s)=>{if(n!==this._queue[0])return;const r=null!==e;return r?n.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(e)):(this._queue.shift(),t&&t(null,...s)),n.pending=!1,this._drainQueue()})),this._queue.push(n),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||0===this._queue.length)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){"function"==typeof this.auth?this.auth((e=>{this._sendConnectPacket(e)})):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:Me.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach((e=>{const t=this.sendBuffer.some((t=>String(t.id)===e));if(!t){const t=this.acks[e];delete this.acks[e],t.withError&&t.call(this,new Error("socket has been disconnected"))}}))}onpacket(e){const t=e.nsp===this.nsp;if(t)switch(e.type){case Me.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case Me.EVENT:case Me.BINARY_EVENT:this.onevent(e);break;case Me.ACK:case Me.BINARY_ACK:this.onack(e);break;case Me.DISCONNECT:this.ondisconnect();break;case Me.CONNECT_ERROR:this.destroy();const t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t);break}}onevent(e){const t=e.data||[];null!=e.id&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const n of t)n.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&"string"===typeof e[e.length-1]&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let n=!1;return function(...s){n||(n=!0,t.packet({type:Me.ACK,id:e,data:s}))}}onack(e){const t=this.acks[e.id];"function"===typeof t&&(delete this.acks[e.id],t.withError&&e.data.unshift(null),t.apply(this,e.data))}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach((e=>this.emitEvent(e))),this.receiveBuffer=[],this.sendBuffer.forEach((e=>{this.notifyOutgoingListeners(e),this.packet(e)})),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach((e=>e())),this.subs=void 0),this.io["_destroy"](this)}disconnect(){return this.connected&&this.packet({type:Me.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let n=0;n0&&e.jitter<=1?e.jitter:0,this.attempts=0}He.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=0==(1&Math.floor(10*t))?e-n:e+n}return 0|Math.min(e,this.max)},He.prototype.reset=function(){this.attempts=0},He.prototype.setMin=function(e){this.ms=e},He.prototype.setMax=function(e){this.max=e},He.prototype.setJitter=function(e){this.jitter=e};class Ke extends L{constructor(e,t){var n;super(),this.nsps={},this.subs=[],e&&"object"===typeof e&&(t=e,e=void 0),t=t||{},t.path=t.path||"/socket.io",this.opts=t,P(this,t),this.reconnection(!1!==t.reconnection),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(n=t.randomizationFactor)&&void 0!==n?n:.5),this.backoff=new He({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==t.timeout?2e4:t.timeout),this._readyState="closed",this.uri=e;const r=t.parser||s;this.encoder=new r.Encoder,this.decoder=new r.Decoder,this._autoConnect=!1!==t.autoConnect,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(this._reconnectionDelay=e,null===(t=this.backoff)||void 0===t||t.setMin(e),this)}randomizationFactor(e){var t;return void 0===e?this._randomizationFactor:(this._randomizationFactor=e,null===(t=this.backoff)||void 0===t||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,null===(t=this.backoff)||void 0===t||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new we(this.uri,this.opts);const t=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;const s=De(t,"open",(function(){n.onopen(),e&&e()})),r=t=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",t),e?e(t):this.maybeReconnectOnOpen()},o=De(t,"error",r);if(!1!==this._timeout){const e=this._timeout,n=this.setTimeoutFn((()=>{s(),r(new Error("timeout")),t.close()}),e);this.opts.autoUnref&&n.unref(),this.subs.push((()=>{this.clearTimeoutFn(n)}))}return this.subs.push(s),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(De(e,"ping",this.onping.bind(this)),De(e,"data",this.ondata.bind(this)),De(e,"error",this.onerror.bind(this)),De(e,"close",this.onclose.bind(this)),De(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){ae((()=>{this.emitReserved("packet",e)}),this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new Ve(this,e,t),this.nsps[e]=n),n}_destroy(e){const t=Object.keys(this.nsps);for(const n of t){const e=this.nsps[n];if(e.active)return}this._close()}_packet(e){const t=this.encoder.encode(e);for(let n=0;ne())),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(e,t){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const n=this.setTimeoutFn((()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open((t=>{t?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",t)):e.onreconnect()})))}),t);this.opts.autoUnref&&n.unref(),this.subs.push((()=>{this.clearTimeoutFn(n)}))}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const We={};function Ze(e,t){"object"===typeof e&&(t=e,e=void 0),t=t||{};const n=ke(e,t.path||"/socket.io"),s=n.source,r=n.id,o=n.path,i=We[r]&&o in We[r]["nsps"],c=t.forceNew||t["force new connection"]||!1===t.multiplex||i;let a;return c?a=new Ke(s,t):(We[r]||(We[r]=new Ke(s,t)),a=We[r]),n.query&&!t.query&&(t.query=n.queryKey),a.socket(n.path,t)}Object.assign(Ze,{Manager:Ke,Socket:Ve,io:Ze,connect:Ze})}}]); +//# sourceMappingURL=chunk-vendors.e0723df7.js.map \ No newline at end of file diff --git a/backend/dist/js/chunk-vendors.e0723df7.js.map b/backend/dist/js/chunk-vendors.e0723df7.js.map new file mode 100644 index 0000000..d8c2289 --- /dev/null +++ b/backend/dist/js/chunk-vendors.e0723df7.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/chunk-vendors.e0723df7.js","mappings":";;;;;GAWA,IAAIA,EAoGAC,EAnGJ,MAAMC,EACJ,WAAAC,CAAYC,GAAW,GACrBC,KAAKD,SAAWA,EAIhBC,KAAKC,SAAU,EAIfD,KAAKE,QAAU,GAIfF,KAAKG,SAAW,GAChBH,KAAKI,OAAST,GACTI,GAAYJ,IACfK,KAAKK,OAASV,EAAkBW,SAAWX,EAAkBW,OAAS,KAAKC,KACzEP,MACE,EAER,CACA,UAAIQ,GACF,OAAOR,KAAKC,OACd,CACA,GAAAQ,CAAIC,GACF,GAAIV,KAAKC,QAAS,CAChB,MAAMU,EAAqBhB,EAC3B,IAEE,OADAA,EAAoBK,KACbU,GACT,CAAE,QACAf,EAAoBgB,CACtB,CACF,MAAW,CAGb,CAKA,EAAAC,GACEjB,EAAoBK,IACtB,CAKA,GAAAa,GACElB,EAAoBK,KAAKI,MAC3B,CACA,IAAAU,CAAKC,GACH,GAAIf,KAAKC,QAAS,CAChB,IAAIe,EAAGC,EACP,IAAKD,EAAI,EAAGC,EAAIjB,KAAKE,QAAQgB,OAAQF,EAAIC,EAAGD,IAC1ChB,KAAKE,QAAQc,GAAGF,OAElB,IAAKE,EAAI,EAAGC,EAAIjB,KAAKG,SAASe,OAAQF,EAAIC,EAAGD,IAC3ChB,KAAKG,SAASa,KAEhB,GAAIhB,KAAKM,OACP,IAAKU,EAAI,EAAGC,EAAIjB,KAAKM,OAAOY,OAAQF,EAAIC,EAAGD,IACzChB,KAAKM,OAAOU,GAAGF,MAAK,GAGxB,IAAKd,KAAKD,UAAYC,KAAKI,SAAWW,EAAY,CAChD,MAAMI,EAAOnB,KAAKI,OAAOE,OAAOc,MAC5BD,GAAQA,IAASnB,OACnBA,KAAKI,OAAOE,OAAON,KAAKK,OAASc,EACjCA,EAAKd,MAAQL,KAAKK,MAEtB,CACAL,KAAKI,YAAS,EACdJ,KAAKC,SAAU,CACjB,CACF,EAKF,SAASoB,EAAkBC,EAAQC,EAAQ5B,GACrC4B,GAASA,EAAMf,QACjBe,EAAMrB,QAAQK,KAAKe,EAEvB,CACA,SAASE,IACP,OAAO7B,CACT,CAYA,MAAM8B,EACJ,WAAA3B,CAAYY,EAAIgB,EAASC,EAAWJ,GAClCvB,KAAKU,GAAKA,EACVV,KAAK0B,QAAUA,EACf1B,KAAK2B,UAAYA,EACjB3B,KAAKQ,QAAS,EACdR,KAAK4B,KAAO,GAIZ5B,KAAK6B,YAAc,EAInB7B,KAAK8B,SAAW,EAIhB9B,KAAK+B,UAAY,EAIjB/B,KAAKgC,iBAAkB,EAIvBhC,KAAKiC,YAAc,EACnBZ,EAAkBrB,KAAMuB,EAC1B,CACA,SAAIW,GACF,GAAyB,IAArBlC,KAAK6B,aAA0C,IAArB7B,KAAK6B,YAAmB,CACpD7B,KAAK6B,YAAc,EACnBM,IACA,IAAK,IAAInB,EAAI,EAAGA,EAAIhB,KAAKiC,YAAajB,IAAK,CACzC,MAAMoB,EAAMpC,KAAK4B,KAAKZ,GACtB,GAAIoB,EAAIC,WACNC,EAAgBF,EAAIC,UAChBrC,KAAK6B,aAAe,GACtB,KAGN,CACyB,IAArB7B,KAAK6B,cACP7B,KAAK6B,YAAc,GAErBU,GACF,CACA,OAAOvC,KAAK6B,aAAe,CAC7B,CACA,SAAIK,CAAMM,GACRxC,KAAK6B,YAAcW,EAAI,EAAI,CAC7B,CACA,GAAA/B,GAEE,GADAT,KAAK6B,YAAc,GACd7B,KAAKQ,OACR,OAAOR,KAAKU,KAEd,IAAI+B,EAAkBC,EAClBC,EAAa/C,EACjB,IAKE,OAJA8C,GAAc,EACd9C,EAAeI,KACfA,KAAK+B,YACLa,EAAiB5C,MACVA,KAAKU,IACd,CAAE,QACAmC,EAAkB7C,MAClBA,KAAK+B,YACLnC,EAAe+C,EACfD,EAAcD,CAChB,CACF,CACA,IAAA3B,GACMd,KAAKQ,SACPoC,EAAiB5C,MACjB6C,EAAkB7C,MAClBA,KAAK8C,QAAU9C,KAAK8C,SACpB9C,KAAKQ,QAAS,EAElB,EAEF,SAAS8B,EAAgBD,GACvB,OAAOA,EAASU,KAClB,CACA,SAASH,EAAiBI,GACxBA,EAAQlB,WACRkB,EAAQf,YAAc,CACxB,CACA,SAASY,EAAkBG,GACzB,GAAIA,EAAQpB,KAAKV,OAAS8B,EAAQf,YAAa,CAC7C,IAAK,IAAIjB,EAAIgC,EAAQf,YAAajB,EAAIgC,EAAQpB,KAAKV,OAAQF,IACzDiC,EAAiBD,EAAQpB,KAAKZ,GAAIgC,GAEpCA,EAAQpB,KAAKV,OAAS8B,EAAQf,WAChC,CACF,CACA,SAASgB,EAAiBb,EAAKY,GAC7B,MAAME,EAAUd,EAAIe,IAAIH,QACR,IAAZE,GAAsBF,EAAQlB,WAAaoB,IAC7Cd,EAAIgB,OAAOJ,GACM,IAAbZ,EAAIiB,MACNjB,EAAIkB,UAGV,CAwBA,IAAIZ,GAAc,EACda,EAAqB,EACzB,MAAMC,EAAa,GACnB,SAASrB,IACPqB,EAAWjD,KAAKmC,GAChBA,GAAc,CAChB,CAKA,SAASH,IACP,MAAMpB,EAAOqC,EAAWpC,MACxBsB,OAAuB,IAATvB,GAAyBA,CACzC,CACA,SAASsC,IACPF,GACF,CACA,SAASG,IACPH,IACA,OAAQA,GAAsBI,EAAsBzC,OAClDyC,EAAsBC,OAAtBD,EAEJ,CACA,SAASE,EAAYb,EAASZ,EAAK0B,GAEjC,GAAI1B,EAAIe,IAAIH,KAAaA,EAAQlB,SAAU,CACzCM,EAAI2B,IAAIf,EAASA,EAAQlB,UACzB,MAAMkC,EAAShB,EAAQpB,KAAKoB,EAAQf,aAChC+B,IAAW5B,GACT4B,GACFf,EAAiBe,EAAQhB,GAE3BA,EAAQpB,KAAKoB,EAAQf,eAAiBG,GAEtCY,EAAQf,aAKZ,CACF,CACA,MAAM0B,EAAwB,GAC9B,SAASM,EAAe7B,EAAK8B,EAAYJ,GAEvCL,IACA,IAAK,MAAMT,KAAWZ,EAAI+B,OAAQ,CAChC,IAAIC,EACApB,EAAQnB,YAAcqC,IAA2B,MAAZE,EAAmBA,EAAWA,EAAWhC,EAAIe,IAAIH,KAAaA,EAAQlB,YAC7GkB,EAAQhB,kBAAoBgB,EAAQhB,gBAA0C,IAAxBgB,EAAQnB,aAC9DmB,EAAQnB,YAAcqC,GAEpBlB,EAAQhB,kBAAgC,MAAZoC,EAAmBA,EAAWA,EAAWhC,EAAIe,IAAIH,KAAaA,EAAQlB,YAIpGkB,EAAQtB,UACFsB,EAAQjB,YAAaiB,EAAQqB,cAAyC,IAAxBrB,EAAQnB,cAC1DmB,EAAQhB,iBAAkB,EACtBgB,EAAQrB,WACVgC,EAAsBpD,KAAKyC,EAAQrB,YAI3C,CACA+B,GACF,CAEA,MAAMY,EAAY,CAAChB,EAASjB,KAC1B,MAAMD,EAAsB,IAAImC,IAGhC,OAFAnC,EAAIkB,QAAUA,EACdlB,EAAIC,SAAWA,EACRD,CAAG,EAGNoC,EAA4B,IAAIC,QAChCC,EAAcC,OAA+D,IAC7EC,EAAsBD,OAAuE,IACnG,SAASE,EAAMC,EAAQC,EAAMC,GAC3B,GAAItC,GAAe9C,EAAc,CAC/B,IAAIqF,EAAUT,EAAUrB,IAAI2B,GACvBG,GACHT,EAAUT,IAAIe,EAAQG,EAA0B,IAAIV,KAEtD,IAAInC,EAAM6C,EAAQ9B,IAAI6B,GACjB5C,GACH6C,EAAQlB,IAAIiB,EAAK5C,EAAMkC,GAAU,IAAMW,EAAQ7B,OAAO4B,MAExDnB,EACEjE,EACAwC,OAKI,EAER,CACF,CACA,SAASV,EAAQoD,EAAQC,EAAMC,EAAKE,EAAUC,EAAUC,GACtD,MAAMH,EAAUT,EAAUrB,IAAI2B,GAC9B,IAAKG,EACH,OAEF,IAAIrD,EAAO,GACX,GAAa,UAATmD,EACFnD,EAAO,IAAIqD,EAAQI,eACd,GAAY,WAARL,IAAoB,QAAQF,GAAS,CAC9C,MAAMQ,EAAYC,OAAOL,GACzBD,EAAQO,SAAQ,CAACpD,EAAKqD,MACP,WAATA,KAAsB,QAASA,IAASA,GAAQH,IAClD1D,EAAKrB,KAAK6B,EACZ,GAEJ,MAIE,YAHY,IAAR4C,GACFpD,EAAKrB,KAAK0E,EAAQ9B,IAAI6B,IAEhBD,GACN,IAAK,OACE,QAAQD,IAKF,QAAaE,IACtBpD,EAAKrB,KAAK0E,EAAQ9B,IAAI,YALtBvB,EAAKrB,KAAK0E,EAAQ9B,IAAIuB,KAClB,QAAMI,IACRlD,EAAKrB,KAAK0E,EAAQ9B,IAAIyB,KAK1B,MACF,IAAK,UACE,QAAQE,KACXlD,EAAKrB,KAAK0E,EAAQ9B,IAAIuB,KAClB,QAAMI,IACRlD,EAAKrB,KAAK0E,EAAQ9B,IAAIyB,KAG1B,MACF,IAAK,OACC,QAAME,IACRlD,EAAKrB,KAAK0E,EAAQ9B,IAAIuB,IAExB,MAGNjB,IACA,IAAK,MAAMrB,KAAOR,EACZQ,GACF6B,EACE7B,EACA,OAQI,GAIVsB,GACF,CAMA,MAAMgC,GAAqC,QAAQ,+BAC7CC,EAAiB,IAAIC,IACTC,OAAOC,oBAAoBnB,QAAQoB,QAAQf,GAAgB,cAARA,GAA+B,WAARA,IAAkBgB,KAAKhB,GAAQL,OAAOK,KAAMe,OAAO,OAEzIE,EAAwCC,IAC9C,SAASA,IACP,MAAMC,EAAmB,CAAC,EAyB1B,MAxBA,CAAC,WAAY,UAAW,eAAeX,SAASR,IAC9CmB,EAAiBnB,GAAO,YAAYoB,GAClC,MAAMC,EAAMC,GAAMtG,MAClB,IAAK,IAAIgB,EAAI,EAAGC,EAAIjB,KAAKkB,OAAQF,EAAIC,EAAGD,IACtC6D,EAAMwB,EAAK,MAAOrF,EAAI,IAExB,MAAMuF,EAAMF,EAAIrB,MAAQoB,GACxB,OAAa,IAATG,IAAsB,IAARA,EACTF,EAAIrB,MAAQoB,EAAKJ,IAAIM,KAErBC,CAEX,CAAC,IAEH,CAAC,OAAQ,MAAO,QAAS,UAAW,UAAUf,SAASR,IACrDmB,EAAiBnB,GAAO,YAAYoB,GAClCjE,IACAsB,IACA,MAAM8C,EAAMD,GAAMtG,MAAMgF,GAAKwB,MAAMxG,KAAMoG,GAGzC,OAFA1C,IACAnB,IACOgE,CACT,CAAC,IAEIJ,CACT,CACA,SAASM,EAAezB,IACjB,QAASA,KAAMA,EAAM0B,OAAO1B,IACjC,MAAM2B,EAAML,GAAMtG,MAElB,OADA6E,EAAM8B,EAAK,MAAO3B,GACX2B,EAAIF,eAAezB,EAC5B,CACA,MAAM4B,EACJ,WAAA9G,CAAY+G,GAAc,EAAOC,GAAa,GAC5C9G,KAAK6G,YAAcA,EACnB7G,KAAK8G,WAAaA,CACpB,CACA,GAAA3D,CAAI2B,EAAQE,EAAK+B,GACf,MAAMC,EAAchH,KAAK6G,YAAaI,EAAajH,KAAK8G,WACxD,GAAY,mBAAR9B,EACF,OAAQgC,EACH,GAAY,mBAARhC,EACT,OAAOgC,EACF,GAAY,kBAARhC,EACT,OAAOiC,EACF,GAAY,YAARjC,EACT,OAAI+B,KAAcC,EAAcC,EAAaC,GAAqBC,GAAcF,EAAaG,GAAqBC,IAAalE,IAAI2B,IAEnIe,OAAOyB,eAAexC,KAAYe,OAAOyB,eAAeP,GAC/CjC,OAET,EAEF,MAAMyC,GAAgB,QAAQzC,GAC9B,IAAKkC,EAAa,CAChB,GAAIO,IAAiB,QAAOtB,EAAuBjB,GACjD,OAAOwC,QAAQrE,IAAI8C,EAAuBjB,EAAK+B,GAEjD,GAAY,mBAAR/B,EACF,OAAOyB,CAEX,CACA,MAAMF,EAAMiB,QAAQrE,IAAI2B,EAAQE,EAAK+B,GACrC,QAAI,QAAS/B,GAAOW,EAAe8B,IAAIzC,GAAOU,EAAmBV,IACxDuB,GAEJS,GACHnC,EAAMC,EAAQ,MAAOE,GAEnBiC,EACKV,EAELmB,GAAMnB,GACDgB,IAAiB,QAAavC,GAAOuB,EAAMA,EAAIxD,OAEpD,QAASwD,GACJS,EAAcW,GAASpB,GAAOqB,GAASrB,GAEzCA,EACT,EAEF,MAAMsB,UAA+BjB,EACnC,WAAA9G,CAAYmH,GAAa,GACvBa,OAAM,EAAOb,EACf,CACA,GAAAlD,CAAIe,EAAQE,EAAKjC,EAAOgE,GACtB,IAAI5B,EAAWL,EAAOE,GACtB,IAAKhF,KAAK8G,WAAY,CACpB,MAAMiB,EAAqBC,GAAW7C,GAKtC,GAJK8C,GAAUlF,IAAWiF,GAAWjF,KACnCoC,EAAWmB,GAAMnB,GACjBpC,EAAQuD,GAAMvD,MAEX,QAAQ+B,IAAW4C,GAAMvC,KAAcuC,GAAM3E,GAChD,OAAIgF,IAGF5C,EAASpC,MAAQA,GACV,EAGb,CACA,MAAMmF,GAAS,QAAQpD,KAAW,QAAaE,GAAOO,OAAOP,GAAOF,EAAO5D,QAAS,QAAO4D,EAAQE,GAC7FmD,EAASX,QAAQzD,IAAIe,EAAQE,EAAKjC,EAAOgE,GAQ/C,OAPIjC,IAAWwB,GAAMS,KACdmB,GAEM,QAAWnF,EAAOoC,IAC3BzD,EAAQoD,EAAQ,MAAOE,EAAKjC,EAAOoC,GAFnCzD,EAAQoD,EAAQ,MAAOE,EAAKjC,IAKzBoF,CACT,CACA,cAAAC,CAAetD,EAAQE,GACrB,MAAMkD,GAAS,QAAOpD,EAAQE,GACxBG,EAAWL,EAAOE,GAClBmD,EAASX,QAAQY,eAAetD,EAAQE,GAI9C,OAHImD,GAAUD,GACZxG,EAAQoD,EAAQ,SAAUE,OAAK,EAAQG,GAElCgD,CACT,CACA,GAAAV,CAAI3C,EAAQE,GACV,MAAMmD,EAASX,QAAQC,IAAI3C,EAAQE,GAInC,OAHK,QAASA,IAASW,EAAe8B,IAAIzC,IACxCH,EAAMC,EAAQ,MAAOE,GAEhBmD,CACT,CACA,OAAAE,CAAQvD,GAMN,OALAD,EACEC,EACA,WACA,QAAQA,GAAU,SAAWJ,GAExB8C,QAAQa,QAAQvD,EACzB,EAEF,MAAMwD,UAAgC1B,EACpC,WAAA9G,CAAYmH,GAAa,GACvBa,OAAM,EAAMb,EACd,CACA,GAAAlD,CAAIe,EAAQE,GAOV,OAAO,CACT,CACA,cAAAoD,CAAetD,EAAQE,GAOrB,OAAO,CACT,EAEF,MAAMuD,EAAkC,IAAIV,EACtCW,EAAmC,IAAIF,EACvCG,EAA0C,IAAIZ,GAClD,GAIIa,EAAa3F,GAAUA,EACvB4F,EAAYnG,GAAMgF,QAAQF,eAAe9E,GAC/C,SAASW,EAAI2B,EAAQE,EAAKgD,GAAa,EAAOC,GAAY,GACxDnD,EAASA,EAAO,WAChB,MAAM8D,EAAYtC,GAAMxB,GAClB+D,EAASvC,GAAMtB,GAChBgD,KACC,QAAWhD,EAAK6D,IAClBhE,EAAM+D,EAAW,MAAO5D,GAE1BH,EAAM+D,EAAW,MAAOC,IAE1B,MAAQpB,IAAKqB,GAASH,EAASC,GACzBG,EAAOd,EAAYS,EAAYV,EAAagB,GAAaC,GAC/D,OAAIH,EAAKI,KAAKN,EAAW5D,GAChB+D,EAAKjE,EAAO3B,IAAI6B,IACd8D,EAAKI,KAAKN,EAAWC,GACvBE,EAAKjE,EAAO3B,IAAI0F,SACd/D,IAAW8D,GACpB9D,EAAO3B,IAAI6B,GAEf,CACA,SAASyC,EAAIzC,EAAKgD,GAAa,GAC7B,MAAMlD,EAAS9E,KAAK,WACd4I,EAAYtC,GAAMxB,GAClB+D,EAASvC,GAAMtB,GAOrB,OANKgD,KACC,QAAWhD,EAAK6D,IAClBhE,EAAM+D,EAAW,MAAO5D,GAE1BH,EAAM+D,EAAW,MAAOC,IAEnB7D,IAAQ6D,EAAS/D,EAAO2C,IAAIzC,GAAOF,EAAO2C,IAAIzC,IAAQF,EAAO2C,IAAIoB,EAC1E,CACA,SAASxF,EAAKyB,EAAQkD,GAAa,GAGjC,OAFAlD,EAASA,EAAO,YACfkD,GAAcnD,EAAMyB,GAAMxB,GAAS,UAAWJ,GACxC8C,QAAQrE,IAAI2B,EAAQ,OAAQA,EACrC,CACA,SAASqE,EAAIpG,GACXA,EAAQuD,GAAMvD,GACd,MAAM+B,EAASwB,GAAMtG,MACfoJ,EAAQT,EAAS7D,GACjBoD,EAASkB,EAAM3B,IAAIyB,KAAKpE,EAAQ/B,GAKtC,OAJKmF,IACHpD,EAAOqE,IAAIpG,GACXrB,EAAQoD,EAAQ,MAAO/B,EAAOA,IAEzB/C,IACT,CACA,SAAS+D,EAAIiB,EAAKjC,GAChBA,EAAQuD,GAAMvD,GACd,MAAM+B,EAASwB,GAAMtG,OACbyH,IAAKqB,EAAM3F,IAAKkG,GAASV,EAAS7D,GAC1C,IAAIoD,EAASY,EAAKI,KAAKpE,EAAQE,GAC1BkD,IACHlD,EAAMsB,GAAMtB,GACZkD,EAASY,EAAKI,KAAKpE,EAAQE,IAI7B,MAAMG,EAAWkE,EAAKH,KAAKpE,EAAQE,GAOnC,OANAF,EAAOf,IAAIiB,EAAKjC,GACXmF,GAEM,QAAWnF,EAAOoC,IAC3BzD,EAAQoD,EAAQ,MAAOE,EAAKjC,EAAOoC,GAFnCzD,EAAQoD,EAAQ,MAAOE,EAAKjC,GAIvB/C,IACT,CACA,SAASsJ,EAAYtE,GACnB,MAAMF,EAASwB,GAAMtG,OACbyH,IAAKqB,EAAM3F,IAAKkG,GAASV,EAAS7D,GAC1C,IAAIoD,EAASY,EAAKI,KAAKpE,EAAQE,GAC1BkD,IACHlD,EAAMsB,GAAMtB,GACZkD,EAASY,EAAKI,KAAKpE,EAAQE,IAI7B,MAAMG,EAAWkE,EAAOA,EAAKH,KAAKpE,EAAQE,QAAO,EAC3CmD,EAASrD,EAAO1B,OAAO4B,GAI7B,OAHIkD,GACFxG,EAAQoD,EAAQ,SAAUE,OAAK,EAAQG,GAElCgD,CACT,CACA,SAASoB,IACP,MAAMzE,EAASwB,GAAMtG,MACfwJ,EAA2B,IAAhB1E,EAAOzB,KAClB+B,OAA4G,EAC5G+C,EAASrD,EAAOyE,QAItB,OAHIC,GACF9H,EAAQoD,EAAQ,aAAS,OAAQ,EAAQM,GAEpC+C,CACT,CACA,SAASsB,EAAczB,EAAYC,GACjC,OAAO,SAAiByB,EAAUC,GAChC,MAAMC,EAAW5J,KACX8E,EAAS8E,EAAS,WAClBhB,EAAYtC,GAAMxB,GAClBiE,EAAOd,EAAYS,EAAYV,EAAagB,GAAaC,GAE/D,OADCjB,GAAcnD,EAAM+D,EAAW,UAAWlE,GACpCI,EAAOU,SAAQ,CAACzC,EAAOiC,IACrB0E,EAASR,KAAKS,EAASZ,EAAKhG,GAAQgG,EAAK/D,GAAM4E,IAE1D,CACF,CACA,SAASC,EAAqBC,EAAQ9B,EAAYC,GAChD,OAAO,YAAY7B,GACjB,MAAMtB,EAAS9E,KAAK,WACd4I,EAAYtC,GAAMxB,GAClBiF,GAAc,QAAMnB,GACpBoB,EAAoB,YAAXF,GAAwBA,IAAWnF,OAAOsF,UAAYF,EAC/DG,EAAuB,SAAXJ,GAAqBC,EACjCI,EAAgBrF,EAAOgF,MAAW1D,GAClC2C,EAAOd,EAAYS,EAAYV,EAAagB,GAAaC,GAM/D,OALCjB,GAAcnD,EACb+D,EACA,UACAsB,EAAYtF,EAAsBF,GAE7B,CAEL,IAAA0F,GACE,MAAM,MAAErH,EAAK,KAAEsH,GAASF,EAAcC,OACtC,OAAOC,EAAO,CAAEtH,QAAOsH,QAAS,CAC9BtH,MAAOiH,EAAS,CAACjB,EAAKhG,EAAM,IAAKgG,EAAKhG,EAAM,KAAOgG,EAAKhG,GACxDsH,OAEJ,EAEA,CAAC1F,OAAOsF,YACN,OAAOjK,IACT,EAEJ,CACF,CACA,SAASsK,EAAqBvF,GAC5B,OAAO,YAAYqB,GAQjB,MAAgB,WAATrB,IAAqC,UAATA,OAAmB,EAAS/E,KACjE,CACF,CACA,SAASuK,IACP,MAAMC,EAA2B,CAC/B,GAAArH,CAAI6B,GACF,OAAO7B,EAAInD,KAAMgF,EACnB,EACA,QAAI3B,GACF,OAAOA,EAAKrD,KACd,EACAyH,MACA0B,MACApF,MACAX,OAAQkG,EACRC,QACA/D,QAASiE,GAAc,GAAO,IAE1BgB,EAA2B,CAC/B,GAAAtH,CAAI6B,GACF,OAAO7B,EAAInD,KAAMgF,GAAK,GAAO,EAC/B,EACA,QAAI3B,GACF,OAAOA,EAAKrD,KACd,EACAyH,MACA0B,MACApF,MACAX,OAAQkG,EACRC,QACA/D,QAASiE,GAAc,GAAO,IAE1BiB,EAA4B,CAChC,GAAAvH,CAAI6B,GACF,OAAO7B,EAAInD,KAAMgF,GAAK,EACxB,EACA,QAAI3B,GACF,OAAOA,EAAKrD,MAAM,EACpB,EACA,GAAAyH,CAAIzC,GACF,OAAOyC,EAAIyB,KAAKlJ,KAAMgF,GAAK,EAC7B,EACAmE,IAAKmB,EAAqB,OAC1BvG,IAAKuG,EAAqB,OAC1BlH,OAAQkH,EAAqB,UAC7Bf,MAAOe,EAAqB,SAC5B9E,QAASiE,GAAc,GAAM,IAEzBkB,EAAmC,CACvC,GAAAxH,CAAI6B,GACF,OAAO7B,EAAInD,KAAMgF,GAAK,GAAM,EAC9B,EACA,QAAI3B,GACF,OAAOA,EAAKrD,MAAM,EACpB,EACA,GAAAyH,CAAIzC,GACF,OAAOyC,EAAIyB,KAAKlJ,KAAMgF,GAAK,EAC7B,EACAmE,IAAKmB,EAAqB,OAC1BvG,IAAKuG,EAAqB,OAC1BlH,OAAQkH,EAAqB,UAC7Bf,MAAOe,EAAqB,SAC5B9E,QAASiE,GAAc,GAAM,IAEzBmB,EAAkB,CACtB,OACA,SACA,UACAjG,OAAOsF,UAYT,OAVAW,EAAgBpF,SAASsE,IACvBU,EAAyBV,GAAUD,EAAqBC,GAAQ,GAAO,GACvEY,EAA0BZ,GAAUD,EAAqBC,GAAQ,GAAM,GACvEW,EAAyBX,GAAUD,EAAqBC,GAAQ,GAAO,GACvEa,EAAiCb,GAAUD,EACzCC,GACA,GACA,EACD,IAEI,CACLU,EACAE,EACAD,EACAE,EAEJ,CACA,MACEE,GACAC,GACAC,GACAC,IACkBT,IACpB,SAASU,GAA4BjD,EAAYkD,GAC/C,MAAM/E,EAAmB+E,EAAUlD,EAAagD,GAAkCD,GAA0B/C,EAAa8C,GAA2BD,GACpJ,MAAO,CAAC/F,EAAQE,EAAK+B,IACP,mBAAR/B,GACMgD,EACS,mBAARhD,EACFgD,EACU,YAARhD,EACFF,EAEF0C,QAAQrE,KACb,QAAOgD,EAAkBnB,IAAQA,KAAOF,EAASqB,EAAmBrB,EACpEE,EACA+B,EAGN,CACA,MAAMoE,GAA4B,CAChChI,IAAqB8H,IAA4B,GAAO,IAEpDG,GAA4B,CAChCjI,IAAqB8H,IAA4B,GAAO,IAEpDI,GAA6B,CACjClI,IAAqB8H,IAA4B,GAAM,IAezD,MAAM5D,GAA8B,IAAI5C,QAClC2C,GAAqC,IAAI3C,QACzC0C,GAA8B,IAAI1C,QAClCyC,GAAqC,IAAIzC,QAC/C,SAAS6G,GAAcC,GACrB,OAAQA,GACN,IAAK,SACL,IAAK,QACH,OAAO,EACT,IAAK,MACL,IAAK,MACL,IAAK,UACL,IAAK,UACH,OAAO,EACT,QACE,OAAO,EAEb,CACA,SAASC,GAAczI,GACrB,OAAOA,EAAM,cAAgB8C,OAAO4F,aAAa1I,GAAS,EAAkBuI,IAAc,QAAUvI,GACtG,CACA,SAAS6E,GAAS9C,GAChB,OAAIkD,GAAWlD,GACNA,EAEF4G,GACL5G,GACA,EACAyD,EACA4C,GACA9D,GAEJ,CACA,SAASsE,GAAgB7G,GACvB,OAAO4G,GACL5G,GACA,EACA2D,EACA2C,GACAhE,GAEJ,CACA,SAASO,GAAS7C,GAChB,OAAO4G,GACL5G,GACA,EACA0D,EACA6C,GACAlE,GAEJ,CAUA,SAASuE,GAAqB5G,EAAQkC,EAAa4E,EAAcC,EAAoBC,GACnF,KAAK,QAAShH,GAQZ,OAAOA,EAET,GAAIA,EAAO,cAAgBkC,IAAelC,EAAO,mBAC/C,OAAOA,EAET,MAAMiH,EAAgBD,EAAS3I,IAAI2B,GACnC,GAAIiH,EACF,OAAOA,EAET,MAAMC,EAAaR,GAAc1G,GACjC,GAAmB,IAAfkH,EACF,OAAOlH,EAET,MAAMmH,EAAQ,IAAIC,MAChBpH,EACe,IAAfkH,EAAoCH,EAAqBD,GAG3D,OADAE,EAAS/H,IAAIe,EAAQmH,GACdA,CACT,CACA,SAASE,GAAWpJ,GAClB,OAAIiF,GAAWjF,GACNoJ,GAAWpJ,EAAM,eAEhBA,IAASA,EAAM,kBAC3B,CACA,SAASiF,GAAWjF,GAClB,SAAUA,IAASA,EAAM,kBAC3B,CACA,SAASkF,GAAUlF,GACjB,SAAUA,IAASA,EAAM,iBAC3B,CACA,SAASqJ,GAAQrJ,GACf,QAAOA,KAAUA,EAAM,UACzB,CACA,SAASuD,GAAMsD,GACb,MAAMyC,EAAMzC,GAAYA,EAAS,WACjC,OAAOyC,EAAM/F,GAAM+F,GAAOzC,CAC5B,CACA,SAAS0C,GAAQvJ,GAIf,OAHI8C,OAAO4F,aAAa1I,KACtB,QAAIA,EAAO,YAAY,GAElBA,CACT,CACA,MAAMkG,GAAclG,IAAU,QAASA,GAAS6E,GAAS7E,GAASA,EAC5DiG,GAAcjG,IAAU,QAASA,GAAS4E,GAAS5E,GAASA,EAGlE,MAAMwJ,GACJ,WAAAzM,CAAY0M,EAAQC,EAASzE,EAAY0E,GACvC1M,KAAKwM,OAASA,EACdxM,KAAKyM,QAAUA,EACfzM,KAAKoC,SAAM,EACXpC,KAAK2M,WAAY,EACjB3M,KAAK,mBAAoB,EACzBA,KAAKsB,OAAS,IAAIG,GAChB,IAAM+K,EAAOxM,KAAK4M,UAClB,IAAMC,GACJ7M,KAC4B,IAA5BA,KAAKsB,OAAOO,YAAoB,EAAI,KAGxC7B,KAAKsB,OAAOe,SAAWrC,KACvBA,KAAKsB,OAAOd,OAASR,KAAK8M,YAAcJ,EACxC1M,KAAK,kBAAoBgI,CAC3B,CACA,SAAIjF,GACF,MAAMgK,EAAOzG,GAAMtG,MAanB,OAZM+M,EAAKD,aAAcC,EAAKzL,OAAOY,SAAU,QAAW6K,EAAKH,OAAQG,EAAKH,OAASG,EAAKzL,OAAOb,QAC/FoM,GAAgBE,EAAM,GAExBC,GAAcD,GACVA,EAAKzL,OAAOO,aAAe,GAM7BgL,GAAgBE,EAAM,GAEjBA,EAAKH,MACd,CACA,SAAI7J,CAAMmC,GACRlF,KAAKyM,QAAQvH,EACf,CAEA,UAAI+H,GACF,OAAOjN,KAAKsB,OAAOY,KACrB,CACA,UAAI+K,CAAOzK,GACTxC,KAAKsB,OAAOY,MAAQM,CACtB,EAGF,SAASH,GAAS6K,EAAiBC,EAAcT,GAAQ,GACvD,IAAIF,EACAY,EACJ,MAAMC,GAAa,QAAWH,GAC1BG,GACFb,EAASU,EACTE,EAEI,OAEJZ,EAASU,EAAgB/J,IACzBiK,EAASF,EAAgBnJ,KAE3B,MAAMuJ,EAAO,IAAIf,GAAgBC,EAAQY,EAAQC,IAAeD,EAAQV,GAKxE,OAAOY,CACT,CAEA,SAASN,GAAcO,GACrB,IAAIC,EACA9K,GAAe9C,IACjB2N,EAAOjH,GAAMiH,GACb1J,EACEjE,EACmB,OAAlB4N,EAAKD,EAAKnL,KAAeoL,EAAKD,EAAKnL,IAAMkC,GACxC,IAAMiJ,EAAKnL,SAAM,GACjBmL,aAAgBhB,GAAkBgB,OAAO,QAMvC,GAGV,CACA,SAASV,GAAgBU,EAAMrJ,EAAa,EAAGuJ,EAAQC,GACrDH,EAAOjH,GAAMiH,GACb,MAAMnL,EAAMmL,EAAKnL,IACbA,GACF6B,EACE7B,EACA8B,OAOI,EAGV,CACA,SAASwD,GAAMiG,GACb,SAAUA,IAAqB,IAAhBA,EAAEhB,UACnB,CAuCA,SAASiB,GAAML,GACb,OAAO7F,GAAM6F,GAAQA,EAAKxK,MAAQwK,CACpC,CAIA,MAAMM,GAAwB,CAC5B1K,IAAK,CAAC2B,EAAQE,EAAK+B,IAAa6G,GAAMpG,QAAQrE,IAAI2B,EAAQE,EAAK+B,IAC/DhD,IAAK,CAACe,EAAQE,EAAKjC,EAAOgE,KACxB,MAAM5B,EAAWL,EAAOE,GACxB,OAAI0C,GAAMvC,KAAcuC,GAAM3E,IAC5BoC,EAASpC,MAAQA,GACV,GAEAyE,QAAQzD,IAAIe,EAAQE,EAAKjC,EAAOgE,EACzC,GAGJ,SAAS+G,GAAUC,GACjB,OAAO5B,GAAW4B,GAAkBA,EAAiB,IAAI7B,MAAM6B,EAAgBF,GACjF,C,wOCx7BA,SAASG,EAAsBtN,EAAIuN,EAAUlJ,EAAMqB,GACjD,IACE,OAAOA,EAAO1F,KAAM0F,GAAQ1F,GAC9B,CAAE,MAAOwN,GACPC,EAAYD,EAAKD,EAAUlJ,EAC7B,CACF,CACA,SAASqJ,EAA2B1N,EAAIuN,EAAUlJ,EAAMqB,GACtD,IAAI,QAAW1F,GAAK,CAClB,MAAM6F,EAAMyH,EAAsBtN,EAAIuN,EAAUlJ,EAAMqB,GAMtD,OALIG,IAAO,QAAUA,IACnBA,EAAI8H,OAAOH,IACTC,EAAYD,EAAKD,EAAUlJ,EAAK,IAG7BwB,CACT,CACA,IAAI,QAAQ7F,GAAK,CACf,MAAM2E,EAAS,GACf,IAAK,IAAIrE,EAAI,EAAGA,EAAIN,EAAGQ,OAAQF,IAC7BqE,EAAO9E,KAAK6N,EAA2B1N,EAAGM,GAAIiN,EAAUlJ,EAAMqB,IAEhE,OAAOf,CACT,CAKF,CACA,SAAS8I,EAAYD,EAAKD,EAAUlJ,EAAMuJ,GAAa,GACrD,MAAMC,EAAeN,EAAWA,EAASO,MAAQ,KACjD,GAAIP,EAAU,CACZ,IAAIQ,EAAMR,EAAS7N,OACnB,MAAMsO,EAAkBT,EAAShC,MAC3B0C,EAAmF,8CAA8C5J,IACvI,MAAO0J,EAAK,CACV,MAAMG,EAAqBH,EAAII,GAC/B,GAAID,EACF,IAAK,IAAI5N,EAAI,EAAGA,EAAI4N,EAAmB1N,OAAQF,IAC7C,IAA+D,IAA3D4N,EAAmB5N,GAAGkN,EAAKQ,EAAiBC,GAC9C,OAINF,EAAMA,EAAIrO,MACZ,CACA,MAAM0O,EAAkBb,EAASc,WAAWC,OAAOC,aACnD,GAAIH,EASF,OARA,UACAd,EACEc,EACA,KACA,GACA,CAACZ,EAAKQ,EAAiBC,SAEzB,SAGJ,CACAO,EAAShB,EAAKnJ,EAAMwJ,EAAcD,EACpC,CACA,SAASY,EAAShB,EAAKnJ,EAAMwJ,EAAcD,GAAa,GAgBpDa,QAAQC,MAAMlB,EAElB,CAEA,IAAImB,GAAa,EACbC,GAAiB,EACrB,MAAMC,EAAQ,GACd,IAAIC,EAAa,EACjB,MAAMC,EAAsB,GAC5B,IAAIC,EAAqB,KACrBC,EAAiB,EACrB,MAAMC,EAAkCC,QAAQC,UAChD,IAAIC,EAAsB,KAE1B,SAASC,EAAStP,GAChB,MAAMuP,EAAIF,GAAuBH,EACjC,OAAOlP,EAAKuP,EAAEC,KAAKlQ,KAAOU,EAAGyP,KAAKnQ,MAAQU,GAAMuP,CAClD,CACA,SAASG,EAAmBC,GAC1B,IAAIC,EAAQd,EAAa,EACrBe,EAAMhB,EAAMrO,OAChB,MAAOoP,EAAQC,EAAK,CAClB,MAAMC,EAASF,EAAQC,IAAQ,EACzBE,EAAYlB,EAAMiB,GAClBE,EAAcC,EAAMF,GACtBC,EAAcL,GAAMK,IAAgBL,GAAMI,EAAUG,IACtDN,EAAQE,EAAS,EAEjBD,EAAMC,CAEV,CACA,OAAOF,CACT,CACA,SAASO,EAASC,GACXvB,EAAMrO,QAAWqO,EAAMwB,SAC1BD,EACAzB,GAAcyB,EAAIzM,aAAemL,EAAa,EAAIA,KAEpC,MAAVsB,EAAIT,GACNd,EAAMhP,KAAKuQ,GAEXvB,EAAMyB,OAAOZ,EAAmBU,EAAIT,IAAK,EAAGS,GAE9CG,IAEJ,CACA,SAASA,IACF5B,GAAeC,IAClBA,GAAiB,EACjBS,EAAsBH,EAAgBM,KAAKgB,GAE/C,CACA,SAASC,EAAcL,GACrB,MAAM9P,EAAIuO,EAAM6B,QAAQN,GACpB9P,EAAIwO,GACND,EAAMyB,OAAOhQ,EAAG,EAEpB,CACA,SAASqQ,EAAiBC,IACnB,QAAQA,GAQX7B,EAAoBlP,QAAQ+Q,GAPvB5B,GAAuBA,EAAmBqB,SAC7CO,EACAA,EAAGjN,aAAesL,EAAiB,EAAIA,IAEvCF,EAAoBlP,KAAK+Q,GAK7BL,GACF,CACA,SAASM,EAAiBtD,EAAUuD,EAAMxQ,GAAIqO,EAAaG,EAAa,EAAI,IAI1E,IAHI,EAGGxO,EAAIuO,EAAMrO,OAAQF,IAAK,CAC5B,MAAMsQ,EAAK/B,EAAMvO,GACjB,GAAIsQ,GAAMA,EAAGV,IAAK,CAChB,GAAI3C,GAAYqD,EAAGjB,KAAOpC,EAASwD,IACjC,SAEE,EAGJlC,EAAMyB,OAAOhQ,EAAG,GAChBA,IACAsQ,GACF,CACF,CACF,CACA,SAASI,EAAkBF,GACzB,GAAI/B,EAAoBvO,OAAQ,CAC9B,MAAMyQ,EAAU,IAAI,IAAI/L,IAAI6J,IAAsBmC,MAChD,CAACC,EAAGC,IAAMnB,EAAMkB,GAAKlB,EAAMmB,KAG7B,GADArC,EAAoBvO,OAAS,EACzBwO,EAEF,YADAA,EAAmBnP,QAAQoR,GAO7B,IAJAjC,EAAqBiC,EAIhBhC,EAAiB,EAAGA,EAAiBD,EAAmBxO,OAAQyO,IAAkB,CACrF,MAAM2B,EAAK5B,EAAmBC,GAC1B,GAGc,IAAd2B,EAAG9Q,QAAkB8Q,GAC3B,CACA5B,EAAqB,KACrBC,EAAiB,CACnB,CACF,CACA,MAAMgB,EAASG,GAAkB,MAAVA,EAAIT,GAAa0B,IAAWjB,EAAIT,GACjD2B,EAAa,CAACH,EAAGC,KACrB,MAAMG,EAAOtB,EAAMkB,GAAKlB,EAAMmB,GAC9B,GAAa,IAATG,EAAY,CACd,GAAIJ,EAAEjB,MAAQkB,EAAElB,IAAK,OAAQ,EAC7B,GAAIkB,EAAElB,MAAQiB,EAAEjB,IAAK,OAAO,CAC9B,CACA,OAAOqB,CAAI,EAEb,SAASf,EAAUM,GACjBlC,GAAiB,EACjBD,GAAa,EAIbE,EAAMqC,KAAKI,GAC2F,KACtG,IACE,IAAKxC,EAAa,EAAGA,EAAaD,EAAMrO,OAAQsO,IAAc,CAC5D,MAAMsB,EAAMvB,EAAMC,GACdsB,IAAsB,IAAfA,EAAItQ,QAIbwN,EAAsB8C,EAAK,KAAM,GAErC,CACF,CAAE,QACAtB,EAAa,EACbD,EAAMrO,OAAS,EACfwQ,EAAkBF,GAClBnC,GAAa,EACbU,EAAsB,MAClBR,EAAMrO,QAAUuO,EAAoBvO,SACtCgQ,EAAUM,EAEd,CACF,CAgPA,SAASU,EAAKjE,EAAUkE,KAAUC,GAChC,GAAInE,EAASoE,YAAa,OAC1B,MAAMC,EAAQrE,EAASO,MAAM8D,OAAS,KA0BtC,IAAIlM,EAAOgM,EACX,MAAMG,EAAkBJ,EAAMK,WAAW,WACnCC,EAAWF,GAAmBJ,EAAMO,MAAM,GAChD,GAAID,GAAYA,KAAYH,EAAO,CACjC,MAAMK,EAAe,GAAgB,eAAbF,EAA4B,QAAUA,cACxD,OAAEG,EAAM,KAAEC,GAASP,EAAMK,IAAiB,KAC5CE,IACFzM,EAAOgM,EAAQpM,KAAK6L,IAAM,QAASA,GAAKA,EAAEgB,OAAShB,KAEjDe,IACFxM,EAAOgM,EAAQpM,IAAI,MAEvB,CAiBA,IAAI8M,EACJ,IAAIC,EAAUT,EAAMQ,GAAc,QAAaX,KAC/CG,EAAMQ,GAAc,SAAa,QAASX,MACrCY,GAAWR,IACdQ,EAAUT,EAAMQ,GAAc,SAAa,QAAUX,MAEnDY,GACF3E,EACE2E,EACA9E,EACA,EACA7H,GAGJ,MAAM4M,EAAcV,EAAMQ,EAAc,QACxC,GAAIE,EAAa,CACf,GAAK/E,EAASgF,SAEP,GAAIhF,EAASgF,QAAQH,GAC1B,YAFA7E,EAASgF,QAAU,CAAC,EAItBhF,EAASgF,QAAQH,IAAe,EAChC1E,EACE4E,EACA/E,EACA,EACA7H,EAEJ,CACF,CACA,SAAS8M,EAAsBC,EAAMpE,EAAYqE,GAAU,GACzD,MAAMC,EAAQtE,EAAWuE,WACnBC,EAASF,EAAMlQ,IAAIgQ,GACzB,QAAe,IAAXI,EACF,OAAOA,EAET,MAAMlH,EAAM8G,EAAKK,MACjB,IAAIC,EAAa,CAAC,EACdC,GAAa,EACjB,KAA4B,QAAWP,GAAO,CAC5C,MAAMQ,EAAeC,IACnB,MAAMC,EAAuBX,EAAsBU,EAAM7E,GAAY,GACjE8E,IACFH,GAAa,GACb,QAAOD,EAAYI,GACrB,GAEGT,GAAWrE,EAAW+E,OAAO5S,QAChC6N,EAAW+E,OAAOtO,QAAQmO,GAExBR,EAAKY,SACPJ,EAAYR,EAAKY,SAEfZ,EAAKW,QACPX,EAAKW,OAAOtO,QAAQmO,EAExB,CACA,OAAKtH,GAAQqH,IAMT,QAAQrH,GACVA,EAAI7G,SAASR,GAAQyO,EAAWzO,GAAO,QAEvC,QAAOyO,EAAYpH,IAEjB,QAAS8G,IACXE,EAAMtP,IAAIoP,EAAMM,GAEXA,KAbD,QAASN,IACXE,EAAMtP,IAAIoP,EAAM,MAEX,KAWX,CACA,SAASa,EAAeC,EAASjP,GAC/B,SAAKiP,KAAY,QAAKjP,MAGtBA,EAAMA,EAAI0N,MAAM,GAAGwB,QAAQ,QAAS,KAC7B,QAAOD,EAASjP,EAAI,GAAGmP,cAAgBnP,EAAI0N,MAAM,MAAO,QAAOuB,GAAS,QAAUjP,MAAS,QAAOiP,EAASjP,GACpH,CAEA,IAAIoP,EAA2B,KAC3BC,EAAiB,KACrB,SAASC,EAA4BrG,GACnC,MAAMsG,EAAOH,EAGb,OAFAA,EAA2BnG,EAC3BoG,EAAiBpG,GAAYA,EAASlJ,KAAKyP,WAAa,KACjDD,CACT,CAQA,SAASE,EAAQ/T,EAAIgU,EAAMN,EAA0BO,GACnD,IAAKD,EAAK,OAAOhU,EACjB,GAAIA,EAAGkU,GACL,OAAOlU,EAET,MAAMmU,EAAsB,IAAIzO,KAC1ByO,EAAoBC,IACtBC,IAAkB,GAEpB,MAAMC,EAAeV,EAA4BI,GACjD,IAAInO,EACJ,IACEA,EAAM7F,KAAM0F,EACd,CAAE,QACAkO,EAA4BU,GACxBH,EAAoBC,IACtBC,GAAiB,EAErB,CAIA,OAAOxO,CAAG,EAKZ,OAHAsO,EAAoBD,IAAK,EACzBC,EAAoBI,IAAK,EACzBJ,EAAoBC,IAAK,EAClBD,CACT,CAMA,SAASK,EAAoBjH,GAC3B,MACElJ,KAAMoQ,EAAS,MACf3G,EAAK,MACLvC,EAAK,UACLmJ,EACAC,cAAeA,GAAa,MAC5BC,EAAK,MACLC,EAAK,KACLrD,EAAI,OACJsD,EAAM,YACNC,EAAW,MACXnD,EAAK,KACLoD,EAAI,WACJC,EAAU,IACVjB,EAAG,aACHkB,GACE3H,EACEsG,EAAOD,EAA4BrG,GACzC,IAAI9F,EACA0N,EAIJ,IACE,GAAsB,EAAlBrH,EAAMsH,UAAe,CACvB,MAAMC,EAAaX,GAAanJ,EAC1B+J,EASDD,EACL5N,EAAS8N,GACPT,EAAOtM,KACL8M,EACAD,EACAN,EACqEnD,EACrEqD,EACAD,EACAhB,IAGJmB,EAAmBN,CACrB,KAAO,CACL,MAAMW,EAAUf,EACZ,EAGJhN,EAAS8N,GACPC,EAAQhV,OAAS,EAAIgV,EACkD5D,EAQjE,CAAEiD,QAAOD,QAAOpD,SAClBgE,EACmE5D,EACrE,OAGJuD,EAAmBV,EAAU7C,MAAQiD,EAAQY,EAAyBZ,EACxE,CACF,CAAE,MAAOrH,GACPkI,GAAWlV,OAAS,EACpBiN,EAAYD,EAAKD,EAAU,GAC3B9F,EAASkO,GAAYC,GACvB,CACA,IAAIC,EAAOpO,EAKX,GAAI0N,IAAqC,IAAjBD,EAAwB,CAC9C,MAAMzR,EAAO0B,OAAO1B,KAAK0R,IACnB,UAAEC,GAAcS,EAClBpS,EAAKjD,QACS,EAAZ4U,IACET,GAAgBlR,EAAKqS,KAAK,QAC5BX,EAAmBY,EACjBZ,EACAR,IAGJkB,EAAOG,GAAWH,EAAMV,GAAkB,GAAO,GA2BvD,CAwBA,OAvBIrH,EAAMmI,OAMRJ,EAAOG,GAAWH,EAAM,MAAM,GAAO,GACrCA,EAAKI,KAAOJ,EAAKI,KAAOJ,EAAKI,KAAKC,OAAOpI,EAAMmI,MAAQnI,EAAMmI,MAE3DnI,EAAMqI,aAMRN,EAAKM,WAAarI,EAAMqI,YAKxB1O,EAASoO,EAEXjC,EAA4BC,GACrBpM,CACT,CA6CA,MAAMgO,EAA4BZ,IAChC,IAAIhP,EACJ,IAAK,MAAMvB,KAAOuQ,GACJ,UAARvQ,GAA2B,UAARA,IAAmB,QAAKA,OAC5CuB,IAAQA,EAAM,CAAC,IAAIvB,GAAOuQ,EAAMvQ,IAGrC,OAAOuB,CAAG,EAENkQ,EAAuB,CAAClB,EAAOjD,KACnC,MAAM/L,EAAM,CAAC,EACb,IAAK,MAAMvB,KAAOuQ,GACX,QAAgBvQ,IAAUA,EAAI0N,MAAM,KAAMJ,IAC7C/L,EAAIvB,GAAOuQ,EAAMvQ,IAGrB,OAAOuB,CAAG,EAKZ,SAASuQ,EAAsBC,EAAWC,EAAWC,GACnD,MAAQ3E,MAAO4E,EAAWC,SAAUC,EAAY,UAAEC,GAAcN,GACxDzE,MAAOgF,EAAWH,SAAUI,EAAY,UAAEC,GAAcR,EAC1DxD,EAAQ6D,EAAUI,aAIxB,GAAIT,EAAUL,MAAQK,EAAUH,WAC9B,OAAO,EAET,KAAII,GAAaO,GAAa,GAmB5B,SAAIJ,IAAgBG,GACbA,GAAiBA,EAAaG,UAIjCR,IAAcI,IAGbJ,GAGAI,GAGEK,EAAgBT,EAAWI,EAAW9D,KALlC8D,GA3BX,GAAgB,KAAZE,EACF,OAAO,EAET,GAAgB,GAAZA,EACF,OAAKN,EAGES,EAAgBT,EAAWI,EAAW9D,KAFlC8D,EAGN,GAAgB,EAAZE,EAAe,CACxB,MAAMI,EAAeZ,EAAUY,aAC/B,IAAK,IAAI5W,EAAI,EAAGA,EAAI4W,EAAa1W,OAAQF,IAAK,CAC5C,MAAMgE,EAAM4S,EAAa5W,GACzB,GAAIsW,EAAUtS,KAASkS,EAAUlS,KAASgP,EAAeR,EAAOxO,GAC9D,OAAO,CAEX,CACF,CAkBF,OAAO,CACT,CACA,SAAS2S,EAAgBT,EAAWI,EAAWG,GAC7C,MAAMI,EAAWhS,OAAO1B,KAAKmT,GAC7B,GAAIO,EAAS3W,SAAW2E,OAAO1B,KAAK+S,GAAWhW,OAC7C,OAAO,EAET,IAAK,IAAIF,EAAI,EAAGA,EAAI6W,EAAS3W,OAAQF,IAAK,CACxC,MAAMgE,EAAM6S,EAAS7W,GACrB,GAAIsW,EAAUtS,KAASkS,EAAUlS,KAASgP,EAAeyD,EAAczS,GACrE,OAAO,CAEX,CACA,OAAO,CACT,CACA,SAAS8S,GAAgB,MAAEtJ,EAAK,OAAEpO,GAAU2X,GAC1C,MAAO3X,EAAQ,CACb,MAAMmW,EAAOnW,EAAO4X,QAIpB,GAHIzB,EAAK0B,UAAY1B,EAAK0B,SAASC,eAAiB1J,IAClD+H,EAAKwB,GAAKvJ,EAAMuJ,IAEdxB,IAAS/H,EAIX,OAHCA,EAAQpO,EAAOoO,OAAOuJ,GAAKA,EAC5B3X,EAASA,EAAOA,MAIpB,CACF,CAOA,MAAM+X,EAAyBxT,OAAOyT,IAAI,SAiD1C,MAAMC,EAActT,GAASA,EAAKuT,aAmjBlC,SAASC,EAAwB7X,EAAIuX,GAC/BA,GAAYA,EAASO,eACnB,QAAQ9X,GACVuX,EAAS/X,QAAQK,QAAQG,GAEzBuX,EAAS/X,QAAQK,KAAKG,GAGxB2Q,EAAiB3Q,EAErB,CAoBA,SAAS+X,EAAW1T,EAAM2T,EAAM5T,EAAS6T,GAAiBC,GAAU,GAClE,GAAI9T,EAAQ,CACV,MAAM+T,EAAQ/T,EAAOC,KAAUD,EAAOC,GAAQ,IACxC+T,EAAcJ,EAAKK,QAAUL,EAAKK,MAAQ,IAAI3S,MAClD,UACA,MAAM4S,EAAQC,GAAmBnU,GAC3ByB,EAAM6H,EAA2BsK,EAAM5T,EAAQC,EAAMqB,GAG3D,OAFA4S,KACA,UACOzS,CAAG,GAOZ,OALIqS,EACFC,EAAMK,QAAQJ,GAEdD,EAAMtY,KAAKuY,GAENA,CACT,CAMF,CACA,MAAMK,EAAcC,GAAc,CAACV,EAAM5T,EAAS6T,MAC3CU,IAAuC,OAAdD,GAC5BX,EAAWW,GAAW,IAAIhT,IAASsS,KAAQtS,IAAOtB,EACpD,EAEIwU,EAAgBH,EAAW,MAC3BI,EAAYJ,EAAW,KACvBK,EAAiBL,EAAW,MAC5BM,EAAYN,EAAW,KACvBO,EAAkBP,EAAW,OAC7BQ,EAAcR,EAAW,MACzBS,EAAmBT,EAAW,MAC9BU,GAAoBV,EACxB,OAEIW,GAAkBX,EACtB,OAEF,SAASY,GAAgBrB,EAAM5T,EAAS6T,IACtCF,EAAW,KAAMC,EAAM5T,EACzB,CAOA,SAASkV,GAAexL,EAAOyL,GAC7B,GAAiC,OAA7B7F,EAEF,OAAO5F,EAET,MAAMP,EAAWiM,GAA2B9F,GACtC+F,EAAW3L,EAAMmI,OAASnI,EAAMmI,KAAO,IAC7C,IAAK,IAAI3V,EAAI,EAAGA,EAAIiZ,EAAW/Y,OAAQF,IAAK,CAC1C,IAAKoZ,EAAKrX,EAAOsX,EAAKC,EAAY,MAAaL,EAAWjZ,GACtDoZ,KACE,QAAWA,KACbA,EAAM,CACJG,QAASH,EACTI,QAASJ,IAGTA,EAAIK,MACNC,GAAS3X,GAEXoX,EAAS5Z,KAAK,CACZ6Z,MACAnM,WACAlL,QACAoC,cAAU,EACVkV,MACAC,cAGN,CACA,OAAO9L,CACT,CACA,SAASmM,GAAoBnM,EAAOuI,EAAW9I,EAAU2M,GACvD,MAAMT,EAAW3L,EAAMmI,KACjBkE,EAAc9D,GAAaA,EAAUJ,KAC3C,IAAK,IAAI3V,EAAI,EAAGA,EAAImZ,EAASjZ,OAAQF,IAAK,CACxC,MAAM8Z,EAAUX,EAASnZ,GACrB6Z,IACFC,EAAQ3V,SAAW0V,EAAY7Z,GAAG+B,OAEpC,IAAI2V,EAAOoC,EAAQV,IAAIQ,GACnBlC,KACF,UACAtK,EAA2BsK,EAAMzK,EAAU,EAAG,CAC5CO,EAAMuJ,GACN+C,EACAtM,EACAuI,KAEF,UAEJ,CACF,CAEA,SAASgE,GAAWC,EAAQC,EAAY5H,EAAOhT,GAC7C,IAAI6a,EACJ,MAAM3H,EAASF,GAASA,EAAMhT,GAC9B,IAAI,QAAQ2a,KAAW,QAASA,GAAS,CACvCE,EAAM,IAAIC,MAAMH,EAAO9Z,QACvB,IAAK,IAAIF,EAAI,EAAGC,EAAI+Z,EAAO9Z,OAAQF,EAAIC,EAAGD,IACxCka,EAAIla,GAAKia,EAAWD,EAAOha,GAAIA,OAAG,EAAQuS,GAAUA,EAAOvS,GAE/D,MAAO,GAAsB,kBAAXga,EAAqB,CACjC,EAGJE,EAAM,IAAIC,MAAMH,GAChB,IAAK,IAAIha,EAAI,EAAGA,EAAIga,EAAQha,IAC1Bka,EAAIla,GAAKia,EAAWja,EAAI,EAAGA,OAAG,EAAQuS,GAAUA,EAAOvS,GAE3D,MAAO,IAAI,QAASga,GAClB,GAAIA,EAAOrW,OAAOsF,UAChBiR,EAAMC,MAAMC,KACVJ,GACA,CAACK,EAAMra,IAAMia,EAAWI,EAAMra,OAAG,EAAQuS,GAAUA,EAAOvS,UAEvD,CACL,MAAMmD,EAAO0B,OAAO1B,KAAK6W,GACzBE,EAAM,IAAIC,MAAMhX,EAAKjD,QACrB,IAAK,IAAIF,EAAI,EAAGC,EAAIkD,EAAKjD,OAAQF,EAAIC,EAAGD,IAAK,CAC3C,MAAMgE,EAAMb,EAAKnD,GACjBka,EAAIla,GAAKia,EAAWD,EAAOhW,GAAMA,EAAKhE,EAAGuS,GAAUA,EAAOvS,GAC5D,CACF,MAEAka,EAAM,GAKR,OAHI7H,IACFA,EAAMhT,GAAS6a,GAEVA,CACT,CA8BA,MAAMI,GAAkBta,KAAQA,EAAE+D,KAAKwW;4BAoMvC,MAAMC,GAAqBxa,GACpBA,EACDya,GAAoBza,GAAWkZ,GAA2BlZ,GACvDwa,GAAkBxa,EAAEZ,QAFZ,KAIXsb,IAGY,QAAuB7V,OAAO8V,OAAO,MAAO,CAC1DC,EAAI5a,GAAMA,EACV6a,IAAM7a,GAAMA,EAAEwN,MAAMuJ,GACpB+D,MAAQ9a,GAAMA,EAAE0U,KAChBqG,OAAS/a,GAA6EA,EAAEsR,MACxF0J,OAAShb,GAA6EA,EAAEuU,MACxF0G,OAASjb,GAA6EA,EAAEsU,MACxF4G,MAAQlb,GAA4EA,EAAEmb,KACtFC,QAAUpb,GAAMwa,GAAkBxa,EAAEZ,QACpCic,MAAQrb,GAAMwa,GAAkBxa,EAAEuV,MAClC+F,MAAQtb,GAAMA,EAAEkR,KAChBqK,SAAWvb,GAA4Bwb,GAAqBxb,GAC5Dyb,aAAezb,GAAMA,EAAE0b,IAAM1b,EAAE0b,EAAI,KACjC1b,EAAEM,OAAOY,OAAQ,EACjB2O,EAAS7P,EAAE2b,OAAO,GAEpBC,UAAY5b,GAAMA,EAAE6b,IAAM7b,EAAE6b,EAAI7M,EAASG,KAAKnP,EAAEiL,QAChD6Q,OAAS9b,GAA4B+b,GAAc5M,KAAKnP,KAItDgc,GAAkB,CAACC,EAAOjY,IAAQiY,IAAU,OAAcA,EAAMC,kBAAmB,QAAOD,EAAOjY,GACjGmY,GAA8B,CAClC,GAAAha,EAAMia,EAAGnP,GAAYjJ,GACnB,GAAY,aAARA,EACF,OAAO,EAET,MAAM,IAAE0P,EAAG,WAAEiB,EAAU,KAAED,EAAI,MAAEpD,EAAK,YAAE+K,EAAW,KAAEtY,EAAI,WAAEgK,GAAed,EAIxE,IAAIqP,EACJ,GAAe,MAAXtY,EAAI,GAAY,CAClB,MAAM6X,EAAIQ,EAAYrY,GACtB,QAAU,IAAN6X,EACF,OAAQA,GACN,KAAK,EACH,OAAOlH,EAAW3Q,GACpB,KAAK,EACH,OAAO0Q,EAAK1Q,GACd,KAAK,EACH,OAAO0P,EAAI1P,GACb,KAAK,EACH,OAAOsN,EAAMtN,OAEZ,IAAIgY,GAAgBrH,EAAY3Q,GAErC,OADAqY,EAAYrY,GAAO,EACZ2Q,EAAW3Q,GACb,GAAI0Q,IAAS,OAAa,QAAOA,EAAM1Q,GAE5C,OADAqY,EAAYrY,GAAO,EACZ0Q,EAAK1Q,GACP,IAGJsY,EAAkBrP,EAASoH,aAAa,MAAO,QAAOiI,EAAiBtY,GAGxE,OADAqY,EAAYrY,GAAO,EACZsN,EAAMtN,GACR,GAAI0P,IAAQ,OAAa,QAAOA,EAAK1P,GAE1C,OADAqY,EAAYrY,GAAO,EACZ0P,EAAI1P,GACsBuY,KACjCF,EAAYrY,GAAO,EACrB,CACF,CACA,MAAMwY,EAAe9B,GAAoB1W,GACzC,IAAIyY,EAAWC,EACf,OAAIF,GACU,WAARxY,IACF,QAAMiJ,EAASsH,MAAO,MAAO,IAKxBiI,EAAavP,KAGnBwP,EAAY1Y,EAAK4Y,gBAAkBF,EAAYA,EAAUzY,IAEnDyY,EACE/I,IAAQ,OAAa,QAAOA,EAAK1P,IAC1CqY,EAAYrY,GAAO,EACZ0P,EAAI1P,KAGX0Y,EAAmB3O,EAAWC,OAAO0O,kBAAkB,QAAOA,EAAkB1Y,GAGvE0Y,EAAiB1Y,QALrB,EAsBT,EACA,GAAAjB,EAAMqZ,EAAGnP,GAAYjJ,EAAKjC,GACxB,MAAM,KAAE2S,EAAI,WAAEC,EAAU,IAAEjB,GAAQzG,EAClC,OAAI+O,GAAgBrH,EAAY3Q,IAC9B2Q,EAAW3Q,GAAOjC,GACX,GAIE2S,IAAS,OAAa,QAAOA,EAAM1Q,IAC5C0Q,EAAK1Q,GAAOjC,GACL,KACE,QAAOkL,EAASqE,MAAOtN,MAInB,MAAXA,EAAI,MAAcA,EAAI0N,MAAM,KAAMzE,MAalCyG,EAAI1P,GAAOjC,GAGR,GACT,EACA,GAAA0E,EACE2V,GAAG,KAAE1H,EAAI,WAAEC,EAAU,YAAE0H,EAAW,IAAE3I,EAAG,WAAE3F,EAAU,aAAEsG,IACpDrQ,GACD,IAAIsY,EACJ,QAASD,EAAYrY,IAAQ0Q,IAAS,OAAa,QAAOA,EAAM1Q,IAAQgY,GAAgBrH,EAAY3Q,KAASsY,EAAkBjI,EAAa,MAAO,QAAOiI,EAAiBtY,KAAQ,QAAO0P,EAAK1P,KAAQ,QAAO0W,GAAqB1W,KAAQ,QAAO+J,EAAWC,OAAO0O,iBAAkB1Y,EACxR,EACA,cAAA4Y,CAAe9Y,EAAQE,EAAK6Y,GAM1B,OALsB,MAAlBA,EAAW1a,IACb2B,EAAOsY,EAAEC,YAAYrY,GAAO,GACnB,QAAO6Y,EAAY,UAC5B7d,KAAK+D,IAAIe,EAAQE,EAAK6Y,EAAW9a,MAAO,MAEnCyE,QAAQoW,eAAe9Y,EAAQE,EAAK6Y,EAC7C,GAiJF,SAASC,GAAsBxL,GAC7B,OAAO,QAAQA,GAASA,EAAMyL,QAC5B,CAACtK,EAAYxD,KAAOwD,EAAWxD,GAAK,KAAMwD,IAC1C,CAAC,GACCnB,CACN,CAoEA,IAAIiL,IAAoB,EACxB,SAASS,GAAa/P,GACpB,MAAMgG,EAAUuI,GAAqBvO,GAC/BgQ,EAAahQ,EAAShC,MACtByI,EAAMzG,EAASyG,IACrB6I,IAAoB,EAChBtJ,EAAQiK,cACVC,GAASlK,EAAQiK,aAAcjQ,EAAU,MAE3C,MAEEyH,KAAM0I,EACN/b,SAAUgc,EAAe,QACzBC,EACAC,MAAOC,EACPC,QAASC,EACTC,OAAQC,EAAa,QAErBC,EAAO,YACPC,EAAW,QACXvE,EAAO,aACPwE,EAAY,QACZvE,EAAO,UACPwE,EAAS,YACTC,EAAW,cACXC,EAAa,cACbC,EAAa,UACbC,EAAS,UACTC,EAAS,OACT7J,EAAM,cACN8J,EAAa,gBACbC,EAAe,cACfC,EAAa,eACbC,EAAc,OAEdC,EAAM,aACN9J,EAAY,WAEZ+J,EAAU,WACV1F,EAAU,QACV2F,GACE3L,EACE4L,EAAkG,KAYxG,GAHIjB,GACFkB,GAAkBlB,EAAelK,EAAKmL,GAEpCvB,EACF,IAAK,MAAMtZ,KAAOsZ,EAAS,CACzB,MAAMyB,EAAgBzB,EAAQtZ,IAC1B,QAAW+a,KASXrL,EAAI1P,GAAO+a,EAAc5P,KAAK8N,GAUpC,CAEF,GAAIG,EAAa,CACX,EAKJ,MAAM1I,EAAO0I,EAAYlV,KAAK+U,EAAYA,GACtC,GAKC,QAASvI,KAGZzH,EAASyH,MAAO,QAASA,GAe7B,CAEA,GADA6H,IAAoB,EAChBc,EACF,IAAK,MAAMrZ,KAAOqZ,EAAiB,CACjC,MAAM2B,EAAM3B,EAAgBrZ,GACtB7B,GAAM,QAAW6c,GAAOA,EAAI7P,KAAK8N,EAAYA,IAAc,QAAW+B,EAAI7c,KAAO6c,EAAI7c,IAAIgN,KAAK8N,EAAYA,GAAc,KAC1H,EAGJ,MAAMla,IAAO,QAAWic,KAAQ,QAAWA,EAAIjc,KAAOic,EAAIjc,IAAIoM,KAAK8N,GAI/D,KACEgC,EAAI5d,GAAS,CACjBc,MACAY,QAEF8B,OAAO+X,eAAelJ,EAAK1P,EAAK,CAC9Bkb,YAAY,EACZC,cAAc,EACdhd,IAAK,IAAM8c,EAAEld,MACbgB,IAAMvB,GAAMyd,EAAEld,MAAQP,GAK1B,CAEF,GAAIgc,EACF,IAAK,MAAMxZ,KAAOwZ,EAChB4B,GAAc5B,EAAaxZ,GAAM0P,EAAKuJ,EAAYjZ,GAGtD,GAAI0Z,EAAgB,CAClB,MAAM2B,GAAW,QAAW3B,GAAkBA,EAAexV,KAAK+U,GAAcS,EAChFlX,QAAQa,QAAQgY,GAAU7a,SAASR,IACjCyZ,GAAQzZ,EAAKqb,EAASrb,GAAK,GAE/B,CAIA,SAASsb,EAAsBC,EAAU7H,IACnC,QAAQA,GACVA,EAAKlT,SAASgb,GAAUD,EAASC,EAAMrQ,KAAK8N,MACnCvF,GACT6H,EAAS7H,EAAKvI,KAAK8N,GAEvB,CAaA,GAtBIY,GACFV,GAASU,EAAS5Q,EAAU,KAS9BqS,EAAsBhH,EAAewF,GACrCwB,EAAsB/G,EAAWgB,GACjC+F,EAAsB9G,EAAgBuF,GACtCuB,EAAsB7G,EAAWe,GACjC8F,EAAsBG,GAAazB,GACnCsB,EAAsBI,GAAezB,GACrCqB,EAAsBvG,GAAiByF,GACvCc,EAAsBxG,GAAiBwF,GACvCgB,EAAsBzG,GAAmB0F,GACzCe,EAAsB5G,EAAiByF,GACvCmB,EAAsB3G,EAAa0F,GACnCiB,EAAsB1G,EAAkB6F,IACpC,QAAQC,GACV,GAAIA,EAAOxe,OAAQ,CACjB,MAAMyf,EAAU1S,EAAS0S,UAAY1S,EAAS0S,QAAU,CAAC,GACzDjB,EAAOla,SAASR,IACda,OAAO+X,eAAe+C,EAAS3b,EAAK,CAClC7B,IAAK,IAAM8a,EAAWjZ,GACtBjB,IAAM6c,GAAQ3C,EAAWjZ,GAAO4b,GAChC,GAEN,MAAY3S,EAAS0S,UACnB1S,EAAS0S,QAAU,CAAC,GAGpBnL,GAAUvH,EAASuH,SAAW,OAChCvH,EAASuH,OAASA,GAEA,MAAhBI,IACF3H,EAAS2H,aAAeA,GAEtB+J,IAAY1R,EAAS0R,WAAaA,GAClC1F,IAAYhM,EAASgM,WAAaA,EACxC,CACA,SAAS6F,GAAkBlB,EAAelK,EAAKmL,EAA2B,OACpE,QAAQjB,KACVA,EAAgBiC,GAAgBjC,IAElC,IAAK,MAAM5Z,KAAO4Z,EAAe,CAC/B,MAAMoB,EAAMpB,EAAc5Z,GAC1B,IAAI8b,EAGAA,GAFA,QAASd,GACP,YAAaA,EACJrB,GACTqB,EAAI5E,MAAQpW,EACZgb,EAAIe,SACJ,GAGSpC,GAAOqB,EAAI5E,MAAQpW,GAGrB2Z,GAAOqB,IAEhB,QAAMc,GACRjb,OAAO+X,eAAelJ,EAAK1P,EAAK,CAC9Bkb,YAAY,EACZC,cAAc,EACdhd,IAAK,IAAM2d,EAAS/d,MACpBgB,IAAMvB,GAAMse,EAAS/d,MAAQP,IAG/BkS,EAAI1P,GAAO8b,CAKf,CACF,CACA,SAAS3C,GAASzF,EAAMzK,EAAUlJ,GAChCqJ,GACE,QAAQsK,GAAQA,EAAK1S,KAAKgb,GAAMA,EAAE7Q,KAAKlC,EAAShC,SAAUyM,EAAKvI,KAAKlC,EAAShC,OAC7EgC,EACAlJ,EAEJ,CACA,SAASqb,GAAc/T,EAAKqI,EAAKuJ,EAAYjZ,GAC3C,MAAMwH,EAASxH,EAAI+L,SAAS,KAAOkQ,GAAiBhD,EAAYjZ,GAAO,IAAMiZ,EAAWjZ,GACxF,IAAI,QAASqH,GAAM,CACjB,MAAM0G,EAAU2B,EAAIrI,IAChB,QAAW0G,IACbwL,GAAM/R,EAAQuG,EAIlB,MAAO,IAAI,QAAW1G,GACpBkS,GAAM/R,EAAQH,EAAI8D,KAAK8N,SAClB,IAAI,QAAS5R,GAClB,IAAI,QAAQA,GACVA,EAAI7G,SAASmI,GAAMyS,GAAczS,EAAG+G,EAAKuJ,EAAYjZ,SAChD,CACL,MAAM+N,GAAU,QAAW1G,EAAI0G,SAAW1G,EAAI0G,QAAQ5C,KAAK8N,GAAcvJ,EAAIrI,EAAI0G,UAC7E,QAAWA,IACbwL,GAAM/R,EAAQuG,EAAS1G,EAI3B,MACS,CAGb,CACA,SAASmQ,GAAqBvO,GAC5B,MAAMiT,EAAOjT,EAASlJ,MAChB,OAAE+O,EAAQC,QAASoN,GAAmBD,GAE1CpN,OAAQsN,EACRC,aAAchO,EACdrE,QAAQ,sBAAEsS,IACRrT,EAASc,WACPwE,EAASF,EAAMlQ,IAAI+d,GACzB,IAAIK,EAmBJ,OAlBIhO,EACFgO,EAAWhO,EACD6N,EAAalgB,QAAW4S,GAAWqN,GAK7CI,EAAW,CAAC,EACRH,EAAalgB,QACfkgB,EAAa5b,SACVgc,GAAMC,GAAaF,EAAUC,EAAGF,GAAuB,KAG5DG,GAAaF,EAAUL,EAAMI,IAT3BC,EAAWL,GAWX,QAASA,IACX7N,EAAMtP,IAAImd,EAAMK,GAEXA,CACT,CACA,SAASE,GAAaC,EAAItG,EAAMuG,EAAQvO,GAAU,GAChD,MAAM,OAAEU,EAAQC,QAASoN,GAAmB/F,EACxC+F,GACFM,GAAaC,EAAIP,EAAgBQ,GAAQ,GAEvC7N,GACFA,EAAOtO,SACJgc,GAAMC,GAAaC,EAAIF,EAAGG,GAAQ,KAGvC,IAAK,MAAM3c,KAAOoW,EAChB,GAAIhI,GAAmB,WAARpO,OAIR,CACL,MAAM4c,EAAQC,GAA0B7c,IAAQ2c,GAAUA,EAAO3c,GACjE0c,EAAG1c,GAAO4c,EAAQA,EAAMF,EAAG1c,GAAMoW,EAAKpW,IAAQoW,EAAKpW,EACrD,CAEF,OAAO0c,CACT,CACA,MAAMG,GAA4B,CAChCnM,KAAMoM,GACNxP,MAAOyP,GACPvO,MAAOuO,GAEPzD,QAAS0D,GACT3f,SAAU2f,GAEV9D,aAAc+D,GACdpD,QAASoD,GACTnD,YAAamD,GACb1H,QAAS0H,GACTlD,aAAckD,GACdzH,QAASyH,GACT/C,cAAe+C,GACf9C,cAAe8C,GACf7C,UAAW6C,GACX5C,UAAW4C,GACXjD,UAAWiD,GACXhD,YAAagD,GACbzC,cAAeyC,GACfxC,eAAgBwC,GAEhBtC,WAAYqC,GACZ/H,WAAY+H,GAEZzD,MAAO2D,GAEPzD,QAASqD,GACTnD,OAAQwD,IAEV,SAASL,GAAYJ,EAAItG,GACvB,OAAKA,EAGAsG,EAGE,WACL,OAAO,EAAC,OACN,QAAWA,GAAMA,EAAGxY,KAAKlJ,KAAMA,MAAQ0hB,GACvC,QAAWtG,GAAQA,EAAKlS,KAAKlJ,KAAMA,MAAQob,EAE/C,EAPSA,EAHAsG,CAWX,CACA,SAASS,GAAYT,EAAItG,GACvB,OAAO4G,GAAmBnB,GAAgBa,GAAKb,GAAgBzF,GACjE,CACA,SAASyF,GAAgBxU,GACvB,IAAI,QAAQA,GAAM,CAChB,MAAM9F,EAAM,CAAC,EACb,IAAK,IAAIvF,EAAI,EAAGA,EAAIqL,EAAInL,OAAQF,IAC9BuF,EAAI8F,EAAIrL,IAAMqL,EAAIrL,GAEpB,OAAOuF,CACT,CACA,OAAO8F,CACT,CACA,SAAS4V,GAAaP,EAAItG,GACxB,OAAOsG,EAAK,IAAI,IAAI9b,IAAI,GAAGgR,OAAO8K,EAAItG,KAAUA,CAClD,CACA,SAAS4G,GAAmBN,EAAItG,GAC9B,OAAOsG,GAAK,QAAuB7b,OAAO8V,OAAO,MAAO+F,EAAItG,GAAQA,CACtE,CACA,SAAS2G,GAAyBL,EAAItG,GACpC,OAAIsG,GACE,QAAQA,KAAO,QAAQtG,GAClB,IAAoB,IAAIxV,IAAI,IAAI8b,KAAOtG,MAEzC,QACWvV,OAAO8V,OAAO,MAC9BmC,GAAsB4D,GACtB5D,GAA8B,MAAR1C,EAAeA,EAAO,CAAC,IAGxCA,CAEX,CACA,SAAS8G,GAAkBR,EAAItG,GAC7B,IAAKsG,EAAI,OAAOtG,EAChB,IAAKA,EAAM,OAAOsG,EAClB,MAAMU,GAAS,QAAuBvc,OAAO8V,OAAO,MAAO+F,GAC3D,IAAK,MAAM1c,KAAOoW,EAChBgH,EAAOpd,GAAOid,GAAaP,EAAG1c,GAAMoW,EAAKpW,IAE3C,OAAOod,CACT,CAEA,SAASC,KACP,MAAO,CACLC,IAAK,KACLtT,OAAQ,CACNuT,YAAa,EAAAC,GACbC,aAAa,EACb/E,iBAAkB,CAAC,EACnB4D,sBAAuB,CAAC,EACxBrS,kBAAc,EACdyT,iBAAa,EACbC,gBAAiB,CAAC,GAEpB7O,OAAQ,GACR6L,WAAY,CAAC,EACb1F,WAAY,CAAC,EACboG,SAA0Bxa,OAAO8V,OAAO,MACxC0F,aAA8B,IAAI5c,QAClCme,WAA4B,IAAIne,QAChC6O,WAA4B,IAAI7O,QAEpC,CACA,IAAIoe,GAAQ,EACZ,SAASC,GAAatN,EAAQuN,GAC5B,OAAO,SAAmBC,EAAeC,EAAY,OAC9C,QAAWD,KACdA,GAAgB,QAAO,CAAC,EAAGA,IAEZ,MAAbC,IAAsB,QAASA,KAEjCA,EAAY,MAEd,MAAMC,EAAUb,KACVc,EAAmC,IAAIC,QAC7C,IAAIC,GAAY,EAChB,MAAMf,EAAMY,EAAQZ,IAAM,CACxBgB,KAAMT,KACNU,WAAYP,EACZQ,OAAQP,EACRQ,WAAY,KACZC,SAAUR,EACVS,UAAW,KACXC,WACA,UAAI5U,GACF,OAAOkU,EAAQlU,MACjB,EACA,UAAIA,CAAOxM,GACL,CAKN,EACA,GAAAqhB,CAAIC,KAAW7P,GAcb,OAbIkP,EAAiB1b,IAAIqc,KAEdA,IAAU,QAAWA,EAAOC,UACrCZ,EAAiBha,IAAI2a,GACrBA,EAAOC,QAAQzB,KAAQrO,KACd,QAAW6P,KACpBX,EAAiBha,IAAI2a,GACrBA,EAAOxB,KAAQrO,KAMVqO,CACT,EACA,KAAA0B,CAAMA,GAYJ,OAVOd,EAAQpP,OAAO/C,SAASiT,IAC3Bd,EAAQpP,OAAOvT,KAAKyjB,GASjB1B,CACT,EACA,SAAAjL,CAAUuD,EAAMvD,GAId,OAAKA,GAML6L,EAAQvD,WAAW/E,GAAQvD,EACpBiL,GANEY,EAAQvD,WAAW/E,EAO9B,EACA,SAAAqJ,CAAUrJ,EAAMqJ,GAId,OAAKA,GAMLf,EAAQjJ,WAAWW,GAAQqJ,EACpB3B,GANEY,EAAQjJ,WAAWW,EAO9B,EACA,KAAAsJ,CAAMC,EAAeC,EAAWC,GAC9B,IAAKhB,EAAW,CACV,EAMJ,MAAM7U,EAAQ6H,GAAY2M,EAAeC,GA4BzC,OA3BAzU,EAAMO,WAAamU,GACD,IAAdmB,EACFA,EAAY,OACW,IAAdA,IACTA,OAAY,GAWVD,GAAarB,EACfA,EAAQvU,EAAO2V,GAEf3O,EAAOhH,EAAO2V,EAAeE,GAE/BhB,GAAY,EACZf,EAAImB,WAAaU,EACjBA,EAAcG,YAAchC,EAKrBpI,GAA2B1L,EAAM6I,UAC1C,CAMF,EACA,OAAAkN,GACMlB,IACF7N,EAAO,KAAM8M,EAAImB,mBAKVnB,EAAImB,WAAWa,YAI1B,EACA,OAAA7F,CAAQzZ,EAAKjC,GAOX,OADAmgB,EAAQ7C,SAASrb,GAAOjC,EACjBuf,CACT,EACA,cAAAkC,CAAe9jB,GACb,MAAM+jB,EAAUC,GAChBA,GAAapC,EACb,IACE,OAAO5hB,GACT,CAAE,QACAgkB,GAAaD,CACf,CACF,GAEF,OAAOnC,CACT,CACF,CACA,IAAIoC,GAAa,KAEjB,SAASjG,GAAQzZ,EAAKjC,GACpB,GAAK4V,GAIE,CACL,IAAI0H,EAAW1H,GAAgB0H,SAC/B,MAAMsE,EAAiBhM,GAAgBvY,QAAUuY,GAAgBvY,OAAOigB,SACpEsE,IAAmBtE,IACrBA,EAAW1H,GAAgB0H,SAAWxa,OAAO8V,OAAOgJ,IAEtDtE,EAASrb,GAAOjC,CAClB,MAVM,CAWR,CACA,SAAS4b,GAAO3Z,EAAK4f,EAAcC,GAAwB,GACzD,MAAM5W,EAAW0K,IAAmBvE,EACpC,GAAInG,GAAYyW,GAAY,CAC1B,MAAMrE,EAAWpS,EAA8B,MAAnBA,EAAS7N,OAAiB6N,EAASO,MAAMO,YAAcd,EAASO,MAAMO,WAAWsR,SAAWpS,EAAS7N,OAAOigB,SAAWqE,GAAWhB,SAASrD,SACvK,GAAIA,GAAYrb,KAAOqb,EACrB,OAAOA,EAASrb,GACX,GAAI8f,UAAU5jB,OAAS,EAC5B,OAAO2jB,IAAyB,QAAWD,GAAgBA,EAAa1b,KAAK+E,GAAYA,EAAShC,OAAS2Y,CAI/G,MAAW,CAGb,CAKA,MAAMG,GAAsB,CAAC,EACvBC,GAAuB,IAAMnf,OAAO8V,OAAOoJ,IAC3CE,GAAoBte,GAAQd,OAAOyB,eAAeX,KAASoe,GAEjE,SAASG,GAAUjX,EAAUkX,EAAUC,EAAY1Y,GAAQ,GACzD,MAAM4F,EAAQ,CAAC,EACTiD,EAAQyP,KACd/W,EAASoX,cAAgCxf,OAAO8V,OAAO,MACvD2J,GAAarX,EAAUkX,EAAU7S,EAAOiD,GACxC,IAAK,MAAMvQ,KAAOiJ,EAASoH,aAAa,GAChCrQ,KAAOsN,IACXA,EAAMtN,QAAO,GAMbogB,EACFnX,EAASqE,MAAQ5F,EAAQ4F,GAAQ,QAAgBA,GAE5CrE,EAASlJ,KAAKuN,MAGjBrE,EAASqE,MAAQA,EAFjBrE,EAASqE,MAAQiD,EAKrBtH,EAASsH,MAAQA,CACnB,CAOA,SAASgQ,GAAYtX,EAAUkX,EAAUK,EAAcvO,GACrD,MAAM,MACJ3E,EAAK,MACLiD,EACA/G,OAAO,UAAEgJ,IACPvJ,EACEwX,GAAkB,QAAMnT,IACvB2B,GAAWhG,EAASoH,aAC3B,IAAIqQ,GAAkB,EACtB,KAI+EzO,GAAaO,EAAY,IAAoB,GAAZA,EAmCzG,CAIL,IAAImO,EAHAL,GAAarX,EAAUkX,EAAU7S,EAAOiD,KAC1CmQ,GAAkB,GAGpB,IAAK,MAAM1gB,KAAOygB,EACXN,KACJ,QAAOA,EAAUngB,KAEhB2gB,GAAW,QAAU3gB,MAAUA,IAAQ,QAAOmgB,EAAUQ,MACpD1R,GACEuR,QACmB,IAAtBA,EAAaxgB,SACa,IAA3BwgB,EAAaG,KACXrT,EAAMtN,GAAO4gB,GACX3R,EACAwR,EACAzgB,OACA,EACAiJ,GACA,WAIGqE,EAAMtN,IAInB,GAAIuQ,IAAUkQ,EACZ,IAAK,MAAMzgB,KAAOuQ,EACX4P,IAAa,QAAOA,EAAUngB,YAC1BuQ,EAAMvQ,GACb0gB,GAAkB,EAI1B,MArEE,GAAgB,EAAZlO,EAAe,CACjB,MAAMqO,EAAgB5X,EAASO,MAAMoJ,aACrC,IAAK,IAAI5W,EAAI,EAAGA,EAAI6kB,EAAc3kB,OAAQF,IAAK,CAC7C,IAAIgE,EAAM6gB,EAAc7kB,GACxB,GAAIgT,EAAe/F,EAASwJ,aAAczS,GACxC,SAEF,MAAMjC,EAAQoiB,EAASngB,GACvB,GAAIiP,EACF,IAAI,QAAOsB,EAAOvQ,GACZjC,IAAUwS,EAAMvQ,KAClBuQ,EAAMvQ,GAAOjC,EACb2iB,GAAkB,OAEf,CACL,MAAMI,GAAe,QAAS9gB,GAC9BsN,EAAMwT,GAAgBF,GACpB3R,EACAwR,EACAK,EACA/iB,EACAkL,GACA,EAEJ,MAEIlL,IAAUwS,EAAMvQ,KAClBuQ,EAAMvQ,GAAOjC,EACb2iB,GAAkB,EAGxB,CACF,CAsCEA,IACF,QAAQzX,EAASsH,MAAO,MAAO,GAKnC,CACA,SAAS+P,GAAarX,EAAUkX,EAAU7S,EAAOiD,GAC/C,MAAOtB,EAAS8R,GAAgB9X,EAASoH,aACzC,IACI2Q,EADAN,GAAkB,EAEtB,GAAIP,EACF,IAAK,IAAIngB,KAAOmgB,EAAU,CACxB,IAAI,QAAengB,GACjB,SAEF,MAAMjC,EAAQoiB,EAASngB,GACvB,IAAIihB,EACAhS,IAAW,QAAOA,EAASgS,GAAW,QAASjhB,IAC5C+gB,GAAiBA,EAAahV,SAASkV,IAGzCD,IAAkBA,EAAgB,CAAC,IAAIC,GAAYljB,EAFpDuP,EAAM2T,GAAYljB,EAIViR,EAAe/F,EAASwJ,aAAczS,IAC1CA,KAAOuQ,GAAUxS,IAAUwS,EAAMvQ,KACrCuQ,EAAMvQ,GAAOjC,EACb2iB,GAAkB,EAGxB,CAEF,GAAIK,EAAc,CAChB,MAAMN,GAAkB,QAAMnT,GACxB4T,EAAaF,GAAiB,KACpC,IAAK,IAAIhlB,EAAI,EAAGA,EAAI+kB,EAAa7kB,OAAQF,IAAK,CAC5C,MAAMgE,EAAM+gB,EAAa/kB,GACzBsR,EAAMtN,GAAO4gB,GACX3R,EACAwR,EACAzgB,EACAkhB,EAAWlhB,GACXiJ,IACC,QAAOiY,EAAYlhB,GAExB,CACF,CACA,OAAO0gB,CACT,CACA,SAASE,GAAiB3R,EAAS3B,EAAOtN,EAAKjC,EAAOkL,EAAUkY,GAC9D,MAAMnG,EAAM/L,EAAQjP,GACpB,GAAW,MAAPgb,EAAa,CACf,MAAMoG,GAAa,QAAOpG,EAAK,WAC/B,GAAIoG,QAAwB,IAAVrjB,EAAkB,CAClC,MAAM6hB,EAAe5E,EAAIe,QACzB,GAAIf,EAAIjb,OAASshB,WAAarG,EAAIsG,cAAe,QAAW1B,GAAe,CACzE,MAAM,cAAES,GAAkBpX,EAC1B,GAAIjJ,KAAOqgB,EACTtiB,EAAQsiB,EAAcrgB,OACjB,CACL,MAAMgU,EAAQC,GAAmBhL,GACjClL,EAAQsiB,EAAcrgB,GAAO4f,EAAa1b,KACxC,KACAoJ,GAEF0G,GACF,CACF,MACEjW,EAAQ6hB,CAEZ,CACI5E,EAAI,KACFmG,IAAaC,EACfrjB,GAAQ,GACCid,EAAI,IAAsC,KAAVjd,GAAgBA,KAAU,QAAUiC,KAC7EjC,GAAQ,GAGd,CACA,OAAOA,CACT,CACA,SAASwjB,GAAsBpT,EAAMpE,EAAYqE,GAAU,GACzD,MAAMC,EAAQtE,EAAW6T,WACnBrP,EAASF,EAAMlQ,IAAIgQ,GACzB,GAAII,EACF,OAAOA,EAET,MAAMlH,EAAM8G,EAAKb,MACXmB,EAAa,CAAC,EACdsS,EAAe,GACrB,IAAIrS,GAAa,EACjB,KAA4B,QAAWP,GAAO,CAC5C,MAAMqT,EAAe5S,IACnBF,GAAa,EACb,MAAOpB,EAAOnO,GAAQoiB,GAAsB3S,EAAM7E,GAAY,IAC9D,QAAO0E,EAAYnB,GACfnO,GAAM4hB,EAAaxlB,QAAQ4D,EAAK,GAEjCiP,GAAWrE,EAAW+E,OAAO5S,QAChC6N,EAAW+E,OAAOtO,QAAQghB,GAExBrT,EAAKY,SACPyS,EAAYrT,EAAKY,SAEfZ,EAAKW,QACPX,EAAKW,OAAOtO,QAAQghB,EAExB,CACA,IAAKna,IAAQqH,EAIX,OAHI,QAASP,IACXE,EAAMtP,IAAIoP,EAAM,MAEX,KAET,IAAI,QAAQ9G,GACV,IAAK,IAAIrL,EAAI,EAAGA,EAAIqL,EAAInL,OAAQF,IAAK,CAC/B,EAGJ,MAAMylB,GAAgB,QAASpa,EAAIrL,IAC/B0lB,GAAiBD,KACnBhT,EAAWgT,GAAiB,KAEhC,MACK,GAAIpa,EAAK,CACV,EAGJ,IAAK,MAAMrH,KAAOqH,EAAK,CACrB,MAAMoa,GAAgB,QAASzhB,GAC/B,GAAI0hB,GAAiBD,GAAgB,CACnC,MAAMzG,EAAM3T,EAAIrH,GACV2hB,EAAOlT,EAAWgT,IAAiB,QAAQzG,KAAQ,QAAWA,GAAO,CAAEjb,KAAMib,IAAQ,QAAO,CAAC,EAAGA,GACtG,GAAI2G,EAAM,CACR,MAAMC,EAAeC,GAAaC,QAASH,EAAK5hB,MAC1CgiB,EAAcF,GAAangB,OAAQigB,EAAK5hB,MAC9C4hB,EAAK,GAAsBC,GAAgB,EAC3CD,EAAK,GAA0BI,EAAc,GAAKH,EAAeG,GAC7DH,GAAgB,IAAK,QAAOD,EAAM,aACpCZ,EAAaxlB,KAAKkmB,EAEtB,CACF,CACF,CACF,CACA,MAAMlgB,EAAM,CAACkN,EAAYsS,GAIzB,OAHI,QAAS5S,IACXE,EAAMtP,IAAIoP,EAAM5M,GAEXA,CACT,CACA,SAASmgB,GAAiB1hB,GACxB,MAAe,MAAXA,EAAI,MAAe,QAAeA,EAMxC,CACA,SAASgiB,GAAQC,GACf,GAAa,OAATA,EACF,MAAO,OAET,GAAoB,oBAATA,EACT,OAAOA,EAAKrM,MAAQ,GACf,GAAoB,kBAATqM,EAAmB,CACnC,MAAMrM,EAAOqM,EAAKnnB,aAAemnB,EAAKnnB,YAAY8a,KAClD,OAAOA,GAAQ,EACjB,CACA,MAAO,EACT,CACA,SAASsM,GAAWrV,EAAGC,GACrB,OAAOkV,GAAQnV,KAAOmV,GAAQlV,EAChC,CACA,SAAS+U,GAAa9hB,EAAMoiB,GAC1B,OAAI,QAAQA,GACHA,EAAcC,WAAWC,GAAMH,GAAWG,EAAGtiB,MAC3C,QAAWoiB,IACbD,GAAWC,EAAepiB,GAAQ,GAEnC,CACV,CAwGA,MAAMuiB,GAAiBtiB,GAAmB,MAAXA,EAAI,IAAsB,YAARA,EAC3CuiB,GAAsBxkB,IAAU,QAAQA,GAASA,EAAMiD,IAAIiQ,IAAkB,CAACA,GAAelT,IAC7FykB,GAAgB,CAACxiB,EAAKyiB,EAAS/S,KACnC,GAAI+S,EAAQ7S,GACV,OAAO6S,EAET,MAAMhU,EAAagB,GAAQ,IAAIrO,IAMtBmhB,GAAmBE,KAAWrhB,KACpCsO,GAEH,OADAjB,EAAWwB,IAAK,EACTxB,CAAU,EAEbiU,GAAuB,CAACC,EAAUrS,EAAOrH,KAC7C,MAAMyG,EAAMiT,EAASC,KACrB,IAAK,MAAM5iB,KAAO2iB,EAAU,CAC1B,GAAIL,GAActiB,GAAM,SACxB,MAAMjC,EAAQ4kB,EAAS3iB,GACvB,IAAI,QAAWjC,GACbuS,EAAMtQ,GAAOwiB,GAAcxiB,EAAKjC,EAAO2R,QAClC,GAAa,MAAT3R,EAAe,CACpB,EAKJ,MAAM0Q,EAAa8T,GAAmBxkB,GACtCuS,EAAMtQ,GAAO,IAAMyO,CACrB,CACF,GAEIoU,GAAsB,CAAC5Z,EAAUkJ,KAMrC,MAAM1D,EAAa8T,GAAmBpQ,GACtClJ,EAASqH,MAAMyL,QAAU,IAAMtN,CAAU,EAErCqU,GAAY,CAAC7Z,EAAUkJ,KAC3B,MAAM7B,EAAQrH,EAASqH,MAAQ0P,KAC/B,GAA+B,GAA3B/W,EAASO,MAAMsH,UAAgB,CACjC,MAAM/Q,EAAOoS,EAASiG,EAClBrY,IACF,QAAOuQ,EAAO6B,IACd,QAAI7B,EAAO,IAAKvQ,GAAM,IAEtB2iB,GAAqBvQ,EAAU7B,EAEnC,MAAW6B,GACT0Q,GAAoB5Z,EAAUkJ,EAChC,EAEI4Q,GAAc,CAAC9Z,EAAUkJ,EAAUF,KACvC,MAAM,MAAEzI,EAAK,MAAE8G,GAAUrH,EACzB,IAAI+Z,GAAoB,EACpBC,EAA2B,KAC/B,GAAsB,GAAlBzZ,EAAMsH,UAAgB,CACxB,MAAM/Q,EAAOoS,EAASiG,EAClBrY,EAISkS,GAAsB,IAATlS,EACtBijB,GAAoB,IAEpB,QAAO1S,EAAO6B,GACTF,GAAsB,IAATlS,UACTuQ,EAAM8H,IAIjB4K,GAAqB7Q,EAASO,QAC9BgQ,GAAqBvQ,EAAU7B,IAEjC2S,EAA2B9Q,CAC7B,MAAWA,IACT0Q,GAAoB5Z,EAAUkJ,GAC9B8Q,EAA2B,CAAElH,QAAS,IAExC,GAAIiH,EACF,IAAK,MAAMhjB,KAAOsQ,EACXgS,GAActiB,IAAyC,MAAjCijB,EAAyBjjB,WAC3CsQ,EAAMtQ,EAGnB,EAGF,SAASkjB,GAAOC,EAAQC,EAAWC,EAAgB7Z,EAAO8Z,GAAY,GACpE,IAAI,QAAQH,GAUV,YATAA,EAAO3iB,SACL,CAACmI,EAAG3M,IAAMknB,GACRva,EACAya,KAAc,QAAQA,GAAaA,EAAUpnB,GAAKonB,GAClDC,EACA7Z,EACA8Z,KAKN,GAAIhN,GAAe9M,KAAW8Z,EAC5B,OAEF,MAAMC,EAA6B,EAAlB/Z,EAAMsH,UAAgBoE,GAA2B1L,EAAM6I,WAAa7I,EAAMuJ,GACrFhV,EAAQulB,EAAY,KAAOC,GACzBvnB,EAAGwnB,EAAO7a,EAAG8a,GAAQN,EAO7B,MAAMO,EAASN,GAAaA,EAAUza,EAChCwO,EAAOqM,EAAMrM,OAAS,KAAYqM,EAAMrM,KAAO,CAAC,EAAIqM,EAAMrM,KAC1DxG,EAAa6S,EAAM7S,WAWzB,GAVc,MAAV+S,GAAkBA,IAAWD,KAC3B,QAASC,IACXvM,EAAKuM,GAAU,MACX,QAAO/S,EAAY+S,KACrB/S,EAAW+S,GAAU,QAEd,QAAMA,KACfA,EAAO3lB,MAAQ,QAGf,QAAW0lB,GACbza,EAAsBya,EAAKD,EAAO,GAAI,CAACzlB,EAAOoZ,QACzC,CACL,MAAMwM,GAAY,QAASF,GACrBG,GAAS,QAAMH,GACrB,GAAIE,GAAaC,EAAQ,CACvB,MAAMC,EAAQ,KACZ,GAAIV,EAAOzL,EAAG,CACZ,MAAMoM,EAAWH,GAAY,QAAOhT,EAAY8S,GAAO9S,EAAW8S,GAAOtM,EAAKsM,GAAOA,EAAI1lB,MACrFulB,GACF,QAAQQ,KAAa,QAAOA,EAAUP,IAEjC,QAAQO,GAUDA,EAAS/X,SAASwX,IAC5BO,EAASvoB,KAAKgoB,GAVVI,GACFxM,EAAKsM,GAAO,CAACF,IACT,QAAO5S,EAAY8S,KACrB9S,EAAW8S,GAAOtM,EAAKsM,MAGzBA,EAAI1lB,MAAQ,CAACwlB,GACTJ,EAAOY,IAAG5M,EAAKgM,EAAOY,GAAKN,EAAI1lB,OAM3C,MAAW4lB,GACTxM,EAAKsM,GAAO1lB,GACR,QAAO4S,EAAY8S,KACrB9S,EAAW8S,GAAO1lB,IAEX6lB,IACTH,EAAI1lB,MAAQA,EACRolB,EAAOY,IAAG5M,EAAKgM,EAAOY,GAAKhmB,GACsB,EAIrDA,GACF8lB,EAAMxY,IAAM,EACZ2Y,GAAsBH,EAAOR,IAE7BQ,GAEJ,MAAW,CAGb,CACF,CAmnBA,SAASI,KAUgD,mBAA5CC,2CAET,UAAgBA,yCAA0C,EAU9D,CAEA,MAAMF,GAAwBzQ,EAC9B,SAAS4Q,GAAelV,GACtB,OAAOmV,GAAmBnV,EAC5B,CAIA,SAASmV,GAAmBnV,EAASoV,GAEjCJ,KAEF,MAAMnkB,GAAS,UACfA,EAAOwkB,SAAU,EAIjB,MACEC,OAAQC,EACRC,OAAQC,EACRC,UAAWC,EACXC,cAAeC,EACfC,WAAYC,EACZC,cAAeC,EACfC,QAASC,EACTC,eAAgBC,EAChBC,WAAYC,EACZC,YAAaC,EACbC,WAAYC,EAAiB,KAC7BC,oBAAqBC,GACnB7W,EACE8W,EAAQ,CAACC,EAAIC,EAAIC,EAAWC,EAAS,KAAMC,EAAkB,KAAM/C,EAAiB,KAAMhE,OAAY,EAAQgH,EAAe,KAAMpU,IAAmFgU,EAAGK,mBAC7N,GAAIN,IAAOC,EACT,OAEED,IAAOO,GAAgBP,EAAIC,KAC7BE,EAASK,EAAgBR,GACzBzG,EAAQyG,EAAII,EAAiB/C,GAAgB,GAC7C2C,EAAK,OAEe,IAAlBC,EAAGzT,YACLP,GAAY,EACZgU,EAAGK,gBAAkB,MAEvB,MAAM,KAAEvmB,EAAI,IAAE0jB,EAAG,UAAE3S,GAAcmV,EACjC,OAAQlmB,GACN,KAAK0mB,GACHC,EAAYV,EAAIC,EAAIC,EAAWC,GAC/B,MACF,KAAK7U,GACHqV,EAAmBX,EAAIC,EAAIC,EAAWC,GACtC,MACF,KAAKS,GACO,MAANZ,GACFa,EAAgBZ,EAAIC,EAAWC,EAAQ9G,GAIzC,MACF,KAAKyH,GACHC,EACEf,EACAC,EACAC,EACAC,EACAC,EACA/C,EACAhE,EACAgH,EACApU,GAEF,MACF,QACkB,EAAZnB,EACFkW,EACEhB,EACAC,EACAC,EACAC,EACAC,EACA/C,EACAhE,EACAgH,EACApU,GAEmB,EAAZnB,EACTmW,EACEjB,EACAC,EACAC,EACAC,EACAC,EACA/C,EACAhE,EACAgH,EACApU,IAEmB,GAAZnB,GAaY,IAAZA,IAZT/Q,EAAKmnB,QACHlB,EACAC,EACAC,EACAC,EACAC,EACA/C,EACAhE,EACAgH,EACApU,EACAkV,IAmBG,MAAP1D,GAAe2C,GACjBlD,GAAOO,EAAKuC,GAAMA,EAAGvC,IAAKJ,EAAgB4C,GAAMD,GAAKC,EACvD,EAEIS,EAAc,CAACV,EAAIC,EAAIC,EAAWC,KACtC,GAAU,MAANH,EACFxB,EACEyB,EAAGlT,GAAKiS,EAAeiB,EAAG9T,UAC1B+T,EACAC,OAEG,CACL,MAAMpT,EAAKkT,EAAGlT,GAAKiT,EAAGjT,GAClBkT,EAAG9T,WAAa6T,EAAG7T,UACrBiT,EAAYrS,EAAIkT,EAAG9T,SAEvB,GAEIwU,EAAqB,CAACX,EAAIC,EAAIC,EAAWC,KACnC,MAANH,EACFxB,EACEyB,EAAGlT,GAAKmS,EAAkBe,EAAG9T,UAAY,IACzC+T,EACAC,GAGFF,EAAGlT,GAAKiT,EAAGjT,EACb,EAEI8T,EAAkB,CAACZ,EAAIC,EAAWC,EAAQ9G,MAC7C4G,EAAGlT,GAAIkT,EAAGE,QAAUL,EACnBG,EAAG9T,SACH+T,EACAC,EACA9G,EACA4G,EAAGlT,GACHkT,EAAGE,OACJ,EAiBGiB,EAAiB,EAAGrU,KAAIoT,UAAUD,EAAWT,KACjD,IAAIrgB,EACJ,MAAO2N,GAAMA,IAAOoT,EAClB/gB,EAAOsgB,EAAgB3S,GACvByR,EAAWzR,EAAImT,EAAWT,GAC1B1S,EAAK3N,EAEPof,EAAW2B,EAAQD,EAAWT,EAAY,EAEtC4B,EAAmB,EAAGtU,KAAIoT,aAC9B,IAAI/gB,EACJ,MAAO2N,GAAMA,IAAOoT,EAClB/gB,EAAOsgB,EAAgB3S,GACvB2R,EAAW3R,GACXA,EAAK3N,EAEPsf,EAAWyB,EAAO,EAEda,EAAiB,CAAChB,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB/C,EAAgBhE,EAAWgH,EAAcpU,KAC3F,QAAZgU,EAAGlmB,KACLsf,EAAY,MACS,SAAZ4G,EAAGlmB,OACZsf,EAAY,UAEJ,MAAN2G,EACFsB,EACErB,EACAC,EACAC,EACAC,EACA/C,EACAhE,EACAgH,EACApU,GAGFsV,EACEvB,EACAC,EACAG,EACA/C,EACAhE,EACAgH,EACApU,EAEJ,EAEIqV,EAAe,CAAC9d,EAAO0c,EAAWC,EAAQC,EAAiB/C,EAAgBhE,EAAWgH,EAAcpU,KACxG,IAAIc,EACAyU,EACJ,MAAM,MAAEla,EAAK,UAAEwD,EAAS,WAAEe,EAAU,KAAEF,GAASnI,EAyB/C,GAxBAuJ,EAAKvJ,EAAMuJ,GAAK+R,EACdtb,EAAMzJ,KACNsf,EACA/R,GAASA,EAAMma,GACfna,GAEc,EAAZwD,EACFwU,EAAmBvS,EAAIvJ,EAAM2I,UACR,GAAZrB,GACT4W,EACEle,EAAM2I,SACNY,EACA,KACAqT,EACA/C,EACAsE,GAAyBne,EAAO6V,GAChCgH,EACApU,GAGAN,GACFgE,GAAoBnM,EAAO,KAAM4c,EAAiB,WAEpDT,EAAW5S,EAAIvJ,EAAOA,EAAMoe,QAASvB,EAAcD,GAC/C9Y,EAAO,CACT,IAAK,MAAMtN,KAAOsN,EACJ,UAARtN,IAAoB,QAAeA,IACrC4kB,EACE7R,EACA/S,EACA,KACAsN,EAAMtN,GACNqf,EACA7V,EAAM2I,SACNiU,EACA/C,EACAwE,GAIF,UAAWva,GACbsX,EAAc7R,EAAI,QAAS,KAAMzF,EAAMvP,MAAOshB,IAE5CmI,EAAYla,EAAMwa,qBACpBC,GAAgBP,EAAWpB,EAAiB5c,EAEhD,CAKImI,GACFgE,GAAoBnM,EAAO,KAAM4c,EAAiB,eAEpD,MAAM4B,EAA0BC,GAAe5E,EAAgBxR,GAC3DmW,GACFnW,EAAWqW,YAAYnV,GAEzByR,EAAWzR,EAAImT,EAAWC,KACrBqB,EAAYla,GAASA,EAAM6a,iBAAmBH,GAA2BrW,IAC5EqS,IAAsB,KACpBwD,GAAaO,GAAgBP,EAAWpB,EAAiB5c,GACzDwe,GAA2BnW,EAAWuW,MAAMrV,GAC5CpB,GAAQgE,GAAoBnM,EAAO,KAAM4c,EAAiB,UAAU,GACnE/C,EACL,EAEIsC,EAAa,CAAC5S,EAAIvJ,EAAOoe,EAASvB,EAAcD,KAIpD,GAHIwB,GACFhC,EAAe7S,EAAI6U,GAEjBvB,EACF,IAAK,IAAIrqB,EAAI,EAAGA,EAAIqqB,EAAanqB,OAAQF,IACvC4pB,EAAe7S,EAAIsT,EAAarqB,IAGpC,GAAIoqB,EAAiB,CACnB,IAAIpT,EAAUoT,EAAgBpT,QAI9B,GAAIxJ,IAAUwJ,EAAS,CACrB,MAAMqV,EAAcjC,EAAgB5c,MACpCmc,EACE5S,EACAsV,EACAA,EAAYT,QACZS,EAAYhC,aACZD,EAAgBhrB,OAEpB,CACF,GAEIssB,EAAgB,CAACvV,EAAU+T,EAAWC,EAAQC,EAAiB/C,EAAgBhE,EAAWgH,EAAcpU,EAAW3G,EAAQ,KAC/H,IAAK,IAAItP,EAAIsP,EAAOtP,EAAImW,EAASjW,OAAQF,IAAK,CAC5C,MAAMssB,EAAQnW,EAASnW,GAAKiW,EAAYsW,GAAepW,EAASnW,IAAMiV,GAAekB,EAASnW,IAC9F+pB,EACE,KACAuC,EACApC,EACAC,EACAC,EACA/C,EACAhE,EACAgH,EACApU,EAEJ,GAEIsV,EAAe,CAACvB,EAAIC,EAAIG,EAAiB/C,EAAgBhE,EAAWgH,EAAcpU,KACtF,MAAMc,EAAKkT,EAAGlT,GAAKiT,EAAGjT,GAItB,IAAI,UAAEP,EAAS,gBAAE8T,EAAe,KAAE3U,GAASsU,EAC3CzT,GAA4B,GAAfwT,EAAGxT,UAChB,MAAMgW,EAAWxC,EAAG1Y,OAAS,KACvBmb,EAAWxC,EAAG3Y,OAAS,KAC7B,IAAIka,EAwCJ,GAvCApB,GAAmBsC,GAActC,GAAiB,IAC9CoB,EAAYiB,EAASE,sBACvBZ,GAAgBP,EAAWpB,EAAiBH,EAAID,GAE9CrU,GACFgE,GAAoBsQ,EAAID,EAAII,EAAiB,gBAE/CA,GAAmBsC,GAActC,GAAiB,GAM9CE,EACFsC,EACE5C,EAAGM,gBACHA,EACAvT,EACAqT,EACA/C,EACAsE,GAAyB1B,EAAI5G,GAC7BgH,GAKQpU,GACV4W,EACE7C,EACAC,EACAlT,EACA,KACAqT,EACA/C,EACAsE,GAAyB1B,EAAI5G,GAC7BgH,GACA,GAGA7T,EAAY,EAAG,CACjB,GAAgB,GAAZA,EACFsW,EACE/V,EACAkT,EACAuC,EACAC,EACArC,EACA/C,EACAhE,QAWF,GARgB,EAAZ7M,GACEgW,EAASO,QAAUN,EAASM,OAC9BnE,EAAc7R,EAAI,QAAS,KAAM0V,EAASM,MAAO1J,GAGrC,EAAZ7M,GACFoS,EAAc7R,EAAI,QAASyV,EAASQ,MAAOP,EAASO,MAAO3J,GAE7C,EAAZ7M,EAAe,CACjB,MAAMqO,EAAgBoF,EAAGrT,aACzB,IAAK,IAAI5W,EAAI,EAAGA,EAAI6kB,EAAc3kB,OAAQF,IAAK,CAC7C,MAAMgE,EAAM6gB,EAAc7kB,GACpBuT,EAAOiZ,EAASxoB,GAChBoF,EAAOqjB,EAASzoB,GAClBoF,IAASmK,GAAgB,UAARvP,GACnB4kB,EACE7R,EACA/S,EACAuP,EACAnK,EACAia,EACA2G,EAAG7T,SACHiU,EACA/C,EACAwE,EAGN,CACF,CAEc,EAAZrV,GACEwT,EAAG7T,WAAa8T,EAAG9T,UACrBmT,EAAmBvS,EAAIkT,EAAG9T,SAGhC,MAAYF,GAAgC,MAAnBqU,GACvBwC,EACE/V,EACAkT,EACAuC,EACAC,EACArC,EACA/C,EACAhE,KAGCmI,EAAYiB,EAASQ,iBAAmBtX,IAC3CqS,IAAsB,KACpBwD,GAAaO,GAAgBP,EAAWpB,EAAiBH,EAAID,GAC7DrU,GAAQgE,GAAoBsQ,EAAID,EAAII,EAAiB,UAAU,GAC9D/C,EACL,EAEIuF,EAAqB,CAACM,EAAaC,EAAaC,EAAmBhD,EAAiB/C,EAAgBhE,EAAWgH,KACnH,IAAK,IAAIrqB,EAAI,EAAGA,EAAImtB,EAAYjtB,OAAQF,IAAK,CAC3C,MAAMqtB,EAAWH,EAAYltB,GACvBstB,EAAWH,EAAYntB,GACvBkqB,EAGJmD,EAAStW,KAERsW,EAAStpB,OAAS+mB,KAElBP,GAAgB8C,EAAUC,IACN,GAArBD,EAASvY,WAAwB0U,EAAe6D,EAAStW,IAAM,EAMjEgT,EACEsD,EACAC,EACApD,EACA,KACAE,EACA/C,EACAhE,EACAgH,GACA,EAEJ,GAEIyC,EAAa,CAAC/V,EAAIvJ,EAAOgf,EAAUC,EAAUrC,EAAiB/C,EAAgBhE,KAClF,GAAImJ,IAAaC,EAAU,CACzB,GAAID,IAAa,KACf,IAAK,MAAMxoB,KAAOwoB,GACX,QAAexoB,IAAUA,KAAOyoB,GACnC7D,EACE7R,EACA/S,EACAwoB,EAASxoB,GACT,KACAqf,EACA7V,EAAM2I,SACNiU,EACA/C,EACAwE,GAKR,IAAK,MAAM7nB,KAAOyoB,EAAU,CAC1B,IAAI,QAAezoB,GAAM,SACzB,MAAMoF,EAAOqjB,EAASzoB,GAChBuP,EAAOiZ,EAASxoB,GAClBoF,IAASmK,GAAgB,UAARvP,GACnB4kB,EACE7R,EACA/S,EACAuP,EACAnK,EACAia,EACA7V,EAAM2I,SACNiU,EACA/C,EACAwE,EAGN,CACI,UAAWY,GACb7D,EAAc7R,EAAI,QAASyV,EAASzqB,MAAO0qB,EAAS1qB,MAAOshB,EAE/D,GAEI0H,EAAkB,CAACf,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB/C,EAAgBhE,EAAWgH,EAAcpU,KAC5G,MAAMsX,EAAsBtD,EAAGlT,GAAKiT,EAAKA,EAAGjT,GAAKiS,EAAe,IAC1DwE,EAAoBvD,EAAGE,OAASH,EAAKA,EAAGG,OAASnB,EAAe,IACtE,IAAI,UAAExS,EAAS,gBAAE8T,EAAiBD,aAAcoD,GAAyBxD,EAOrEwD,IACFpD,EAAeA,EAAeA,EAAazU,OAAO6X,GAAwBA,GAElE,MAANzD,GACFxB,EAAW+E,EAAqBrD,EAAWC,GAC3C3B,EAAWgF,EAAmBtD,EAAWC,GACzCuB,EAKEzB,EAAG9T,UAAY,GACf+T,EACAsD,EACApD,EACA/C,EACAhE,EACAgH,EACApU,IAGEO,EAAY,GAAiB,GAAZA,GAAkB8T,GAEvCN,EAAGM,iBACDsC,EACE5C,EAAGM,gBACHA,EACAJ,EACAE,EACA/C,EACAhE,EACAgH,IASU,MAAVJ,EAAGjmB,KAAeomB,GAAmBH,IAAOG,EAAgBpT,UAE5D0W,GACE1D,EACAC,GACA,IAKJ4C,EACE7C,EACAC,EACAC,EACAsD,EACApD,EACA/C,EACAhE,EACAgH,EACApU,EAGN,EAEIgV,EAAmB,CAACjB,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB/C,EAAgBhE,EAAWgH,EAAcpU,KAC7GgU,EAAGI,aAAeA,EACR,MAANL,EACiB,IAAfC,EAAGnV,UACLsV,EAAgB1W,IAAIia,SAClB1D,EACAC,EACAC,EACA9G,EACApN,GAGF2X,EACE3D,EACAC,EACAC,EACAC,EACA/C,EACAhE,EACApN,GAIJ4X,EAAgB7D,EAAIC,EAAIhU,EAC1B,EAEI2X,EAAiB,CAACE,EAAc5D,EAAWC,EAAQC,EAAiB/C,EAAgBhE,EAAWpN,KACnG,MAAMhJ,EAAY6gB,EAAazX,UAAY0X,GACzCD,EACA1D,EACA/C,GAqBF,GAZI2G,GAAYF,KACd7gB,EAASyG,IAAIua,SAAW9C,IAMxB+C,GAAejhB,GAKbA,EAASkhB,UAEX,GADA9G,GAAkBA,EAAe+G,YAAYnhB,EAAUohB,EAAmBpY,IACrE6X,EAAa/W,GAAI,CACpB,MAAMuX,EAAcrhB,EAAS+J,QAAU3B,GAAYC,IACnDqV,EAAmB,KAAM2D,EAAapE,EAAWC,EACnD,OAEAkE,EACEphB,EACA6gB,EACA5D,EACAC,EACA9C,EACAhE,EACApN,EAG4C,EAK5C4X,EAAkB,CAAC7D,EAAIC,EAAIhU,KAC/B,MAAMhJ,EAAWgd,EAAG5T,UAAY2T,EAAG3T,UACnC,GAAIP,EAAsBkU,EAAIC,EAAIhU,GAAY,CAC5C,GAAIhJ,EAASkhB,WAAalhB,EAASshB,cAQjC,YAJAC,EAAyBvhB,EAAUgd,EAAIhU,GAMvChJ,EAAS7D,KAAO6gB,EAChB9Z,EAAclD,EAAS0O,QACvB1O,EAAS3M,OAAOY,OAAQ,EACxB+L,EAAS0O,QAEb,MACEsO,EAAGlT,GAAKiT,EAAGjT,GACX9J,EAASO,MAAQyc,CACnB,EAEIoE,EAAoB,CAACphB,EAAU6gB,EAAc5D,EAAWC,EAAQ9C,EAAgBhE,EAAWpN,KAC/F,MAAMwY,EAAoB,KACxB,GAAKxhB,EAASoV,UA0FP,CACL,IAAI,KAAEjZ,EAAI,GAAEslB,EAAE,EAAEC,EAAC,OAAEvvB,EAAM,MAAEoO,GAAUP,EACrC,CACE,MAAM2hB,EAAuBC,GAA2B5hB,GACxD,GAAI2hB,EAUF,OATIxlB,IACFA,EAAK2N,GAAKvJ,EAAMuJ,GAChByX,EAAyBvhB,EAAU7D,EAAM6M,SAE3C2Y,EAAqBT,SAASjf,MAAK,KAC5BjC,EAASoE,aACZod,GACF,GAIN,CACA,IACIjD,EADAsD,EAAa1lB,EAEb,EAGJsjB,GAAczf,GAAU,GACpB7D,GACFA,EAAK2N,GAAKvJ,EAAMuJ,GAChByX,EAAyBvhB,EAAU7D,EAAM6M,IAEzC7M,EAAOoE,EAELkhB,IACF,QAAeA,IAEblD,EAAYpiB,EAAKkI,OAASlI,EAAKkI,MAAMqb,sBACvCZ,GAAgBP,EAAWpsB,EAAQgK,EAAMoE,GAE3Ckf,GAAczf,GAAU,GAIxB,MAAM8hB,EAAW7a,EAAoBjH,GACjC,EAGJ,MAAM+hB,EAAW/hB,EAAS+J,QAC1B/J,EAAS+J,QAAU+X,EAInBhF,EACEiF,EACAD,EAEAvF,EAAewF,EAASjY,IAExByT,EAAgBwE,GAChB/hB,EACAoa,EACAhE,GAKFja,EAAK2N,GAAKgY,EAAShY,GACA,OAAf+X,GACFhY,EAAgB7J,EAAU8hB,EAAShY,IAEjC4X,GACF3G,GAAsB2G,EAAGtH,IAEvBmE,EAAYpiB,EAAKkI,OAASlI,EAAKkI,MAAM2b,iBACvCjF,IACE,IAAM+D,GAAgBP,EAAWpsB,EAAQgK,EAAMoE,IAC/C6Z,EASN,KA3KyB,CACvB,IAAImE,EACJ,MAAM,GAAEzU,EAAE,MAAEzF,GAAUwc,GAChB,GAAEmB,EAAE,EAAEzO,EAAC,OAAEphB,GAAW6N,EACpBiiB,EAAsB5U,GAAewT,GAS3C,GARApB,GAAczf,GAAU,GACpBgiB,IACF,QAAeA,IAEZC,IAAwB1D,EAAYla,GAASA,EAAMwa,qBACtDC,GAAgBP,EAAWpsB,EAAQ0uB,GAErCpB,GAAczf,GAAU,GACpB8J,GAAMoY,GAAa,CACrB,MAAMC,EAAiB,KAIrBniB,EAAS+J,QAAU9C,EAAoBjH,GAOvCkiB,GACEpY,EACA9J,EAAS+J,QACT/J,EACAoa,EACA,KAE8C,EAI9C6H,EACFpB,EAAa/pB,KAAKwW,gBAAgBrL,MAKhC,KAAOjC,EAASoE,aAAe+d,MAGjCA,GAEJ,KAAO,CACD,EAGJ,MAAMpY,EAAU/J,EAAS+J,QAAU9C,EAAoBjH,GACnD,EAMJ8c,EACE,KACA/S,EACAkT,EACAC,EACAld,EACAoa,EACAhE,GAKFyK,EAAa/W,GAAKC,EAAQD,EAC5B,CAIA,GAHIyJ,GACFwH,GAAsBxH,EAAG6G,IAEtB6H,IAAwB1D,EAAYla,GAASA,EAAM6a,gBAAiB,CACvE,MAAMkD,EAAqBvB,EAC3B9F,IACE,IAAM+D,GAAgBP,EAAWpsB,EAAQiwB,IACzChI,EAEJ,EAC6B,IAAzByG,EAAahZ,WAAmB1V,GAAUkb,GAAelb,EAAOoO,QAAmC,IAAzBpO,EAAOoO,MAAMsH,YACzF7H,EAAS4D,GAAKmX,GAAsB/a,EAAS4D,EAAGwW,GAElDpa,EAASoV,WAAY,EAIrByL,EAAe5D,EAAYC,EAAS,IACtC,CAiFA,EAEI7pB,EAAS2M,EAAS3M,OAAS,IAAI,KACnCmuB,EACA,MACA,IAAM5e,EAAS8L,IACf1O,EAAS1M,OAGLob,EAAS1O,EAAS0O,OAAS,KAC3Brb,EAAOY,OACTZ,EAAOb,KACT,EAEFkc,EAAOtM,GAAKpC,EAASwD,IACrBic,GAAczf,GAAU,GAMxB0O,GAAQ,EAEJ6S,EAA2B,CAACvhB,EAAU+I,EAAWC,KACrDD,EAAUK,UAAYpJ,EACtB,MAAMiJ,EAAYjJ,EAASO,MAAM8D,MACjCrE,EAASO,MAAQwI,EACjB/I,EAAS7D,KAAO,KAChBmb,GAAYtX,EAAU+I,EAAU1E,MAAO4E,EAAWD,GAClD8Q,GAAY9Z,EAAU+I,EAAUG,SAAUF,IAC1C,UACA1F,EAAiBtD,IACjB,SAAe,EAEX4f,EAAgB,CAAC7C,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB/C,EAAgBhE,EAAWgH,EAAcpU,GAAY,KACtH,MAAMqZ,EAAKtF,GAAMA,EAAG7T,SACdoZ,EAAgBvF,EAAKA,EAAGlV,UAAY,EACpC0a,EAAKvF,EAAG9T,UACR,UAAEK,EAAS,UAAE1B,GAAcmV,EACjC,GAAIzT,EAAY,EAAG,CACjB,GAAgB,IAAZA,EAYF,YAXAiZ,EACEH,EACAE,EACAtF,EACAC,EACAC,EACA/C,EACAhE,EACAgH,EACApU,GAGG,GAAgB,IAAZO,EAYT,YAXAkZ,EACEJ,EACAE,EACAtF,EACAC,EACAC,EACA/C,EACAhE,EACAgH,EACApU,EAIN,CACgB,EAAZnB,GACkB,GAAhBya,GACF1D,EAAgByD,EAAIlF,EAAiB/C,GAEnCmI,IAAOF,GACThG,EAAmBY,EAAWsF,IAGZ,GAAhBD,EACc,GAAZza,EACF2a,EACEH,EACAE,EACAtF,EACAC,EACAC,EACA/C,EACAhE,EACAgH,EACApU,GAGF4V,EAAgByD,EAAIlF,EAAiB/C,GAAgB,IAGnC,EAAhBkI,GACFjG,EAAmBY,EAAW,IAEhB,GAAZpV,GACF4W,EACE8D,EACAtF,EACAC,EACAC,EACA/C,EACAhE,EACAgH,EACApU,GAIR,EAEIyZ,EAAuB,CAACJ,EAAIE,EAAItF,EAAWC,EAAQC,EAAiB/C,EAAgBhE,EAAWgH,EAAcpU,KACjHqZ,EAAKA,GAAM,KACXE,EAAKA,GAAM,KACX,MAAMG,EAAYL,EAAGpvB,OACfoE,EAAYkrB,EAAGtvB,OACf0vB,EAAeC,KAAKC,IAAIH,EAAWrrB,GACzC,IAAItE,EACJ,IAAKA,EAAI,EAAGA,EAAI4vB,EAAc5vB,IAAK,CACjC,MAAM+vB,EAAYP,EAAGxvB,GAAKiW,EAAYsW,GAAeiD,EAAGxvB,IAAMiV,GAAeua,EAAGxvB,IAChF+pB,EACEuF,EAAGtvB,GACH+vB,EACA7F,EACA,KACAE,EACA/C,EACAhE,EACAgH,EACApU,EAEJ,CACI0Z,EAAYrrB,EACdunB,EACEyD,EACAlF,EACA/C,GACA,GACA,EACAuI,GAGFlE,EACE8D,EACAtF,EACAC,EACAC,EACA/C,EACAhE,EACAgH,EACApU,EACA2Z,EAEJ,EAEIH,EAAqB,CAACH,EAAIE,EAAItF,EAAW8F,EAAc5F,EAAiB/C,EAAgBhE,EAAWgH,EAAcpU,KACrH,IAAIjW,EAAI,EACR,MAAMiwB,EAAKT,EAAGtvB,OACd,IAAIgwB,EAAKZ,EAAGpvB,OAAS,EACjBiwB,EAAKF,EAAK,EACd,MAAOjwB,GAAKkwB,GAAMlwB,GAAKmwB,EAAI,CACzB,MAAMnG,EAAKsF,EAAGtvB,GACRiqB,EAAKuF,EAAGxvB,GAAKiW,EAAYsW,GAAeiD,EAAGxvB,IAAMiV,GAAeua,EAAGxvB,IACzE,IAAIuqB,GAAgBP,EAAIC,GAatB,MAZAF,EACEC,EACAC,EACAC,EACA,KACAE,EACA/C,EACAhE,EACAgH,EACApU,GAKJjW,GACF,CACA,MAAOA,GAAKkwB,GAAMlwB,GAAKmwB,EAAI,CACzB,MAAMnG,EAAKsF,EAAGY,GACRjG,EAAKuF,EAAGW,GAAMla,EAAYsW,GAAeiD,EAAGW,IAAOlb,GAAeua,EAAGW,IAC3E,IAAI5F,GAAgBP,EAAIC,GAatB,MAZAF,EACEC,EACAC,EACAC,EACA,KACAE,EACA/C,EACAhE,EACAgH,EACApU,GAKJia,IACAC,GACF,CACA,GAAInwB,EAAIkwB,GACN,GAAIlwB,GAAKmwB,EAAI,CACX,MAAMC,EAAUD,EAAK,EACfhG,EAASiG,EAAUH,EAAKT,EAAGY,GAASrZ,GAAKiZ,EAC/C,MAAOhwB,GAAKmwB,EACVpG,EACE,KACAyF,EAAGxvB,GAAKiW,EAAYsW,GAAeiD,EAAGxvB,IAAMiV,GAAeua,EAAGxvB,IAC9DkqB,EACAC,EACAC,EACA/C,EACAhE,EACAgH,EACApU,GAEFjW,GAEJ,OACK,GAAIA,EAAImwB,EACb,MAAOnwB,GAAKkwB,EACV3M,EAAQ+L,EAAGtvB,GAAIoqB,EAAiB/C,GAAgB,GAChDrnB,QAEG,CACL,MAAMqwB,EAAKrwB,EACLswB,EAAKtwB,EACLuwB,EAAmC,IAAIhtB,IAC7C,IAAKvD,EAAIswB,EAAItwB,GAAKmwB,EAAInwB,IAAK,CACzB,MAAM+vB,EAAYP,EAAGxvB,GAAKiW,EAAYsW,GAAeiD,EAAGxvB,IAAMiV,GAAeua,EAAGxvB,IAC3D,MAAjB+vB,EAAU/rB,KAQZusB,EAAiBxtB,IAAIgtB,EAAU/rB,IAAKhE,EAExC,CACA,IAAIwwB,EACAC,EAAU,EACd,MAAMC,EAAcP,EAAKG,EAAK,EAC9B,IAAIK,GAAQ,EACRC,EAAmB,EACvB,MAAMC,EAAwB,IAAI1W,MAAMuW,GACxC,IAAK1wB,EAAI,EAAGA,EAAI0wB,EAAa1wB,IAAK6wB,EAAsB7wB,GAAK,EAC7D,IAAKA,EAAIqwB,EAAIrwB,GAAKkwB,EAAIlwB,IAAK,CACzB,MAAM8wB,EAAYxB,EAAGtvB,GACrB,GAAIywB,GAAWC,EAAa,CAC1BnN,EAAQuN,EAAW1G,EAAiB/C,GAAgB,GACpD,QACF,CACA,IAAI0J,EACJ,GAAqB,MAAjBD,EAAU9sB,IACZ+sB,EAAWR,EAAiBpuB,IAAI2uB,EAAU9sB,UAE1C,IAAKwsB,EAAIF,EAAIE,GAAKL,EAAIK,IACpB,GAAsC,IAAlCK,EAAsBL,EAAIF,IAAa/F,GAAgBuG,EAAWtB,EAAGgB,IAAK,CAC5EO,EAAWP,EACX,KACF,MAGa,IAAbO,EACFxN,EAAQuN,EAAW1G,EAAiB/C,GAAgB,IAEpDwJ,EAAsBE,EAAWT,GAAMtwB,EAAI,EACvC+wB,GAAYH,EACdA,EAAmBG,EAEnBJ,GAAQ,EAEV5G,EACE+G,EACAtB,EAAGuB,GACH7G,EACA,KACAE,EACA/C,EACAhE,EACAgH,EACApU,GAEFwa,IAEJ,CACA,MAAMO,EAA6BL,EAAQM,GAAYJ,GAAyB,KAEhF,IADAL,EAAIQ,EAA2B9wB,OAAS,EACnCF,EAAI0wB,EAAc,EAAG1wB,GAAK,EAAGA,IAAK,CACrC,MAAMkxB,EAAYZ,EAAKtwB,EACjB+vB,EAAYP,EAAG0B,GACf/G,EAAS+G,EAAY,EAAIjB,EAAKT,EAAG0B,EAAY,GAAGna,GAAKiZ,EAC1B,IAA7Ba,EAAsB7wB,GACxB+pB,EACE,KACAgG,EACA7F,EACAC,EACAC,EACA/C,EACAhE,EACAgH,EACApU,GAEO0a,IACLH,EAAI,GAAKxwB,IAAMgxB,EAA2BR,GAC5CW,EAAKpB,EAAW7F,EAAWC,EAAQ,GAEnCqG,IAGN,CACF,GAEIW,EAAO,CAAC3jB,EAAO0c,EAAWC,EAAQiH,EAAU/J,EAAiB,QACjE,MAAM,GAAEtQ,EAAE,KAAEhT,EAAI,WAAE8R,EAAU,SAAEM,EAAQ,UAAErB,GAActH,EACtD,GAAgB,EAAZsH,EAEF,YADAqc,EAAK3jB,EAAM6I,UAAUW,QAASkT,EAAWC,EAAQiH,GAGnD,GAAgB,IAAZtc,EAEF,YADAtH,EAAMyJ,SAASka,KAAKjH,EAAWC,EAAQiH,GAGzC,GAAgB,GAAZtc,EAEF,YADA/Q,EAAKotB,KAAK3jB,EAAO0c,EAAWC,EAAQgB,IAGtC,GAAIpnB,IAAS+mB,GAAU,CACrBtC,EAAWzR,EAAImT,EAAWC,GAC1B,IAAK,IAAInqB,EAAI,EAAGA,EAAImW,EAASjW,OAAQF,IACnCmxB,EAAKhb,EAASnW,GAAIkqB,EAAWC,EAAQiH,GAGvC,YADA5I,EAAWhb,EAAM2c,OAAQD,EAAWC,EAEtC,CACA,GAAIpmB,IAAS6mB,GAEX,YADAQ,EAAe5d,EAAO0c,EAAWC,GAGnC,MAAMkH,EAA+B,IAAbD,GAA8B,EAAZtc,GAAiBe,EAC3D,GAAIwb,EACF,GAAiB,IAAbD,EACFvb,EAAWqW,YAAYnV,GACvByR,EAAWzR,EAAImT,EAAWC,GAC1BnC,IAAsB,IAAMnS,EAAWuW,MAAMrV,IAAKsQ,OAC7C,CACL,MAAM,MAAEiK,EAAK,WAAEC,EAAU,WAAEC,GAAe3b,EACpC4b,EAAU,IAAMjJ,EAAWzR,EAAImT,EAAWC,GAC1CuH,EAAe,KACnBJ,EAAMva,GAAI,KACR0a,IACAD,GAAcA,GAAY,GAC1B,EAEAD,EACFA,EAAWxa,EAAI0a,EAASC,GAExBA,GAEJ,MAEAlJ,EAAWzR,EAAImT,EAAWC,EAC5B,EAEI5G,EAAU,CAAC/V,EAAO4c,EAAiB/C,EAAgBsK,GAAW,EAAO1b,GAAY,KACrF,MAAM,KACJlS,EAAI,MACJuN,EAAK,IACLmW,EAAG,SACHtR,EAAQ,gBACRmU,EAAe,UACfxV,EAAS,UACT0B,EAAS,KACTb,EAAI,UACJic,GACEpkB,EAUJ,IATmB,IAAfgJ,IACFP,GAAY,GAEH,MAAPwR,GACFP,GAAOO,EAAK,KAAMJ,EAAgB7Z,GAAO,GAE1B,MAAbokB,IACFxH,EAAgB3V,YAAYmd,QAAa,GAE3B,IAAZ9c,EAEF,YADAsV,EAAgB1W,IAAIme,WAAWrkB,GAGjC,MAAMskB,EAA+B,EAAZhd,GAAiBa,EACpCoc,GAAyBzX,GAAe9M,GAC9C,IAAIge,EAIJ,GAHIuG,IAA0BvG,EAAYla,GAASA,EAAM0gB,uBACvDjG,GAAgBP,EAAWpB,EAAiB5c,GAE9B,EAAZsH,EACFmd,EAAiBzkB,EAAM6I,UAAWgR,EAAgBsK,OAC7C,CACL,GAAgB,IAAZ7c,EAEF,YADAtH,EAAMyJ,SAASsM,QAAQ8D,EAAgBsK,GAGrCG,GACFnY,GAAoBnM,EAAO,KAAM4c,EAAiB,iBAEpC,GAAZtV,EACFtH,EAAMzJ,KAAK0kB,OACTjb,EACA4c,EACA/C,EACA8D,GACAwG,GAEOrH,IACVvmB,IAAS+mB,IAAYtU,EAAY,GAAiB,GAAZA,GACrCqV,EACEvB,EACAF,EACA/C,GACA,GACA,IAEOtjB,IAAS+mB,IAAwB,IAAZtU,IAA4BP,GAAyB,GAAZnB,IACvE+W,EAAgB1V,EAAUiU,EAAiB/C,GAEzCsK,GACFlJ,EAAOjb,EAEX,EACIukB,IAA0BvG,EAAYla,GAASA,EAAM4gB,mBAAqBJ,IAC5E9J,IAAsB,KACpBwD,GAAaO,GAAgBP,EAAWpB,EAAiB5c,GACzDskB,GAAoBnY,GAAoBnM,EAAO,KAAM4c,EAAiB,YAAY,GACjF/C,EACL,EAEIoB,EAAUjb,IACd,MAAM,KAAEzJ,EAAI,GAAEgT,EAAE,OAAEoT,EAAM,WAAEtU,GAAerI,EACzC,GAAIzJ,IAAS+mB,GAYX,YAFEqH,EAAepb,EAAIoT,GAIvB,GAAIpmB,IAAS6mB,GAEX,YADAS,EAAiB7d,GAGnB,MAAM4kB,EAAgB,KACpB1J,EAAW3R,GACPlB,IAAeA,EAAWwc,WAAaxc,EAAW2b,YACpD3b,EAAW2b,YACb,EAEF,GAAsB,EAAlBhkB,EAAMsH,WAAiBe,IAAeA,EAAWwc,UAAW,CAC9D,MAAM,MAAEf,EAAK,WAAEC,GAAe1b,EACxB6b,EAAe,IAAMJ,EAAMva,EAAIqb,GACjCb,EACFA,EAAW/jB,EAAMuJ,GAAIqb,EAAeV,GAEpCA,GAEJ,MACEU,GACF,EAEID,EAAiB,CAAC1kB,EAAK8B,KAC3B,IAAInG,EACJ,MAAOqE,IAAQ8B,EACbnG,EAAOsgB,EAAgBjc,GACvBib,EAAWjb,GACXA,EAAMrE,EAERsf,EAAWnZ,EAAI,EAEX0iB,EAAmB,CAAChlB,EAAUoa,EAAgBsK,KAIlD,MAAM,IAAEW,EAAG,MAAE/xB,EAAK,OAAEob,EAAM,QAAE3E,EAAO,GAAEub,EAAE,EAAE/R,EAAC,EAAE3P,GAAM5D,EAClDulB,GAAgBhS,GAChBgS,GAAgB3hB,GACZyhB,IACF,QAAeA,GAEjB/xB,EAAMT,OACF6b,IACFA,EAAOnc,QAAS,EAChB+jB,EAAQvM,EAAS/J,EAAUoa,EAAgBsK,IAEzCY,GACFvK,GAAsBuK,EAAIlL,GAE5BW,IAAsB,KACpB/a,EAASoE,aAAc,CAAI,GAC1BgW,GACCA,GAAkBA,EAAe7P,gBAAkB6P,EAAehW,aAAepE,EAASkhB,WAAalhB,EAASshB,eAAiBthB,EAASwlB,aAAepL,EAAeqL,YAC1KrL,EAAezmB,OACa,IAAxBymB,EAAezmB,MACjBymB,EAAevY,UAGsD,EAIrE+c,EAAkB,CAAC1V,EAAUiU,EAAiB/C,EAAgBsK,GAAW,EAAO1b,GAAY,EAAO3G,EAAQ,KAC/G,IAAK,IAAItP,EAAIsP,EAAOtP,EAAImW,EAASjW,OAAQF,IACvCujB,EAAQpN,EAASnW,GAAIoqB,EAAiB/C,EAAgBsK,EAAU1b,EAClE,EAEIuU,EAAmBhd,GACD,EAAlBA,EAAMsH,UACD0V,EAAgBhd,EAAM6I,UAAUW,SAEnB,IAAlBxJ,EAAMsH,UACDtH,EAAMyJ,SAAS7N,OAEjBsgB,EAAgBlc,EAAM2c,QAAU3c,EAAMuJ,IAE/C,IAAI1I,GAAa,EACjB,MAAMmG,GAAS,CAAChH,EAAO0c,EAAW7G,KACnB,MAAT7V,EACE0c,EAAUyI,QACZpP,EAAQ2G,EAAUyI,OAAQ,KAAM,MAAM,GAGxC5I,EACEG,EAAUyI,QAAU,KACpBnlB,EACA0c,EACA,KACA,KACA,KACA7G,GAGChV,IACHA,GAAa,EACbkC,IACAG,IACArC,GAAa,GAEf6b,EAAUyI,OAASnlB,CAAK,EAEpB2d,GAAY,CAChBlc,EAAG8a,EACHwI,GAAIhP,EACJ/C,EAAG2Q,EACHxkB,EAAG8b,EACHmK,GAAIhF,EACJiF,GAAInH,EACJoH,GAAIjG,EACJkG,IAAKnG,EACL/Q,EAAG2O,EACHwI,EAAG/f,GAEL,IAAI8O,GACAoN,GAMJ,OALI9G,KACDtG,GAASoN,IAAe9G,EACvB8C,KAGG,CACL3W,UACAuN,WACAkR,UAAWnR,GAAatN,GAAQuN,IAEpC,CACA,SAAS4J,IAAyB,KAAE5nB,EAAI,MAAEuN,GAAS4hB,GACjD,MAA4B,QAArBA,GAAuC,kBAATnvB,GAAiD,WAArBmvB,GAA0C,mBAATnvB,GAA6BuN,GAASA,EAAM6hB,UAAY7hB,EAAM6hB,SAASpjB,SAAS,aAAU,EAASmjB,CACvM,CACA,SAASxG,IAAc,OAAEpsB,EAAM,OAAEqb,GAAUyX,GACzC9yB,EAAO+C,aAAesY,EAAOtY,aAAe+vB,CAC9C,CACA,SAASnH,GAAe5E,EAAgBxR,GACtC,QAASwR,GAAkBA,IAAmBA,EAAe7P,gBAAkB3B,IAAeA,EAAWwc,SAC3G,CACA,SAAS3E,GAAuB1D,EAAIC,EAAI/f,GAAU,GAChD,MAAMmpB,EAAMrJ,EAAG7T,SACTmd,EAAMrJ,EAAG9T,SACf,IAAI,QAAQkd,KAAQ,QAAQC,GAC1B,IAAK,IAAItzB,EAAI,EAAGA,EAAIqzB,EAAInzB,OAAQF,IAAK,CACnC,MAAMsvB,EAAK+D,EAAIrzB,GACf,IAAIwvB,EAAK8D,EAAItzB,GACM,EAAfwvB,EAAG1a,YAAkB0a,EAAGlF,mBACtBkF,EAAGhZ,WAAa,GAAsB,KAAjBgZ,EAAGhZ,aAC1BgZ,EAAK8D,EAAItzB,GAAKusB,GAAe+G,EAAItzB,IACjCwvB,EAAGzY,GAAKuY,EAAGvY,IAER7M,IAA6B,IAAlBslB,EAAGhZ,WACjBkX,GAAuB4B,EAAIE,IAE3BA,EAAGzrB,OAAS0mB,KACd+E,EAAGzY,GAAKuY,EAAGvY,GAKf,CAEJ,CACA,SAASka,GAAY5rB,GACnB,MAAM4J,EAAI5J,EAAIqM,QACRvK,EAAS,CAAC,GAChB,IAAInH,EAAGwwB,EAAG7B,EAAGntB,EAAGyd,EAChB,MAAMsU,EAAMluB,EAAInF,OAChB,IAAKF,EAAI,EAAGA,EAAIuzB,EAAKvzB,IAAK,CACxB,MAAMwzB,EAAOnuB,EAAIrF,GACjB,GAAa,IAATwzB,EAAY,CAEd,GADAhD,EAAIrpB,EAAOA,EAAOjH,OAAS,GACvBmF,EAAImrB,GAAKgD,EAAM,CACjBvkB,EAAEjP,GAAKwwB,EACPrpB,EAAO5H,KAAKS,GACZ,QACF,CACA2uB,EAAI,EACJntB,EAAI2F,EAAOjH,OAAS,EACpB,MAAOyuB,EAAIntB,EACTyd,EAAI0P,EAAIntB,GAAK,EACT6D,EAAI8B,EAAO8X,IAAMuU,EACnB7E,EAAI1P,EAAI,EAERzd,EAAIyd,EAGJuU,EAAOnuB,EAAI8B,EAAOwnB,MAChBA,EAAI,IACN1f,EAAEjP,GAAKmH,EAAOwnB,EAAI,IAEpBxnB,EAAOwnB,GAAK3uB,EAEhB,CACF,CACA2uB,EAAIxnB,EAAOjH,OACXsB,EAAI2F,EAAOwnB,EAAI,GACf,MAAOA,KAAM,EACXxnB,EAAOwnB,GAAKntB,EACZA,EAAIyN,EAAEzN,GAER,OAAO2F,CACT,CACA,SAAS0nB,GAA2B5hB,GAClC,MAAMwmB,EAAexmB,EAAS+J,QAAQX,UACtC,GAAIod,EACF,OAAIA,EAAatF,WAAasF,EAAalF,cAClCkF,EAEA5E,GAA2B4E,EAGxC,CACA,SAASjB,GAAgB3a,GACvB,GAAIA,EACF,IAAK,IAAI7X,EAAI,EAAGA,EAAI6X,EAAM3X,OAAQF,IAAK6X,EAAM7X,GAAGR,QAAS,CAE7D,CAEA,MAAMk0B,GAAgB/vB,OAAOyT,IAAI,SAC3Buc,GAAgB,KACpB,CACE,MAAMjgB,EAAMiK,GAAO+V,IAMnB,OAAOhgB,CACT,GAoBF,MAAMkgB,GAAwB,CAAC,EAC/B,SAASrW,GAAMvD,EAAQ1J,EAAI2C,GAMzB,OAAO4gB,GAAQ7Z,EAAQ1J,EAAI2C,EAC7B,CACA,SAAS4gB,GAAQ7Z,EAAQ1J,GAAI,UAC3BwjB,EAAS,KACTra,EAAI,MACJsa,EAAK,KACLC,EAAI,QACJC,EAAO,UACPC,GACE,MACF,GAAI5jB,GAAM0jB,EAAM,CACd,MAAMG,EAAM7jB,EACZA,EAAK,IAAIlL,KACP+uB,KAAO/uB,GACPgvB,GAAS,CAEb,CAuBA,MAOMnnB,EAAW0K,GACX0c,EAAkBC,IAAqB,IAAT7a,EAAgB6a,EAElD5a,GAAS4a,GAAkB,IAAT7a,EAAiB,OAAI,GAEzC,IAAIjO,EA+CAlJ,EA9CAiyB,GAAe,EACfC,GAAgB,EAyCpB,IAxCI,QAAMxa,IACRxO,EAAS,IAAMwO,EAAOjY,MACtBwyB,GAAe,QAAUva,KAChB,QAAWA,IACpBxO,EAAS,IAAM6oB,EAAera,GAC9Bua,GAAe,IACN,QAAQva,IACjBwa,GAAgB,EAChBD,EAAeva,EAAOxE,MAAMif,IAAM,QAAWA,KAAM,QAAUA,KAC7DjpB,EAAS,IAAMwO,EAAOhV,KAAKyvB,IACrB,QAAMA,GACDA,EAAE1yB,OACA,QAAW0yB,GACbJ,EAAeI,IACb,QAAWA,GACbznB,EAAsBynB,EAAGxnB,EAAU,QADrC,KAQPzB,GAFO,QAAWwO,GAChB1J,EACO,IAAMtD,EAAsBgN,EAAQ/M,EAAU,GAE9C,KACH3K,GACFA,IAEK8K,EACL4M,EACA/M,EACA,EACA,CAACynB,KAKE,KAGPpkB,GAAMmJ,EAAM,CACd,MAAMkb,EAAanpB,EACnBA,EAAS,IAAMkO,GAASib,IAC1B,CAEA,IAMIC,EANAF,EAAah1B,IACf4C,EAAUhC,EAAOwB,OAAS,KACxBkL,EAAsBtN,EAAIuN,EAAU,GACpC3K,EAAUhC,EAAOwB,YAAS,CAAM,CACjC,EAGH,GAAIuW,GAAuB,CAWzB,GAVAqc,EAAY,KACPpkB,EAEMwjB,GACT1mB,EAA2BkD,EAAIrD,EAAU,EAAG,CAC1CzB,IACAgpB,EAAgB,QAAK,EACrBE,IALFlpB,IAQY,SAAVuoB,EAIF,OAAO,KAJa,CACpB,MAAMrgB,EAAMigB,KACZiB,EAAalhB,EAAImhB,mBAAqBnhB,EAAImhB,iBAAmB,GAC/D,CAGF,CACA,IAAI1wB,EAAWqwB,EAAgB,IAAIra,MAAMH,EAAO9Z,QAAQ40B,KAAKlB,IAAyBA,GACtF,MAAM9jB,EAAM,KACV,GAAKxP,EAAOd,QAAWc,EAAOY,MAG9B,GAAIoP,EAAI,CACN,MAAMpM,EAAW5D,EAAOb,OACpBga,GAAQ8a,IAAiBC,EAAgBtwB,EAASsR,MAAK,CAAChU,EAAGxB,KAAM,QAAWwB,EAAG2C,EAASnE,OAAO,QAAWkE,EAAUC,OAClH7B,GACFA,IAEF8K,EAA2BkD,EAAIrD,EAAU,EAAG,CAC1C/I,EAEAC,IAAayvB,QAAwB,EAASY,GAAiBrwB,EAAS,KAAOyvB,GAAwB,GAAKzvB,EAC5GuwB,IAEFvwB,EAAWD,EAEf,MACE5D,EAAOb,KACT,EAGF,IAAIkB,EADJmP,EAAIzM,eAAiBiN,EAEP,SAAVyjB,EACFpzB,EAAYmP,EACO,SAAVikB,EACTpzB,EAAY,IAAMqnB,GAAsBlY,EAAK7C,GAAYA,EAASgK,WAElEnH,EAAIF,KAAM,EACN3C,IAAU6C,EAAIT,GAAKpC,EAASwD,KAChC9P,EAAY,IAAMkP,EAASC,IAE7B,MAAMxP,EAAS,IAAI,KAAekL,EAAQ,KAAM7K,GAC1CJ,GAAQ,UACR6zB,EAAU,KACd9zB,EAAOR,OACHS,IACF,QAAOA,EAAMrB,QAASoB,EACxB,EAqBF,OAfIgQ,EACEwjB,EACFhkB,IAEA3L,EAAW7D,EAAOb,MAED,SAAVs0B,EACT/L,GACE1nB,EAAOb,IAAI0P,KAAK7O,GAChB2M,GAAYA,EAASgK,UAGvB3W,EAAOb,MAELm1B,GAAYA,EAAWr1B,KAAK60B,GACzBA,CACT,CACA,SAASrY,GAAc/B,EAAQjY,EAAOkR,GACpC,MAAMgK,EAAaje,KAAKiM,MAClBO,GAAS,QAASwO,GAAUA,EAAOjK,SAAS,KAAOkQ,GAAiBhD,EAAYjD,GAAU,IAAMiD,EAAWjD,GAAUA,EAAO7K,KAAK8N,EAAYA,GACnJ,IAAI3M,GACA,QAAWvO,GACbuO,EAAKvO,GAELuO,EAAKvO,EAAMgQ,QACXkB,EAAUlR,GAEZ,MAAMiW,EAAQC,GAAmBjZ,MAC3BuG,EAAMsuB,GAAQroB,EAAQ8E,EAAGnB,KAAK8N,GAAahK,GAEjD,OADA+E,IACOzS,CACT,CACA,SAAS0a,GAAiBvM,EAAKqhB,GAC7B,MAAMC,EAAWD,EAAKE,MAAM,KAC5B,MAAO,KACL,IAAIxnB,EAAMiG,EACV,IAAK,IAAI1T,EAAI,EAAGA,EAAIg1B,EAAS90B,QAAUuN,EAAKzN,IAC1CyN,EAAMA,EAAIunB,EAASh1B,IAErB,OAAOyN,CAAG,CAEd,CACA,SAASiM,GAAS3X,EAAOmzB,EAAQnkB,IAAUP,GACzC,GAAI0kB,GAAS,KAAM,QAASnzB,IAAUA,EAAM,YAC1C,OAAOA,EAGT,GADAyO,EAAOA,GAAwB,IAAI5L,IAC/B4L,EAAK/J,IAAI1E,GACX,OAAOA,EAIT,GAFAyO,EAAKrI,IAAIpG,GACTmzB,KACI,QAAMnzB,GACR2X,GAAS3X,EAAMA,MAAOmzB,EAAO1kB,QACxB,IAAI,QAAQzO,GACjB,IAAK,IAAI/B,EAAI,EAAGA,EAAI+B,EAAM7B,OAAQF,IAChC0Z,GAAS3X,EAAM/B,GAAIk1B,EAAO1kB,QAEvB,IAAI,QAAMzO,KAAU,QAAMA,GAC/BA,EAAMyC,SAAShD,IACbkY,GAASlY,EAAG0zB,EAAO1kB,EAAK,SAErB,IAAI,QAAczO,GAAQ,CAC/B,IAAK,MAAMiC,KAAOjC,EAChB2X,GAAS3X,EAAMiC,GAAMkxB,EAAO1kB,GAE9B,IAAK,MAAMxM,KAAOa,OAAOswB,sBAAsBpzB,GACzC8C,OAAOuwB,UAAUC,qBAAqBntB,KAAKnG,EAAOiC,IACpD0V,GAAS3X,EAAMiC,GAAMkxB,EAAO1kB,EAGlC,CACA,OAAOzO,CACT,CAEA,MAAMisB,GAAexgB,GAAUA,EAAMzJ,KAAKuxB,cAQpBC,OACAA,OA+LtB,SAASC,GAAQC,EAAS7b,GACxB,OAAI,QAAQ6b,GACHA,EAAQjgB,MAAMvG,GAAMumB,GAAQvmB,EAAG2K,MAC7B,QAAS6b,GACXA,EAAQR,MAAM,KAAKllB,SAAS6J,MAC1B,QAAS6b,IACXA,EAAQC,KAAK9b,EAGxB,CACA,SAAS6F,GAAY/H,EAAM5T,GACzB6xB,GAAsBje,EAAM,IAAK5T,EACnC,CACA,SAAS4b,GAAchI,EAAM5T,GAC3B6xB,GAAsBje,EAAM,KAAM5T,EACpC,CACA,SAAS6xB,GAAsBje,EAAM3T,EAAMD,EAAS6T,IAClD,MAAMG,EAAcJ,EAAKke,QAAUle,EAAKke,MAAQ,KAC9C,IAAIC,EAAU/xB,EACd,MAAO+xB,EAAS,CACd,GAAIA,EAAQC,cACV,OAEFD,EAAUA,EAAQz2B,MACpB,CACA,OAAOsY,GAAM,GAGf,GADAD,EAAW1T,EAAM+T,EAAahU,GAC1BA,EAAQ,CACV,IAAI+xB,EAAU/xB,EAAO1E,OACrB,MAAOy2B,GAAWA,EAAQz2B,OACpB4uB,GAAY6H,EAAQz2B,OAAOoO,QAC7BuoB,GAAsBje,EAAa/T,EAAMD,EAAQ+xB,GAEnDA,EAAUA,EAAQz2B,MAEtB,CACF,CACA,SAAS22B,GAAsBre,EAAM3T,EAAMD,EAAQkyB,GACjD,MAAMlW,EAAWrI,EACf1T,EACA2T,EACAse,GACA,GAGFrd,GAAY,MACV,QAAOqd,EAAcjyB,GAAO+b,EAAS,GACpChc,EACL,CACA,SAASmyB,GAAezoB,GACtBA,EAAMsH,YAAa,IACnBtH,EAAMsH,YAAa,GACrB,CACA,SAASohB,GAAc1oB,GACrB,OAAyB,IAAlBA,EAAMsH,UAAkBtH,EAAM2oB,UAAY3oB,CACnD,CAEA,MAAM4oB,GAAazyB,OAAO,YACpB0yB,GAAa1yB,OAAO,YAC1B,SAAS2yB,KACP,MAAMra,EAAQ,CACZoG,WAAW,EACXkU,WAAW,EACXC,cAAc,EACdC,cAA+B,IAAIlzB,KAQrC,OANAgV,GAAU,KACR0D,EAAMoG,WAAY,CAAI,IAExB3J,GAAgB,KACduD,EAAMua,cAAe,CAAI,IAEpBva,CACT,CACA,MAAMya,GAA0B,CAACrR,SAAUlL,OACrCwc,GAAgC,CACpCC,KAAMlxB,OACNmxB,OAAQ/Q,QACRuM,UAAWvM,QAEXgR,cAAeJ,GACfK,QAASL,GACTM,aAAcN,GACdO,iBAAkBP,GAElBQ,cAAeR,GACfS,QAAST,GACTU,aAAcV,GACdW,iBAAkBX,GAElBY,eAAgBZ,GAChBa,SAAUb,GACVc,cAAed,GACfe,kBAAmBf,IAEfgB,GAAuBzqB,IAC3B,MAAM+J,EAAU/J,EAAS+J,QACzB,OAAOA,EAAQX,UAAYqhB,GAAoB1gB,EAAQX,WAAaW,CAAO,EAEvE2gB,GAAqB,CACzB/d,KAAM,iBACNtI,MAAOqlB,GACP,KAAAiB,CAAMtmB,GAAO,MAAEgD,IACb,MAAMrH,EAAW4qB,KACX5b,EAAQqa,KACd,MAAO,KACL,MAAMngB,EAAW7B,EAAMyL,SAAW+X,GAAyBxjB,EAAMyL,WAAW,GAC5E,IAAK5J,IAAaA,EAASjW,OACzB,OAEF,IAAIosB,EAAQnW,EAAS,GACrB,GAAIA,EAASjW,OAAS,EAAG,CACvB,IAAI63B,GAAW,EACf,IAAK,MAAM9Y,KAAK9I,EACd,GAAI8I,EAAElb,OAASuR,GAAS,CAClB,EAMJgX,EAAQrN,EACR8Y,GAAW,EACqC,KAClD,CAEJ,CACA,MAAM5T,GAAW,QAAM7S,IACjB,KAAEslB,GAASzS,EAIjB,GAAIlI,EAAMsa,UACR,OAAOyB,GAAiB1L,GAE1B,MAAM2L,EAAaC,GAAkB5L,GACrC,IAAK2L,EACH,OAAOD,GAAiB1L,GAE1B,IAAI6L,EAAaC,GACfH,EACA9T,EACAlI,EACAhP,GAEC4K,GAAUsgB,EAAatgB,IAE1BwgB,GAAmBJ,EAAYE,GAC/B,MAAMG,EAAWrrB,EAAS+J,QACpBuhB,EAAgBD,GAAYJ,GAAkBI,GACpD,GAAIC,GAAiBA,EAAcx0B,OAASuR,KAAYiV,GAAgB0N,EAAYM,IAAkBb,GAAoBzqB,GAAUlJ,OAASuR,GAAS,CACpJ,MAAMkjB,EAAeJ,GACnBG,EACApU,EACAlI,EACAhP,GAGF,GADAorB,GAAmBE,EAAeC,GACrB,WAAT5B,GAAqBqB,EAAWl0B,OAASuR,GAS3C,OARA2G,EAAMsa,WAAY,EAClBiC,EAAahH,WAAa,KACxBvV,EAAMsa,WAAY,GACa,IAA3BtpB,EAAS0O,OAAOnc,SAClByN,EAAS3M,OAAOY,OAAQ,EACxB+L,EAAS0O,SACX,EAEKqc,GAAiB1L,GACN,WAATsK,GAAqBqB,EAAWl0B,OAASuR,KAClDkjB,EAAajH,WAAa,CAACxa,EAAI0hB,EAAaC,KAC1C,MAAMC,EAAqBC,GACzB3c,EACAsc,GAEFI,EAAmBjzB,OAAO6yB,EAAcv0B,MAAQu0B,EAChDxhB,EAAGqf,IAAc,KACfqC,IACA1hB,EAAGqf,SAAc,SACV+B,EAAWO,YAAY,EAEhCP,EAAWO,aAAeA,CAAY,EAG5C,CACA,OAAOpM,CAAK,CAEhB,GAEIuM,GAAiBlB,GACvB,SAASiB,GAAuB3c,EAAOzO,GACrC,MAAM,cAAEipB,GAAkBxa,EAC1B,IAAI0c,EAAqBlC,EAAct0B,IAAIqL,EAAMzJ,MAKjD,OAJK40B,IACHA,EAAqC9zB,OAAO8V,OAAO,MACnD8b,EAAc1zB,IAAIyK,EAAMzJ,KAAM40B,IAEzBA,CACT,CACA,SAASP,GAAuB5qB,EAAO8D,EAAO2K,EAAOhP,EAAU6rB,GAC7D,MAAM,OACJjC,EAAM,KACND,EAAI,UACJvE,GAAY,EAAK,cACjByE,EAAa,QACbC,EAAO,aACPC,EAAY,iBACZC,EAAgB,cAChBC,EAAa,QACbC,EAAO,aACPC,EAAY,iBACZC,EAAgB,eAChBC,EAAc,SACdC,EAAQ,cACRC,EAAa,kBACbC,GACEnmB,EACEtN,EAAM0B,OAAO8H,EAAMxJ,KACnB20B,EAAqBC,GAAuB3c,EAAOzO,GACnD2P,EAAW,CAACzF,EAAMtS,KACtBsS,GAAQtK,EACNsK,EACAzK,EACA,EACA7H,EACD,EAEG2zB,EAAgB,CAACrhB,EAAMtS,KAC3B,MAAMiE,EAAOjE,EAAK,GAClB+X,EAASzF,EAAMtS,IACX,QAAQsS,GACNA,EAAKshB,OAAOC,GAAUA,EAAM/4B,QAAU,KAAImJ,IACrCqO,EAAKxX,QAAU,GACxBmJ,GACF,EAEIwO,EAAQ,CACZ+e,OACAvE,YACA,WAAAnG,CAAYnV,GACV,IAAIW,EAAOof,EACX,IAAK7a,EAAMoG,UAAW,CACpB,IAAIwU,EAGF,OAFAnf,EAAO4f,GAAkBR,CAI7B,CACI/f,EAAGqf,KACLrf,EAAGqf,KACD,GAIJ,MAAM8C,EAAeP,EAAmB30B,GACpCk1B,GAAgB3O,GAAgB/c,EAAO0rB,IAAiBA,EAAaniB,GAAGqf,KAC1E8C,EAAaniB,GAAGqf,MAElBjZ,EAASzF,EAAM,CAACX,GAClB,EACA,KAAAqV,CAAMrV,GACJ,IAAIW,EAAOqf,EACPoC,EAAYnC,EACZoC,EAAanC,EACjB,IAAKhb,EAAMoG,UAAW,CACpB,IAAIwU,EAKF,OAJAnf,EAAO6f,GAAYR,EACnBoC,EAAY3B,GAAiBR,EAC7BoC,EAAa3B,GAAqBR,CAItC,CACA,IAAIoC,GAAS,EACb,MAAMhwB,EAAO0N,EAAGsf,IAAeiD,IACzBD,IACJA,GAAS,EAEPlc,EADEmc,EACOF,EAEAD,EAFY,CAACpiB,IAIpBc,EAAM6gB,cACR7gB,EAAM6gB,eAER3hB,EAAGsf,SAAc,EAAM,EAErB3e,EACFqhB,EAAcrhB,EAAM,CAACX,EAAI1N,IAEzBA,GAEJ,EACA,KAAAioB,CAAMva,EAAI0R,GACR,MAAMhkB,EAAOiB,OAAO8H,EAAMxJ,KAO1B,GANI+S,EAAGsf,KACLtf,EAAGsf,KACD,GAIApa,EAAMua,aACR,OAAO/N,IAETtL,EAAS+Z,EAAe,CAACngB,IACzB,IAAIsiB,GAAS,EACb,MAAMhwB,EAAO0N,EAAGqf,IAAekD,IACzBD,IACJA,GAAS,EACT5Q,IAEEtL,EADEmc,EACOjC,EAEAD,EAFkB,CAACrgB,IAI9BA,EAAGqf,SAAc,EACbuC,EAAmBl0B,KAAU+I,UACxBmrB,EAAmBl0B,GAC5B,EAEFk0B,EAAmBl0B,GAAQ+I,EACvB2pB,EACF4B,EAAc5B,EAAS,CAACpgB,EAAI1N,IAE5BA,GAEJ,EACA,KAAAkwB,CAAMC,GACJ,MAAMC,EAASrB,GACboB,EACAloB,EACA2K,EACAhP,EACA6rB,GAGF,OADIA,GAAWA,EAAUW,GAClBA,CACT,GAEF,OAAO5hB,CACT,CACA,SAASmgB,GAAiBxqB,GACxB,GAAIwgB,GAAYxgB,GAGd,OAFAA,EAAQkI,GAAWlI,GACnBA,EAAM2I,SAAW,KACV3I,CAEX,CACA,SAAS0qB,GAAkB1qB,GACzB,IAAKwgB,GAAYxgB,GACf,OAAOA,EAKT,MAAM,UAAEsH,EAAS,SAAEqB,GAAa3I,EAChC,GAAI2I,EAAU,CACZ,GAAgB,GAAZrB,EACF,OAAOqB,EAAS,GAElB,GAAgB,GAAZrB,IAAkB,QAAWqB,EAAS4J,SACxC,OAAO5J,EAAS4J,SAEpB,CACF,CACA,SAASsY,GAAmB7qB,EAAOqK,GACX,EAAlBrK,EAAMsH,WAAiBtH,EAAM6I,UAC/BgiB,GAAmB7qB,EAAM6I,UAAUW,QAASa,GACjB,IAAlBrK,EAAMsH,WACftH,EAAM2oB,UAAUtgB,WAAagC,EAAM0hB,MAAM/rB,EAAM2oB,WAC/C3oB,EAAMksB,WAAW7jB,WAAagC,EAAM0hB,MAAM/rB,EAAMksB,aAEhDlsB,EAAMqI,WAAagC,CAEvB,CACA,SAASigB,GAAyB3hB,EAAUwjB,GAAc,EAAOC,GAC/D,IAAI1f,EAAM,GACN2f,EAAqB,EACzB,IAAK,IAAI75B,EAAI,EAAGA,EAAImW,EAASjW,OAAQF,IAAK,CACxC,IAAIssB,EAAQnW,EAASnW,GACrB,MAAMgE,EAAmB,MAAb41B,EAAoBtN,EAAMtoB,IAAM0B,OAAOk0B,GAAal0B,OAAoB,MAAb4mB,EAAMtoB,IAAcsoB,EAAMtoB,IAAMhE,GACnGssB,EAAMvoB,OAAS+mB,IACK,IAAlBwB,EAAM9V,WAAiBqjB,IAC3B3f,EAAMA,EAAItE,OACRkiB,GAAyBxL,EAAMnW,SAAUwjB,EAAa31B,MAE/C21B,GAAerN,EAAMvoB,OAASuR,KACvC4E,EAAI3a,KAAY,MAAPyE,EAAc0R,GAAW4W,EAAO,CAAEtoB,QAASsoB,EAExD,CACA,GAAIuN,EAAqB,EACvB,IAAK,IAAI75B,EAAI,EAAGA,EAAIka,EAAIha,OAAQF,IAC9Bka,EAAIla,GAAGwW,WAAa,EAGxB,OAAO0D,CACT,CAEA,MAAM4f,GAAc/1B,GAASA,EAAKg2B,aAiRlC,MAAMjP,GAAWnnB,OAAOyT,IAAI,SACtBqT,GAAO9mB,OAAOyT,IAAI,SAClB9B,GAAU3R,OAAOyT,IAAI,SACrBwT,GAASjnB,OAAOyT,IAAI,SACpBhC,GAAa,GACnB,IAAI4kB,GAAe,KACnB,SAASC,GAAUC,GAAkB,GACnC9kB,GAAW7V,KAAKy6B,GAAeE,EAAkB,KAAO,GAC1D,CACA,SAASC,KACP/kB,GAAWhV,MACX45B,GAAe5kB,GAAWA,GAAWlV,OAAS,IAAM,IACtD,CACA,IAAIk6B,GAAqB,EACzB,SAASrmB,GAAiBhS,GACxBq4B,IAAsBr4B,CACxB,CACA,SAASs4B,GAAW7sB,GAMlB,OALAA,EAAM8c,gBAAkB8P,GAAqB,EAAIJ,IAAgB,KAAY,KAC7EG,KACIC,GAAqB,GAAKJ,IAC5BA,GAAaz6B,KAAKiO,GAEbA,CACT,CACA,SAAS8sB,GAAmBv2B,EAAMuN,EAAO6E,EAAUK,EAAWI,EAAc9B,GAC1E,OAAOulB,GACLE,GACEx2B,EACAuN,EACA6E,EACAK,EACAI,EACA9B,GACA,GAGN,CAaA,SAAS0lB,GAAQz4B,GACf,QAAOA,IAA8B,IAAtBA,EAAM04B,WACvB,CACA,SAASlQ,GAAgBP,EAAIC,GAM3B,OAAOD,EAAGjmB,OAASkmB,EAAGlmB,MAAQimB,EAAGhmB,MAAQimB,EAAGjmB,GAC9C,CAKA,MAKM02B,GAAe,EAAG12B,SAAiB,MAAPA,EAAcA,EAAM,KAChD22B,GAAe,EACnBlT,MACAmT,UACAC,cAEmB,kBAARpT,IACTA,EAAM,GAAKA,GAEC,MAAPA,GAAc,QAASA,KAAQ,QAAMA,KAAQ,QAAWA,GAAO,CAAEznB,EAAGoT,EAA0BzG,EAAG8a,EAAKM,EAAG6S,EAASlf,IAAKmf,GAAYpT,EAAM,MAElJ,SAAS8S,GAAgBx2B,EAAMuN,EAAQ,KAAM6E,EAAW,KAAMK,EAAY,EAAGI,EAAe,KAAM9B,GAAY/Q,IAAS+mB,GAAW,EAAI,GAAGgQ,GAAc,EAAOC,GAAgC,GAC5L,MAAMvtB,EAAQ,CACZitB,aAAa,EACbO,UAAU,EACVj3B,OACAuN,QACAtN,IAAKsN,GAASopB,GAAappB,GAC3BmW,IAAKnW,GAASqpB,GAAarpB,GAC3Bsa,QAASvY,EACTgX,aAAc,KACdlU,WACAE,UAAW,KACXY,SAAU,KACVkf,UAAW,KACXuD,WAAY,KACZ/jB,KAAM,KACNE,WAAY,KACZkB,GAAI,KACJoT,OAAQ,KACRrmB,OAAQ,KACRm3B,aAAc,KACdC,YAAa,EACbpmB,YACA0B,YACAI,eACA0T,gBAAiB,KACjBvc,WAAY,KACZ2F,IAAKN,GAwBP,OAtBI2nB,GACFI,GAAkB3tB,EAAO2I,GACT,IAAZrB,GACF/Q,EAAKq3B,UAAU5tB,IAER2I,IACT3I,EAAMsH,YAAa,QAASqB,GAAY,EAAI,IAK1CikB,GAAqB,IACxBU,GACDd,KAICxsB,EAAMgJ,UAAY,GAAiB,EAAZ1B,IAEJ,KAApBtH,EAAMgJ,WACJwjB,GAAaz6B,KAAKiO,GAEbA,CACT,CACA,MAAM6H,GAAyFgmB,GAC/F,SAASA,GAAat3B,EAAMuN,EAAQ,KAAM6E,EAAW,KAAMK,EAAY,EAAGI,EAAe,KAAMkkB,GAAc,GAO3G,GANK/2B,GAAQA,IAASoT,IAIpBpT,EAAOuR,IAELklB,GAAQz2B,GAAO,CACjB,MAAMu3B,EAAS5lB,GACb3R,EACAuN,GACA,GAcF,OAXI6E,GACFglB,GAAkBG,EAAQnlB,GAExBikB,GAAqB,IAAMU,GAAed,KACrB,EAAnBsB,EAAOxmB,UACTklB,GAAaA,GAAa5pB,QAAQrM,IAASu3B,EAE3CtB,GAAaz6B,KAAK+7B,IAGtBA,EAAO9kB,WAAa,EACb8kB,CACT,CAIA,GAHIC,GAAiBx3B,KACnBA,EAAOA,EAAKy3B,WAEVlqB,EAAO,CACTA,EAAQmqB,GAAmBnqB,GAC3B,IAAMyb,MAAO2O,EAAK,MAAE1O,GAAU1b,EAC1BoqB,KAAU,QAASA,KACrBpqB,EAAMyb,OAAQ,QAAe2O,KAE3B,QAAS1O,MACP,QAAQA,MAAW,QAAQA,KAC7BA,GAAQ,QAAO,CAAC,EAAGA,IAErB1b,EAAM0b,OAAQ,QAAeA,GAEjC,CACA,MAAMlY,GAAY,QAAS/Q,GAAQ,EAAIsT,EAAWtT,GAAQ,IAAM+1B,GAAW/1B,GAAQ,IAAK,QAASA,GAAQ,GAAI,QAAWA,GAAQ,EAAI,EAUpI,OAAOw2B,GACLx2B,EACAuN,EACA6E,EACAK,EACAI,EACA9B,EACAgmB,GACA,EAEJ,CACA,SAASW,GAAmBnqB,GAC1B,OAAKA,GACE,QAAQA,IAAU2S,GAAiB3S,IAAS,QAAO,CAAC,EAAGA,GAASA,EADpD,IAErB,CACA,SAASoE,GAAWlI,EAAOmuB,EAAYC,GAAW,EAAOC,GAAkB,GACzE,MAAM,MAAEvqB,EAAK,IAAEmW,EAAG,UAAEjR,EAAS,SAAEL,EAAQ,WAAEN,GAAerI,EAClDsuB,EAAcH,EAAaI,GAAWzqB,GAAS,CAAC,EAAGqqB,GAAcrqB,EACjEgqB,EAAS,CACbb,aAAa,EACbO,UAAU,EACVj3B,KAAMyJ,EAAMzJ,KACZuN,MAAOwqB,EACP93B,IAAK83B,GAAepB,GAAaoB,GACjCrU,IAAKkU,GAAcA,EAAWlU,IAI5BmU,GAAYnU,GAAM,QAAQA,GAAOA,EAAI7R,OAAO+kB,GAAagB,IAAe,CAAClU,EAAKkT,GAAagB,IAAehB,GAAagB,GACrHlU,EACJmE,QAASpe,EAAMoe,QACfvB,aAAc7c,EAAM6c,aACpBlU,SAA8HA,EAC9HrS,OAAQ0J,EAAM1J,OACdm3B,aAAcztB,EAAMytB,aACpBC,YAAa1tB,EAAM0tB,YACnBpmB,UAAWtH,EAAMsH,UAKjB0B,UAAWmlB,GAAcnuB,EAAMzJ,OAAS+mB,IAA0B,IAAftU,EAAmB,GAAiB,GAAZA,EAAiBA,EAC5FI,aAAcpJ,EAAMoJ,aACpB0T,gBAAiB9c,EAAM8c,gBACvBvc,WAAYP,EAAMO,WAClB4H,KAAMnI,EAAMmI,KACZE,aAKAQ,UAAW7I,EAAM6I,UACjBY,SAAUzJ,EAAMyJ,SAChBkf,UAAW3oB,EAAM2oB,WAAazgB,GAAWlI,EAAM2oB,WAC/CuD,WAAYlsB,EAAMksB,YAAchkB,GAAWlI,EAAMksB,YACjD3iB,GAAIvJ,EAAMuJ,GACVoT,OAAQ3c,EAAM2c,OACdzW,IAAKlG,EAAMkG,IACXsoB,GAAIxuB,EAAMwuB,IAQZ,OANInmB,GAAcgmB,GAChBxD,GACEiD,EACAzlB,EAAW0jB,MAAM+B,IAGdA,CACT,CAQA,SAASW,GAAgBC,EAAO,IAAKC,EAAO,GAC1C,OAAO9mB,GAAYoV,GAAM,KAAMyR,EAAMC,EACvC,CASA,SAASlnB,GAAeqX,GACtB,OAAa,MAATA,GAAkC,mBAAVA,EACnBjX,GAAYC,KACV,QAAQgX,GACVjX,GACLyV,GACA,KAEAwB,EAAM5a,SAEkB,kBAAV4a,EACTC,GAAeD,GAEfjX,GAAYoV,GAAM,KAAM/kB,OAAO4mB,GAE1C,CACA,SAASC,GAAeD,GACtB,OAAoB,OAAbA,EAAMvV,KAAoC,IAArBuV,EAAM9V,WAAoB8V,EAAM8P,KAAO9P,EAAQ5W,GAAW4W,EACxF,CACA,SAAS6O,GAAkB3tB,EAAO2I,GAChC,IAAIpS,EAAO,EACX,MAAM,UAAE+Q,GAActH,EACtB,GAAgB,MAAZ2I,EACFA,EAAW,UACN,IAAI,QAAQA,GACjBpS,EAAO,QACF,GAAwB,kBAAboS,EAAuB,CACvC,GAAgB,GAAZrB,EAAsB,CACxB,MAAMunB,EAAOlmB,EAAS4J,QAMtB,YALIsc,IACFA,EAAKpoB,KAAOooB,EAAKvoB,IAAK,GACtBqnB,GAAkB3tB,EAAO6uB,KACzBA,EAAKpoB,KAAOooB,EAAKvoB,IAAK,IAG1B,CAAO,CACL/P,EAAO,GACP,MAAMu4B,EAAWnmB,EAASiG,EACrBkgB,GAAarY,GAAiB9N,GAEX,IAAbmmB,GAAkBlpB,IACc,IAArCA,EAAyBkB,MAAM8H,EACjCjG,EAASiG,EAAI,GAEbjG,EAASiG,EAAI,EACb5O,EAAMgJ,WAAa,OANrBL,EAASyQ,KAAOxT,CASpB,CACF,MAAW,QAAW+C,IACpBA,EAAW,CAAE4J,QAAS5J,EAAUyQ,KAAMxT,GACtCrP,EAAO,KAEPoS,EAAWzQ,OAAOyQ,GACF,GAAZrB,GACF/Q,EAAO,GACPoS,EAAW,CAAC8lB,GAAgB9lB,KAE5BpS,EAAO,GAGXyJ,EAAM2I,SAAWA,EACjB3I,EAAMsH,WAAa/Q,CACrB,CACA,SAASg4B,MAAc32B,GACrB,MAAM8U,EAAM,CAAC,EACb,IAAK,IAAIla,EAAI,EAAGA,EAAIoF,EAAKlF,OAAQF,IAAK,CACpC,MAAMu8B,EAAUn3B,EAAKpF,GACrB,IAAK,MAAMgE,KAAOu4B,EAChB,GAAY,UAARv4B,EACEkW,EAAI6S,QAAUwP,EAAQxP,QACxB7S,EAAI6S,OAAQ,QAAe,CAAC7S,EAAI6S,MAAOwP,EAAQxP,cAE5C,GAAY,UAAR/oB,EACTkW,EAAI8S,OAAQ,QAAe,CAAC9S,EAAI8S,MAAOuP,EAAQvP,aAC1C,IAAI,QAAKhpB,GAAM,CACpB,MAAM8jB,EAAW5N,EAAIlW,GACfw4B,EAAWD,EAAQv4B,IACrBw4B,GAAY1U,IAAa0U,IAAc,QAAQ1U,IAAaA,EAAS/X,SAASysB,KAChFtiB,EAAIlW,GAAO8jB,EAAW,GAAGlS,OAAOkS,EAAU0U,GAAYA,EAE1D,KAAmB,KAARx4B,IACTkW,EAAIlW,GAAOu4B,EAAQv4B,GAGzB,CACA,OAAOkW,CACT,CACA,SAAS6R,GAAgBrU,EAAMzK,EAAUO,EAAOuI,EAAY,MAC1D3I,EAA2BsK,EAAMzK,EAAU,EAAG,CAC5CO,EACAuI,GAEJ,CAEA,MAAM0mB,GAAkBpb,KACxB,IAAI5Q,GAAM,EACV,SAASsd,GAAwBvgB,EAAOpO,EAAQ6X,GAC9C,MAAMlT,EAAOyJ,EAAMzJ,KACbgK,GAAc3O,EAASA,EAAO2O,WAAaP,EAAMO,aAAe0uB,GAChExvB,EAAW,CACfwD,IAAKA,KACLjD,QACAzJ,OACA3E,SACA2O,aACAwH,KAAM,KAENnM,KAAM,KACN4N,QAAS,KAET1W,OAAQ,KACRqb,OAAQ,KAERpb,MAAO,IAAI,MACT,GAGFiU,OAAQ,KACRvJ,MAAO,KACP0U,QAAS,KACT+c,YAAa,KACbtoB,UAAW,KACXiL,SAAUjgB,EAASA,EAAOigB,SAAWxa,OAAO8V,OAAO5M,EAAWsR,UAC9DhD,YAAa,KACb5H,YAAa,GAEbkK,WAAY,KACZ1F,WAAY,KAEZ5E,aAAckR,GAAsBxhB,EAAMgK,GAC1C0I,aAAcvE,EAAsBnO,EAAMgK,GAE1CmD,KAAM,KAENe,QAAS,KAEToS,cAAe,KAEfzP,aAAc7Q,EAAK6Q,aAEnBlB,IAAK,KACLgB,KAAM,KACNpD,MAAO,KACPiD,MAAO,KACPD,MAAO,KACP6G,KAAM,KACNxG,WAAY,KACZgoB,aAAc,KACdC,WAAY,KACZC,WAAY,KAEZ5lB,WACAwb,WAAYxb,EAAWA,EAASyb,UAAY,EAC5CvE,SAAU,KACVI,eAAe,EAGflM,WAAW,EACXhR,aAAa,EACbykB,eAAe,EACfgH,GAAI,KACJ7d,EAAG,KACHgQ,GAAI,KACJzO,EAAG,KACHkO,GAAI,KACJC,EAAG,KACH4D,GAAI,KACJD,IAAK,KACLyK,GAAI,KACJlsB,EAAG,KACHmsB,IAAK,KACLC,IAAK,KACLpvB,GAAI,KACJqvB,GAAI,MAYN,OAPEjwB,EAASyG,IAAM,CAAE0I,EAAGnP,GAEtBA,EAASsI,KAAOnW,EAASA,EAAOmW,KAAOtI,EACvCA,EAASiE,KAAOA,EAAK/B,KAAK,KAAMlC,GAC5BO,EAAMwuB,IACRxuB,EAAMwuB,GAAG/uB,GAEJA,CACT,CACA,IAAI0K,GAAkB,KACtB,MAAMkgB,GAAqB,IAAMlgB,IAAmBvE,EACpD,IAAI+pB,GACAC,GACJ,CACE,MAAMC,GAAI,UACJC,EAAuB,CAACt5B,EAAKoI,KACjC,IAAImxB,EAGJ,OAFMA,EAAUF,EAAEr5B,MAAOu5B,EAAUF,EAAEr5B,GAAO,IAC5Cu5B,EAAQh+B,KAAK6M,GACL5K,IACF+7B,EAAQr9B,OAAS,EAAGq9B,EAAQ/4B,SAASzB,GAAQA,EAAIvB,KAChD+7B,EAAQ,GAAG/7B,EAAE,CACnB,EAEH27B,GAA6BG,EAC3B,4BACC97B,GAAMmW,GAAkBnW,IAE3B47B,GAAqBE,EACnB,uBACC97B,GAAM6W,GAAwB7W,GAEnC,CACA,MAAMyW,GAAsBhL,IAC1B,MAAMsG,EAAOoE,GAGb,OAFAwlB,GAA2BlwB,GAC3BA,EAAS1M,MAAMX,KACR,KACLqN,EAAS1M,MAAMV,MACfs9B,GAA2B5pB,EAAK,CACjC,EAEGiqB,GAAuB,KAC3B7lB,IAAmBA,GAAgBpX,MAAMV,MACzCs9B,GAA2B,KAAK,EAUlC,SAAS1iB,GAAoBxN,GAC3B,OAAkC,EAA3BA,EAASO,MAAMsH,SACxB,CACA,IA4GI2oB,GACAC,GA7GArlB,IAAwB,EAC5B,SAAS6V,GAAejhB,EAAUvB,GAAQ,GACxCA,GAAS0xB,GAAmB1xB,GAC5B,MAAM,MAAE4F,EAAK,SAAE6E,GAAalJ,EAASO,MAC/B4W,EAAa3J,GAAoBxN,GACvCiX,GAAUjX,EAAUqE,EAAO8S,EAAY1Y,GACvCob,GAAU7Z,EAAUkJ,GACpB,MAAMwnB,EAAcvZ,EAAawZ,GAAuB3wB,EAAUvB,QAAS,EAE3E,OADAA,GAAS0xB,IAAmB,GACrBO,CACT,CACA,SAASC,GAAuB3wB,EAAUvB,GAExC,MAAMyI,EAAYlH,EAASlJ,KAuB3BkJ,EAASoP,YAA8BxX,OAAO8V,OAAO,MACrD1N,EAAShC,MAAQ,IAAIC,MAAM+B,EAASyG,IAAKyI,IAIzC,MAAM,MAAEyb,GAAUzjB,EAClB,GAAIyjB,EAAO,CACT,MAAM+E,EAAe1vB,EAAS0vB,aAAe/E,EAAM13B,OAAS,EAAI29B,GAAmB5wB,GAAY,KACzF+K,EAAQC,GAAmBhL,IACjC,UACA,MAAM0wB,EAAc3wB,EAClB4qB,EACA3qB,EACA,EACA,CACgFA,EAASqE,MACvFqrB,IAKJ,IAFA,UACA3kB,KACI,QAAU2lB,GAAc,CAE1B,GADAA,EAAYzuB,KAAKsuB,GAAsBA,IACnC9xB,EACF,OAAOiyB,EAAYzuB,MAAM4uB,IACvBC,GAAkB9wB,EAAU6wB,EAAgBpyB,EAAM,IACjD2B,OAAO2wB,IACR7wB,EAAY6wB,EAAG/wB,EAAU,EAAE,IAG7BA,EAASkhB,SAAWwP,CAQxB,MACEI,GAAkB9wB,EAAU0wB,EAAajyB,EAE7C,MACEuyB,GAAqBhxB,EAAUvB,EAEnC,CACA,SAASqyB,GAAkB9wB,EAAU0wB,EAAajyB,IAC5C,QAAWiyB,GACT1wB,EAASlJ,KAAKm6B,kBAChBjxB,EAASkxB,UAAYR,EAErB1wB,EAASuH,OAASmpB,GAEX,QAASA,KASlB1wB,EAAS0H,YAAa,QAAUgpB,IASlCM,GAAqBhxB,EAAUvB,EACjC,CAYA,SAASuyB,GAAqBhxB,EAAUvB,EAAO0yB,GAC7C,MAAMjqB,EAAYlH,EAASlJ,KAC3B,IAAKkJ,EAASuH,OAAQ,CACpB,IAAK9I,GAAS+xB,KAAYtpB,EAAUK,OAAQ,CAC1C,MAAM6pB,EAAWlqB,EAAUkqB,UAAY7iB,GAAqBvO,GAAUoxB,SACtE,GAAIA,EAAU,CACR,EAGJ,MAAM,gBAAEC,EAAe,gBAAE3c,GAAoB1U,EAASc,WAAWC,QAC3D,WAAEuwB,EAAY5c,gBAAiB6c,GAA6BrqB,EAC5DsqB,GAAuB,SAC3B,QACE,CACEH,kBACAC,cAEF5c,GAEF6c,GAEFrqB,EAAUK,OAASipB,GAAQY,EAAUI,EAIvC,CACF,CACAxxB,EAASuH,OAASL,EAAUK,QAAU,KAClCkpB,IACFA,GAAiBzwB,EAErB,CACiC,CAC/B,MAAM+K,EAAQC,GAAmBhL,IACjC,UACA,IACE+P,GAAa/P,EACf,CAAE,SACA,UACA+K,GACF,CACF,CAUF,CACA,MAAM0mB,GAcF,CACF,GAAAv8B,CAAI2B,EAAQE,GAEV,OADA,QAAMF,EAAQ,MAAO,IACdA,EAAOE,EAChB,GAUF,SAAS65B,GAAmB5wB,GAC1B,MAAMyR,EAAUiB,IAqBd1S,EAAS0S,QAAUA,GAAW,CAAC,CAAC,EAiBhC,MAAO,CACLpL,MAAO,IAAIrJ,MAAM+B,EAASsH,MAAOmqB,IACjCpqB,MAAOrH,EAASqH,MAChBpD,KAAMjE,EAASiE,KACfwN,SAGN,CACA,SAASxF,GAA2BjM,GAClC,OAAIA,EAAS0S,QACJ1S,EAASyvB,cAAgBzvB,EAASyvB,YAAc,IAAIxxB,OAAM,SAAU,QAAQ+B,EAAS0S,UAAW,CACrG,GAAAxd,CAAI2B,EAAQE,GACV,OAAIA,KAAOF,EACFA,EAAOE,GACLA,KAAO0W,GACTA,GAAoB1W,GAAKiJ,QAD3B,CAGT,EACA,GAAAxG,CAAI3C,EAAQE,GACV,OAAOA,KAAOF,GAAUE,KAAO0W,EACjC,KAGKzN,EAAShC,KAEpB,CAGA,SAAS0zB,GAAiBxqB,EAAWyqB,GAAkB,GACrD,OAAO,QAAWzqB,GAAaA,EAAU0qB,aAAe1qB,EAAUyF,KAAOzF,EAAUyF,MAAQglB,GAAmBzqB,EAAU2qB,MAC1H,CAuBA,SAASvD,GAAiBx5B,GACxB,OAAO,QAAWA,IAAU,cAAeA,CAC7C,CAEA,MAAMV,GAAW,CAAC6K,EAAiBC,KACjC,MAAM8S,GAAI,QAAW/S,EAAiBC,EAAckM,IAOpD,OAAO4G,CAAC,EAwDV,SAASe,GAAEjc,EAAMg7B,EAAiB5oB,GAChC,MAAMlW,EAAI6jB,UAAU5jB,OACpB,OAAU,IAAND,GACE,QAAS8+B,MAAqB,QAAQA,GACpCvE,GAAQuE,GACH1pB,GAAYtR,EAAM,KAAM,CAACg7B,IAE3B1pB,GAAYtR,EAAMg7B,GAElB1pB,GAAYtR,EAAM,KAAMg7B,IAG7B9+B,EAAI,EACNkW,EAAWgE,MAAMib,UAAU1jB,MAAMxJ,KAAK4b,UAAW,GAClC,IAAN7jB,GAAWu6B,GAAQrkB,KAC5BA,EAAW,CAACA,IAEPd,GAAYtR,EAAMg7B,EAAiB5oB,GAE9C,CA4MA,MAAMyM,GAAU,Q;;;;;;AC79PgB,qBAAboc,UAA2BA,SAF9C,MAmEMC,EAAa,aACbC,EAAY,YACZC,EAASx7B,OAAO,QAChBy7B,EAAa,CAAC9tB,GAASgD,YAAY,IAAA0L,GAAE,KAAgBqf,EAAuB/tB,GAAQgD,GAC1F8qB,EAAWP,YAAc,aACzB,MAAMS,EAA+B,CACnC1lB,KAAMlU,OACN3B,KAAM2B,OACN65B,IAAK,CACHx7B,KAAM+hB,QACN/F,SAAS,GAEXyf,SAAU,CAAC95B,OAAQnB,OAAQM,QAC3B46B,eAAgB/5B,OAChBg6B,iBAAkBh6B,OAClBi6B,aAAcj6B,OACdk6B,gBAAiBl6B,OACjBm6B,kBAAmBn6B,OACnBo6B,cAAep6B,OACfq6B,eAAgBr6B,OAChBs6B,iBAAkBt6B,OAClBu6B,aAAcv6B,QAEVw6B,EAA4Bd,EAAW9tB,OAAwB,QACnE,CAAC,EACD,KACAguB,GAEIniB,EAAW,CAACzF,EAAMtS,EAAO,OACzB,QAAQsS,GACVA,EAAKlT,SAAS27B,GAAOA,KAAM/6B,KAClBsS,GACTA,KAAQtS,EACV,EAEIg7B,EAAuB1oB,KACpBA,KAAO,QAAQA,GAAQA,EAAKlC,MAAM2qB,GAAOA,EAAGjgC,OAAS,IAAKwX,EAAKxX,OAAS,GAEjF,SAASm/B,EAAuBlb,GAC9B,MAAMkc,EAAY,CAAC,EACnB,IAAK,MAAMr8B,KAAOmgB,EACVngB,KAAOs7B,IACXe,EAAUr8B,GAAOmgB,EAASngB,IAG9B,IAAqB,IAAjBmgB,EAASob,IACX,OAAOc,EAET,MAAM,KACJzmB,EAAO,IAAG,KACV7V,EAAI,SACJy7B,EAAQ,eACRC,EAAiB,GAAG7lB,eAAiB,iBACrC8lB,EAAmB,GAAG9lB,iBAAmB,aACzC+lB,EAAe,GAAG/lB,aAAe,gBACjCgmB,EAAkBH,EAAc,kBAChCI,EAAoBH,EAAgB,cACpCI,EAAgBH,EAAY,eAC5BI,EAAiB,GAAGnmB,eAAiB,iBACrComB,EAAmB,GAAGpmB,iBAAmB,aACzCqmB,EAAe,GAAGrmB,cAChBuK,EACEmc,EAAYC,EAAkBf,GAC9BgB,EAAgBF,GAAaA,EAAU,GACvCG,EAAgBH,GAAaA,EAAU,IACvC,cACJxJ,EAAa,QACbC,EAAO,iBACPE,EAAgB,QAChBE,EAAO,iBACPE,EAAgB,eAChBC,EAAiBR,EAAa,SAC9BS,EAAWR,EAAO,kBAClBU,EAAoBR,GAClBoJ,EACEK,EAAc,CAAC3pB,EAAI4pB,EAAUt3B,KACjCu3B,EAAsB7pB,EAAI4pB,EAAWb,EAAgBH,GACrDiB,EAAsB7pB,EAAI4pB,EAAWd,EAAoBH,GACzDr2B,GAAQA,GAAM,EAEVw3B,EAAc,CAAC9pB,EAAI1N,KACvB0N,EAAG+pB,YAAa,EAChBF,EAAsB7pB,EAAIgpB,GAC1Ba,EAAsB7pB,EAAIkpB,GAC1BW,EAAsB7pB,EAAIipB,GAC1B32B,GAAQA,GAAM,EAEV03B,EAAiBJ,GACd,CAAC5pB,EAAI1N,KACV,MAAMqO,EAAOipB,EAAWpJ,EAAWR,EAC7BjoB,EAAU,IAAM4xB,EAAY3pB,EAAI4pB,EAAUt3B,GAChD8T,EAASzF,EAAM,CAACX,EAAIjI,IACpBkyB,GAAU,KACRJ,EAAsB7pB,EAAI4pB,EAAWf,EAAkBH,GACvDwB,EAAmBlqB,EAAI4pB,EAAWb,EAAgBH,GAC7CS,EAAoB1oB,IACvBwpB,EAAmBnqB,EAAIhT,EAAMy8B,EAAe1xB,EAC9C,GACA,EAGN,OAAO,QAAOuxB,EAAW,CACvB,aAAAvJ,CAAc/f,GACZoG,EAAS2Z,EAAe,CAAC/f,IACzBkqB,EAAmBlqB,EAAI0oB,GACvBwB,EAAmBlqB,EAAI2oB,EACzB,EACA,cAAApI,CAAevgB,GACboG,EAASma,EAAgB,CAACvgB,IAC1BkqB,EAAmBlqB,EAAI6oB,GACvBqB,EAAmBlqB,EAAI8oB,EACzB,EACA9I,QAASgK,GAAc,GACvBxJ,SAAUwJ,GAAc,GACxB,OAAA5J,CAAQpgB,EAAI1N,GACV0N,EAAG+pB,YAAa,EAChB,MAAMhyB,EAAU,IAAM+xB,EAAY9pB,EAAI1N,GACtC43B,EAAmBlqB,EAAIgpB,GACvBkB,EAAmBlqB,EAAIipB,GACvBmB,IACAH,GAAU,KACHjqB,EAAG+pB,aAGRF,EAAsB7pB,EAAIgpB,GAC1BkB,EAAmBlqB,EAAIkpB,GAClBG,EAAoBjJ,IACvB+J,EAAmBnqB,EAAIhT,EAAM08B,EAAe3xB,GAC9C,IAEFqO,EAASga,EAAS,CAACpgB,EAAIjI,GACzB,EACA,gBAAAmoB,CAAiBlgB,GACf2pB,EAAY3pB,GAAI,GAChBoG,EAAS8Z,EAAkB,CAAClgB,GAC9B,EACA,iBAAA0gB,CAAkB1gB,GAChB2pB,EAAY3pB,GAAI,GAChBoG,EAASsa,EAAmB,CAAC1gB,GAC/B,EACA,gBAAAsgB,CAAiBtgB,GACf8pB,EAAY9pB,GACZoG,EAASka,EAAkB,CAACtgB,GAC9B,GAEJ,CACA,SAASwpB,EAAkBf,GACzB,GAAgB,MAAZA,EACF,OAAO,KACF,IAAI,QAASA,GAClB,MAAO,CAAC4B,EAAS5B,EAASpT,OAAQgV,EAAS5B,EAASlO,QAC/C,CACL,MAAMzV,EAAIulB,EAAS5B,GACnB,MAAO,CAAC3jB,EAAGA,EACb,CACF,CACA,SAASulB,EAASxhB,GAChB,MAAMra,GAAM,QAASqa,GAIrB,OAAOra,CACT,CACA,SAAS07B,EAAmBlqB,EAAIsqB,GAC9BA,EAAIpM,MAAM,OAAOzwB,SAASya,GAAMA,GAAKlI,EAAGuqB,UAAUn5B,IAAI8W,MACrDlI,EAAGooB,KAAYpoB,EAAGooB,GAA0B,IAAIv6B,MAAQuD,IAAIk5B,EAC/D,CACA,SAAST,EAAsB7pB,EAAIsqB,GACjCA,EAAIpM,MAAM,OAAOzwB,SAASya,GAAMA,GAAKlI,EAAGuqB,UAAU7Y,OAAOxJ,KACzD,MAAMsiB,EAAOxqB,EAAGooB,GACZoC,IACFA,EAAKn/B,OAAOi/B,GACPE,EAAKl/B,OACR0U,EAAGooB,QAAU,GAGnB,CACA,SAAS6B,EAAU1wB,GACjBkxB,uBAAsB,KACpBA,sBAAsBlxB,EAAG,GAE7B,CACA,IAAImxB,EAAQ,EACZ,SAASP,EAAmBnqB,EAAI2qB,EAAcC,EAAiB7yB,GAC7D,MAAMO,EAAK0H,EAAG6qB,SAAWH,EACnBI,EAAoB,KACpBxyB,IAAO0H,EAAG6qB,QACZ9yB,GACF,EAEF,GAAI6yB,EACF,OAAOG,WAAWD,EAAmBF,GAEvC,MAAM,KAAE59B,EAAI,QAAEg+B,EAAO,UAAEC,GAAcC,EAAkBlrB,EAAI2qB,GAC3D,IAAK39B,EACH,OAAO+K,IAET,MAAMozB,EAAWn+B,EAAO,MACxB,IAAIo+B,EAAQ,EACZ,MAAM5yB,EAAM,KACVwH,EAAGqrB,oBAAoBF,EAAUG,GACjCR,GAAmB,EAEfQ,EAASrE,IACTA,EAAEl6B,SAAWiT,KAAQorB,GAASH,GAChCzyB,GACF,EAEFuyB,YAAW,KACLK,EAAQH,GACVzyB,GACF,GACCwyB,EAAU,GACbhrB,EAAGurB,iBAAiBJ,EAAUG,EAChC,CACA,SAASJ,EAAkBlrB,EAAI2qB,GAC7B,MAAMa,EAASC,OAAOC,iBAAiB1rB,GACjC2rB,EAAsB1+B,IAASu+B,EAAOv+B,IAAQ,IAAIixB,MAAM,MACxD0N,EAAmBD,EAAmB,GAAGzD,UACzC2D,EAAsBF,EAAmB,GAAGzD,aAC5C4D,EAAoBC,EAAWH,EAAkBC,GACjDG,EAAkBL,EAAmB,GAAGxD,UACxC8D,EAAqBN,EAAmB,GAAGxD,aAC3C+D,EAAmBH,EAAWC,EAAiBC,GACrD,IAAIj/B,EAAO,KACPg+B,EAAU,EACVC,EAAY,EACZN,IAAiBzC,EACf4D,EAAoB,IACtB9+B,EAAOk7B,EACP8C,EAAUc,EACVb,EAAYY,EAAoB1iC,QAEzBwhC,IAAiBxC,EACtB+D,EAAmB,IACrBl/B,EAAOm7B,EACP6C,EAAUkB,EACVjB,EAAYgB,EAAmB9iC,SAGjC6hC,EAAUlS,KAAKqT,IAAIL,EAAmBI,GACtCl/B,EAAOg+B,EAAU,EAAIc,EAAoBI,EAAmBhE,EAAaC,EAAY,KACrF8C,EAAYj+B,EAAOA,IAASk7B,EAAa2D,EAAoB1iC,OAAS8iC,EAAmB9iC,OAAS,GAEpG,MAAMijC,EAAep/B,IAASk7B,GAAc,yBAAyBvJ,KACnEgN,EAAmB,GAAGzD,aAAsBmE,YAE9C,MAAO,CACLr/B,OACAg+B,UACAC,YACAmB,eAEJ,CACA,SAASL,EAAWO,EAAQ/C,GAC1B,MAAO+C,EAAOnjC,OAASogC,EAAUpgC,OAC/BmjC,EAASA,EAAOztB,OAAOytB,GAEzB,OAAOxT,KAAKqT,OAAO5C,EAAUt7B,KAAI,CAACs+B,EAAGtjC,IAAMujC,EAAKD,GAAKC,EAAKF,EAAOrjC,MACnE,CACA,SAASujC,EAAK9O,GACZ,MAAU,SAANA,EAAqB,EACyB,IAA3ClwB,OAAOkwB,EAAE/iB,MAAM,GAAI,GAAGwB,QAAQ,IAAK,KAC5C,CACA,SAASiuB,IACP,OAAOnC,SAASwE,KAAKC,YACvB,CAgB6B9/B,OAAO,QAChBA,OAAO,QAkDNA,OAAoE,IAyOzF,SAAS2+B,EAAiBvrB,EAAI5F,EAAOY,EAASkB,GAC5C8D,EAAGurB,iBAAiBnxB,EAAOY,EAASkB,EACtC,CAIetP,OAAO;;AAoKmB,qBAAhB+/B,aAA8BA,YAmOvD,MAAMC,EAA8B,IAAIlgC,QAClCmgC,EAAiC,IAAIngC,QACrCogC,EAAYlgC,OAAO,WACnB0yB,EAAa1yB,OAAO,YACpBmgC,EAAsB,CAC1BlqB,KAAM,kBACNtI,OAAuB,QAAO,CAAC,EAAG4uB,EAA2B,CAC3D6D,IAAKr+B,OACLs+B,UAAWt+B,SAEb,KAAAkyB,CAAMtmB,GAAO,MAAEgD,IACb,MAAMrH,GAAW,UACXgP,GAAQ,UACd,IAAI7F,EACAD,EAmCJ,OAlCA,SAAU,KACR,IAAKC,EAAalW,OAChB,OAEF,MAAM8jC,EAAY1yB,EAAM0yB,WAAa,GAAG1yB,EAAMsI,MAAQ,WACtD,IAAKqqB,EACH7tB,EAAa,GAAGW,GAChB9J,EAASO,MAAMuJ,GACfitB,GAEA,OAEF5tB,EAAa5R,QAAQ0/B,GACrB9tB,EAAa5R,QAAQ2/B,GACrB,MAAMC,EAAgBhuB,EAAarR,OAAOs/B,GAC1ClD,IACAiD,EAAc5/B,SAASya,IACrB,MAAMlI,EAAKkI,EAAElI,GACPiW,EAAQjW,EAAGiW,MACjBiU,EAAmBlqB,EAAIitB,GACvBhX,EAAMsX,UAAYtX,EAAMuX,gBAAkBvX,EAAMwX,mBAAqB,GACrE,MAAMl0B,EAAKyG,EAAG8sB,GAAc7F,IACtBA,GAAKA,EAAEl6B,SAAWiT,GAGjBinB,IAAK,aAAatI,KAAKsI,EAAEyG,gBAC5B1tB,EAAGqrB,oBAAoB,gBAAiB9xB,GACxCyG,EAAG8sB,GAAa,KAChBjD,EAAsB7pB,EAAIitB,GAC5B,EAEFjtB,EAAGurB,iBAAiB,gBAAiBhyB,EAAG,GACxC,IAEG,KACL,MAAM6T,GAAW,QAAM7S,GACjBozB,EAAqBrF,EAAuBlb,GAClD,IAAI4f,EAAM5f,EAAS4f,KAAO,KAE1B,GADA3tB,EAAe,GACXD,EACF,IAAK,IAAInW,EAAI,EAAGA,EAAImW,EAASjW,OAAQF,IAAK,CACxC,MAAMssB,EAAQnW,EAASnW,GACnBssB,EAAMvV,IAAMuV,EAAMvV,cAAc4tB,UAClCvuB,EAAa7W,KAAK+sB,IAClB,QACEA,GACA,QACEA,EACAoY,EACAzoB,EACAhP,IAGJ02B,EAAY5gC,IACVupB,EACAA,EAAMvV,GAAG6tB,yBAGf,CAEFzuB,EAAW7B,EAAMyL,SAAU,QAAyBzL,EAAMyL,WAAa,GACvE,IAAK,IAAI/f,EAAI,EAAGA,EAAImW,EAASjW,OAAQF,IAAK,CACxC,MAAMssB,EAAQnW,EAASnW,GACN,MAAbssB,EAAMtoB,MACR,QACEsoB,GACA,QAAuBA,EAAOoY,EAAoBzoB,EAAOhP,GAK/D,CACA,OAAO,QAAY82B,EAAK,KAAM5tB,EAAS,CAE3C,GAGyB2tB,EAAoBxyB,MAE/C,SAAS4yB,EAAejlB,GACtB,MAAMlI,EAAKkI,EAAElI,GACTA,EAAG8sB,IACL9sB,EAAG8sB,KAED9sB,EAAGsf,IACLtf,EAAGsf,IAEP,CACA,SAAS8N,EAAellB,GACtB2kB,EAAe7gC,IAAIkc,EAAGA,EAAElI,GAAG6tB,wBAC7B,CACA,SAASP,EAAiBplB,GACxB,MAAM4lB,EAASlB,EAAYxhC,IAAI8c,GACzB6lB,EAASlB,EAAezhC,IAAI8c,GAC5B8lB,EAAKF,EAAOG,KAAOF,EAAOE,KAC1BC,EAAKJ,EAAOK,IAAMJ,EAAOI,IAC/B,GAAIH,GAAME,EAAI,CACZ,MAAMxQ,EAAIxV,EAAElI,GAAGiW,MAGf,OAFAyH,EAAE6P,UAAY7P,EAAE8P,gBAAkB,aAAaQ,OAAQE,OACvDxQ,EAAE+P,mBAAqB,KAChBvlB,CACT,CACF,CACA,SAASglB,EAAgBltB,EAAIxB,EAAMyuB,GACjC,MAAMzK,EAAQxiB,EAAGouB,YACX5D,EAAOxqB,EAAGooB,GACZoC,GACFA,EAAK/8B,SAAS68B,IACZA,EAAIpM,MAAM,OAAOzwB,SAASya,GAAMA,GAAKsa,EAAM+H,UAAU7Y,OAAOxJ,IAAG,IAGnE+kB,EAAU/O,MAAM,OAAOzwB,SAASya,GAAMA,GAAKsa,EAAM+H,UAAUn5B,IAAI8W,KAC/Dsa,EAAMvM,MAAMoY,QAAU,OACtB,MAAMlb,EAA8B,IAAlB3U,EAAK8vB,SAAiB9vB,EAAOA,EAAKgU,WACpDW,EAAUob,YAAY/L,GACtB,MAAM,aAAE4J,GAAiBlB,EAAkB1I,GAE3C,OADArP,EAAUqb,YAAYhM,GACf4J,CACT,CAEA,MAAMqC,EAAoBh4B,IACxB,MAAM9N,EAAK8N,EAAM8D,MAAM,yBAA0B,EACjD,OAAO,QAAQ5R,GAAOqC,IAAU,QAAerC,EAAIqC,GAASrC,CAAE,EAEhE,SAAS+lC,EAAmBzH,GAC1BA,EAAEl6B,OAAO4hC,WAAY,CACvB,CACA,SAASC,EAAiB3H,GACxB,MAAMl6B,EAASk6B,EAAEl6B,OACbA,EAAO4hC,YACT5hC,EAAO4hC,WAAY,EACnB5hC,EAAO8hC,cAAc,IAAIC,MAAM,UAEnC,CACA,MAAMC,EAAYniC,OAAO,WACnBoiC,EAAa,CACjB,OAAAloB,CAAQ9G,GAAMuC,WAAW,KAAE0sB,EAAI,KAAEn0B,EAAI,OAAED,IAAYpE,GACjDuJ,EAAG+uB,GAAaN,EAAiBh4B,GACjC,MAAMy4B,EAAer0B,GAAUpE,EAAM8D,OAA8B,WAArB9D,EAAM8D,MAAMvN,KAC1Du+B,EAAiBvrB,EAAIivB,EAAO,SAAW,SAAUhI,IAC/C,GAAIA,EAAEl6B,OAAO4hC,UAAW,OACxB,IAAIQ,EAAWnvB,EAAGhV,MACd8P,IACFq0B,EAAWA,EAASr0B,QAElBo0B,IACFC,GAAW,QAAcA,IAE3BnvB,EAAG+uB,GAAWI,EAAS,IAErBr0B,GACFywB,EAAiBvrB,EAAI,UAAU,KAC7BA,EAAGhV,MAAQgV,EAAGhV,MAAM8P,MAAM,IAGzBm0B,IACH1D,EAAiBvrB,EAAI,mBAAoB0uB,GACzCnD,EAAiBvrB,EAAI,iBAAkB4uB,GACvCrD,EAAiBvrB,EAAI,SAAU4uB,GAEnC,EAEA,OAAApsB,CAAQxC,GAAI,MAAEhV,IACZgV,EAAGhV,MAAiB,MAATA,EAAgB,GAAKA,CAClC,EACA,YAAAgc,CAAahH,GAAI,MAAEhV,EAAK,SAAEoC,EAAUmV,WAAW,KAAE0sB,EAAI,KAAEn0B,EAAI,OAAED,IAAYpE,GAEvE,GADAuJ,EAAG+uB,GAAaN,EAAiBh4B,GAC7BuJ,EAAG2uB,UAAW,OAClB,MAAMS,GAAWv0B,GAAsB,WAAZmF,EAAGhT,MAAuB,OAAO2xB,KAAK3e,EAAGhV,OAAmCgV,EAAGhV,OAA7B,QAAcgV,EAAGhV,OACxFmC,EAAoB,MAATnC,EAAgB,GAAKA,EACtC,GAAIokC,IAAYjiC,EAAhB,CAGA,GAAI86B,SAASoH,gBAAkBrvB,GAAkB,UAAZA,EAAGhT,KAAkB,CACxD,GAAIiiC,GAAQjkC,IAAUoC,EACpB,OAEF,GAAI0N,GAAQkF,EAAGhV,MAAM8P,SAAW3N,EAC9B,MAEJ,CACA6S,EAAGhV,MAAQmC,CATX,CAUF,GAqNF,MAyBMmiC,EAAW,CACfC,IAAK,SACLC,MAAO,IACPC,GAAI,WACJxB,KAAM,aACNyB,MAAO,cACPC,KAAM,aACNtkC,OAAQ,aAEJukC,EAAW,CAACjnC,EAAI4Z,KACpB,MAAMjH,EAAQ3S,EAAGknC,YAAclnC,EAAGknC,UAAY,CAAC,GACzCC,EAAWvtB,EAAUwtB,KAAK,KAChC,OAAOz0B,EAAMw0B,KAAcx0B,EAAMw0B,GAAa11B,IAC5C,KAAM,QAASA,GACb,OAEF,MAAM41B,GAAW,QAAU51B,EAAMnN,KACjC,OAAIsV,EAAU9D,MAAMuS,GAAMA,IAAMgf,GAAYV,EAASte,KAAOgf,IACnDrnC,EAAGyR,QADZ,CAEA,EACA,C;;;;;;;AC/8CJ,SAAS61B,EAAQC,EAAKC,GACpB,MAAMnkC,EAAM,IAAI6B,IAAIqiC,EAAIhS,MAAM,MAC9B,OAAOiS,EAAoBtnB,GAAQ7c,EAAI0D,IAAImZ,EAAIzM,eAAkByM,GAAQ7c,EAAI0D,IAAImZ,EACnF,C,8XAEA,MAAMunB,EAA4E,CAAC,EAC7EC,EAA4E,GAC5EC,EAAO,OAEP7lB,EAAK,KAAM,EACX8lB,EAAQtjC,GAA8B,MAAtBA,EAAIujC,WAAW,IAAoC,MAAtBvjC,EAAIujC,WAAW,KACjEvjC,EAAIujC,WAAW,GAAK,KAAOvjC,EAAIujC,WAAW,GAAK,IAC1Ch2B,EAAmBvN,GAAQA,EAAIwN,WAAW,aAC1Cg2B,EAAS3iC,OAAO4iC,OAChBhf,EAAS,CAACpjB,EAAK0R,KACnB,MAAM/W,EAAIqF,EAAI+K,QAAQ2G,GAClB/W,GAAK,GACPqF,EAAI2K,OAAOhQ,EAAG,EAChB,EAEIyF,EAAiBZ,OAAOuwB,UAAU3vB,eAClCiiC,EAAS,CAAC9nB,EAAK5b,IAAQyB,EAAeyC,KAAK0X,EAAK5b,GAChD2jC,EAAUxtB,MAAMwtB,QAChBC,EAAShoB,GAA8B,iBAAtBioB,EAAajoB,GAC9BkoB,EAASloB,GAA8B,iBAAtBioB,EAAajoB,GAC9BmoB,EAAUnoB,GAA8B,kBAAtBioB,EAAajoB,GAC/BooB,EAAYpoB,GAA8B,oBAAtBioB,EAAajoB,GACjCqoB,EAAcroB,GAAuB,oBAARA,EAC7BsoB,EAAYtoB,GAAuB,kBAARA,EAC3BuoB,EAAYvoB,GAAuB,kBAARA,EAC3BwoB,EAAYxoB,GAAgB,OAARA,GAA+B,kBAARA,EAC3CyoB,EAAazoB,IACTwoB,EAASxoB,IAAQqoB,EAAWroB,KAASqoB,EAAWroB,EAAI1Q,OAAS+4B,EAAWroB,EAAIvS,OAEhFi7B,EAAiBzjC,OAAOuwB,UAAUgO,SAClCyE,EAAgB9lC,GAAUumC,EAAepgC,KAAKnG,GAC9CwmC,EAAaxmC,GACV8lC,EAAa9lC,GAAO2P,MAAM,GAAI,GAEjC82B,EAAiB5oB,GAA8B,oBAAtBioB,EAAajoB,GACtC6oB,EAAgBzkC,GAAQkkC,EAASlkC,IAAgB,QAARA,GAA4B,MAAXA,EAAI,IAAc,GAAK0kC,SAAS1kC,EAAK,MAAQA,EACvG2kC,EAAiC3B,EAErC,uIAKI4B,EAAuBlpC,IAC3B,MAAM2S,EAAwBxN,OAAO8V,OAAO,MAC5C,OAAQssB,IACN,MAAM4B,EAAMx2B,EAAM40B,GAClB,OAAO4B,IAAQx2B,EAAM40B,GAAOvnC,EAAGunC,GAAK,CACrC,EAEG6B,EAAa,SACbC,EAAWH,GAAqB3B,GAC7BA,EAAI/zB,QAAQ41B,GAAY,CAAC1sB,EAAG6C,IAAMA,EAAIA,EAAE+pB,cAAgB,OAE3DC,EAAc,aACdC,EAAYN,GACf3B,GAAQA,EAAI/zB,QAAQ+1B,EAAa,OAAO91B,gBAErCg2B,EAAaP,GAAqB3B,GAC/BA,EAAImC,OAAO,GAAGJ,cAAgB/B,EAAIv1B,MAAM,KAE3C23B,EAAeT,GAAqB3B,IACxC,MAAMxS,EAAIwS,EAAM,KAAKkC,EAAWlC,KAAS,GACzC,OAAOxS,CAAC,IAEJ6U,EAAa,CAACvnC,EAAOoC,KAAcU,OAAO4mB,GAAG1pB,EAAOoC,GACpDolC,EAAiB,CAACC,KAAQnwB,KAC9B,IAAK,IAAIrZ,EAAI,EAAGA,EAAIwpC,EAAItpC,OAAQF,IAC9BwpC,EAAIxpC,MAAMqZ,EACZ,EAEIowB,EAAM,CAAC9jC,EAAK3B,EAAKjC,EAAO2nC,GAAW,KACvC7kC,OAAO+X,eAAejX,EAAK3B,EAAK,CAC9Bmb,cAAc,EACdD,YAAY,EACZwqB,WACA3nC,SACA,EAEE4nC,EAAiB/pB,IACrB,MAAM/D,EAAI+tB,WAAWhqB,GACrB,OAAOiqB,MAAMhuB,GAAK+D,EAAM/D,CAAC,EAErBiuB,EAAYlqB,IAChB,MAAM/D,EAAIqsB,EAAStoB,GAAOrb,OAAOqb,GAAOmqB,IACxC,OAAOF,MAAMhuB,GAAK+D,EAAM/D,CAAC,EAE3B,IAAImuB,EACJ,MAAMC,EAAgB,IACbD,IAAgBA,EAAoC,qBAAfE,WAA6BA,WAA6B,qBAATn+B,KAAuBA,KAAyB,qBAAXy2B,OAAyBA,OAA2B,qBAAX,EAAAnF,EAAyB,EAAAA,EAAS,CAAC,GAOhN,MAsFM8M,EAAkB,iNAClBC,EAAoCpD,EAAQmD,GA6ClD,SAASE,EAAetoC,GACtB,GAAI4lC,EAAQ5lC,GAAQ,CAClB,MAAMwD,EAAM,CAAC,EACb,IAAK,IAAIvF,EAAI,EAAGA,EAAI+B,EAAM7B,OAAQF,IAAK,CACrC,MAAMqa,EAAOtY,EAAM/B,GACbyS,EAAay1B,EAAS7tB,GAAQiwB,EAAiBjwB,GAAQgwB,EAAehwB,GAC5E,GAAI5H,EACF,IAAK,MAAMzO,KAAOyO,EAChBlN,EAAIvB,GAAOyO,EAAWzO,EAG5B,CACA,OAAOuB,CACT,CAAO,GAAI2iC,EAASnmC,IAAUqmC,EAASrmC,GACrC,OAAOA,CAEX,CACA,MAAMwoC,EAAkB,gBAClBC,EAAsB,UACtBC,EAAiB,iBACvB,SAASH,EAAiBI,GACxB,MAAMxwB,EAAM,CAAC,EAOb,OANAwwB,EAAQx3B,QAAQu3B,EAAgB,IAAIxV,MAAMsV,GAAiB/lC,SAAS6V,IAClE,GAAIA,EAAM,CACR,MAAMswB,EAAMtwB,EAAK4a,MAAMuV,GACvBG,EAAIzqC,OAAS,IAAMga,EAAIywB,EAAI,GAAG94B,QAAU84B,EAAI,GAAG94B,OACjD,KAEKqI,CACT,CAeA,SAAS0wB,EAAe7oC,GACtB,IAAIwD,EAAM,GACV,GAAI2iC,EAASnmC,GACXwD,EAAMxD,OACD,GAAI4lC,EAAQ5lC,GACjB,IAAK,IAAI/B,EAAI,EAAGA,EAAI+B,EAAM7B,OAAQF,IAAK,CACrC,MAAMyS,EAAam4B,EAAe7oC,EAAM/B,IACpCyS,IACFlN,GAAOkN,EAAa,IAExB,MACK,GAAI21B,EAASrmC,GAClB,IAAK,MAAM6X,KAAQ7X,EACbA,EAAM6X,KACRrU,GAAOqU,EAAO,KAIpB,OAAOrU,EAAIsM,MACb,CAaA,MASMg5B,EAAsB,8EACtBC,EAAuC9D,EAAQ6D,GAIrD,SAASE,GAAmBhpC,GAC1B,QAASA,GAAmB,KAAVA,CACpB,CA6EA,SAASipC,GAAmBn6B,EAAGC,GAC7B,GAAID,EAAE3Q,SAAW4Q,EAAE5Q,OAAQ,OAAO,EAClC,IAAI+qC,GAAQ,EACZ,IAAK,IAAIjrC,EAAI,EAAGirC,GAASjrC,EAAI6Q,EAAE3Q,OAAQF,IACrCirC,EAAQC,GAAWr6B,EAAE7Q,GAAI8Q,EAAE9Q,IAE7B,OAAOirC,CACT,CACA,SAASC,GAAWr6B,EAAGC,GACrB,GAAID,IAAMC,EAAG,OAAO,EACpB,IAAIq6B,EAAapD,EAAOl3B,GACpBu6B,EAAarD,EAAOj3B,GACxB,GAAIq6B,GAAcC,EAChB,SAAOD,IAAcC,IAAav6B,EAAEw6B,YAAcv6B,EAAEu6B,UAItD,GAFAF,EAAahD,EAASt3B,GACtBu6B,EAAajD,EAASr3B,GAClBq6B,GAAcC,EAChB,OAAOv6B,IAAMC,EAIf,GAFAq6B,EAAaxD,EAAQ92B,GACrBu6B,EAAazD,EAAQ72B,GACjBq6B,GAAcC,EAChB,SAAOD,IAAcC,IAAaJ,GAAmBn6B,EAAGC,GAI1D,GAFAq6B,EAAa/C,EAASv3B,GACtBu6B,EAAahD,EAASt3B,GAClBq6B,GAAcC,EAAY,CAC5B,IAAKD,IAAeC,EAClB,OAAO,EAET,MAAME,EAAazmC,OAAO1B,KAAK0N,GAAG3Q,OAC5BqrC,EAAa1mC,OAAO1B,KAAK2N,GAAG5Q,OAClC,GAAIorC,IAAeC,EACjB,OAAO,EAET,IAAK,MAAMvnC,KAAO6M,EAAG,CACnB,MAAM26B,EAAU36B,EAAEpL,eAAezB,GAC3BynC,EAAU36B,EAAErL,eAAezB,GACjC,GAAIwnC,IAAYC,IAAYD,GAAWC,IAAYP,GAAWr6B,EAAE7M,GAAM8M,EAAE9M,IACtE,OAAO,CAEX,CACF,CACA,OAAO0B,OAAOmL,KAAOnL,OAAOoL,EAC9B,CACA,SAAS46B,GAAarmC,EAAKua,GACzB,OAAOva,EAAI+gB,WAAW/L,GAAS6wB,GAAW7wB,EAAMuF,IAClD,CAEA,MAAMlZ,GAASkZ,MACHA,IAAyB,IAAlBA,EAAIjU,WAEjBggC,GAAmB/rB,GAChBsoB,EAAStoB,GAAOA,EAAa,MAAPA,EAAc,GAAK+nB,EAAQ/nB,IAAQwoB,EAASxoB,KAASA,EAAIwjB,WAAakF,IAAmBL,EAAWroB,EAAIwjB,WAAa18B,GAAMkZ,GAAO+rB,GAAgB/rB,EAAI7d,OAAS6pC,KAAKC,UAAUjsB,EAAKksB,GAAU,GAAKpmC,OAAOka,GAElOksB,GAAW,CAACC,EAAMnsB,IAClBlZ,GAAMkZ,GACDksB,GAASC,EAAMnsB,EAAI7d,OACjB6lC,EAAMhoB,GACR,CACL,CAAC,OAAOA,EAAIvd,SAAU,IAAIud,EAAIosB,WAAWjvB,QACvC,CAACivB,GAAUhoC,EAAKioC,GAAOjsC,KACrBgsC,EAAQE,GAAgBloC,EAAKhE,GAAK,OAASisC,EACpCD,IAET,CAAC,IAGIlE,EAAMloB,GACR,CACL,CAAC,OAAOA,EAAIvd,SAAU,IAAIud,EAAIvb,UAAUW,KAAKxD,GAAM0qC,GAAgB1qC,MAE5D2mC,EAASvoB,GACXssB,GAAgBtsB,IACdwoB,EAASxoB,IAAS+nB,EAAQ/nB,IAAS4oB,EAAc5oB,GAGrDA,EAFEla,OAAOka,GAIZssB,GAAkB,CAAC1qC,EAAGxB,EAAI,MAC9B,IAAIwM,EACJ,OAGE27B,EAAS3mC,GAAK,UAAkC,OAAvBgL,EAAKhL,EAAE2qC,aAAuB3/B,EAAKxM,KAAOwB,CACpE,C,cC3eH4qC,EAAQ,EAAU,CAACC,EAAK/6B,KACpB,MAAMxN,EAASuoC,EAAI7Q,WAAa6Q,EAChC,IAAK,MAAOroC,EAAK4b,KAAQtO,EACrBxN,EAAOE,GAAO4b,EAElB,OAAO9b,CAAM,C,4ICTjB,MAAMwoC,EAAeznC,OAAO8V,OAAO,MACnC2xB,EAAa,QAAU,IACvBA,EAAa,SAAW,IACxBA,EAAa,QAAU,IACvBA,EAAa,QAAU,IACvBA,EAAa,WAAa,IAC1BA,EAAa,WAAa,IAC1BA,EAAa,QAAU,IACvB,MAAMC,EAAuB1nC,OAAO8V,OAAO,MAC3C9V,OAAO1B,KAAKmpC,GAAc9nC,SAASR,IAC/BuoC,EAAqBD,EAAatoC,IAAQA,CAAG,IAEjD,MAAMwoC,EAAe,CAAEzoC,KAAM,QAAS2Q,KAAM,gBCXtC+3B,EAAiC,oBAATC,MACT,qBAATA,MACqC,6BAAzC7nC,OAAOuwB,UAAUgO,SAASl7B,KAAKwkC,MACjCC,EAA+C,oBAAhBC,YAE/BC,EAAUlnC,GACyB,oBAAvBinC,YAAYC,OACpBD,YAAYC,OAAOlnC,GACnBA,GAAOA,EAAImnC,kBAAkBF,YAEjCG,EAAe,EAAGhpC,OAAM2Q,QAAQs4B,EAAgBtkC,IAC9C+jC,GAAkB/3B,aAAgBg4B,KAC9BM,EACOtkC,EAASgM,GAGTu4B,EAAmBv4B,EAAMhM,GAG/BikC,IACJj4B,aAAgBk4B,aAAeC,EAAOn4B,IACnCs4B,EACOtkC,EAASgM,GAGTu4B,EAAmB,IAAIP,KAAK,CAACh4B,IAAQhM,GAI7CA,EAAS4jC,EAAavoC,IAAS2Q,GAAQ,KAE5Cu4B,EAAqB,CAACv4B,EAAMhM,KAC9B,MAAMwkC,EAAa,IAAIC,WAKvB,OAJAD,EAAWE,OAAS,WAChB,MAAMC,EAAUH,EAAW/lC,OAAO8tB,MAAM,KAAK,GAC7CvsB,EAAS,KAAO2kC,GAAW,IAC/B,EACOH,EAAWI,cAAc54B,EAAK,EAEzC,SAAS64B,EAAQ74B,GACb,OAAIA,aAAgB84B,WACT94B,EAEFA,aAAgBk4B,YACd,IAAIY,WAAW94B,GAGf,IAAI84B,WAAW94B,EAAKo4B,OAAQp4B,EAAK+4B,WAAY/4B,EAAKg5B,WAEjE,CACA,IAAIC,EACG,SAASC,EAAqBC,EAAQnlC,GACzC,OAAI+jC,GAAkBoB,EAAOn5B,gBAAgBg4B,KAClCmB,EAAOn5B,KAAKo5B,cAAc5+B,KAAKq+B,GAASr+B,KAAKxG,GAE/CikC,IACJkB,EAAOn5B,gBAAgBk4B,aAAeC,EAAOgB,EAAOn5B,OAC9ChM,EAAS6kC,EAAQM,EAAOn5B,YAEnCq4B,EAAac,GAAQ,GAAQE,IACpBJ,IACDA,EAAe,IAAIK,aAEvBtlC,EAASilC,EAAaM,OAAOF,GAAS,GAE9C,CCjEA,MAAMG,EAAQ,mEAERC,EAA+B,qBAAfX,WAA6B,GAAK,IAAIA,WAAW,KACvE,IAAK,IAAIxtC,GAAI,EAAGA,GAAIkuC,EAAMhuC,OAAQF,KAC9BmuC,EAAOD,EAAM3G,WAAWvnC,KAAMA,GAE3B,MAgBMouC,EAAUC,IACnB,IAA8DruC,EAAUsuC,EAAUC,EAAUC,EAAUC,EAAlGC,EAA+B,IAAhBL,EAAOnuC,OAAeqzB,EAAM8a,EAAOnuC,OAAW+O,EAAI,EACnC,MAA9Bo/B,EAAOA,EAAOnuC,OAAS,KACvBwuC,IACkC,MAA9BL,EAAOA,EAAOnuC,OAAS,IACvBwuC,KAGR,MAAMC,EAAc,IAAI/B,YAAY8B,GAAeE,EAAQ,IAAIpB,WAAWmB,GAC1E,IAAK3uC,EAAI,EAAGA,EAAIuzB,EAAKvzB,GAAK,EACtBsuC,EAAWH,EAAOE,EAAO9G,WAAWvnC,IACpCuuC,EAAWJ,EAAOE,EAAO9G,WAAWvnC,EAAI,IACxCwuC,EAAWL,EAAOE,EAAO9G,WAAWvnC,EAAI,IACxCyuC,EAAWN,EAAOE,EAAO9G,WAAWvnC,EAAI,IACxC4uC,EAAM3/B,KAAQq/B,GAAY,EAAMC,GAAY,EAC5CK,EAAM3/B,MAAoB,GAAXs/B,IAAkB,EAAMC,GAAY,EACnDI,EAAM3/B,MAAoB,EAAXu/B,IAAiB,EAAiB,GAAXC,EAE1C,OAAOE,CAAW,ECvChB,EAA+C,oBAAhB/B,YACxBiC,EAAe,CAACC,EAAeC,KACxC,GAA6B,kBAAlBD,EACP,MAAO,CACH/qC,KAAM,UACN2Q,KAAMs6B,EAAUF,EAAeC,IAGvC,MAAMhrC,EAAO+qC,EAAc1F,OAAO,GAClC,GAAa,MAATrlC,EACA,MAAO,CACHA,KAAM,UACN2Q,KAAMu6B,EAAmBH,EAAcI,UAAU,GAAIH,IAG7D,MAAMI,EAAa5C,EAAqBxoC,GACxC,OAAKorC,EAGEL,EAAc5uC,OAAS,EACxB,CACE6D,KAAMwoC,EAAqBxoC,GAC3B2Q,KAAMo6B,EAAcI,UAAU,IAEhC,CACEnrC,KAAMwoC,EAAqBxoC,IARxByoC,CASN,EAEHyC,EAAqB,CAACv6B,EAAMq6B,KAC9B,GAAI,EAAuB,CACvB,MAAMK,EAAUhB,EAAO15B,GACvB,OAAOs6B,EAAUI,EAASL,EAC9B,CAEI,MAAO,CAAEV,QAAQ,EAAM35B,OAC3B,EAEEs6B,EAAY,CAACt6B,EAAMq6B,KACrB,OAAQA,GACJ,IAAK,OACD,OAAIr6B,aAAgBg4B,KAETh4B,EAIA,IAAIg4B,KAAK,CAACh4B,IAEzB,IAAK,cACL,QACI,OAAIA,aAAgBk4B,YAETl4B,EAIAA,EAAKo4B,OAExB,ECzDEuC,EAAY3pC,OAAO4pC,aAAa,IAChCC,EAAgB,CAACC,EAAS9mC,KAE5B,MAAMxI,EAASsvC,EAAQtvC,OACjBuvC,EAAiB,IAAIt1B,MAAMja,GACjC,IAAIwvC,EAAQ,EACZF,EAAQhrC,SAAQ,CAACqpC,EAAQ7tC,KAErB+sC,EAAac,GAAQ,GAAQiB,IACzBW,EAAezvC,GAAK8uC,IACdY,IAAUxvC,GACZwI,EAAS+mC,EAAe3I,KAAKuI,GACjC,GACF,GACJ,EAEAM,EAAgB,CAACC,EAAgBb,KACnC,MAAMU,EAAiBG,EAAe3a,MAAMoa,GACtCG,EAAU,GAChB,IAAK,IAAIxvC,EAAI,EAAGA,EAAIyvC,EAAevvC,OAAQF,IAAK,CAC5C,MAAM6vC,EAAgBhB,EAAaY,EAAezvC,GAAI+uC,GAEtD,GADAS,EAAQjwC,KAAKswC,GACc,UAAvBA,EAAc9rC,KACd,KAER,CACA,OAAOyrC,CAAO,EAEX,SAASM,IACZ,OAAO,IAAIC,gBAAgB,CACvB,SAAAzL,CAAUuJ,EAAQmC,GACdpC,EAAqBC,GAASiB,IAC1B,MAAMmB,EAAgBnB,EAAc5uC,OACpC,IAAIgwC,EAEJ,GAAID,EAAgB,IAChBC,EAAS,IAAI1C,WAAW,GACxB,IAAI2C,SAASD,EAAOpD,QAAQsD,SAAS,EAAGH,QAEvC,GAAIA,EAAgB,MAAO,CAC5BC,EAAS,IAAI1C,WAAW,GACxB,MAAM6C,EAAO,IAAIF,SAASD,EAAOpD,QACjCuD,EAAKD,SAAS,EAAG,KACjBC,EAAKC,UAAU,EAAGL,EACtB,KACK,CACDC,EAAS,IAAI1C,WAAW,GACxB,MAAM6C,EAAO,IAAIF,SAASD,EAAOpD,QACjCuD,EAAKD,SAAS,EAAG,KACjBC,EAAKE,aAAa,EAAGC,OAAOP,GAChC,CAEIpC,EAAOn5B,MAA+B,kBAAhBm5B,EAAOn5B,OAC7Bw7B,EAAO,IAAM,KAEjBF,EAAWS,QAAQP,GACnBF,EAAWS,QAAQ3B,EAAc,GAEzC,GAER,CACA,IAAI4B,EACJ,SAASC,EAAYC,GACjB,OAAOA,EAAO7zB,QAAO,CAAC8zB,EAAKC,IAAUD,EAAMC,EAAM5wC,QAAQ,EAC7D,CACA,SAAS6wC,EAAaH,EAAQvuC,GAC1B,GAAIuuC,EAAO,GAAG1wC,SAAWmC,EACrB,OAAOuuC,EAAOhuC,QAElB,MAAMkqC,EAAS,IAAIU,WAAWnrC,GAC9B,IAAImuB,EAAI,EACR,IAAK,IAAIxwB,EAAI,EAAGA,EAAIqC,EAAMrC,IACtB8sC,EAAO9sC,GAAK4wC,EAAO,GAAGpgB,KAClBA,IAAMogB,EAAO,GAAG1wC,SAChB0wC,EAAOhuC,QACP4tB,EAAI,GAMZ,OAHIogB,EAAO1wC,QAAUswB,EAAIogB,EAAO,GAAG1wC,SAC/B0wC,EAAO,GAAKA,EAAO,GAAGl/B,MAAM8e,IAEzBsc,CACX,CACO,SAASkE,EAA0BC,EAAYlC,GAC7C2B,IACDA,EAAe,IAAIQ,aAEvB,MAAMN,EAAS,GACf,IAAI30B,EAAQ,EACRk1B,GAAkB,EAClBC,GAAW,EACf,OAAO,IAAIrB,gBAAgB,CACvB,SAAAzL,CAAUwM,EAAOd,GACbY,EAAOrxC,KAAKuxC,GACZ,MAAO,EAAM,CACT,GAAc,IAAV70B,EAAqC,CACrC,GAAI00B,EAAYC,GAAU,EACtB,MAEJ,MAAMV,EAASa,EAAaH,EAAQ,GACpCQ,EAAkC,OAAV,IAAZlB,EAAO,IACnBiB,EAA6B,IAAZjB,EAAO,GAEpBj0B,EADAk1B,EAAiB,IACT,EAEgB,MAAnBA,EACG,EAGA,CAEhB,MACK,GAAc,IAAVl1B,EAAiD,CACtD,GAAI00B,EAAYC,GAAU,EACtB,MAEJ,MAAMS,EAAcN,EAAaH,EAAQ,GACzCO,EAAiB,IAAIhB,SAASkB,EAAYvE,OAAQuE,EAAY5D,WAAY4D,EAAYnxC,QAAQoxC,UAAU,GACxGr1B,EAAQ,CACZ,MACK,GAAc,IAAVA,EAAiD,CACtD,GAAI00B,EAAYC,GAAU,EACtB,MAEJ,MAAMS,EAAcN,EAAaH,EAAQ,GACnCP,EAAO,IAAIF,SAASkB,EAAYvE,OAAQuE,EAAY5D,WAAY4D,EAAYnxC,QAC5E2b,EAAIw0B,EAAKkB,UAAU,GACzB,GAAI11B,EAAIgU,KAAK2hB,IAAI,EAAG,IAAW,EAAG,CAE9BxB,EAAWS,QAAQjE,GACnB,KACJ,CACA2E,EAAiBt1B,EAAIgU,KAAK2hB,IAAI,EAAG,IAAMnB,EAAKkB,UAAU,GACtDt1B,EAAQ,CACZ,KACK,CACD,GAAI00B,EAAYC,GAAUO,EACtB,MAEJ,MAAMz8B,EAAOq8B,EAAaH,EAAQO,GAClCnB,EAAWS,QAAQ5B,EAAauC,EAAW18B,EAAOg8B,EAAatC,OAAO15B,GAAOq6B,IAC7E9yB,EAAQ,CACZ,CACA,GAAuB,IAAnBk1B,GAAwBA,EAAiBF,EAAY,CACrDjB,EAAWS,QAAQjE,GACnB,KACJ,CACJ,CACJ,GAER,CACO,MAAMiF,EAAW,ECpJjB,SAASC,EAAQ/rC,GACtB,GAAIA,EAAK,OAAOqd,EAAMrd,EACxB,CAUA,SAASqd,EAAMrd,GACb,IAAK,IAAI3B,KAAO0tC,EAAQtc,UACtBzvB,EAAI3B,GAAO0tC,EAAQtc,UAAUpxB,GAE/B,OAAO2B,CACT,CAWA+rC,EAAQtc,UAAUx1B,GAClB8xC,EAAQtc,UAAUkN,iBAAmB,SAASnxB,EAAOzR,GAInD,OAHAV,KAAK2yC,WAAa3yC,KAAK2yC,YAAc,CAAC,GACrC3yC,KAAK2yC,WAAW,IAAMxgC,GAASnS,KAAK2yC,WAAW,IAAMxgC,IAAU,IAC7D5R,KAAKG,GACDV,IACT,EAYA0yC,EAAQtc,UAAUpB,KAAO,SAAS7iB,EAAOzR,GACvC,SAASE,IACPZ,KAAKa,IAAIsR,EAAOvR,GAChBF,EAAG8F,MAAMxG,KAAM8kB,UACjB,CAIA,OAFAlkB,EAAGF,GAAKA,EACRV,KAAKY,GAAGuR,EAAOvR,GACRZ,IACT,EAYA0yC,EAAQtc,UAAUv1B,IAClB6xC,EAAQtc,UAAUwc,eAClBF,EAAQtc,UAAUyc,mBAClBH,EAAQtc,UAAUgN,oBAAsB,SAASjxB,EAAOzR,GAItD,GAHAV,KAAK2yC,WAAa3yC,KAAK2yC,YAAc,CAAC,EAGlC,GAAK7tB,UAAU5jB,OAEjB,OADAlB,KAAK2yC,WAAa,CAAC,EACZ3yC,KAIT,IAUIsR,EAVAwhC,EAAY9yC,KAAK2yC,WAAW,IAAMxgC,GACtC,IAAK2gC,EAAW,OAAO9yC,KAGvB,GAAI,GAAK8kB,UAAU5jB,OAEjB,cADOlB,KAAK2yC,WAAW,IAAMxgC,GACtBnS,KAKT,IAAK,IAAIgB,EAAI,EAAGA,EAAI8xC,EAAU5xC,OAAQF,IAEpC,GADAsQ,EAAKwhC,EAAU9xC,GACXsQ,IAAO5Q,GAAM4Q,EAAG5Q,KAAOA,EAAI,CAC7BoyC,EAAU9hC,OAAOhQ,EAAG,GACpB,KACF,CASF,OAJyB,IAArB8xC,EAAU5xC,eACLlB,KAAK2yC,WAAW,IAAMxgC,GAGxBnS,IACT,EAUA0yC,EAAQtc,UAAUlkB,KAAO,SAASC,GAChCnS,KAAK2yC,WAAa3yC,KAAK2yC,YAAc,CAAC,EAKtC,IAHA,IAAIvsC,EAAO,IAAI+U,MAAM2J,UAAU5jB,OAAS,GACpC4xC,EAAY9yC,KAAK2yC,WAAW,IAAMxgC,GAE7BnR,EAAI,EAAGA,EAAI8jB,UAAU5jB,OAAQF,IACpCoF,EAAKpF,EAAI,GAAK8jB,UAAU9jB,GAG1B,GAAI8xC,EAAW,CACbA,EAAYA,EAAUpgC,MAAM,GACnB1R,EAAI,EAAb,IAAK,IAAWuzB,EAAMue,EAAU5xC,OAAQF,EAAIuzB,IAAOvzB,EACjD8xC,EAAU9xC,GAAGwF,MAAMxG,KAAMoG,EAE7B,CAEA,OAAOpG,IACT,EAGA0yC,EAAQtc,UAAU2c,aAAeL,EAAQtc,UAAUlkB,KAUnDwgC,EAAQtc,UAAU4c,UAAY,SAAS7gC,GAErC,OADAnS,KAAK2yC,WAAa3yC,KAAK2yC,YAAc,CAAC,EAC/B3yC,KAAK2yC,WAAW,IAAMxgC,IAAU,EACzC,EAUAugC,EAAQtc,UAAU6c,aAAe,SAAS9gC,GACxC,QAAUnS,KAAKgzC,UAAU7gC,GAAOjR,MAClC,ECxKO,MAAMgyC,EAAiB,KACN,qBAATnmC,KACAA,KAEgB,qBAAXy2B,OACLA,OAGAnd,SAAS,cAATA,GARe,GCCvB,SAAS8sB,EAAKxsC,KAAQysC,GACzB,OAAOA,EAAKr1B,QAAO,CAAC8zB,EAAK9oB,KACjBpiB,EAAIF,eAAesiB,KACnB8oB,EAAI9oB,GAAKpiB,EAAIoiB,IAEV8oB,IACR,CAAC,EACR,CAEA,MAAMwB,EAAqB,EAAWvQ,WAChCwQ,EAAuB,EAAWC,aACjC,SAASC,EAAsB7sC,EAAK8sC,GACnCA,EAAKC,iBACL/sC,EAAIgtC,aAAeN,EAAmBljC,KAAK,GAC3CxJ,EAAIitC,eAAiBN,EAAqBnjC,KAAK,KAG/CxJ,EAAIgtC,aAAe,EAAW7Q,WAAW3yB,KAAK,GAC9CxJ,EAAIitC,eAAiB,EAAWL,aAAapjC,KAAK,GAE1D,CAEA,MAAM0jC,EAAkB,KAEjB,SAASnF,EAAW/nC,GACvB,MAAmB,kBAARA,EACAmtC,EAAWntC,GAGfkqB,KAAKkjB,MAAMptC,EAAI+nC,YAAc/nC,EAAItD,MAAQwwC,EACpD,CACA,SAASC,EAAW7L,GAChB,IAAIhoB,EAAI,EAAG/e,EAAS,EACpB,IAAK,IAAIF,EAAI,EAAGC,EAAIgnC,EAAI/mC,OAAQF,EAAIC,EAAGD,IACnCif,EAAIgoB,EAAIM,WAAWvnC,GACfif,EAAI,IACJ/e,GAAU,EAEL+e,EAAI,KACT/e,GAAU,EAEL+e,EAAI,OAAUA,GAAK,MACxB/e,GAAU,GAGVF,IACAE,GAAU,GAGlB,OAAOA,CACX,CC3CO,SAAS,EAAOyF,GACnB,IAAIshC,EAAM,GACV,IAAK,IAAIjnC,KAAK2F,EACNA,EAAIF,eAAezF,KACfinC,EAAI/mC,SACJ+mC,GAAO,KACXA,GAAO+L,mBAAmBhzC,GAAK,IAAMgzC,mBAAmBrtC,EAAI3F,KAGpE,OAAOinC,CACX,CAOO,SAAS,EAAOgM,GACnB,IAAIC,EAAM,CAAC,EACPC,EAAQF,EAAGhe,MAAM,KACrB,IAAK,IAAIj1B,EAAI,EAAGC,EAAIkzC,EAAMjzC,OAAQF,EAAIC,EAAGD,IAAK,CAC1C,IAAIozC,EAAOD,EAAMnzC,GAAGi1B,MAAM,KAC1Bie,EAAIG,mBAAmBD,EAAK,KAAOC,mBAAmBD,EAAK,GAC/D,CACA,OAAOF,CACX,CC7BO,MAAMI,UAAuBC,MAChC,WAAAz0C,CAAY00C,EAAQrH,EAAajqB,GAC7Bpb,MAAM0sC,GACNx0C,KAAKmtC,YAAcA,EACnBntC,KAAKkjB,QAAUA,EACfljB,KAAK+E,KAAO,gBAChB,EAEG,MAAM0vC,UAAkB/B,EAO3B,WAAA5yC,CAAY2zC,GACR3rC,QACA9H,KAAK0qC,UAAW,EAChB8I,EAAsBxzC,KAAMyzC,GAC5BzzC,KAAKyzC,KAAOA,EACZzzC,KAAK00C,MAAQjB,EAAKiB,MAClB10C,KAAK20C,OAASlB,EAAKkB,MACvB,CAUA,OAAAC,CAAQJ,EAAQrH,EAAajqB,GAEzB,OADApb,MAAMirC,aAAa,QAAS,IAAIuB,EAAeE,EAAQrH,EAAajqB,IAC7DljB,IACX,CAIA,IAAA60C,GAGI,OAFA70C,KAAK80C,WAAa,UAClB90C,KAAK+0C,SACE/0C,IACX,CAIA,KAAAg1C,GAKI,MAJwB,YAApBh1C,KAAK80C,YAAgD,SAApB90C,KAAK80C,aACtC90C,KAAKi1C,UACLj1C,KAAKk1C,WAEFl1C,IACX,CAMA,IAAAm1C,CAAK3E,GACuB,SAApBxwC,KAAK80C,YACL90C,KAAKo1C,MAAM5E,EAKnB,CAMA,MAAA6E,GACIr1C,KAAK80C,WAAa,OAClB90C,KAAK0qC,UAAW,EAChB5iC,MAAMirC,aAAa,OACvB,CAOA,MAAAuC,CAAO5/B,GACH,MAAMm5B,EAASgB,EAAan6B,EAAM1V,KAAK20C,OAAO5E,YAC9C/vC,KAAKu1C,SAAS1G,EAClB,CAMA,QAAA0G,CAAS1G,GACL/mC,MAAMirC,aAAa,SAAUlE,EACjC,CAMA,OAAAqG,CAAQM,GACJx1C,KAAK80C,WAAa,SAClBhtC,MAAMirC,aAAa,QAASyC,EAChC,CAMA,KAAAC,CAAMC,GAAW,CACjB,SAAAC,CAAUC,EAAQlB,EAAQ,CAAC,GACvB,OAAQkB,EACJ,MACA51C,KAAK61C,YACL71C,KAAK81C,QACL91C,KAAKyzC,KAAK1d,KACV/1B,KAAK+1C,OAAOrB,EACpB,CACA,SAAAmB,GACI,MAAMG,EAAWh2C,KAAKyzC,KAAKuC,SAC3B,OAAkC,IAA3BA,EAAS5kC,QAAQ,KAAc4kC,EAAW,IAAMA,EAAW,GACtE,CACA,KAAAF,GACI,OAAI91C,KAAKyzC,KAAKwC,OACRj2C,KAAKyzC,KAAKyC,QAAU3wC,OAA0B,MAAnBvF,KAAKyzC,KAAKwC,QACjCj2C,KAAKyzC,KAAKyC,QAAqC,KAA3B3wC,OAAOvF,KAAKyzC,KAAKwC,OACpC,IAAMj2C,KAAKyzC,KAAKwC,KAGhB,EAEf,CACA,MAAAF,CAAOrB,GACH,MAAMyB,EAAe,EAAOzB,GAC5B,OAAOyB,EAAaj1C,OAAS,IAAMi1C,EAAe,EACtD,ECzIJ,MAAMC,EAAW,mEAAmEngB,MAAM,IAAK,EAAS,GAAIjwB,EAAM,CAAC,EACnH,IAAqBuO,EAAjB8hC,EAAO,EAAGr1C,EAAI,EAQX,SAAS,EAAOs1C,GACnB,IAAIvH,EAAU,GACd,GACIA,EAAUqH,EAASE,EAAM,GAAUvH,EACnCuH,EAAMzlB,KAAK0lB,MAAMD,EAAM,SAClBA,EAAM,GACf,OAAOvH,CACX,CAqBO,SAASyH,IACZ,MAAMC,EAAM,GAAQ,IAAIC,MACxB,OAAID,IAAQliC,GACD8hC,EAAO,EAAG9hC,EAAOkiC,GACrBA,EAAM,IAAM,EAAOJ,IAC9B,CAIA,KAAOr1C,EAAI,EAAQA,IACfgF,EAAIowC,EAASp1C,IAAMA,EChDvB,IAAI+B,GAAQ,EACZ,IACIA,EAAkC,qBAAnB4zC,gBACX,oBAAqB,IAAIA,cACjC,CACA,MAAOzoC,IAGP,CACO,MAAM0oC,GAAU7zC,ECPhB,SAAS8zC,GAAIpD,GAChB,MAAMqD,EAAUrD,EAAKqD,QAErB,IACI,GAAI,qBAAuBH,kBAAoBG,GAAWF,IACtD,OAAO,IAAID,cAEnB,CACA,MAAO3X,GAAK,CACZ,IAAK8X,EACD,IACI,OAAO,IAAI,EAAW,CAAC,UAAUlgC,OAAO,UAAUkxB,KAAK,OAAM,oBACjE,CACA,MAAO9I,GAAK,CAEpB,CACO,SAAS+X,KAAoB,CCZpC,SAASC,KAAU,CACnB,MAAMC,GAAU,WACZ,MAAMC,EAAM,IAAI,GAAe,CAC3BJ,SAAS,IAEb,OAAO,MAAQI,EAAIC,YACtB,CALe,GAMT,MAAMC,WAAgB3C,EAOzB,WAAA30C,CAAY2zC,GAGR,GAFA3rC,MAAM2rC,GACNzzC,KAAKq3C,SAAU,EACS,qBAAbC,SAA0B,CACjC,MAAMC,EAAQ,WAAaD,SAAS7E,SACpC,IAAIwD,EAAOqB,SAASrB,KAEfA,IACDA,EAAOsB,EAAQ,MAAQ,MAE3Bv3C,KAAKw3C,GACoB,qBAAbF,UACJ7D,EAAKuC,WAAasB,SAAStB,UAC3BC,IAASxC,EAAKwC,IAC1B,CAIA,MAAMwB,EAAchE,GAAQA,EAAKgE,YACjCz3C,KAAKguC,eAAiBiJ,KAAYQ,EAC9Bz3C,KAAKyzC,KAAKiE,kBACV13C,KAAK23C,UAAYZ,KAEzB,CACA,QAAIn8B,GACA,MAAO,SACX,CAOA,MAAAm6B,GACI/0C,KAAK43C,MACT,CAOA,KAAAnC,CAAMC,GACF11C,KAAK80C,WAAa,UAClB,MAAMW,EAAQ,KACVz1C,KAAK80C,WAAa,SAClBY,GAAS,EAEb,GAAI11C,KAAKq3C,UAAYr3C,KAAK0qC,SAAU,CAChC,IAAImN,EAAQ,EACR73C,KAAKq3C,UACLQ,IACA73C,KAAKg1B,KAAK,gBAAgB,aACpB6iB,GAASpC,GACf,KAECz1C,KAAK0qC,WACNmN,IACA73C,KAAKg1B,KAAK,SAAS,aACb6iB,GAASpC,GACf,IAER,MAEIA,GAER,CAMA,IAAAmC,GACI53C,KAAKq3C,SAAU,EACfr3C,KAAK83C,SACL93C,KAAK+yC,aAAa,OACtB,CAMA,MAAAuC,CAAO5/B,GACH,MAAMhM,EAAYmlC,IAMd,GAJI,YAAc7uC,KAAK80C,YAA8B,SAAhBjG,EAAO9pC,MACxC/E,KAAKq1C,SAGL,UAAYxG,EAAO9pC,KAEnB,OADA/E,KAAKk1C,QAAQ,CAAE/H,YAAa,oCACrB,EAGXntC,KAAKu1C,SAAS1G,EAAO,EAGzB8B,EAAcj7B,EAAM1V,KAAK20C,OAAO5E,YAAYvqC,QAAQkE,GAEhD,WAAa1J,KAAK80C,aAElB90C,KAAKq3C,SAAU,EACfr3C,KAAK+yC,aAAa,gBACd,SAAW/yC,KAAK80C,YAChB90C,KAAK43C,OAKjB,CAMA,OAAA3C,GACI,MAAMD,EAAQ,KACVh1C,KAAKo1C,MAAM,CAAC,CAAErwC,KAAM,UAAW,EAE/B,SAAW/E,KAAK80C,WAChBE,IAKAh1C,KAAKg1B,KAAK,OAAQggB,EAE1B,CAOA,KAAAI,CAAM5E,GACFxwC,KAAK0qC,UAAW,EAChB6F,EAAcC,GAAU96B,IACpB1V,KAAK+3C,QAAQriC,GAAM,KACf1V,KAAK0qC,UAAW,EAChB1qC,KAAK+yC,aAAa,QAAQ,GAC5B,GAEV,CAMA,GAAAiF,GACI,MAAMpC,EAAS51C,KAAKyzC,KAAKyC,OAAS,QAAU,OACtCxB,EAAQ10C,KAAK00C,OAAS,CAAC,EAQ7B,OANI,IAAU10C,KAAKyzC,KAAKwE,oBACpBvD,EAAM10C,KAAKyzC,KAAKyE,gBAAkB1B,KAEjCx2C,KAAKguC,gBAAmB0G,EAAMyD,MAC/BzD,EAAM0D,IAAM,GAETp4C,KAAK21C,UAAUC,EAAQlB,EAClC,CAOA,OAAA2D,CAAQ5E,EAAO,CAAC,GAEZ,OADA5tC,OAAO4iC,OAAOgL,EAAM,CAAE+D,GAAIx3C,KAAKw3C,GAAIG,UAAW33C,KAAK23C,WAAa33C,KAAKyzC,MAC9D,IAAI6E,GAAQt4C,KAAKg4C,MAAOvE,EACnC,CAQA,OAAAsE,CAAQriC,EAAMhV,GACV,MAAM63C,EAAMv4C,KAAKq4C,QAAQ,CACrBvuC,OAAQ,OACR4L,KAAMA,IAEV6iC,EAAI33C,GAAG,UAAWF,GAClB63C,EAAI33C,GAAG,SAAS,CAAC43C,EAAWt1B,KACxBljB,KAAK40C,QAAQ,iBAAkB4D,EAAWt1B,EAAQ,GAE1D,CAMA,MAAA40B,GACI,MAAMS,EAAMv4C,KAAKq4C,UACjBE,EAAI33C,GAAG,OAAQZ,KAAKs1C,OAAOnlC,KAAKnQ,OAChCu4C,EAAI33C,GAAG,SAAS,CAAC43C,EAAWt1B,KACxBljB,KAAK40C,QAAQ,iBAAkB4D,EAAWt1B,EAAQ,IAEtDljB,KAAKy4C,QAAUF,CACnB,EAEG,MAAMD,WAAgB5F,EAOzB,WAAA5yC,CAAYk4C,EAAKvE,GACb3rC,QACA0rC,EAAsBxzC,KAAMyzC,GAC5BzzC,KAAKyzC,KAAOA,EACZzzC,KAAK8J,OAAS2pC,EAAK3pC,QAAU,MAC7B9J,KAAKg4C,IAAMA,EACXh4C,KAAK0V,UAAOgjC,IAAcjF,EAAK/9B,KAAO+9B,EAAK/9B,KAAO,KAClD1V,KAAK2b,QACT,CAMA,MAAAA,GACI,IAAInO,EACJ,MAAMimC,EAAON,EAAKnzC,KAAKyzC,KAAM,QAAS,MAAO,MAAO,aAAc,OAAQ,KAAM,UAAW,qBAAsB,aACjHA,EAAKqD,UAAY92C,KAAKyzC,KAAK+D,GAC3B,MAAMN,EAAOl3C,KAAKk3C,IAAM,IAAI,GAAezD,GAC3C,IACIyD,EAAIrC,KAAK70C,KAAK8J,OAAQ9J,KAAKg4C,KAAK,GAChC,IACI,GAAIh4C,KAAKyzC,KAAKkF,aAAc,CACxBzB,EAAI0B,uBAAyB1B,EAAI0B,uBAAsB,GACvD,IAAK,IAAI53C,KAAKhB,KAAKyzC,KAAKkF,aAChB34C,KAAKyzC,KAAKkF,aAAalyC,eAAezF,IACtCk2C,EAAI2B,iBAAiB73C,EAAGhB,KAAKyzC,KAAKkF,aAAa33C,GAG3D,CACJ,CACA,MAAOg+B,GAAK,CACZ,GAAI,SAAWh/B,KAAK8J,OAChB,IACIotC,EAAI2B,iBAAiB,eAAgB,2BACzC,CACA,MAAO7Z,GAAK,CAEhB,IACIkY,EAAI2B,iBAAiB,SAAU,MACnC,CACA,MAAO7Z,GAAK,CACmB,QAA9BxxB,EAAKxN,KAAKyzC,KAAKkE,iBAA8B,IAAPnqC,GAAyBA,EAAGsrC,WAAW5B,GAE1E,oBAAqBA,IACrBA,EAAIQ,gBAAkB13C,KAAKyzC,KAAKiE,iBAEhC13C,KAAKyzC,KAAKsF,iBACV7B,EAAInU,QAAU/iC,KAAKyzC,KAAKsF,gBAE5B7B,EAAI8B,mBAAqB,KACrB,IAAIxrC,EACmB,IAAnB0pC,EAAIpC,aAC2B,QAA9BtnC,EAAKxN,KAAKyzC,KAAKkE,iBAA8B,IAAPnqC,GAAyBA,EAAGyrC,aAAa/B,IAEhF,IAAMA,EAAIpC,aAEV,MAAQoC,EAAIgC,QAAU,OAAShC,EAAIgC,OACnCl5C,KAAKm5C,SAKLn5C,KAAK2zC,cAAa,KACd3zC,KAAK40C,QAA8B,kBAAfsC,EAAIgC,OAAsBhC,EAAIgC,OAAS,EAAE,GAC9D,GACP,EAEJhC,EAAI/B,KAAKn1C,KAAK0V,KAClB,CACA,MAAOspB,GAOH,YAHAh/B,KAAK2zC,cAAa,KACd3zC,KAAK40C,QAAQ5V,EAAE,GAChB,EAEP,CACwB,qBAAbgB,WACPhgC,KAAKK,MAAQi4C,GAAQc,gBACrBd,GAAQe,SAASr5C,KAAKK,OAASL,KAEvC,CAMA,OAAA40C,CAAQ1mC,GACJlO,KAAK+yC,aAAa,QAAS7kC,EAAKlO,KAAKk3C,KACrCl3C,KAAKsD,SAAQ,EACjB,CAMA,OAAAA,CAAQg2C,GACJ,GAAI,qBAAuBt5C,KAAKk3C,KAAO,OAASl3C,KAAKk3C,IAArD,CAIA,GADAl3C,KAAKk3C,IAAI8B,mBAAqBhC,GAC1BsC,EACA,IACIt5C,KAAKk3C,IAAIqC,OACb,CACA,MAAOva,GAAK,CAEQ,qBAAbgB,iBACAsY,GAAQe,SAASr5C,KAAKK,OAEjCL,KAAKk3C,IAAM,IAXX,CAYJ,CAMA,MAAAiC,GACI,MAAMzjC,EAAO1V,KAAKk3C,IAAIsC,aACT,OAAT9jC,IACA1V,KAAK+yC,aAAa,OAAQr9B,GAC1B1V,KAAK+yC,aAAa,WAClB/yC,KAAKsD,UAEb,CAMA,KAAAi2C,GACIv5C,KAAKsD,SACT,EASJ,GAPAg1C,GAAQc,cAAgB,EACxBd,GAAQe,SAAW,CAAC,EAMI,qBAAbrZ,SAEP,GAA2B,oBAAhByZ,YAEPA,YAAY,WAAYC,SAEvB,GAAgC,oBAArBpW,iBAAiC,CAC7C,MAAMqW,EAAmB,eAAgB,EAAa,WAAa,SACnErW,iBAAiBqW,EAAkBD,IAAe,EACtD,CAEJ,SAASA,KACL,IAAK,IAAI14C,KAAKs3C,GAAQe,SACdf,GAAQe,SAAS5yC,eAAezF,IAChCs3C,GAAQe,SAASr4C,GAAGu4C,OAGhC,CCpYO,MAAMvpC,GAAW,MACpB,MAAM4pC,EAAwC,oBAAZ/pC,SAAqD,oBAApBA,QAAQC,QAC3E,OAAI8pC,EACQtoC,GAAOzB,QAAQC,UAAUI,KAAKoB,GAG/B,CAACA,EAAIqiC,IAAiBA,EAAariC,EAAI,EAErD,EARuB,GASXuoC,GAAY,EAAWA,WAAa,EAAWC,aAC/CC,IAAwB,EACxBC,GAAoB,cCN3BC,GAAqC,qBAAdC,WACI,kBAAtBA,UAAUC,SACmB,gBAApCD,UAAUC,QAAQhmC,cACf,MAAMimC,WAAW3F,EAOpB,WAAA30C,CAAY2zC,GACR3rC,MAAM2rC,GACNzzC,KAAKguC,gBAAkByF,EAAKgE,WAChC,CACA,QAAI78B,GACA,MAAO,WACX,CACA,MAAAm6B,GACI,IAAK/0C,KAAKq6C,QAEN,OAEJ,MAAMrC,EAAMh4C,KAAKg4C,MACXsC,EAAYt6C,KAAKyzC,KAAK6G,UAEtB7G,EAAOwG,GACP,CAAC,EACD9G,EAAKnzC,KAAKyzC,KAAM,QAAS,oBAAqB,MAAO,MAAO,aAAc,OAAQ,KAAM,UAAW,qBAAsB,eAAgB,kBAAmB,SAAU,aAAc,SAAU,uBAChMzzC,KAAKyzC,KAAKkF,eACVlF,EAAK8G,QAAUv6C,KAAKyzC,KAAKkF,cAE7B,IACI34C,KAAKw6C,GACDT,KAA0BE,GACpBK,EACI,IAAIT,GAAU7B,EAAKsC,GACnB,IAAIT,GAAU7B,GAClB,IAAI6B,GAAU7B,EAAKsC,EAAW7G,EAC5C,CACA,MAAOvlC,IACH,OAAOlO,KAAK+yC,aAAa,QAAS7kC,GACtC,CACAlO,KAAKw6C,GAAGzK,WAAa/vC,KAAK20C,OAAO5E,WACjC/vC,KAAKy6C,mBACT,CAMA,iBAAAA,GACIz6C,KAAKw6C,GAAGE,OAAS,KACT16C,KAAKyzC,KAAKkH,WACV36C,KAAKw6C,GAAGI,QAAQhtC,QAEpB5N,KAAKq1C,QAAQ,EAEjBr1C,KAAKw6C,GAAGK,QAAWC,GAAe96C,KAAKk1C,QAAQ,CAC3C/H,YAAa,8BACbjqB,QAAS43B,IAEb96C,KAAKw6C,GAAGO,UAAaC,GAAOh7C,KAAKs1C,OAAO0F,EAAGtlC,MAC3C1V,KAAKw6C,GAAGS,QAAWjc,GAAMh/B,KAAK40C,QAAQ,kBAAmB5V,EAC7D,CACA,KAAAoW,CAAM5E,GACFxwC,KAAK0qC,UAAW,EAGhB,IAAK,IAAI1pC,EAAI,EAAGA,EAAIwvC,EAAQtvC,OAAQF,IAAK,CACrC,MAAM6tC,EAAS2B,EAAQxvC,GACjBk6C,EAAal6C,IAAMwvC,EAAQtvC,OAAS,EAC1C6sC,EAAac,EAAQ7uC,KAAKguC,gBAAiBt4B,IAEvC,MAAM+9B,EAAO,CAAC,EACd,IAAKsG,KACGlL,EAAO56B,UACPw/B,EAAK0H,SAAWtM,EAAO56B,QAAQknC,UAE/Bn7C,KAAKyzC,KAAK2H,mBAAmB,CAC7B,MAAM7mB,EAEN,kBAAoB7e,EAAO2lC,OAAO3M,WAAWh5B,GAAQA,EAAKxU,OACtDqzB,EAAMv0B,KAAKyzC,KAAK2H,kBAAkBE,YAClC7H,EAAK0H,UAAW,EAExB,CAKJ,IACQpB,GAEA/5C,KAAKw6C,GAAGrF,KAAKz/B,GAGb1V,KAAKw6C,GAAGrF,KAAKz/B,EAAM+9B,EAE3B,CACA,MAAOzU,GACP,CACIkc,GAGAlrC,IAAS,KACLhQ,KAAK0qC,UAAW,EAChB1qC,KAAK+yC,aAAa,QAAQ,GAC3B/yC,KAAK2zC,aACZ,GAER,CACJ,CACA,OAAAsB,GAC2B,qBAAZj1C,KAAKw6C,KACZx6C,KAAKw6C,GAAGxF,QACRh1C,KAAKw6C,GAAK,KAElB,CAMA,GAAAxC,GACI,MAAMpC,EAAS51C,KAAKyzC,KAAKyC,OAAS,MAAQ,KACpCxB,EAAQ10C,KAAK00C,OAAS,CAAC,EAS7B,OAPI10C,KAAKyzC,KAAKwE,oBACVvD,EAAM10C,KAAKyzC,KAAKyE,gBAAkB1B,KAGjCx2C,KAAKguC,iBACN0G,EAAM0D,IAAM,GAETp4C,KAAK21C,UAAUC,EAAQlB,EAClC,CAOA,KAAA2F,GACI,QAASR,EACb,ECnJG,MAAM0B,WAAW9G,EACpB,QAAI75B,GACA,MAAO,cACX,CACA,MAAAm6B,GAEgC,oBAAjByG,eAIXx7C,KAAKy7C,UAAY,IAAID,aAAax7C,KAAK21C,UAAU,SAAU31C,KAAKyzC,KAAKiI,iBAAiB17C,KAAK4a,OAC3F5a,KAAKy7C,UAAUE,OACVzrC,MAAK,KACNlQ,KAAKk1C,SAAS,IAEb7mC,OAAOH,IACRlO,KAAK40C,QAAQ,qBAAsB1mC,EAAI,IAG3ClO,KAAKy7C,UAAUG,MAAM1rC,MAAK,KACtBlQ,KAAKy7C,UAAUI,4BAA4B3rC,MAAM4rC,IAC7C,MAAMC,EAAgB/J,EAA0BzsC,OAAOy2C,iBAAkBh8C,KAAK20C,OAAO5E,YAC/EkM,EAASH,EAAOI,SAASC,YAAYJ,GAAeK,YACpDC,EAAgBvL,IACtBuL,EAAcH,SAASI,OAAOR,EAAOpR,UACrC1qC,KAAKu8C,OAASF,EAAc3R,SAAS8R,YACrC,MAAMC,EAAO,KACTR,EACKQ,OACAvsC,MAAK,EAAG7F,OAAMtH,YACXsH,IAGJrK,KAAKu1C,SAASxyC,GACd05C,IAAM,IAELpuC,OAAOH,IAAD,GACT,EAENuuC,IACA,MAAM5N,EAAS,CAAE9pC,KAAM,QACnB/E,KAAK00C,MAAMyD,MACXtJ,EAAOn5B,KAAO,WAAW1V,KAAK00C,MAAMyD,SAExCn4C,KAAKu8C,OAAOnH,MAAMvG,GAAQ3+B,MAAK,IAAMlQ,KAAKq1C,UAAS,GACrD,IAEV,CACA,KAAAD,CAAM5E,GACFxwC,KAAK0qC,UAAW,EAChB,IAAK,IAAI1pC,EAAI,EAAGA,EAAIwvC,EAAQtvC,OAAQF,IAAK,CACrC,MAAM6tC,EAAS2B,EAAQxvC,GACjBk6C,EAAal6C,IAAMwvC,EAAQtvC,OAAS,EAC1ClB,KAAKu8C,OAAOnH,MAAMvG,GAAQ3+B,MAAK,KACvBgrC,GACAlrC,IAAS,KACLhQ,KAAK0qC,UAAW,EAChB1qC,KAAK+yC,aAAa,QAAQ,GAC3B/yC,KAAK2zC,aACZ,GAER,CACJ,CACA,OAAAsB,GACI,IAAIznC,EACsB,QAAzBA,EAAKxN,KAAKy7C,iBAA8B,IAAPjuC,GAAyBA,EAAGwnC,OAClE,EClEG,MAAM0H,GAAa,CACtBC,UAAWvC,GACXwC,aAAcrB,GACdlE,QAASD,ICaPyF,GAAK,sPACLC,GAAQ,CACV,SAAU,WAAY,YAAa,WAAY,OAAQ,WAAY,OAAQ,OAAQ,WAAY,OAAQ,YAAa,OAAQ,QAAS,UAElI,SAASC,GAAM9U,GAClB,GAAIA,EAAI/mC,OAAS,IACb,KAAM,eAEV,MAAM87C,EAAM/U,EAAKn2B,EAAIm2B,EAAI72B,QAAQ,KAAM4tB,EAAIiJ,EAAI72B,QAAQ,MAC7C,GAANU,IAAiB,GAANktB,IACXiJ,EAAMA,EAAIiI,UAAU,EAAGp+B,GAAKm2B,EAAIiI,UAAUp+B,EAAGktB,GAAG9qB,QAAQ,KAAM,KAAO+zB,EAAIiI,UAAUlR,EAAGiJ,EAAI/mC,SAE9F,IAAIsgB,EAAIq7B,GAAGI,KAAKhV,GAAO,IAAK+P,EAAM,CAAC,EAAGh3C,EAAI,GAC1C,MAAOA,IACHg3C,EAAI8E,GAAM97C,IAAMwgB,EAAExgB,IAAM,GAU5B,OARU,GAAN8Q,IAAiB,GAANktB,IACXgZ,EAAIh9B,OAASgiC,EACbhF,EAAIkF,KAAOlF,EAAIkF,KAAKhN,UAAU,EAAG8H,EAAIkF,KAAKh8C,OAAS,GAAGgT,QAAQ,KAAM,KACpE8jC,EAAImF,UAAYnF,EAAImF,UAAUjpC,QAAQ,IAAK,IAAIA,QAAQ,IAAK,IAAIA,QAAQ,KAAM,KAC9E8jC,EAAIoF,SAAU,GAElBpF,EAAIqF,UAAYA,GAAUrF,EAAKA,EAAI,SACnCA,EAAIsF,SAAWA,GAAStF,EAAKA,EAAI,UAC1BA,CACX,CACA,SAASqF,GAAU12C,EAAKovB,GACpB,MAAMwnB,EAAO,WAAYC,EAAQznB,EAAK7hB,QAAQqpC,EAAM,KAAKtnB,MAAM,KAO/D,MANwB,KAApBF,EAAKrjB,MAAM,EAAG,IAA6B,IAAhBqjB,EAAK70B,QAChCs8C,EAAMxsC,OAAO,EAAG,GAEE,KAAlB+kB,EAAKrjB,OAAO,IACZ8qC,EAAMxsC,OAAOwsC,EAAMt8C,OAAS,EAAG,GAE5Bs8C,CACX,CACA,SAASF,GAAStF,EAAKtD,GACnB,MAAMh/B,EAAO,CAAC,EAMd,OALAg/B,EAAMxgC,QAAQ,6BAA6B,SAAUupC,EAAIC,EAAIC,GACrDD,IACAhoC,EAAKgoC,GAAMC,EAEnB,IACOjoC,CACX,CCxDO,MAAMkoC,WAAelL,EAOxB,WAAA5yC,CAAYk4C,EAAKvE,EAAO,CAAC,GACrB3rC,QACA9H,KAAK+vC,WAAaiK,GAClBh6C,KAAK69C,YAAc,GACf7F,GAAO,kBAAoBA,IAC3BvE,EAAOuE,EACPA,EAAM,MAENA,GACAA,EAAM+E,GAAM/E,GACZvE,EAAKuC,SAAWgC,EAAIkF,KACpBzJ,EAAKyC,OAA0B,UAAjB8B,EAAIvF,UAAyC,QAAjBuF,EAAIvF,SAC9CgB,EAAKwC,KAAO+B,EAAI/B,KACZ+B,EAAItD,QACJjB,EAAKiB,MAAQsD,EAAItD,QAEhBjB,EAAKyJ,OACVzJ,EAAKuC,SAAW+G,GAAMtJ,EAAKyJ,MAAMA,MAErC1J,EAAsBxzC,KAAMyzC,GAC5BzzC,KAAKk2C,OACD,MAAQzC,EAAKyC,OACPzC,EAAKyC,OACe,qBAAboB,UAA4B,WAAaA,SAAS7E,SAC/DgB,EAAKuC,WAAavC,EAAKwC,OAEvBxC,EAAKwC,KAAOj2C,KAAKk2C,OAAS,MAAQ,MAEtCl2C,KAAKg2C,SACDvC,EAAKuC,WACoB,qBAAbsB,SAA2BA,SAAStB,SAAW,aAC/Dh2C,KAAKi2C,KACDxC,EAAKwC,OACoB,qBAAbqB,UAA4BA,SAASrB,KACvCqB,SAASrB,KACTj2C,KAAKk2C,OACD,MACA,MAClBl2C,KAAK08C,WAAajJ,EAAKiJ,YAAc,CACjC,UACA,YACA,gBAEJ18C,KAAK69C,YAAc,GACnB79C,KAAK89C,cAAgB,EACrB99C,KAAKyzC,KAAO5tC,OAAO4iC,OAAO,CACtB1S,KAAM,aACNgoB,OAAO,EACPrG,iBAAiB,EACjBsG,SAAS,EACT9F,eAAgB,IAChB+F,iBAAiB,EACjBC,kBAAkB,EAClBC,oBAAoB,EACpB/C,kBAAmB,CACfE,UAAW,MAEfI,iBAAkB,CAAC,EACnB0C,qBAAqB,GACtB3K,GACHzzC,KAAKyzC,KAAK1d,KACN/1B,KAAKyzC,KAAK1d,KAAK7hB,QAAQ,MAAO,KACzBlU,KAAKyzC,KAAKyK,iBAAmB,IAAM,IACb,kBAApBl+C,KAAKyzC,KAAKiB,QACjB10C,KAAKyzC,KAAKiB,MAAQ,EAAO10C,KAAKyzC,KAAKiB,QAGvC10C,KAAKqQ,GAAK,KACVrQ,KAAKq+C,SAAW,KAChBr+C,KAAKs+C,aAAe,KACpBt+C,KAAKu+C,YAAc,KAEnBv+C,KAAKw+C,iBAAmB,KACQ,oBAArBlb,mBACHtjC,KAAKyzC,KAAK2K,sBAIVp+C,KAAKy+C,0BAA4B,KACzBz+C,KAAKy7C,YAELz7C,KAAKy7C,UAAU5I,qBACf7yC,KAAKy7C,UAAUzG,QACnB,EAEJ1R,iBAAiB,eAAgBtjC,KAAKy+C,2BAA2B,IAE/C,cAAlBz+C,KAAKg2C,WACLh2C,KAAK0+C,qBAAuB,KACxB1+C,KAAKk1C,QAAQ,kBAAmB,CAC5B/H,YAAa,2BACf,EAEN7J,iBAAiB,UAAWtjC,KAAK0+C,sBAAsB,KAG/D1+C,KAAK60C,MACT,CAQA,eAAA8J,CAAgB/jC,GACZ,MAAM85B,EAAQ7uC,OAAO4iC,OAAO,CAAC,EAAGzoC,KAAKyzC,KAAKiB,OAE1CA,EAAMkK,IAAMnM,EAEZiC,EAAM+G,UAAY7gC,EAEd5a,KAAKqQ,KACLqkC,EAAMyD,IAAMn4C,KAAKqQ,IACrB,MAAMojC,EAAO5tC,OAAO4iC,OAAO,CAAC,EAAGzoC,KAAKyzC,KAAM,CACtCiB,QACAC,OAAQ30C,KACRg2C,SAAUh2C,KAAKg2C,SACfE,OAAQl2C,KAAKk2C,OACbD,KAAMj2C,KAAKi2C,MACZj2C,KAAKyzC,KAAKiI,iBAAiB9gC,IAC9B,OAAO,IAAI8hC,GAAW9hC,GAAM64B,EAChC,CAMA,IAAAoB,GACI,IAAI4G,EACJ,GAAIz7C,KAAKyzC,KAAKwK,iBACVL,GAAOiB,wBACmC,IAA1C7+C,KAAK08C,WAAWtrC,QAAQ,aACxBqqC,EAAY,gBAEX,IAAI,IAAMz7C,KAAK08C,WAAWx7C,OAK3B,YAHAlB,KAAK2zC,cAAa,KACd3zC,KAAK+yC,aAAa,QAAS,0BAA0B,GACtD,GAIH0I,EAAYz7C,KAAK08C,WAAW,EAChC,CACA18C,KAAK80C,WAAa,UAElB,IACI2G,EAAYz7C,KAAK2+C,gBAAgBlD,EACrC,CACA,MAAOzc,GAGH,OAFAh/B,KAAK08C,WAAW94C,aAChB5D,KAAK60C,MAET,CACA4G,EAAU5G,OACV70C,KAAK8+C,aAAarD,EACtB,CAMA,YAAAqD,CAAarD,GACLz7C,KAAKy7C,WACLz7C,KAAKy7C,UAAU5I,qBAGnB7yC,KAAKy7C,UAAYA,EAEjBA,EACK76C,GAAG,QAASZ,KAAK++C,QAAQ5uC,KAAKnQ,OAC9BY,GAAG,SAAUZ,KAAKu1C,SAASplC,KAAKnQ,OAChCY,GAAG,QAASZ,KAAK40C,QAAQzkC,KAAKnQ,OAC9BY,GAAG,SAAU4zC,GAAWx0C,KAAKk1C,QAAQ,kBAAmBV,IACjE,CAOA,KAAAwK,CAAMpkC,GACF,IAAI6gC,EAAYz7C,KAAK2+C,gBAAgB/jC,GACjCqkC,GAAS,EACbrB,GAAOiB,uBAAwB,EAC/B,MAAMK,EAAkB,KAChBD,IAEJxD,EAAUtG,KAAK,CAAC,CAAEpwC,KAAM,OAAQ2Q,KAAM,WACtC+lC,EAAUzmB,KAAK,UAAWmqB,IACtB,IAAIF,EAEJ,GAAI,SAAWE,EAAIp6C,MAAQ,UAAYo6C,EAAIzpC,KAAM,CAG7C,GAFA1V,KAAKo/C,WAAY,EACjBp/C,KAAK+yC,aAAa,YAAa0I,IAC1BA,EACD,OACJmC,GAAOiB,sBAAwB,cAAgBpD,EAAU7gC,KACzD5a,KAAKy7C,UAAUhG,OAAM,KACbwJ,GAEA,WAAaj/C,KAAK80C,aAEtBxxC,IACAtD,KAAK8+C,aAAarD,GAClBA,EAAUtG,KAAK,CAAC,CAAEpwC,KAAM,aACxB/E,KAAK+yC,aAAa,UAAW0I,GAC7BA,EAAY,KACZz7C,KAAKo/C,WAAY,EACjBp/C,KAAK+0B,QAAO,GAEpB,KACK,CACD,MAAM7mB,EAAM,IAAIqmC,MAAM,eAEtBrmC,EAAIutC,UAAYA,EAAU7gC,KAC1B5a,KAAK+yC,aAAa,eAAgB7kC,EACtC,KACF,EAEN,SAASmxC,IACDJ,IAGJA,GAAS,EACT37C,IACAm4C,EAAUzG,QACVyG,EAAY,KAChB,CAEA,MAAMR,EAAW/sC,IACb,MAAMkB,EAAQ,IAAImlC,MAAM,gBAAkBrmC,GAE1CkB,EAAMqsC,UAAYA,EAAU7gC,KAC5BykC,IACAr/C,KAAK+yC,aAAa,eAAgB3jC,EAAM,EAE5C,SAASkwC,IACLrE,EAAQ,mBACZ,CAEA,SAASJ,IACLI,EAAQ,gBACZ,CAEA,SAASsE,EAAU79B,GACX+5B,GAAa/5B,EAAG9G,OAAS6gC,EAAU7gC,MACnCykC,GAER,CAEA,MAAM/7C,EAAU,KACZm4C,EAAU7I,eAAe,OAAQsM,GACjCzD,EAAU7I,eAAe,QAASqI,GAClCQ,EAAU7I,eAAe,QAAS0M,GAClCt/C,KAAKa,IAAI,QAASg6C,GAClB76C,KAAKa,IAAI,YAAa0+C,EAAU,EAEpC9D,EAAUzmB,KAAK,OAAQkqB,GACvBzD,EAAUzmB,KAAK,QAASimB,GACxBQ,EAAUzmB,KAAK,QAASsqB,GACxBt/C,KAAKg1B,KAAK,QAAS6lB,GACnB76C,KAAKg1B,KAAK,YAAauqB,IACwB,IAA3Cv/C,KAAKq+C,SAASjtC,QAAQ,iBACb,iBAATwJ,EAEA5a,KAAK2zC,cAAa,KACTsL,GACDxD,EAAU5G,MACd,GACD,KAGH4G,EAAU5G,MAElB,CAMA,MAAAQ,GAOI,GANAr1C,KAAK80C,WAAa,OAClB8I,GAAOiB,sBAAwB,cAAgB7+C,KAAKy7C,UAAU7gC,KAC9D5a,KAAK+yC,aAAa,QAClB/yC,KAAK+0B,QAGD,SAAW/0B,KAAK80C,YAAc90C,KAAKyzC,KAAKuK,QAAS,CACjD,IAAIh9C,EAAI,EACR,MAAMC,EAAIjB,KAAKq+C,SAASn9C,OACxB,KAAOF,EAAIC,EAAGD,IACVhB,KAAKg/C,MAAMh/C,KAAKq+C,SAASr9C,GAEjC,CACJ,CAMA,QAAAu0C,CAAS1G,GACL,GAAI,YAAc7uC,KAAK80C,YACnB,SAAW90C,KAAK80C,YAChB,YAAc90C,KAAK80C,WAKnB,OAJA90C,KAAK+yC,aAAa,SAAUlE,GAE5B7uC,KAAK+yC,aAAa,aAClB/yC,KAAKw/C,mBACG3Q,EAAO9pC,MACX,IAAK,OACD/E,KAAKy/C,YAAY7S,KAAKmQ,MAAMlO,EAAOn5B,OACnC,MACJ,IAAK,OACD1V,KAAK0/C,WAAW,QAChB1/C,KAAK+yC,aAAa,QAClB/yC,KAAK+yC,aAAa,QAClB,MACJ,IAAK,QACD,MAAM7kC,EAAM,IAAIqmC,MAAM,gBAEtBrmC,EAAIyxC,KAAO9Q,EAAOn5B,KAClB1V,KAAK40C,QAAQ1mC,GACb,MACJ,IAAK,UACDlO,KAAK+yC,aAAa,OAAQlE,EAAOn5B,MACjC1V,KAAK+yC,aAAa,UAAWlE,EAAOn5B,MACpC,MAKhB,CAOA,WAAA+pC,CAAY/pC,GACR1V,KAAK+yC,aAAa,YAAar9B,GAC/B1V,KAAKqQ,GAAKqF,EAAKyiC,IACfn4C,KAAKy7C,UAAU/G,MAAMyD,IAAMziC,EAAKyiC,IAChCn4C,KAAKq+C,SAAWr+C,KAAK4/C,eAAelqC,EAAK2oC,UACzCr+C,KAAKs+C,aAAe5oC,EAAK4oC,aACzBt+C,KAAKu+C,YAAc7oC,EAAK6oC,YACxBv+C,KAAKiyC,WAAav8B,EAAKu8B,WACvBjyC,KAAKq1C,SAED,WAAar1C,KAAK80C,YAEtB90C,KAAKw/C,kBACT,CAMA,gBAAAA,GACIx/C,KAAK4zC,eAAe5zC,KAAKw+C,kBACzBx+C,KAAKw+C,iBAAmBx+C,KAAK2zC,cAAa,KACtC3zC,KAAKk1C,QAAQ,eAAe,GAC7Bl1C,KAAKs+C,aAAet+C,KAAKu+C,aACxBv+C,KAAKyzC,KAAKkH,WACV36C,KAAKw+C,iBAAiB5wC,OAE9B,CAMA,OAAAmxC,GACI/+C,KAAK69C,YAAY7sC,OAAO,EAAGhR,KAAK89C,eAIhC99C,KAAK89C,cAAgB,EACjB,IAAM99C,KAAK69C,YAAY38C,OACvBlB,KAAK+yC,aAAa,SAGlB/yC,KAAK+0B,OAEb,CAMA,KAAAA,GACI,GAAI,WAAa/0B,KAAK80C,YAClB90C,KAAKy7C,UAAU/Q,WACd1qC,KAAKo/C,WACNp/C,KAAK69C,YAAY38C,OAAQ,CACzB,MAAMsvC,EAAUxwC,KAAK6/C,qBACrB7/C,KAAKy7C,UAAUtG,KAAK3E,GAGpBxwC,KAAK89C,cAAgBtN,EAAQtvC,OAC7BlB,KAAK+yC,aAAa,QACtB,CACJ,CAOA,kBAAA8M,GACI,MAAMC,EAAyB9/C,KAAKiyC,YACR,YAAxBjyC,KAAKy7C,UAAU7gC,MACf5a,KAAK69C,YAAY38C,OAAS,EAC9B,IAAK4+C,EACD,OAAO9/C,KAAK69C,YAEhB,IAAIkC,EAAc,EAClB,IAAK,IAAI/+C,EAAI,EAAGA,EAAIhB,KAAK69C,YAAY38C,OAAQF,IAAK,CAC9C,MAAM0U,EAAO1V,KAAK69C,YAAY78C,GAAG0U,KAIjC,GAHIA,IACAqqC,GAAerR,EAAWh5B,IAE1B1U,EAAI,GAAK++C,EAAc//C,KAAKiyC,WAC5B,OAAOjyC,KAAK69C,YAAYnrC,MAAM,EAAG1R,GAErC++C,GAAe,CACnB,CACA,OAAO//C,KAAK69C,WAChB,CASA,KAAAzI,CAAM+J,EAAKlrC,EAASvT,GAEhB,OADAV,KAAK0/C,WAAW,UAAWP,EAAKlrC,EAASvT,GAClCV,IACX,CACA,IAAAm1C,CAAKgK,EAAKlrC,EAASvT,GAEf,OADAV,KAAK0/C,WAAW,UAAWP,EAAKlrC,EAASvT,GAClCV,IACX,CAUA,UAAA0/C,CAAW36C,EAAM2Q,EAAMzB,EAASvT,GAS5B,GARI,oBAAsBgV,IACtBhV,EAAKgV,EACLA,OAAOgjC,GAEP,oBAAsBzkC,IACtBvT,EAAKuT,EACLA,EAAU,MAEV,YAAcjU,KAAK80C,YAAc,WAAa90C,KAAK80C,WACnD,OAEJ7gC,EAAUA,GAAW,CAAC,EACtBA,EAAQknC,UAAW,IAAUlnC,EAAQknC,SACrC,MAAMtM,EAAS,CACX9pC,KAAMA,EACN2Q,KAAMA,EACNzB,QAASA,GAEbjU,KAAK+yC,aAAa,eAAgBlE,GAClC7uC,KAAK69C,YAAYt9C,KAAKsuC,GAClBnuC,GACAV,KAAKg1B,KAAK,QAASt0B,GACvBV,KAAK+0B,OACT,CAIA,KAAAigB,GACI,MAAMA,EAAQ,KACVh1C,KAAKk1C,QAAQ,gBACbl1C,KAAKy7C,UAAUzG,OAAO,EAEpBgL,EAAkB,KACpBhgD,KAAKa,IAAI,UAAWm/C,GACpBhgD,KAAKa,IAAI,eAAgBm/C,GACzBhL,GAAO,EAELiL,EAAiB,KAEnBjgD,KAAKg1B,KAAK,UAAWgrB,GACrBhgD,KAAKg1B,KAAK,eAAgBgrB,EAAgB,EAqB9C,MAnBI,YAAchgD,KAAK80C,YAAc,SAAW90C,KAAK80C,aACjD90C,KAAK80C,WAAa,UACd90C,KAAK69C,YAAY38C,OACjBlB,KAAKg1B,KAAK,SAAS,KACXh1B,KAAKo/C,UACLa,IAGAjL,GACJ,IAGCh1C,KAAKo/C,UACVa,IAGAjL,KAGDh1C,IACX,CAMA,OAAA40C,CAAQ1mC,GACJ0vC,GAAOiB,uBAAwB,EAC/B7+C,KAAK+yC,aAAa,QAAS7kC,GAC3BlO,KAAKk1C,QAAQ,kBAAmBhnC,EACpC,CAMA,OAAAgnC,CAAQV,EAAQrH,GACR,YAAcntC,KAAK80C,YACnB,SAAW90C,KAAK80C,YAChB,YAAc90C,KAAK80C,aAEnB90C,KAAK4zC,eAAe5zC,KAAKw+C,kBAEzBx+C,KAAKy7C,UAAU5I,mBAAmB,SAElC7yC,KAAKy7C,UAAUzG,QAEfh1C,KAAKy7C,UAAU5I,qBACoB,oBAAxBzP,sBACPA,oBAAoB,eAAgBpjC,KAAKy+C,2BAA2B,GACpErb,oBAAoB,UAAWpjC,KAAK0+C,sBAAsB,IAG9D1+C,KAAK80C,WAAa,SAElB90C,KAAKqQ,GAAK,KAEVrQ,KAAK+yC,aAAa,QAASyB,EAAQrH,GAGnCntC,KAAK69C,YAAc,GACnB79C,KAAK89C,cAAgB,EAE7B,CAOA,cAAA8B,CAAevB,GACX,MAAM6B,EAAmB,GACzB,IAAIl/C,EAAI,EACR,MAAMwwB,EAAI6sB,EAASn9C,OACnB,KAAOF,EAAIwwB,EAAGxwB,KACLhB,KAAK08C,WAAWtrC,QAAQitC,EAASr9C,KAClCk/C,EAAiB3/C,KAAK89C,EAASr9C,IAEvC,OAAOk/C,CACX,EAEJtC,GAAOnL,SAAWA,EC/kBMmL,GAAOnL,SCQxB,SAAS0N,GAAInI,EAAKjiB,EAAO,GAAIqqB,GAChC,IAAIz5C,EAAMqxC,EAEVoI,EAAMA,GAA4B,qBAAb9I,UAA4BA,SAC7C,MAAQU,IACRA,EAAMoI,EAAI3N,SAAW,KAAO2N,EAAIlD,MAEjB,kBAARlF,IACH,MAAQA,EAAI5N,OAAO,KAEf4N,EADA,MAAQA,EAAI5N,OAAO,GACbgW,EAAI3N,SAAWuF,EAGfoI,EAAIlD,KAAOlF,GAGpB,sBAAsBthB,KAAKshB,KAExBA,EADA,qBAAuBoI,EACjBA,EAAI3N,SAAW,KAAOuF,EAGtB,WAAaA,GAI3BrxC,EAAMo2C,GAAM/E,IAGXrxC,EAAIsvC,OACD,cAAcvf,KAAK/vB,EAAI8rC,UACvB9rC,EAAIsvC,KAAO,KAEN,eAAevf,KAAK/vB,EAAI8rC,YAC7B9rC,EAAIsvC,KAAO,QAGnBtvC,EAAIovB,KAAOpvB,EAAIovB,MAAQ,IACvB,MAAMsqB,GAAkC,IAA3B15C,EAAIu2C,KAAK9rC,QAAQ,KACxB8rC,EAAOmD,EAAO,IAAM15C,EAAIu2C,KAAO,IAAMv2C,EAAIu2C,KAS/C,OAPAv2C,EAAI0J,GAAK1J,EAAI8rC,SAAW,MAAQyK,EAAO,IAAMv2C,EAAIsvC,KAAOlgB,EAExDpvB,EAAI25C,KACA35C,EAAI8rC,SACA,MACAyK,GACCkD,GAAOA,EAAInK,OAAStvC,EAAIsvC,KAAO,GAAK,IAAMtvC,EAAIsvC,MAChDtvC,CACX,CC1DA,MAAM,GAA+C,oBAAhBinC,YAC/B,GAAUjnC,GACyB,oBAAvBinC,YAAYC,OACpBD,YAAYC,OAAOlnC,GACnBA,EAAImnC,kBAAkBF,YAE1B,GAAW/nC,OAAOuwB,UAAUgO,SAC5B,GAAiC,oBAATsJ,MACT,qBAATA,MACoB,6BAAxB,GAASxkC,KAAKwkC,MAChB6S,GAAiC,oBAATC,MACT,qBAATA,MACoB,6BAAxB,GAASt3C,KAAKs3C,MAMf,SAASpO,GAASzrC,GACrB,OAAS,KAA0BA,aAAeinC,aAAe,GAAOjnC,KACnE,IAAkBA,aAAe+mC,MACjC6S,IAAkB55C,aAAe65C,IAC1C,CACO,SAASC,GAAU95C,EAAK+5C,GAC3B,IAAK/5C,GAAsB,kBAARA,EACf,OAAO,EAEX,GAAIwU,MAAMwtB,QAAQhiC,GAAM,CACpB,IAAK,IAAI3F,EAAI,EAAGC,EAAI0F,EAAIzF,OAAQF,EAAIC,EAAGD,IACnC,GAAIy/C,GAAU95C,EAAI3F,IACd,OAAO,EAGf,OAAO,CACX,CACA,GAAIoxC,GAASzrC,GACT,OAAO,EAEX,GAAIA,EAAI+5C,QACkB,oBAAf/5C,EAAI+5C,QACU,IAArB57B,UAAU5jB,OACV,OAAOu/C,GAAU95C,EAAI+5C,UAAU,GAEnC,IAAK,MAAM17C,KAAO2B,EACd,GAAId,OAAOuwB,UAAU3vB,eAAeyC,KAAKvC,EAAK3B,IAAQy7C,GAAU95C,EAAI3B,IAChE,OAAO,EAGf,OAAO,CACX,CCzCO,SAAS27C,GAAkB9R,GAC9B,MAAM+R,EAAU,GACVC,EAAahS,EAAOn5B,KACpBorC,EAAOjS,EAGb,OAFAiS,EAAKprC,KAAOqrC,GAAmBF,EAAYD,GAC3CE,EAAKE,YAAcJ,EAAQ1/C,OACpB,CAAE2tC,OAAQiS,EAAMF,QAASA,EACpC,CACA,SAASG,GAAmBrrC,EAAMkrC,GAC9B,IAAKlrC,EACD,OAAOA,EACX,GAAI08B,GAAS18B,GAAO,CAChB,MAAM4Z,EAAc,CAAE2xB,cAAc,EAAM3K,IAAKsK,EAAQ1/C,QAEvD,OADA0/C,EAAQrgD,KAAKmV,GACN4Z,CACX,CACK,GAAInU,MAAMwtB,QAAQjzB,GAAO,CAC1B,MAAMwrC,EAAU,IAAI/lC,MAAMzF,EAAKxU,QAC/B,IAAK,IAAIF,EAAI,EAAGA,EAAI0U,EAAKxU,OAAQF,IAC7BkgD,EAAQlgD,GAAK+/C,GAAmBrrC,EAAK1U,GAAI4/C,GAE7C,OAAOM,CACX,CACK,GAAoB,kBAATxrC,KAAuBA,aAAgBghC,MAAO,CAC1D,MAAMwK,EAAU,CAAC,EACjB,IAAK,MAAMl8C,KAAO0Q,EACV7P,OAAOuwB,UAAU3vB,eAAeyC,KAAKwM,EAAM1Q,KAC3Ck8C,EAAQl8C,GAAO+7C,GAAmBrrC,EAAK1Q,GAAM47C,IAGrD,OAAOM,CACX,CACA,OAAOxrC,CACX,CASO,SAASyrC,GAAkBtS,EAAQ+R,GAGtC,OAFA/R,EAAOn5B,KAAO0rC,GAAmBvS,EAAOn5B,KAAMkrC,UACvC/R,EAAOmS,YACPnS,CACX,CACA,SAASuS,GAAmB1rC,EAAMkrC,GAC9B,IAAKlrC,EACD,OAAOA,EACX,GAAIA,IAA8B,IAAtBA,EAAKurC,aAAuB,CACpC,MAAMI,EAAmC,kBAAb3rC,EAAK4gC,KAC7B5gC,EAAK4gC,KAAO,GACZ5gC,EAAK4gC,IAAMsK,EAAQ1/C,OACvB,GAAImgD,EACA,OAAOT,EAAQlrC,EAAK4gC,KAGpB,MAAM,IAAI/B,MAAM,sBAExB,CACK,GAAIp5B,MAAMwtB,QAAQjzB,GACnB,IAAK,IAAI1U,EAAI,EAAGA,EAAI0U,EAAKxU,OAAQF,IAC7B0U,EAAK1U,GAAKogD,GAAmB1rC,EAAK1U,GAAI4/C,QAGzC,GAAoB,kBAATlrC,EACZ,IAAK,MAAM1Q,KAAO0Q,EACV7P,OAAOuwB,UAAU3vB,eAAeyC,KAAKwM,EAAM1Q,KAC3C0Q,EAAK1Q,GAAOo8C,GAAmB1rC,EAAK1Q,GAAM47C,IAItD,OAAOlrC,CACX,CC5EA,MAAM4rC,GAAkB,CACpB,UACA,gBACA,aACA,gBACA,cACA,kBAOS,GAAW,EACjB,IAAIC,IACX,SAAWA,GACPA,EAAWA,EAAW,WAAa,GAAK,UACxCA,EAAWA,EAAW,cAAgB,GAAK,aAC3CA,EAAWA,EAAW,SAAW,GAAK,QACtCA,EAAWA,EAAW,OAAS,GAAK,MACpCA,EAAWA,EAAW,iBAAmB,GAAK,gBAC9CA,EAAWA,EAAW,gBAAkB,GAAK,eAC7CA,EAAWA,EAAW,cAAgB,GAAK,YAC9C,EARD,CAQGA,KAAeA,GAAa,CAAC,IAIzB,MAAMC,GAMT,WAAA1hD,CAAYgtC,GACR9sC,KAAK8sC,SAAWA,CACpB,CAOA,MAAAmC,CAAOtoC,GACH,OAAIA,EAAI5B,OAASw8C,GAAWE,OAAS96C,EAAI5B,OAASw8C,GAAWG,MACrDjB,GAAU95C,GAWX,CAAC3G,KAAK2hD,eAAeh7C,IAVb3G,KAAK4hD,eAAe,CACvB78C,KAAM4B,EAAI5B,OAASw8C,GAAWE,MACxBF,GAAWM,aACXN,GAAWO,WACjBC,IAAKp7C,EAAIo7C,IACTrsC,KAAM/O,EAAI+O,KACVrF,GAAI1J,EAAI0J,IAKxB,CAIA,cAAAsxC,CAAeh7C,GAEX,IAAIshC,EAAM,GAAKthC,EAAI5B,KAmBnB,OAjBI4B,EAAI5B,OAASw8C,GAAWM,cACxBl7C,EAAI5B,OAASw8C,GAAWO,aACxB7Z,GAAOthC,EAAIq6C,YAAc,KAIzBr6C,EAAIo7C,KAAO,MAAQp7C,EAAIo7C,MACvB9Z,GAAOthC,EAAIo7C,IAAM,KAGjB,MAAQp7C,EAAI0J,KACZ43B,GAAOthC,EAAI0J,IAGX,MAAQ1J,EAAI+O,OACZuyB,GAAO2E,KAAKC,UAAUlmC,EAAI+O,KAAM1V,KAAK8sC,WAElC7E,CACX,CAMA,cAAA2Z,CAAej7C,GACX,MAAMq7C,EAAiBrB,GAAkBh6C,GACnCm6C,EAAO9gD,KAAK2hD,eAAeK,EAAenT,QAC1C+R,EAAUoB,EAAepB,QAE/B,OADAA,EAAQ1nC,QAAQ4nC,GACTF,CACX,EAGJ,SAASxX,GAASrmC,GACd,MAAiD,oBAA1C8C,OAAOuwB,UAAUgO,SAASl7B,KAAKnG,EAC1C,CAMO,MAAMk/C,WAAgBvP,EAMzB,WAAA5yC,CAAYoiD,GACRp6C,QACA9H,KAAKkiD,QAAUA,CACnB,CAMA,GAAA/4C,CAAIxC,GACA,IAAIkoC,EACJ,GAAmB,kBAARloC,EAAkB,CACzB,GAAI3G,KAAKmiD,cACL,MAAM,IAAI5N,MAAM,mDAEpB1F,EAAS7uC,KAAKoiD,aAAaz7C,GAC3B,MAAM07C,EAAgBxT,EAAO9pC,OAASw8C,GAAWM,aAC7CQ,GAAiBxT,EAAO9pC,OAASw8C,GAAWO,YAC5CjT,EAAO9pC,KAAOs9C,EAAgBd,GAAWE,MAAQF,GAAWG,IAE5D1hD,KAAKmiD,cAAgB,IAAIG,GAAoBzT,GAElB,IAAvBA,EAAOmS,aACPl5C,MAAMirC,aAAa,UAAWlE,IAKlC/mC,MAAMirC,aAAa,UAAWlE,EAEtC,KACK,KAAIuD,GAASzrC,KAAQA,EAAI0oC,OAe1B,MAAM,IAAIkF,MAAM,iBAAmB5tC,GAbnC,IAAK3G,KAAKmiD,cACN,MAAM,IAAI5N,MAAM,oDAGhB1F,EAAS7uC,KAAKmiD,cAAcI,eAAe57C,GACvCkoC,IAEA7uC,KAAKmiD,cAAgB,KACrBr6C,MAAMirC,aAAa,UAAWlE,GAM1C,CACJ,CAOA,YAAAuT,CAAana,GACT,IAAIjnC,EAAI,EAER,MAAMiP,EAAI,CACNlL,KAAMQ,OAAO0iC,EAAImC,OAAO,KAE5B,QAA2BsO,IAAvB6I,GAAWtxC,EAAElL,MACb,MAAM,IAAIwvC,MAAM,uBAAyBtkC,EAAElL,MAG/C,GAAIkL,EAAElL,OAASw8C,GAAWM,cACtB5xC,EAAElL,OAASw8C,GAAWO,WAAY,CAClC,MAAMxxC,EAAQtP,EAAI,EAClB,MAA2B,MAApBinC,EAAImC,SAASppC,IAAcA,GAAKinC,EAAI/mC,QAC3C,MAAMshD,EAAMva,EAAIiI,UAAU5/B,EAAOtP,GACjC,GAAIwhD,GAAOj9C,OAAOi9C,IAA0B,MAAlBva,EAAImC,OAAOppC,GACjC,MAAM,IAAIuzC,MAAM,uBAEpBtkC,EAAE+wC,YAAcz7C,OAAOi9C,EAC3B,CAEA,GAAI,MAAQva,EAAImC,OAAOppC,EAAI,GAAI,CAC3B,MAAMsP,EAAQtP,EAAI,EAClB,QAASA,EAAG,CACR,MAAMif,EAAIgoB,EAAImC,OAAOppC,GACrB,GAAI,MAAQif,EACR,MACJ,GAAIjf,IAAMinC,EAAI/mC,OACV,KACR,CACA+O,EAAE8xC,IAAM9Z,EAAIiI,UAAU5/B,EAAOtP,EACjC,MAEIiP,EAAE8xC,IAAM,IAGZ,MAAM33C,EAAO69B,EAAImC,OAAOppC,EAAI,GAC5B,GAAI,KAAOoJ,GAAQ7E,OAAO6E,IAASA,EAAM,CACrC,MAAMkG,EAAQtP,EAAI,EAClB,QAASA,EAAG,CACR,MAAMif,EAAIgoB,EAAImC,OAAOppC,GACrB,GAAI,MAAQif,GAAK1a,OAAO0a,IAAMA,EAAG,GAC3Bjf,EACF,KACJ,CACA,GAAIA,IAAMinC,EAAI/mC,OACV,KACR,CACA+O,EAAEI,GAAK9K,OAAO0iC,EAAIiI,UAAU5/B,EAAOtP,EAAI,GAC3C,CAEA,GAAIinC,EAAImC,SAASppC,GAAI,CACjB,MAAMyhD,EAAUziD,KAAK0iD,SAASza,EAAI0a,OAAO3hD,IACzC,IAAIihD,GAAQW,eAAe3yC,EAAElL,KAAM09C,GAI/B,MAAM,IAAIlO,MAAM,mBAHhBtkC,EAAEyF,KAAO+sC,CAKjB,CACA,OAAOxyC,CACX,CACA,QAAAyyC,CAASza,GACL,IACI,OAAO2E,KAAKmQ,MAAM9U,EAAKjoC,KAAKkiD,QAChC,CACA,MAAOljB,GACH,OAAO,CACX,CACJ,CACA,qBAAO4jB,CAAe79C,EAAM09C,GACxB,OAAQ19C,GACJ,KAAKw8C,GAAWsB,QACZ,OAAOzZ,GAASqZ,GACpB,KAAKlB,GAAWuB,WACZ,YAAmBpK,IAAZ+J,EACX,KAAKlB,GAAWwB,cACZ,MAA0B,kBAAZN,GAAwBrZ,GAASqZ,GACnD,KAAKlB,GAAWE,MAChB,KAAKF,GAAWM,aACZ,OAAQ1mC,MAAMwtB,QAAQ8Z,KACK,kBAAfA,EAAQ,IACW,kBAAfA,EAAQ,KAC6B,IAAzCnB,GAAgBlwC,QAAQqxC,EAAQ,KAChD,KAAKlB,GAAWG,IAChB,KAAKH,GAAWO,WACZ,OAAO3mC,MAAMwtB,QAAQ8Z,GAEjC,CAIA,OAAAO,GACQhjD,KAAKmiD,gBACLniD,KAAKmiD,cAAcc,yBACnBjjD,KAAKmiD,cAAgB,KAE7B,EAUJ,MAAMG,GACF,WAAAxiD,CAAY+uC,GACR7uC,KAAK6uC,OAASA,EACd7uC,KAAK4gD,QAAU,GACf5gD,KAAKkjD,UAAYrU,CACrB,CASA,cAAA0T,CAAeY,GAEX,GADAnjD,KAAK4gD,QAAQrgD,KAAK4iD,GACdnjD,KAAK4gD,QAAQ1/C,SAAWlB,KAAKkjD,UAAUlC,YAAa,CAEpD,MAAMnS,EAASsS,GAAkBnhD,KAAKkjD,UAAWljD,KAAK4gD,SAEtD,OADA5gD,KAAKijD,yBACEpU,CACX,CACA,OAAO,IACX,CAIA,sBAAAoU,GACIjjD,KAAKkjD,UAAY,KACjBljD,KAAK4gD,QAAU,EACnB,ECrTG,SAAShgD,GAAG+F,EAAKq0C,EAAIt6C,GAExB,OADAiG,EAAI/F,GAAGo6C,EAAIt6C,GACJ,WACHiG,EAAI9F,IAAIm6C,EAAIt6C,EAChB,CACJ,CCEA,MAAM,GAAkBmF,OAAOu9C,OAAO,CAClCC,QAAS,EACTC,cAAe,EACfC,WAAY,EACZC,cAAe,EAEfC,YAAa,EACb7Q,eAAgB,IA0Bb,MAAM,WAAeF,EAIxB,WAAA5yC,CAAY4jD,EAAI3B,EAAKtO,GACjB3rC,QAeA9H,KAAK2jD,WAAY,EAKjB3jD,KAAK4jD,WAAY,EAIjB5jD,KAAK6jD,cAAgB,GAIrB7jD,KAAK8jD,WAAa,GAOlB9jD,KAAK+jD,OAAS,GAKd/jD,KAAKgkD,UAAY,EACjBhkD,KAAKikD,IAAM,EAwBXjkD,KAAKkkD,KAAO,CAAC,EACblkD,KAAKmkD,MAAQ,CAAC,EACdnkD,KAAK0jD,GAAKA,EACV1jD,KAAK+hD,IAAMA,EACPtO,GAAQA,EAAK2Q,OACbpkD,KAAKokD,KAAO3Q,EAAK2Q,MAErBpkD,KAAKqkD,MAAQx+C,OAAO4iC,OAAO,CAAC,EAAGgL,GAC3BzzC,KAAK0jD,GAAGY,cACRtkD,KAAK60C,MACb,CAeA,gBAAI0P,GACA,OAAQvkD,KAAK2jD,SACjB,CAMA,SAAAa,GACI,GAAIxkD,KAAKykD,KACL,OACJ,MAAMf,EAAK1jD,KAAK0jD,GAChB1jD,KAAKykD,KAAO,CACR7jD,GAAG8iD,EAAI,OAAQ1jD,KAAK06C,OAAOvqC,KAAKnQ,OAChCY,GAAG8iD,EAAI,SAAU1jD,KAAK0kD,SAASv0C,KAAKnQ,OACpCY,GAAG8iD,EAAI,QAAS1jD,KAAKi7C,QAAQ9qC,KAAKnQ,OAClCY,GAAG8iD,EAAI,QAAS1jD,KAAK66C,QAAQ1qC,KAAKnQ,OAE1C,CAkBA,UAAIQ,GACA,QAASR,KAAKykD,IAClB,CAWA,OAAApB,GACI,OAAIrjD,KAAK2jD,YAET3jD,KAAKwkD,YACAxkD,KAAK0jD,GAAG,kBACT1jD,KAAK0jD,GAAG7O,OACR,SAAW70C,KAAK0jD,GAAGiB,aACnB3kD,KAAK06C,UALE16C,IAOf,CAIA,IAAA60C,GACI,OAAO70C,KAAKqjD,SAChB,CAgBA,IAAAlO,IAAQ/uC,GAGJ,OAFAA,EAAK8S,QAAQ,WACblZ,KAAKkS,KAAK1L,MAAMxG,KAAMoG,GACfpG,IACX,CAkBA,IAAAkS,CAAK8oC,KAAO50C,GACR,GAAI,GAAgBK,eAAeu0C,GAC/B,MAAM,IAAIzG,MAAM,IAAMyG,EAAG5W,WAAa,8BAG1C,GADAh+B,EAAK8S,QAAQ8hC,GACTh7C,KAAKqkD,MAAMO,UAAY5kD,KAAKmkD,MAAMU,YAAc7kD,KAAKmkD,MAAMW,SAE3D,OADA9kD,KAAK+kD,YAAY3+C,GACVpG,KAEX,MAAM6uC,EAAS,CACX9pC,KAAMw8C,GAAWE,MACjB/rC,KAAMtP,EAEVyoC,QAAiB,CAAC,GAGlB,GAFAA,EAAO56B,QAAQknC,UAAmC,IAAxBn7C,KAAKmkD,MAAMhJ,SAEjC,oBAAsB/0C,EAAKA,EAAKlF,OAAS,GAAI,CAC7C,MAAMmP,EAAKrQ,KAAKikD,MACVe,EAAM5+C,EAAKhF,MACjBpB,KAAKilD,qBAAqB50C,EAAI20C,GAC9BnW,EAAOx+B,GAAKA,CAChB,CACA,MAAM60C,EAAsBllD,KAAK0jD,GAAGyB,QAChCnlD,KAAK0jD,GAAGyB,OAAO1J,WACfz7C,KAAK0jD,GAAGyB,OAAO1J,UAAU/Q,SACvB0a,EAAgBplD,KAAKmkD,MAAMW,YAAcI,IAAwBllD,KAAK2jD,WAW5E,OAVIyB,IAEKplD,KAAK2jD,WACV3jD,KAAKqlD,wBAAwBxW,GAC7B7uC,KAAK6uC,OAAOA,IAGZ7uC,KAAK8jD,WAAWvjD,KAAKsuC,IAEzB7uC,KAAKmkD,MAAQ,CAAC,EACPnkD,IACX,CAIA,oBAAAilD,CAAqB50C,EAAI20C,GACrB,IAAIx3C,EACJ,MAAMu1B,EAAwC,QAA7Bv1B,EAAKxN,KAAKmkD,MAAMphB,eAA4B,IAAPv1B,EAAgBA,EAAKxN,KAAKqkD,MAAMiB,WACtF,QAAgB5M,IAAZ3V,EAEA,YADA/iC,KAAKkkD,KAAK7zC,GAAM20C,GAIpB,MAAMO,EAAQvlD,KAAK0jD,GAAG/P,cAAa,YACxB3zC,KAAKkkD,KAAK7zC,GACjB,IAAK,IAAIrP,EAAI,EAAGA,EAAIhB,KAAK8jD,WAAW5iD,OAAQF,IACpChB,KAAK8jD,WAAW9iD,GAAGqP,KAAOA,GAC1BrQ,KAAK8jD,WAAW9yC,OAAOhQ,EAAG,GAGlCgkD,EAAI97C,KAAKlJ,KAAM,IAAIu0C,MAAM,2BAA2B,GACrDxR,GACGriC,EAAK,IAAI0F,KAEXpG,KAAK0jD,GAAG9P,eAAe2R,GACvBP,EAAIx+C,MAAMxG,KAAMoG,EAAK,EAEzB1F,EAAG8kD,WAAY,EACfxlD,KAAKkkD,KAAK7zC,GAAM3P,CACpB,CAiBA,WAAA+kD,CAAYzK,KAAO50C,GACf,OAAO,IAAIyJ,SAAQ,CAACC,EAAS41C,KACzB,MAAMhlD,EAAK,CAACilD,EAAMC,IACPD,EAAOD,EAAOC,GAAQ71C,EAAQ81C,GAEzCllD,EAAG8kD,WAAY,EACfp/C,EAAK7F,KAAKG,GACVV,KAAKkS,KAAK8oC,KAAO50C,EAAK,GAE9B,CAMA,WAAA2+C,CAAY3+C,GACR,IAAI4+C,EACiC,oBAA1B5+C,EAAKA,EAAKlF,OAAS,KAC1B8jD,EAAM5+C,EAAKhF,OAEf,MAAMytC,EAAS,CACXx+B,GAAIrQ,KAAKgkD,YACT6B,SAAU,EACVC,SAAS,EACT1/C,OACA+9C,MAAOt+C,OAAO4iC,OAAO,CAAEoc,WAAW,GAAQ7kD,KAAKmkD,QAEnD/9C,EAAK7F,MAAK,CAAC2N,KAAQ63C,KACf,GAAIlX,IAAW7uC,KAAK+jD,OAAO,GAEvB,OAEJ,MAAMiC,EAAmB,OAAR93C,EAgBjB,OAfI83C,EACInX,EAAOgX,SAAW7lD,KAAKqkD,MAAMO,UAC7B5kD,KAAK+jD,OAAOngD,QACRohD,GACAA,EAAI92C,KAKZlO,KAAK+jD,OAAOngD,QACRohD,GACAA,EAAI,QAASe,IAGrBlX,EAAOiX,SAAU,EACV9lD,KAAKimD,aAAa,IAE7BjmD,KAAK+jD,OAAOxjD,KAAKsuC,GACjB7uC,KAAKimD,aACT,CAOA,WAAAA,CAAYC,GAAQ,GAChB,IAAKlmD,KAAK2jD,WAAoC,IAAvB3jD,KAAK+jD,OAAO7iD,OAC/B,OAEJ,MAAM2tC,EAAS7uC,KAAK+jD,OAAO,GACvBlV,EAAOiX,UAAYI,IAGvBrX,EAAOiX,SAAU,EACjBjX,EAAOgX,WACP7lD,KAAKmkD,MAAQtV,EAAOsV,MACpBnkD,KAAKkS,KAAK1L,MAAMxG,KAAM6uC,EAAOzoC,MACjC,CAOA,MAAAyoC,CAAOA,GACHA,EAAOkT,IAAM/hD,KAAK+hD,IAClB/hD,KAAK0jD,GAAGyC,QAAQtX,EACpB,CAMA,MAAA6L,GAC4B,mBAAb16C,KAAKokD,KACZpkD,KAAKokD,MAAM1uC,IACP1V,KAAKomD,mBAAmB1wC,EAAK,IAIjC1V,KAAKomD,mBAAmBpmD,KAAKokD,KAErC,CAOA,kBAAAgC,CAAmB1wC,GACf1V,KAAK6uC,OAAO,CACR9pC,KAAMw8C,GAAWsB,QACjBntC,KAAM1V,KAAKqmD,KACLxgD,OAAO4iC,OAAO,CAAE6d,IAAKtmD,KAAKqmD,KAAME,OAAQvmD,KAAKwmD,aAAe9wC,GAC5DA,GAEd,CAOA,OAAAulC,CAAQ/sC,GACClO,KAAK2jD,WACN3jD,KAAK+yC,aAAa,gBAAiB7kC,EAE3C,CAQA,OAAA2sC,CAAQrG,EAAQrH,GACZntC,KAAK2jD,WAAY,SACV3jD,KAAKqQ,GACZrQ,KAAK+yC,aAAa,aAAcyB,EAAQrH,GACxCntC,KAAKymD,YACT,CAOA,UAAAA,GACI5gD,OAAO1B,KAAKnE,KAAKkkD,MAAM1+C,SAAS6K,IAC5B,MAAMq2C,EAAa1mD,KAAK8jD,WAAWttC,MAAMq4B,GAAWnoC,OAAOmoC,EAAOx+B,MAAQA,IAC1E,IAAKq2C,EAAY,CAEb,MAAM1B,EAAMhlD,KAAKkkD,KAAK7zC,UACfrQ,KAAKkkD,KAAK7zC,GACb20C,EAAIQ,WACJR,EAAI97C,KAAKlJ,KAAM,IAAIu0C,MAAM,gCAEjC,IAER,CAOA,QAAAmQ,CAAS7V,GACL,MAAM8X,EAAgB9X,EAAOkT,MAAQ/hD,KAAK+hD,IAC1C,GAAK4E,EAEL,OAAQ9X,EAAO9pC,MACX,KAAKw8C,GAAWsB,QACRhU,EAAOn5B,MAAQm5B,EAAOn5B,KAAKyiC,IAC3Bn4C,KAAK4mD,UAAU/X,EAAOn5B,KAAKyiC,IAAKtJ,EAAOn5B,KAAK4wC,KAG5CtmD,KAAK+yC,aAAa,gBAAiB,IAAIwB,MAAM,8LAEjD,MACJ,KAAKgN,GAAWE,MAChB,KAAKF,GAAWM,aACZ7hD,KAAK6mD,QAAQhY,GACb,MACJ,KAAK0S,GAAWG,IAChB,KAAKH,GAAWO,WACZ9hD,KAAK8mD,MAAMjY,GACX,MACJ,KAAK0S,GAAWuB,WACZ9iD,KAAK+mD,eACL,MACJ,KAAKxF,GAAWwB,cACZ/iD,KAAKgjD,UACL,MAAM90C,EAAM,IAAIqmC,MAAM1F,EAAOn5B,KAAKsxC,SAElC94C,EAAIwH,KAAOm5B,EAAOn5B,KAAKA,KACvB1V,KAAK+yC,aAAa,gBAAiB7kC,GACnC,MAEZ,CAOA,OAAA24C,CAAQhY,GACJ,MAAMzoC,EAAOyoC,EAAOn5B,MAAQ,GACxB,MAAQm5B,EAAOx+B,IACfjK,EAAK7F,KAAKP,KAAKglD,IAAInW,EAAOx+B,KAE1BrQ,KAAK2jD,UACL3jD,KAAKinD,UAAU7gD,GAGfpG,KAAK6jD,cAActjD,KAAKsF,OAAOu9C,OAAOh9C,GAE9C,CACA,SAAA6gD,CAAU7gD,GACN,GAAIpG,KAAKknD,eAAiBlnD,KAAKknD,cAAchmD,OAAQ,CACjD,MAAM8xC,EAAYhzC,KAAKknD,cAAcx0C,QACrC,IAAK,MAAMy0C,KAAYnU,EACnBmU,EAAS3gD,MAAMxG,KAAMoG,EAE7B,CACA0B,MAAMoK,KAAK1L,MAAMxG,KAAMoG,GACnBpG,KAAKqmD,MAAQjgD,EAAKlF,QAA2C,kBAA1BkF,EAAKA,EAAKlF,OAAS,KACtDlB,KAAKwmD,YAAcpgD,EAAKA,EAAKlF,OAAS,GAE9C,CAMA,GAAA8jD,CAAI30C,GACA,MAAMtD,EAAO/M,KACb,IAAIonD,GAAO,EACX,OAAO,YAAahhD,GAEZghD,IAEJA,GAAO,EACPr6C,EAAK8hC,OAAO,CACR9pC,KAAMw8C,GAAWG,IACjBrxC,GAAIA,EACJqF,KAAMtP,IAEd,CACJ,CAOA,KAAA0gD,CAAMjY,GACF,MAAMmW,EAAMhlD,KAAKkkD,KAAKrV,EAAOx+B,IACV,oBAAR20C,WAGJhlD,KAAKkkD,KAAKrV,EAAOx+B,IAEpB20C,EAAIQ,WACJ3W,EAAOn5B,KAAKwD,QAAQ,MAGxB8rC,EAAIx+C,MAAMxG,KAAM6uC,EAAOn5B,MAC3B,CAMA,SAAAkxC,CAAUv2C,EAAIi2C,GACVtmD,KAAKqQ,GAAKA,EACVrQ,KAAK4jD,UAAY0C,GAAOtmD,KAAKqmD,OAASC,EACtCtmD,KAAKqmD,KAAOC,EACZtmD,KAAK2jD,WAAY,EACjB3jD,KAAKqnD,eACLrnD,KAAK+yC,aAAa,WAClB/yC,KAAKimD,aAAY,EACrB,CAMA,YAAAoB,GACIrnD,KAAK6jD,cAAcr+C,SAASY,GAASpG,KAAKinD,UAAU7gD,KACpDpG,KAAK6jD,cAAgB,GACrB7jD,KAAK8jD,WAAWt+C,SAASqpC,IACrB7uC,KAAKqlD,wBAAwBxW,GAC7B7uC,KAAK6uC,OAAOA,EAAO,IAEvB7uC,KAAK8jD,WAAa,EACtB,CAMA,YAAAiD,GACI/mD,KAAKgjD,UACLhjD,KAAK66C,QAAQ,uBACjB,CAQA,OAAAmI,GACQhjD,KAAKykD,OAELzkD,KAAKykD,KAAKj/C,SAAS8hD,GAAeA,MAClCtnD,KAAKykD,UAAO/L,GAEhB14C,KAAK0jD,GAAG,YAAY1jD,KACxB,CAiBA,UAAAujD,GAUI,OATIvjD,KAAK2jD,WACL3jD,KAAK6uC,OAAO,CAAE9pC,KAAMw8C,GAAWuB,aAGnC9iD,KAAKgjD,UACDhjD,KAAK2jD,WAEL3jD,KAAK66C,QAAQ,wBAEV76C,IACX,CAMA,KAAAg1C,GACI,OAAOh1C,KAAKujD,YAChB,CAUA,QAAApI,CAASA,GAEL,OADAn7C,KAAKmkD,MAAMhJ,SAAWA,EACfn7C,IACX,CAUA,YAAI8kD,GAEA,OADA9kD,KAAKmkD,MAAMW,UAAW,EACf9kD,IACX,CAcA,OAAA+iC,CAAQA,GAEJ,OADA/iC,KAAKmkD,MAAMphB,QAAUA,EACd/iC,IACX,CAYA,KAAAunD,CAAMJ,GAGF,OAFAnnD,KAAKknD,cAAgBlnD,KAAKknD,eAAiB,GAC3ClnD,KAAKknD,cAAc3mD,KAAK4mD,GACjBnnD,IACX,CAYA,UAAAwnD,CAAWL,GAGP,OAFAnnD,KAAKknD,cAAgBlnD,KAAKknD,eAAiB,GAC3ClnD,KAAKknD,cAAchuC,QAAQiuC,GACpBnnD,IACX,CAmBA,MAAAynD,CAAON,GACH,IAAKnnD,KAAKknD,cACN,OAAOlnD,KAEX,GAAImnD,EAAU,CACV,MAAMnU,EAAYhzC,KAAKknD,cACvB,IAAK,IAAIlmD,EAAI,EAAGA,EAAIgyC,EAAU9xC,OAAQF,IAClC,GAAImmD,IAAanU,EAAUhyC,GAEvB,OADAgyC,EAAUhiC,OAAOhQ,EAAG,GACbhB,IAGnB,MAEIA,KAAKknD,cAAgB,GAEzB,OAAOlnD,IACX,CAKA,YAAA0nD,GACI,OAAO1nD,KAAKknD,eAAiB,EACjC,CAcA,aAAAS,CAAcR,GAGV,OAFAnnD,KAAK4nD,sBAAwB5nD,KAAK4nD,uBAAyB,GAC3D5nD,KAAK4nD,sBAAsBrnD,KAAK4mD,GACzBnnD,IACX,CAcA,kBAAA6nD,CAAmBV,GAGf,OAFAnnD,KAAK4nD,sBAAwB5nD,KAAK4nD,uBAAyB,GAC3D5nD,KAAK4nD,sBAAsB1uC,QAAQiuC,GAC5BnnD,IACX,CAmBA,cAAA8nD,CAAeX,GACX,IAAKnnD,KAAK4nD,sBACN,OAAO5nD,KAEX,GAAImnD,EAAU,CACV,MAAMnU,EAAYhzC,KAAK4nD,sBACvB,IAAK,IAAI5mD,EAAI,EAAGA,EAAIgyC,EAAU9xC,OAAQF,IAClC,GAAImmD,IAAanU,EAAUhyC,GAEvB,OADAgyC,EAAUhiC,OAAOhQ,EAAG,GACbhB,IAGnB,MAEIA,KAAK4nD,sBAAwB,GAEjC,OAAO5nD,IACX,CAKA,oBAAA+nD,GACI,OAAO/nD,KAAK4nD,uBAAyB,EACzC,CAQA,uBAAAvC,CAAwBxW,GACpB,GAAI7uC,KAAK4nD,uBAAyB5nD,KAAK4nD,sBAAsB1mD,OAAQ,CACjE,MAAM8xC,EAAYhzC,KAAK4nD,sBAAsBl1C,QAC7C,IAAK,MAAMy0C,KAAYnU,EACnBmU,EAAS3gD,MAAMxG,KAAM6uC,EAAOn5B,KAEpC,CACJ,ECr2BG,SAASsyC,GAAQvU,GACpBA,EAAOA,GAAQ,CAAC,EAChBzzC,KAAKioD,GAAKxU,EAAK3iB,KAAO,IACtB9wB,KAAKkkC,IAAMuP,EAAKvP,KAAO,IACvBlkC,KAAKkoD,OAASzU,EAAKyU,QAAU,EAC7BloD,KAAKmoD,OAAS1U,EAAK0U,OAAS,GAAK1U,EAAK0U,QAAU,EAAI1U,EAAK0U,OAAS,EAClEnoD,KAAKooD,SAAW,CACpB,CAOAJ,GAAQ5xB,UAAUoK,SAAW,WACzB,IAAIynB,EAAKjoD,KAAKioD,GAAKp3B,KAAK2hB,IAAIxyC,KAAKkoD,OAAQloD,KAAKooD,YAC9C,GAAIpoD,KAAKmoD,OAAQ,CACb,IAAIE,EAAOx3B,KAAKy3B,SACZC,EAAY13B,KAAK0lB,MAAM8R,EAAOroD,KAAKmoD,OAASF,GAChDA,EAAoC,IAAN,EAAxBp3B,KAAK0lB,MAAa,GAAP8R,IAAuBJ,EAAKM,EAAYN,EAAKM,CAClE,CACA,OAAgC,EAAzB13B,KAAKC,IAAIm3B,EAAIjoD,KAAKkkC,IAC7B,EAMA8jB,GAAQ5xB,UAAUpd,MAAQ,WACtBhZ,KAAKooD,SAAW,CACpB,EAMAJ,GAAQ5xB,UAAUoyB,OAAS,SAAU13B,GACjC9wB,KAAKioD,GAAKn3B,CACd,EAMAk3B,GAAQ5xB,UAAUqyB,OAAS,SAAUvkB,GACjClkC,KAAKkkC,IAAMA,CACf,EAMA8jB,GAAQ5xB,UAAUsyB,UAAY,SAAUP,GACpCnoD,KAAKmoD,OAASA,CAClB,EC3DO,MAAMQ,WAAgBjW,EACzB,WAAA5yC,CAAYk4C,EAAKvE,GACb,IAAIjmC,EACJ1F,QACA9H,KAAK4oD,KAAO,CAAC,EACb5oD,KAAKykD,KAAO,GACRzM,GAAO,kBAAoBA,IAC3BvE,EAAOuE,EACPA,OAAMU,GAEVjF,EAAOA,GAAQ,CAAC,EAChBA,EAAK1d,KAAO0d,EAAK1d,MAAQ,aACzB/1B,KAAKyzC,KAAOA,EACZD,EAAsBxzC,KAAMyzC,GAC5BzzC,KAAK6oD,cAAmC,IAAtBpV,EAAKoV,cACvB7oD,KAAK8oD,qBAAqBrV,EAAKqV,sBAAwB/2C,KACvD/R,KAAK+oD,kBAAkBtV,EAAKsV,mBAAqB,KACjD/oD,KAAKgpD,qBAAqBvV,EAAKuV,sBAAwB,KACvDhpD,KAAKipD,oBAAwD,QAAnCz7C,EAAKimC,EAAKwV,2BAAwC,IAAPz7C,EAAgBA,EAAK,IAC1FxN,KAAKkpD,QAAU,IAAIlB,GAAQ,CACvBl3B,IAAK9wB,KAAK+oD,oBACV7kB,IAAKlkC,KAAKgpD,uBACVb,OAAQnoD,KAAKipD,wBAEjBjpD,KAAK+iC,QAAQ,MAAQ0Q,EAAK1Q,QAAU,IAAQ0Q,EAAK1Q,SACjD/iC,KAAK2kD,YAAc,SACnB3kD,KAAKg4C,IAAMA,EACX,MAAMmR,EAAU1V,EAAK2V,QAAU,EAC/BppD,KAAKqpD,QAAU,IAAIF,EAAQ3H,QAC3BxhD,KAAKspD,QAAU,IAAIH,EAAQlH,QAC3BjiD,KAAKskD,cAAoC,IAArB7Q,EAAK8V,YACrBvpD,KAAKskD,cACLtkD,KAAK60C,MACb,CACA,YAAAgU,CAAarmD,GACT,OAAKsiB,UAAU5jB,QAEflB,KAAKwpD,gBAAkBhnD,EAChBxC,MAFIA,KAAKwpD,aAGpB,CACA,oBAAAV,CAAqBtmD,GACjB,YAAUk2C,IAANl2C,EACOxC,KAAKypD,uBAChBzpD,KAAKypD,sBAAwBjnD,EACtBxC,KACX,CACA,iBAAA+oD,CAAkBvmD,GACd,IAAIgL,EACJ,YAAUkrC,IAANl2C,EACOxC,KAAK0pD,oBAChB1pD,KAAK0pD,mBAAqBlnD,EACF,QAAvBgL,EAAKxN,KAAKkpD,eAA4B,IAAP17C,GAAyBA,EAAGg7C,OAAOhmD,GAC5DxC,KACX,CACA,mBAAAipD,CAAoBzmD,GAChB,IAAIgL,EACJ,YAAUkrC,IAANl2C,EACOxC,KAAK2pD,sBAChB3pD,KAAK2pD,qBAAuBnnD,EACJ,QAAvBgL,EAAKxN,KAAKkpD,eAA4B,IAAP17C,GAAyBA,EAAGk7C,UAAUlmD,GAC/DxC,KACX,CACA,oBAAAgpD,CAAqBxmD,GACjB,IAAIgL,EACJ,YAAUkrC,IAANl2C,EACOxC,KAAK4pD,uBAChB5pD,KAAK4pD,sBAAwBpnD,EACL,QAAvBgL,EAAKxN,KAAKkpD,eAA4B,IAAP17C,GAAyBA,EAAGi7C,OAAOjmD,GAC5DxC,KACX,CACA,OAAA+iC,CAAQvgC,GACJ,OAAKsiB,UAAU5jB,QAEflB,KAAK6pD,SAAWrnD,EACTxC,MAFIA,KAAK6pD,QAGpB,CAOA,oBAAAC,IAES9pD,KAAK+pD,eACN/pD,KAAKwpD,eACqB,IAA1BxpD,KAAKkpD,QAAQd,UAEbpoD,KAAKgqD,WAEb,CAQA,IAAAnV,CAAKn0C,GACD,IAAKV,KAAK2kD,YAAYvzC,QAAQ,QAC1B,OAAOpR,KACXA,KAAKmlD,OAAS,IAAI,GAAOnlD,KAAKg4C,IAAKh4C,KAAKyzC,MACxC,MAAMkB,EAAS30C,KAAKmlD,OACdp4C,EAAO/M,KACbA,KAAK2kD,YAAc,UACnB3kD,KAAKiqD,eAAgB,EAErB,MAAMC,EAAiBtpD,GAAG+zC,EAAQ,QAAQ,WACtC5nC,EAAK2tC,SACLh6C,GAAMA,GACV,IACMk0C,EAAW1mC,IACblO,KAAKsD,UACLtD,KAAK2kD,YAAc,SACnB3kD,KAAK+yC,aAAa,QAAS7kC,GACvBxN,EACAA,EAAGwN,GAIHlO,KAAK8pD,sBACT,EAGEK,EAAWvpD,GAAG+zC,EAAQ,QAASC,GACrC,IAAI,IAAU50C,KAAK6pD,SAAU,CACzB,MAAM9mB,EAAU/iC,KAAK6pD,SAEftE,EAAQvlD,KAAK2zC,cAAa,KAC5BuW,IACAtV,EAAQ,IAAIL,MAAM,YAClBI,EAAOK,OAAO,GACfjS,GACC/iC,KAAKyzC,KAAKkH,WACV4K,EAAM33C,QAEV5N,KAAKykD,KAAKlkD,MAAK,KACXP,KAAK4zC,eAAe2R,EAAM,GAElC,CAGA,OAFAvlD,KAAKykD,KAAKlkD,KAAK2pD,GACflqD,KAAKykD,KAAKlkD,KAAK4pD,GACRnqD,IACX,CAOA,OAAAqjD,CAAQ3iD,GACJ,OAAOV,KAAK60C,KAAKn0C,EACrB,CAMA,MAAAg6C,GAEI16C,KAAKsD,UAELtD,KAAK2kD,YAAc,OACnB3kD,KAAK+yC,aAAa,QAElB,MAAM4B,EAAS30C,KAAKmlD,OACpBnlD,KAAKykD,KAAKlkD,KAAKK,GAAG+zC,EAAQ,OAAQ30C,KAAKoqD,OAAOj6C,KAAKnQ,OAAQY,GAAG+zC,EAAQ,OAAQ30C,KAAKqqD,OAAOl6C,KAAKnQ,OAAQY,GAAG+zC,EAAQ,QAAS30C,KAAKi7C,QAAQ9qC,KAAKnQ,OAAQY,GAAG+zC,EAAQ,QAAS30C,KAAK66C,QAAQ1qC,KAAKnQ,OAAQY,GAAGZ,KAAKspD,QAAS,UAAWtpD,KAAKsqD,UAAUn6C,KAAKnQ,OACvP,CAMA,MAAAoqD,GACIpqD,KAAK+yC,aAAa,OACtB,CAMA,MAAAsX,CAAO30C,GACH,IACI1V,KAAKspD,QAAQngD,IAAIuM,EACrB,CACA,MAAOspB,GACHh/B,KAAK66C,QAAQ,cAAe7b,EAChC,CACJ,CAMA,SAAAsrB,CAAUzb,GAEN7+B,IAAS,KACLhQ,KAAK+yC,aAAa,SAAUlE,EAAO,GACpC7uC,KAAK2zC,aACZ,CAMA,OAAAsH,CAAQ/sC,GACJlO,KAAK+yC,aAAa,QAAS7kC,EAC/B,CAOA,MAAAymC,CAAOoN,EAAKtO,GACR,IAAIkB,EAAS30C,KAAK4oD,KAAK7G,GAQvB,OAPKpN,EAII30C,KAAKskD,eAAiB3P,EAAOn0C,QAClCm0C,EAAO0O,WAJP1O,EAAS,IAAI,GAAO30C,KAAM+hD,EAAKtO,GAC/BzzC,KAAK4oD,KAAK7G,GAAOpN,GAKdA,CACX,CAOA,QAAA4V,CAAS5V,GACL,MAAMiU,EAAO/iD,OAAO1B,KAAKnE,KAAK4oD,MAC9B,IAAK,MAAM7G,KAAO6G,EAAM,CACpB,MAAMjU,EAAS30C,KAAK4oD,KAAK7G,GACzB,GAAIpN,EAAOn0C,OACP,MAER,CACAR,KAAKwqD,QACT,CAOA,OAAArE,CAAQtX,GACJ,MAAM4B,EAAiBzwC,KAAKqpD,QAAQpa,OAAOJ,GAC3C,IAAK,IAAI7tC,EAAI,EAAGA,EAAIyvC,EAAevvC,OAAQF,IACvChB,KAAKmlD,OAAO/P,MAAM3E,EAAezvC,GAAI6tC,EAAO56B,QAEpD,CAMA,OAAA3Q,GACItD,KAAKykD,KAAKj/C,SAAS8hD,GAAeA,MAClCtnD,KAAKykD,KAAKvjD,OAAS,EACnBlB,KAAKspD,QAAQtG,SACjB,CAMA,MAAAwH,GACIxqD,KAAKiqD,eAAgB,EACrBjqD,KAAK+pD,eAAgB,EACrB/pD,KAAK66C,QAAQ,gBACT76C,KAAKmlD,QACLnlD,KAAKmlD,OAAOnQ,OACpB,CAMA,UAAAuO,GACI,OAAOvjD,KAAKwqD,QAChB,CAMA,OAAA3P,CAAQrG,EAAQrH,GACZntC,KAAKsD,UACLtD,KAAKkpD,QAAQlwC,QACbhZ,KAAK2kD,YAAc,SACnB3kD,KAAK+yC,aAAa,QAASyB,EAAQrH,GAC/BntC,KAAKwpD,gBAAkBxpD,KAAKiqD,eAC5BjqD,KAAKgqD,WAEb,CAMA,SAAAA,GACI,GAAIhqD,KAAK+pD,eAAiB/pD,KAAKiqD,cAC3B,OAAOjqD,KACX,MAAM+M,EAAO/M,KACb,GAAIA,KAAKkpD,QAAQd,UAAYpoD,KAAKypD,sBAC9BzpD,KAAKkpD,QAAQlwC,QACbhZ,KAAK+yC,aAAa,oBAClB/yC,KAAK+pD,eAAgB,MAEpB,CACD,MAAMU,EAAQzqD,KAAKkpD,QAAQ1oB,WAC3BxgC,KAAK+pD,eAAgB,EACrB,MAAMxE,EAAQvlD,KAAK2zC,cAAa,KACxB5mC,EAAKk9C,gBAETjqD,KAAK+yC,aAAa,oBAAqBhmC,EAAKm8C,QAAQd,UAEhDr7C,EAAKk9C,eAETl9C,EAAK8nC,MAAM3mC,IACHA,GACAnB,EAAKg9C,eAAgB,EACrBh9C,EAAKi9C,YACLhqD,KAAK+yC,aAAa,kBAAmB7kC,IAGrCnB,EAAK29C,aACT,IACF,GACHD,GACCzqD,KAAKyzC,KAAKkH,WACV4K,EAAM33C,QAEV5N,KAAKykD,KAAKlkD,MAAK,KACXP,KAAK4zC,eAAe2R,EAAM,GAElC,CACJ,CAMA,WAAAmF,GACI,MAAMC,EAAU3qD,KAAKkpD,QAAQd,SAC7BpoD,KAAK+pD,eAAgB,EACrB/pD,KAAKkpD,QAAQlwC,QACbhZ,KAAK+yC,aAAa,YAAa4X,EACnC,EC9VJ,MAAMt3C,GAAQ,CAAC,EACf,SAAS,GAAO2kC,EAAKvE,GACE,kBAARuE,IACPvE,EAAOuE,EACPA,OAAMU,GAEVjF,EAAOA,GAAQ,CAAC,EAChB,MAAMmX,EAASzK,GAAInI,EAAKvE,EAAK1d,MAAQ,cAC/B/a,EAAS4vC,EAAO5vC,OAChB3K,EAAKu6C,EAAOv6C,GACZ0lB,EAAO60B,EAAO70B,KACd4wB,EAAgBtzC,GAAMhD,IAAO0lB,KAAQ1iB,GAAMhD,GAAI,QAC/Cw6C,EAAgBpX,EAAKqX,UACvBrX,EAAK,0BACL,IAAUA,EAAKsX,WACfpE,EACJ,IAAIjD,EAaJ,OAZImH,EACAnH,EAAK,IAAIiF,GAAQ3tC,EAAQy4B,IAGpBpgC,GAAMhD,KACPgD,GAAMhD,GAAM,IAAIs4C,GAAQ3tC,EAAQy4B,IAEpCiQ,EAAKrwC,GAAMhD,IAEXu6C,EAAOlW,QAAUjB,EAAKiB,QACtBjB,EAAKiB,MAAQkW,EAAOtN,UAEjBoG,EAAG/O,OAAOiW,EAAO70B,KAAM0d,EAClC,CAGA5tC,OAAO4iC,OAAO,GAAQ,CAClBkgB,QAAO,GACP/K,OAAM,GACN8F,GAAI,GACJL,QAAS,I","sources":["webpack://frontend/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://frontend/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://frontend/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://frontend/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://frontend/./node_modules/vue-loader/dist/exportHelper.js","webpack://frontend/./node_modules/engine.io-parser/build/esm/commons.js","webpack://frontend/./node_modules/engine.io-parser/build/esm/encodePacket.browser.js","webpack://frontend/./node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js","webpack://frontend/./node_modules/engine.io-parser/build/esm/decodePacket.browser.js","webpack://frontend/./node_modules/engine.io-parser/build/esm/index.js","webpack://frontend/./node_modules/@socket.io/component-emitter/lib/esm/index.js","webpack://frontend/./node_modules/engine.io-client/build/esm/globalThis.browser.js","webpack://frontend/./node_modules/engine.io-client/build/esm/util.js","webpack://frontend/./node_modules/engine.io-client/build/esm/contrib/parseqs.js","webpack://frontend/./node_modules/engine.io-client/build/esm/transport.js","webpack://frontend/./node_modules/engine.io-client/build/esm/contrib/yeast.js","webpack://frontend/./node_modules/engine.io-client/build/esm/contrib/has-cors.js","webpack://frontend/./node_modules/engine.io-client/build/esm/transports/xmlhttprequest.browser.js","webpack://frontend/./node_modules/engine.io-client/build/esm/transports/polling.js","webpack://frontend/./node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.js","webpack://frontend/./node_modules/engine.io-client/build/esm/transports/websocket.js","webpack://frontend/./node_modules/engine.io-client/build/esm/transports/webtransport.js","webpack://frontend/./node_modules/engine.io-client/build/esm/transports/index.js","webpack://frontend/./node_modules/engine.io-client/build/esm/contrib/parseuri.js","webpack://frontend/./node_modules/engine.io-client/build/esm/socket.js","webpack://frontend/./node_modules/engine.io-client/build/esm/index.js","webpack://frontend/./node_modules/socket.io-client/build/esm/url.js","webpack://frontend/./node_modules/socket.io-parser/build/esm/is-binary.js","webpack://frontend/./node_modules/socket.io-parser/build/esm/binary.js","webpack://frontend/./node_modules/socket.io-parser/build/esm/index.js","webpack://frontend/./node_modules/socket.io-client/build/esm/on.js","webpack://frontend/./node_modules/socket.io-client/build/esm/socket.js","webpack://frontend/./node_modules/socket.io-client/build/esm/contrib/backo2.js","webpack://frontend/./node_modules/socket.io-client/build/esm/manager.js","webpack://frontend/./node_modules/socket.io-client/build/esm/index.js"],"sourcesContent":["/**\n* @vue/reactivity v3.4.31\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { NOOP, extend, isArray, isSymbol, isMap, isIntegerKey, hasOwn, hasChanged, isObject, makeMap, capitalize, toRawType, def, isFunction } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeEffect;\nclass ReactiveEffect {\n constructor(fn, trigger, scheduler, scope) {\n this.fn = fn;\n this.trigger = trigger;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n /**\n * @internal\n */\n this._dirtyLevel = 4;\n /**\n * @internal\n */\n this._trackId = 0;\n /**\n * @internal\n */\n this._runnings = 0;\n /**\n * @internal\n */\n this._shouldSchedule = false;\n /**\n * @internal\n */\n this._depsLength = 0;\n recordEffectScope(this, scope);\n }\n get dirty() {\n if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {\n this._dirtyLevel = 1;\n pauseTracking();\n for (let i = 0; i < this._depsLength; i++) {\n const dep = this.deps[i];\n if (dep.computed) {\n triggerComputed(dep.computed);\n if (this._dirtyLevel >= 4) {\n break;\n }\n }\n }\n if (this._dirtyLevel === 1) {\n this._dirtyLevel = 0;\n }\n resetTracking();\n }\n return this._dirtyLevel >= 4;\n }\n set dirty(v) {\n this._dirtyLevel = v ? 4 : 0;\n }\n run() {\n this._dirtyLevel = 0;\n if (!this.active) {\n return this.fn();\n }\n let lastShouldTrack = shouldTrack;\n let lastEffect = activeEffect;\n try {\n shouldTrack = true;\n activeEffect = this;\n this._runnings++;\n preCleanupEffect(this);\n return this.fn();\n } finally {\n postCleanupEffect(this);\n this._runnings--;\n activeEffect = lastEffect;\n shouldTrack = lastShouldTrack;\n }\n }\n stop() {\n if (this.active) {\n preCleanupEffect(this);\n postCleanupEffect(this);\n this.onStop && this.onStop();\n this.active = false;\n }\n }\n}\nfunction triggerComputed(computed) {\n return computed.value;\n}\nfunction preCleanupEffect(effect2) {\n effect2._trackId++;\n effect2._depsLength = 0;\n}\nfunction postCleanupEffect(effect2) {\n if (effect2.deps.length > effect2._depsLength) {\n for (let i = effect2._depsLength; i < effect2.deps.length; i++) {\n cleanupDepEffect(effect2.deps[i], effect2);\n }\n effect2.deps.length = effect2._depsLength;\n }\n}\nfunction cleanupDepEffect(dep, effect2) {\n const trackId = dep.get(effect2);\n if (trackId !== void 0 && effect2._trackId !== trackId) {\n dep.delete(effect2);\n if (dep.size === 0) {\n dep.cleanup();\n }\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn, NOOP, () => {\n if (_effect.dirty) {\n _effect.run();\n }\n });\n if (options) {\n extend(_effect, options);\n if (options.scope) recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nlet pauseScheduleStack = 0;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction pauseScheduling() {\n pauseScheduleStack++;\n}\nfunction resetScheduling() {\n pauseScheduleStack--;\n while (!pauseScheduleStack && queueEffectSchedulers.length) {\n queueEffectSchedulers.shift()();\n }\n}\nfunction trackEffect(effect2, dep, debuggerEventExtraInfo) {\n var _a;\n if (dep.get(effect2) !== effect2._trackId) {\n dep.set(effect2, effect2._trackId);\n const oldDep = effect2.deps[effect2._depsLength];\n if (oldDep !== dep) {\n if (oldDep) {\n cleanupDepEffect(oldDep, effect2);\n }\n effect2.deps[effect2._depsLength++] = dep;\n } else {\n effect2._depsLength++;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n }\n}\nconst queueEffectSchedulers = [];\nfunction triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {\n var _a;\n pauseScheduling();\n for (const effect2 of dep.keys()) {\n let tracking;\n if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);\n effect2._dirtyLevel = dirtyLevel;\n }\n if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n effect2.trigger();\n if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {\n effect2._shouldSchedule = false;\n if (effect2.scheduler) {\n queueEffectSchedulers.push(effect2.scheduler);\n }\n }\n }\n }\n resetScheduling();\n}\n\nconst createDep = (cleanup, computed) => {\n const dep = /* @__PURE__ */ new Map();\n dep.cleanup = cleanup;\n dep.computed = computed;\n return dep;\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = createDep(() => depsMap.delete(key)));\n }\n trackEffect(\n activeEffect,\n dep,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key\n } : void 0\n );\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n let deps = [];\n if (type === \"clear\") {\n deps = [...depsMap.values()];\n } else if (key === \"length\" && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || !isSymbol(key2) && key2 >= newLength) {\n deps.push(dep);\n }\n });\n } else {\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isIntegerKey(key)) {\n deps.push(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n pauseScheduling();\n for (const dep of deps) {\n if (dep) {\n triggerEffects(\n dep,\n 4,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n } : void 0\n );\n }\n }\n resetScheduling();\n}\nfunction getDepFromReactive(object, key) {\n const depsMap = targetMap.get(object);\n return depsMap && depsMap.get(key);\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args.map(toRaw));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n pauseTracking();\n pauseScheduling();\n const res = toRaw(this)[key].apply(this, args);\n resetScheduling();\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the reciever is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(\n true\n);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\"];\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n}\nfunction set(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2 ? get2.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations2 = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(method, false, false);\n readonlyInstrumentations2[method] = createIterableMethod(method, true, false);\n shallowInstrumentations2[method] = createIterableMethod(method, false, true);\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n true\n );\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nconst [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(\n target\n )}`\n );\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nconst COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this.getter = getter;\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this.effect = new ReactiveEffect(\n () => getter(this._value),\n () => triggerRefValue(\n this,\n this.effect._dirtyLevel === 2 ? 2 : 3\n )\n );\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\"] = isReadonly;\n }\n get value() {\n const self = toRaw(this);\n if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {\n triggerRefValue(self, 4);\n }\n trackRefValue(self);\n if (self.effect._dirtyLevel >= 2) {\n if (!!(process.env.NODE_ENV !== \"production\") && this._warnRecursive) {\n warn(COMPUTED_SIDE_EFFECT_WARN, `\n\ngetter: `, this.getter);\n }\n triggerRefValue(self, 2);\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x\n get _dirty() {\n return this.effect.dirty;\n }\n set _dirty(v) {\n this.effect.dirty = v;\n }\n // #endregion\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = !!(process.env.NODE_ENV !== \"production\") ? () => {\n warn(\"Write operation failed: computed value is readonly\");\n } : NOOP;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nfunction trackRefValue(ref2) {\n var _a;\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n trackEffect(\n activeEffect,\n (_a = ref2.dep) != null ? _a : ref2.dep = createDep(\n () => ref2.dep = void 0,\n ref2 instanceof ComputedRefImpl ? ref2 : void 0\n ),\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"get\",\n key: \"value\"\n } : void 0\n );\n }\n}\nfunction triggerRefValue(ref2, dirtyLevel = 4, newVal, oldVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n triggerEffects(\n dep,\n dirtyLevel,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal,\n oldValue: oldVal\n } : void 0\n );\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = void 0;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n const oldVal = this._rawValue;\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, 4, newVal, oldVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, 4, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = void 0;\n this.__v_isRef = true;\n const { get, set } = factory(\n () => trackRefValue(this),\n () => triggerRefValue(this)\n );\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this.__v_isRef = true;\n this.__v_isReadonly = true;\n }\n get value() {\n return this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nconst deferredComputed = computed;\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\"\n};\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseScheduling, pauseTracking, proxyRefs, reactive, readonly, ref, resetScheduling, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, track, trigger, triggerRef, unref };\n","/**\n* @vue/runtime-core v3.4.31\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, shallowReadonly, ref, track, reactive, shallowReactive, trigger, ReactiveEffect, isShallow, isReactive, getCurrentScope, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, customRef, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, looseToNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, capitalize, toNumber, isBuiltInDirective, isGloballyAllowed, NO, isReservedProp, EMPTY_ARR, toRawType, makeMap, def, remove, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, invokeArrayFns, hasChanged, isSet, isMap, isPlainObject, isRegExp } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn$1(msg, ...args) {\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n // eslint-disable-next-line no-restricted-syntax\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\")) return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core .\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n if (isArray(fn)) {\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n pauseTracking();\n callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\n resetTracking();\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else {\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.pre) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!queue.length || !queue.includes(\n job,\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\n )) {\n if (job.id == null) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\n cb,\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\n )) {\n pendingPostFlushCbs.push(cb);\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n const cb = activePostFlushCbs[postFlushIndex];\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n if (cb.active !== false) cb();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre) return -1;\n if (b.pre && !a.pre) return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n queue.sort(comparator);\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n callWithErrorHandling(job, null, 14);\n }\n }\n } finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n } else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n } else {\n seen.set(fn, count + 1);\n }\n }\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Set();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.effect.dirty = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record) return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.add(oldComp);\n }\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n } else if (instance.parent) {\n instance.parent.effect.dirty = true;\n queueJob(() => {\n instance.parent.update();\n hmrDirtyComponents.delete(oldComp);\n });\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n }\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(\n normalizeClassComponent(instance.type)\n );\n }\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n // eslint-disable-next-line no-restricted-syntax\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:added\" /* COMPONENT_ADDED */\n);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:start\" /* PERFORMANCE_START */\n);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:end\" /* PERFORMANCE_END */\n);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted) return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn$1(\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(event)}\" prop.`\n );\n }\n } else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn$1(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn$1(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(\n event\n )}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\n props[handlerName = toHandlerKey(camelize(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach((key) => normalized[key] = null);\n } else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, \"\");\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx) return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const {\n type: Component,\n vnode,\n proxy,\n withProxy,\n propsOptions: [propsOptions],\n slots,\n attrs,\n emit,\n render,\n renderCache,\n props,\n data,\n setupState,\n ctx,\n inheritAttrs\n } = instance;\n const prev = setCurrentRenderingInstance(instance);\n let result;\n let fallthroughAttrs;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4) {\n const proxyToUse = withProxy || proxy;\n const thisProxy = !!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup ? new Proxy(proxyToUse, {\n get(target, key, receiver) {\n warn$1(\n `Property '${String(\n key\n )}' was accessed via 'this'. Avoid using 'this' in templates.`\n );\n return Reflect.get(target, key, receiver);\n }\n }) : proxyToUse;\n result = normalizeVNode(\n render.call(\n thisProxy,\n proxyToUse,\n renderCache,\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(props) : props,\n setupState,\n data,\n ctx\n )\n );\n fallthroughAttrs = attrs;\n } else {\n const render2 = Component;\n if (!!(process.env.NODE_ENV !== \"production\") && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(\n render2.length > 1 ? render2(\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(props) : props,\n !!(process.env.NODE_ENV !== \"production\") ? {\n get attrs() {\n markAttrsAccessed();\n return shallowReadonly(attrs);\n },\n slots,\n emit\n } : { attrs, slots, emit }\n ) : render2(\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(props) : props,\n null\n )\n );\n fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);\n }\n } catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1);\n result = createVNode(Comment);\n }\n let root = result;\n let setRoot = void 0;\n if (!!(process.env.NODE_ENV !== \"production\") && result.patchFlag > 0 && result.patchFlag & 2048) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 | 6)) {\n if (propsOptions && keys.some(isModelListener)) {\n fallthroughAttrs = filterModelListeners(\n fallthroughAttrs,\n propsOptions\n );\n }\n root = cloneVNode(root, fallthroughAttrs, false, true);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if (isOn(key)) {\n if (!isModelListener(key)) {\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n } else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn$1(\n `Extraneous non-props attributes (${extraAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`\n );\n }\n if (eventAttrs.length) {\n warn$1(\n `Extraneous non-emits event listeners (${eventAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the \"emits\" option.`\n );\n }\n }\n }\n }\n if (vnode.dirs) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn$1(\n `Runtime directive used on component with non-element root node. The directives will not function as intended.`\n );\n }\n root = cloneVNode(root, null, false, true);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n if (vnode.transition) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn$1(\n `Component inside renders non-element root node that cannot be animated.`\n );\n }\n root.transition = vnode.transition;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && setRoot) {\n setRoot(root);\n } else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren, false);\n if (!childRoot) {\n return [vnode, void 0];\n } else if (!!(process.env.NODE_ENV !== \"production\") && childRoot.patchFlag > 0 && childRoot.patchFlag & 2048) {\n return getChildRoot(childRoot);\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n } else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children, recurse = true) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n if (child.type !== Comment || child.children === \"v-if\") {\n if (singleRoot) {\n return;\n } else {\n singleRoot = child;\n if (!!(process.env.NODE_ENV !== \"production\") && recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) {\n return filterSingleRoot(singleRoot.children);\n }\n }\n }\n } else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === \"class\" || key === \"style\" || isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return vnode.shapeFlag & (6 | 1) || vnode.type === Comment;\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n if (!!(process.env.NODE_ENV !== \"production\") && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024) {\n return true;\n }\n if (patchFlag & 16) {\n if (!prevProps) {\n return !!nextProps;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n } else if (patchFlag & 8) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n } else {\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el) {\n while (parent) {\n const root = parent.subTree;\n if (root.suspense && root.suspense.activeBranch === vnode) {\n root.el = vnode.el;\n }\n if (root === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n } else {\n break;\n }\n }\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nconst isSuspense = (type) => type.__isSuspense;\nlet suspenseId = 0;\nconst SuspenseImpl = {\n name: \"Suspense\",\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {\n if (n1 == null) {\n mountSuspense(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n } else {\n if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback) {\n n2.suspense = n1.suspense;\n n2.suspense.vnode = n2;\n n2.el = n1.el;\n return;\n }\n patchSuspense(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n }\n },\n hydrate: hydrateSuspense,\n normalize: normalizeSuspenseChildren\n};\nconst Suspense = SuspenseImpl ;\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {\n const {\n p: patch,\n o: { createElement }\n } = rendererInternals;\n const hiddenContainer = createElement(\"div\");\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n container,\n hiddenContainer,\n anchor,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n patch(\n null,\n suspense.pendingBranch = vnode.ssContent,\n hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds\n );\n if (suspense.deps > 0) {\n triggerEvent(vnode, \"onPending\");\n triggerEvent(vnode, \"onFallback\");\n patch(\n null,\n vnode.ssFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds\n );\n setActiveBranch(suspense, vnode.ssFallback);\n } else {\n suspense.resolve(false, true);\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = n2.suspense = n1.suspense;\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n patch(\n pendingBranch,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else if (isInFallback) {\n if (!isHydrating) {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n }\n } else {\n suspense.pendingId = suspenseId++;\n if (isHydrating) {\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n } else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n suspense.deps = 0;\n suspense.effects.length = 0;\n suspense.hiddenContainer = createElement(\"div\");\n if (isInFallback) {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n suspense.resolve(true);\n } else {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n } else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newBranch);\n } else {\n triggerEvent(n2, \"onPending\");\n suspense.pendingBranch = newBranch;\n if (newBranch.shapeFlag & 512) {\n suspense.pendingId = newBranch.component.suspenseId;\n } else {\n suspense.pendingId = suspenseId++;\n }\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n } else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n if (!!(process.env.NODE_ENV !== \"production\") && true && !hasWarned) {\n hasWarned = true;\n console[console.info ? \"info\" : \"log\"](\n ` is an experimental feature and its API will likely change.`\n );\n }\n const {\n p: patch,\n m: move,\n um: unmount,\n n: next,\n o: { parentNode, remove }\n } = rendererInternals;\n let parentSuspenseId;\n const isSuspensible = isVNodeSuspensible(vnode);\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch) {\n parentSuspenseId = parentSuspense.pendingId;\n parentSuspense.deps++;\n }\n }\n const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assertNumber(timeout, `Suspense timeout`);\n }\n const initialAnchor = anchor;\n const suspense = {\n vnode,\n parent: parentSuspense,\n parentComponent,\n namespace,\n container,\n hiddenContainer,\n deps: 0,\n pendingId: suspenseId++,\n timeout: typeof timeout === \"number\" ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: !isHydrating,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false, sync = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(\n `suspense.resolve() is called without a pending branch.`\n );\n }\n if (suspense.isUnmounted) {\n throw new Error(\n `suspense.resolve() is called on an already unmounted suspense boundary.`\n );\n }\n }\n const {\n vnode: vnode2,\n activeBranch,\n pendingBranch,\n pendingId,\n effects,\n parentComponent: parentComponent2,\n container: container2\n } = suspense;\n let delayEnter = false;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n } else if (!resume) {\n delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(\n pendingBranch,\n container2,\n anchor === initialAnchor ? next(activeBranch) : anchor,\n 0\n );\n queuePostFlushCb(effects);\n }\n };\n }\n if (activeBranch) {\n if (parentNode(activeBranch.el) !== suspense.hiddenContainer) {\n anchor = next(activeBranch);\n }\n unmount(activeBranch, parentComponent2, suspense, true);\n }\n if (!delayEnter) {\n move(pendingBranch, container2, anchor, 0);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n if (!hasUnresolvedAncestor && !delayEnter) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {\n parentSuspense.deps--;\n if (parentSuspense.deps === 0 && !sync) {\n parentSuspense.resolve();\n }\n }\n }\n triggerEvent(vnode2, \"onResolve\");\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, namespace: namespace2 } = suspense;\n triggerEvent(vnode2, \"onFallback\");\n const anchor2 = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n patch(\n null,\n fallbackVNode,\n container2,\n anchor2,\n parentComponent2,\n null,\n // fallback tree will not have suspense context\n namespace2,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n unmount(\n activeBranch,\n parentComponent2,\n null,\n // no suspense so unmount hooks fire now\n true\n // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container2, anchor2, type) {\n suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type);\n suspense.container = container2;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect, optimized2) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance.asyncDep.catch((err) => {\n handleError(err, instance, 0);\n }).then((asyncSetupResult) => {\n if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {\n return;\n }\n instance.asyncResolved = true;\n const { vnode: vnode2 } = instance;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(vnode2);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n vnode2.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(\n instance,\n vnode2,\n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el),\n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree),\n suspense,\n namespace,\n optimized2\n );\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode2.el);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense2, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(\n suspense.activeBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n if (suspense.pendingBranch) {\n unmount(\n suspense.pendingBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n node.parentNode,\n // eslint-disable-next-line no-restricted-globals\n document.createElement(\"div\"),\n null,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals,\n true\n );\n const result = hydrateNode(\n node,\n suspense.pendingBranch = vnode.ssContent,\n parentComponent,\n suspense,\n slotScopeIds,\n optimized\n );\n if (suspense.deps === 0) {\n suspense.resolve(false, true);\n }\n return result;\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32;\n vnode.ssContent = normalizeSuspenseSlot(\n isSlotChildren ? children.default : children\n );\n vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (isArray(s)) {\n const singleChild = filterSingleRoot(s);\n if (!!(process.env.NODE_ENV !== \"production\") && !singleChild && s.filter((child) => child !== NULL_DYNAMIC_COMPONENT).length > 0) {\n warn$1(` slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter((c) => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (isArray(fn)) {\n suspense.effects.push(...fn);\n } else {\n suspense.effects.push(fn);\n }\n } else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n let el = branch.el;\n while (!el && branch.component) {\n branch = branch.component.subTree;\n el = branch.el;\n }\n vnode.el = el;\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\nfunction isVNodeSuspensible(vnode) {\n const suspensible = vnode.props && vnode.props.suspensible;\n return suspensible != null && suspensible !== false;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => {\n if (!isInSSRComponentSetup || lifecycle === \"sp\") {\n injectHook(lifecycle, (...args) => hook(...args), target);\n }\n};\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\"bu\");\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\"bum\");\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\"sp\");\nconst onRenderTriggered = createHook(\n \"rtg\"\n);\nconst onRenderTracked = createHook(\n \"rtc\"\n);\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getComponentPublicInstance(currentRenderingInstance);\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n if (isArray(source) || isString(source)) {\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(source[i], i, void 0, cached && cached[i]);\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn$1(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res) res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8326: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.effect.dirty = true;\n queueJob(instance.parent.update);\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) {\n if (name !== \"default\") props.name = name;\n return createVNode(\"slot\", props, fallback && fallback());\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const rendered = createBlock(\n Fragment,\n {\n key: props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key || `_${name}`\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i) return null;\n if (isStatefulComponent(i)) return getComponentPublicInstance(i);\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n i.effect.dirty = true;\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n if (key === \"__v_skip\") {\n return true;\n }\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance.attrs, \"get\", \"\");\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate + + diff --git a/frontend/src/assets/styles.scss b/frontend/src/assets/styles.scss new file mode 100644 index 0000000..e6ef378 --- /dev/null +++ b/frontend/src/assets/styles.scss @@ -0,0 +1,49 @@ +html, +body { + height: 100%; +} + +body { + font-family: Arial, sans-serif; + margin: 0; + padding: 0; + background-color: #f4f4f4; + color: #333; +} + +a { + text-decoration: none; + color: inherit; +} + +button { + margin-left: 10px; + padding: 5px 12px; + cursor: pointer; + background: #F9A22C; + color: #000000; + border: none; + border-radius: 4px; + transition: background 0.05s; + border: 1px solid transparent; +} + +button:hover { + background: #fdf1db; + color: #7E471B; + border: 1px solid #7E471B; +} + +.rc-system { + font-style: italic; +} + +.rc-self { + color: #ff0000; + font-weight: bold; +} + +.rc-partner { + color: #0000ff; + font-weight: bold; +} \ No newline at end of file diff --git a/frontend/src/components/AppContent.vue b/frontend/src/components/AppContent.vue new file mode 100644 index 0000000..0981712 --- /dev/null +++ b/frontend/src/components/AppContent.vue @@ -0,0 +1,20 @@ + + + + + + \ No newline at end of file diff --git a/frontend/src/components/AppFooter.vue b/frontend/src/components/AppFooter.vue new file mode 100644 index 0000000..cac4ed6 --- /dev/null +++ b/frontend/src/components/AppFooter.vue @@ -0,0 +1,110 @@ + + + + + \ No newline at end of file diff --git a/frontend/src/components/AppHeader.vue b/frontend/src/components/AppHeader.vue new file mode 100644 index 0000000..2dc8d84 --- /dev/null +++ b/frontend/src/components/AppHeader.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/frontend/src/components/AppNavigation.vue b/frontend/src/components/AppNavigation.vue new file mode 100644 index 0000000..8ac0ea3 --- /dev/null +++ b/frontend/src/components/AppNavigation.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/frontend/src/components/DialogWidget.vue b/frontend/src/components/DialogWidget.vue new file mode 100644 index 0000000..18561c3 --- /dev/null +++ b/frontend/src/components/DialogWidget.vue @@ -0,0 +1,200 @@ + + + + + diff --git a/frontend/src/content/content.js b/frontend/src/content/content.js new file mode 100644 index 0000000..182b648 --- /dev/null +++ b/frontend/src/content/content.js @@ -0,0 +1,232 @@ +const content = { + imprint: { + de: ` +

Diensteanbieter

+

Torsten Schulz.
Friedrich-Stampfer-Str. 21.
60437 Frankfurt.
Deutschland

+

Kontaktmöglichkeiten

+

E-Mail-Adresse: kontakt@your-part.de.
Kontaktformular: https://your-part.de/kontakt.

+

Angaben zum Unternehmen

+

Haftungs- und Schutzrechtshinweise

+

Haftungsausschluss: Die Inhalte dieses Onlineangebotes wurden sorgfältig und nach unserem aktuellen Kenntnisstand erstellt, dienen jedoch nur der Information und entfalten keine rechtlich bindende Wirkung, sofern es sich nicht um gesetzlich verpflichtende Informationen (z.B. das Impressum, die Datenschutzerklärung, AGB oder verpflichtende Belehrungen von Verbrauchern) handelt. Wir behalten uns vor, die Inhalte vollständig oder teilweise zu ändern oder zu löschen, soweit vertragliche Verpflichtungen unberührt bleiben. Alle Angebote sind freibleibend und unverbindlich.

+

Links auf fremde Webseiten: Inhalte fremder Webseiten, auf die wir direkt oder indirekt verweisen, liegen außerhalb unseres Verantwortungsbereiches und machen wir uns nicht zu Eigen. Für alle Inhalte und insbesondere für Schäden, die aus der Nutzung der in den verlinkten Webseiten aufrufbaren Informationen entstehen, haftet allein der Anbieter der verlinkten Webseiten.

+

Urheberrechte und Markenrechte: Alle auf dieser Website dargestellten Inhalte, wie Texte, Fotografien, Grafiken, Marken und Warenzeichen sind durch die jeweiligen Schutzrechte (Urheberrechte, Markenrechte) geschützt. Die Verwendung, Vervielfältigung usw. unterliegen unseren Rechten oder den Rechten der jeweiligen Urheber bzw. Rechteverwalter.

+

Hinweise auf Rechtsverstöße: Sollten Sie innerhalb unseres Internetauftritts Rechtsverstöße bemerken, bitten wir Sie uns auf diese hinzuweisen. Wir werden rechtswidrige Inhalte und Links nach Kenntnisnahme unverzüglich entfernen.

+

Erstellt mit kostenlosem Datenschutz-Generator.de von Dr. Thomas Schwenke

+ `, + en: '', + }, + dataPrivacy: { + de: ` +

Datenschutzerklärung

+

Einleitung

+

Mit der folgenden Datenschutzerklärung möchten wir Sie darüber aufklären, welche Arten Ihrer personenbezogenen Daten (nachfolgend auch kurz als "Daten" bezeichnet) wir zu welchen Zwecken und in welchem Umfang verarbeiten. Die Datenschutzerklärung gilt für alle von uns durchgeführten Verarbeitungen personenbezogener Daten, sowohl im Rahmen der Erbringung unserer Leistungen als auch insbesondere auf unseren Webseiten, in mobilen Applikationen sowie innerhalb externer Onlinepräsenzen, wie z.B. unserer Social-Media-Profile (nachfolgend zusammenfassend bezeichnet als "Onlineangebot").

+

Die verwendeten Begriffe sind nicht geschlechtsspezifisch.

+

Stand: 27. März 2021

+

Inhaltsübersicht

+ +

Verantwortlicher

+

Torsten Schulz
Friedrich-Stampfer-Str. 21
60437 Frankfurt

+

Vertretungsberechtigte Personen: Torsten Schulz.

+

E-Mail-Adresse: kontakt@your-part.de.

+

Übersicht der Verarbeitungen

+

Die nachfolgende Übersicht fasst die Arten der verarbeiteten Daten und die Zwecke ihrer Verarbeitung zusammen und verweist auf die betroffenen Personen.

+

Arten der verarbeiteten Daten

+
    +
  • Event-Daten (Facebook) ("Event-Daten" sind Daten, die z. B. via Facebook-Pixel (via Apps oder auf anderen Wegen) von uns an Facebook übermittelt werden können und sich auf Personen oder deren Handlungen beziehen; Zu den Daten gehören z. B. Angaben über Besuche auf Websites, Interaktionen mit Inhalten, Funktionen, Installationen von Apps, Käufe von Produkten, etc.; die Event-Daten werden zwecks Bildung von Zielgruppen für Inhalte und Werbeinformationen (Custom Audiences) verarbeitet; Event Daten beinhalten nicht die eigentlichen Inhalte (wie z. B. verfasste Kommentare), keine Login-Informationen und keine Kontaktinformationen (also keine Namen, E-Mail-Adressen und Telefonnummern). Event Daten werden durch Facebook nach maximal zwei Jahren gelöscht, die aus ihnen gebildeten Zielgruppen mit der Löschung unseres Facebook-Kontos).
  • +
  • Bestandsdaten (z.B. Namen, Adressen).
  • +
  • Inhaltsdaten (z.B. Eingaben in Onlineformularen).
  • +
  • Kontaktdaten (z.B. E-Mail, Telefonnummern).
  • +
  • Meta-/Kommunikationsdaten (z.B. Geräte-Informationen, IP-Adressen).
  • +
  • Nutzungsdaten (z.B. besuchte Webseiten, Interesse an Inhalten, Zugriffszeiten).
  • +
  • Bild- und/ oder Videoaufnahmen (z. B. Fotografien oder Videoaufnahmen einer Person).
  • +
  • Tonaufnahmen.
  • +
  • Vertragsdaten (z.B. Vertragsgegenstand, Laufzeit, Kundenkategorie).
  • +
  • Zahlungsdaten (z.B. Bankverbindungen, Rechnungen, Zahlungshistorie).
  • +
+

Kategorien betroffener Personen

+
    +
  • Kommunikationspartner.
  • +
  • Nutzer (z.B. Webseitenbesucher, Nutzer von Onlinediensten).
  • +
+

Zwecke der Verarbeitung

+
    +
  • Anmeldeverfahren.
  • +
  • Bereitstellung unseres Onlineangebotes und Nutzerfreundlichkeit.
  • +
  • Direktmarketing (z.B. per E-Mail oder postalisch).
  • +
  • Feedback (z.B. Sammeln von Feedback via Online-Formular).
  • +
  • Sicherheitsmaßnahmen.
  • +
  • Erbringung vertragliche Leistungen und Kundenservice.
  • +
  • Verwaltung und Beantwortung von Anfragen.
  • +
+

Maßgebliche Rechtsgrundlagen

+

Im Folgenden erhalten Sie eine Übersicht der Rechtsgrundlagen der DSGVO, auf deren Basis wir personenbezogenen Daten verarbeiten. Bitte nehmen Sie zur Kenntnis, dass neben den Regelungen der DSGVO nationale Datenschutzvorgaben in Ihrem bzw. unserem Wohn- oder Sitzland gelten können. Sollten ferner im Einzelfall speziellere Rechtsgrundlagen maßgeblich sein, teilen wir Ihnen diese in der Datenschutzerklärung mit.

+
    +
  • Einwilligung (Art. 6 Abs. 1 S. 1 lit. a. DSGVO) - Die betroffene Person hat ihre Einwilligung in die Verarbeitung der sie betreffenden personenbezogenen Daten für einen spezifischen Zweck oder mehrere bestimmte Zwecke gegeben.
  • +
  • Vertragserfüllung und vorvertragliche Anfragen (Art. 6 Abs. 1 S. 1 lit. b. DSGVO) - Die Verarbeitung ist für die Erfüllung eines Vertrags, dessen Vertragspartei die betroffene Person ist, oder zur Durchführung vorvertraglicher Maßnahmen erforderlich, die auf Anfrage der betroffenen Person erfolgen.
  • +
  • Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f. DSGVO) - Die Verarbeitung ist zur Wahrung der berechtigten Interessen des Verantwortlichen oder eines Dritten erforderlich, sofern nicht die Interessen oder Grundrechte und Grundfreiheiten der betroffenen Person, die den Schutz personenbezogener Daten erfordern, überwiegen.
  • +
+

Nationale Datenschutzregelungen in Deutschland: Zusätzlich zu den Datenschutzregelungen der Datenschutz-Grundverordnung gelten nationale Regelungen zum Datenschutz in Deutschland. Hierzu gehört insbesondere das Gesetz zum Schutz vor Missbrauch personenbezogener Daten bei der Datenverarbeitung (Bundesdatenschutzgesetz – BDSG). Das BDSG enthält insbesondere Spezialregelungen zum Recht auf Auskunft, zum Recht auf Löschung, zum Widerspruchsrecht, zur Verarbeitung besonderer Kategorien personenbezogener Daten, zur Verarbeitung für andere Zwecke und zur Übermittlung sowie automatisierten Entscheidungsfindung im Einzelfall einschließlich Profiling. Des Weiteren regelt es die Datenverarbeitung für Zwecke des Beschäftigungsverhältnisses (§ 26 BDSG), insbesondere im Hinblick auf die Begründung, Durchführung oder Beendigung von Beschäftigungsverhältnissen sowie die Einwilligung von Beschäftigten. Ferner können Landesdatenschutzgesetze der einzelnen Bundesländer zur Anwendung gelangen.

+

Sicherheitsmaßnahmen

+

Wir treffen nach Maßgabe der gesetzlichen Vorgaben unter Berücksichtigung des Stands der Technik, der Implementierungskosten und der Art, des Umfangs, der Umstände und der Zwecke der Verarbeitung sowie der unterschiedlichen Eintrittswahrscheinlichkeiten und des Ausmaßes der Bedrohung der Rechte und Freiheiten natürlicher Personen geeignete technische und organisatorische Maßnahmen, um ein dem Risiko angemessenes Schutzniveau zu gewährleisten.

+

Zu den Maßnahmen gehören insbesondere die Sicherung der Vertraulichkeit, Integrität und Verfügbarkeit von Daten durch Kontrolle des physischen und elektronischen Zugangs zu den Daten als auch des sie betreffenden Zugriffs, der Eingabe, der Weitergabe, der Sicherung der Verfügbarkeit und ihrer Trennung. Des Weiteren haben wir Verfahren eingerichtet, die eine Wahrnehmung von Betroffenenrechten, die Löschung von Daten und Reaktionen auf die Gefährdung der Daten gewährleisten. Ferner berücksichtigen wir den Schutz personenbezogener Daten bereits bei der Entwicklung bzw. Auswahl von Hardware, Software sowie Verfahren entsprechend dem Prinzip des Datenschutzes, durch Technikgestaltung und durch datenschutzfreundliche Voreinstellungen.

+

SSL-Verschlüsselung (https): Um Ihre via unser Online-Angebot übermittelten Daten zu schützen, nutzen wir eine SSL-Verschlüsselung. Sie erkennen derart verschlüsselte Verbindungen an dem Präfix https:// in der Adresszeile Ihres Browsers.

+

Einsatz von Cookies

+

Cookies sind Textdateien, die Daten von besuchten Websites oder Domains enthalten und von einem Browser auf dem Computer des Benutzers gespeichert werden. Ein Cookie dient in erster Linie dazu, die Informationen über einen Benutzer während oder nach seinem Besuch innerhalb eines Onlineangebotes zu speichern. Zu den gespeicherten Angaben können z.B. die Spracheinstellungen auf einer Webseite, der Loginstatus, ein Warenkorb oder die Stelle, an der ein Video geschaut wurde, gehören. Zu dem Begriff der Cookies zählen wir ferner andere Technologien, die die gleichen Funktionen wie Cookies erfüllen (z.B., wenn Angaben der Nutzer anhand pseudonymer Onlinekennzeichnungen gespeichert werden, auch als "Nutzer-IDs" bezeichnet)

+

Die folgenden Cookie-Typen und Funktionen werden unterschieden:

+
    +
  • Temporäre Cookies (auch: Session- oder Sitzungs-Cookies): Temporäre Cookies werden spätestens gelöscht, nachdem ein Nutzer ein Online-Angebot verlassen und seinen Browser geschlossen hat.
  • +
  • Permanente Cookies: Permanente Cookies bleiben auch nach dem Schließen des Browsers gespeichert. So kann beispielsweise der Login-Status gespeichert oder bevorzugte Inhalte direkt angezeigt werden, wenn der Nutzer eine Website erneut besucht. Ebenso können die Interessen von Nutzern, die zur Reichweitenmessung oder zu Marketingzwecken verwendet werden, in einem solchen Cookie gespeichert werden.
  • +
  • First-Party-Cookies: First-Party-Cookies werden von uns selbst gesetzt.
  • +
  • Third-Party-Cookies (auch: Drittanbieter-Cookies): Drittanbieter-Cookies werden hauptsächlich von Werbetreibenden (sog. Dritten) verwendet, um Benutzerinformationen zu verarbeiten.
  • +
  • Notwendige (auch: essentielle oder unbedingt erforderliche) Cookies: Cookies können zum einen für den Betrieb einer Webseite unbedingt erforderlich sein (z.B. um Logins oder andere Nutzereingaben zu speichern oder aus Gründen der Sicherheit).
  • +
  • Statistik-, Marketing- und Personalisierungs-Cookies: Ferner werden Cookies im Regelfall auch im Rahmen der Reichweitenmessung eingesetzt sowie dann, wenn die Interessen eines Nutzers oder sein Verhalten (z.B. Betrachten bestimmter Inhalte, Nutzen von Funktionen etc.) auf einzelnen Webseiten in einem Nutzerprofil gespeichert werden. Solche Profile dienen dazu, den Nutzern z.B. Inhalte anzuzeigen, die ihren potentiellen Interessen entsprechen. Dieses Verfahren wird auch als "Tracking", d.h., Nachverfolgung der potentiellen Interessen der Nutzer bezeichnet. Soweit wir Cookies oder "Tracking"-Technologien einsetzen, informieren wir Sie gesondert in unserer Datenschutzerklärung oder im Rahmen der Einholung einer Einwilligung.
  • +
+

Hinweise zu Rechtsgrundlagen: Auf welcher Rechtsgrundlage wir Ihre personenbezogenen Daten mit Hilfe von Cookies verarbeiten, hängt davon ab, ob wir Sie um eine Einwilligung bitten. Falls dies zutrifft und Sie in die Nutzung von Cookies einwilligen, ist die Rechtsgrundlage der Verarbeitung Ihrer Daten die erklärte Einwilligung. Andernfalls werden die mithilfe von Cookies verarbeiteten Daten auf Grundlage unserer berechtigten Interessen (z.B. an einem betriebswirtschaftlichen Betrieb unseres Onlineangebotes und dessen Verbesserung) verarbeitet oder, wenn der Einsatz von Cookies erforderlich ist, um unsere vertraglichen Verpflichtungen zu erfüllen.

+

Speicherdauer: Sofern wir Ihnen keine expliziten Angaben zur Speicherdauer von permanenten Cookies mitteilen (z. B. im Rahmen eines sog. Cookie-Opt-Ins), gehen Sie bitte davon aus, dass die Speicherdauer bis zu zwei Jahre betragen kann.

+

Allgemeine Hinweise zum Widerruf und Widerspruch (Opt-Out): Abhängig davon, ob die Verarbeitung auf Grundlage einer Einwilligung oder gesetzlichen Erlaubnis erfolgt, haben Sie jederzeit die Möglichkeit, eine erteilte Einwilligung zu widerrufen oder der Verarbeitung Ihrer Daten durch Cookie-Technologien zu widersprechen (zusammenfassend als "Opt-Out" bezeichnet). Sie können Ihren Widerspruch zunächst mittels der Einstellungen Ihres Browsers erklären, z.B., indem Sie die Nutzung von Cookies deaktivieren (wobei hierdurch auch die Funktionsfähigkeit unseres Onlineangebotes eingeschränkt werden kann). Ein Widerspruch gegen den Einsatz von Cookies zu Zwecken des Onlinemarketings kann auch mittels einer Vielzahl von Diensten, vor allem im Fall des Trackings, über die Webseiten https://optout.aboutads.info und https://www.youronlinechoices.com/ erklärt werden. Daneben können Sie weitere Widerspruchshinweise im Rahmen der Angaben zu den eingesetzten Dienstleistern und Cookies erhalten.

+

Verarbeitung von Cookie-Daten auf Grundlage einer Einwilligung: Wir setzen ein Verfahren zum Cookie-Einwilligungs-Management ein, in dessen Rahmen die Einwilligungen der Nutzer in den Einsatz von Cookies, bzw. der im Rahmen des Cookie-Einwilligungs-Management-Verfahrens genannten Verarbeitungen und Anbieter eingeholt sowie von den Nutzern verwaltet und widerrufen werden können. Hierbei wird die Einwilligungserklärung gespeichert, um deren Abfrage nicht erneut wiederholen zum müssen und die Einwilligung entsprechend der gesetzlichen Verpflichtung nachweisen zu können. Die Speicherung kann serverseitig und/oder in einem Cookie (sogenanntes Opt-In-Cookie, bzw. mithilfe vergleichbarer Technologien) erfolgen, um die Einwilligung einem Nutzer, bzw. dessen Gerät zuordnen zu können. Vorbehaltlich individueller Angaben zu den Anbietern von Cookie-Management-Diensten, gelten die folgenden Hinweise: Die Dauer der Speicherung der Einwilligung kann bis zu zwei Jahren betragen. Hierbei wird ein pseudonymer Nutzer-Identifikator gebildet und mit dem Zeitpunkt der Einwilligung, Angaben zur Reichweite der Einwilligung (z. B. welche Kategorien von Cookies und/oder Diensteanbieter) sowie dem Browser, System und verwendeten Endgerät gespeichert.

+
    +
  • Verarbeitete Datenarten: Nutzungsdaten (z.B. besuchte Webseiten, Interesse an Inhalten, Zugriffszeiten), Meta-/Kommunikationsdaten (z.B. Geräte-Informationen, IP-Adressen).
  • +
  • Betroffene Personen: Nutzer (z.B. Webseitenbesucher, Nutzer von Onlinediensten).
  • +
  • Rechtsgrundlagen: Einwilligung (Art. 6 Abs. 1 S. 1 lit. a. DSGVO), Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f. DSGVO).
  • +
+

Bereitstellung des Onlineangebotes und Webhosting

+

Um unser Onlineangebot sicher und effizient bereitstellen zu können, nehmen wir die Leistungen von einem oder mehreren Webhosting-Anbietern in Anspruch, von deren Servern (bzw. von ihnen verwalteten Servern) das Onlineangebot abgerufen werden kann. Zu diesen Zwecken können wir Infrastruktur- und Plattformdienstleistungen, Rechenkapazität, Speicherplatz und Datenbankdienste sowie Sicherheitsleistungen und technische Wartungsleistungen in Anspruch nehmen.

+

Zu den im Rahmen der Bereitstellung des Hostingangebotes verarbeiteten Daten können alle die Nutzer unseres Onlineangebotes betreffenden Angaben gehören, die im Rahmen der Nutzung und der Kommunikation anfallen. Hierzu gehören regelmäßig die IP-Adresse, die notwendig ist, um die Inhalte von Onlineangeboten an Browser ausliefern zu können, und alle innerhalb unseres Onlineangebotes oder von Webseiten getätigten Eingaben.

+

E-Mail-Versand und -Hosting: Die von uns in Anspruch genommenen Webhosting-Leistungen umfassen ebenfalls den Versand, den Empfang sowie die Speicherung von E-Mails. Zu diesen Zwecken werden die Adressen der Empfänger sowie Absender als auch weitere Informationen betreffend den E-Mailversand (z.B. die beteiligten Provider) sowie die Inhalte der jeweiligen E-Mails verarbeitet. Die vorgenannten Daten können ferner zu Zwecken der Erkennung von SPAM verarbeitet werden. Wir bitten darum, zu beachten, dass E-Mails im Internet grundsätzlich nicht verschlüsselt versendet werden. Im Regelfall werden E-Mails zwar auf dem Transportweg verschlüsselt, aber (sofern kein sogenanntes Ende-zu-Ende-Verschlüsselungsverfahren eingesetzt wird) nicht auf den Servern, von denen sie abgesendet und empfangen werden. Wir können daher für den Übertragungsweg der E-Mails zwischen dem Absender und dem Empfang auf unserem Server keine Verantwortung übernehmen.

+
    +
  • Verarbeitete Datenarten: Inhaltsdaten (z.B. Eingaben in Onlineformularen), Nutzungsdaten (z.B. besuchte Webseiten, Interesse an Inhalten, Zugriffszeiten), Meta-/Kommunikationsdaten (z.B. Geräte-Informationen, IP-Adressen).
  • +
  • Betroffene Personen: Nutzer (z.B. Webseitenbesucher, Nutzer von Onlinediensten).
  • +
  • Zwecke der Verarbeitung: Bereitstellung unseres Onlineangebotes und Nutzerfreundlichkeit.
  • +
  • Rechtsgrundlagen: Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f. DSGVO).
  • +
+

Eingesetzte Dienste und Diensteanbieter:

+
    +
  • 1blu: Leistungen auf dem Gebiet der Bereitstellung von informationstechnischer Infrastruktur und verbundenen Dienstleistungen (z.B. Speicherplatz und/oder Rechenkapazitäten); Dienstanbieter: 1blu AG, Riedemannweg 60, 13627 Berlin, Deutschland; Website: https://www.1blu.de/; Datenschutzerklärung: https://www.1blu.de/datenschutz.
  • +
+

Registrierung, Anmeldung und Nutzerkonto

+

Nutzer können ein Nutzerkonto anlegen. Im Rahmen der Registrierung werden den Nutzern die erforderlichen Pflichtangaben mitgeteilt und zu Zwecken der Bereitstellung des Nutzerkontos auf Grundlage vertraglicher Pflichterfüllung verarbeitet. Zu den verarbeiteten Daten gehören insbesondere die Login-Informationen (Nutzername, Passwort sowie eine E-Mail-Adresse).

+

Im Rahmen der Inanspruchnahme unserer Registrierungs- und Anmeldefunktionen sowie der Nutzung des Nutzerkontos speichern wir die IP-Adresse und den Zeitpunkt der jeweiligen Nutzerhandlung. Die Speicherung erfolgt auf Grundlage unserer berechtigten Interessen als auch jener der Nutzer an einem Schutz vor Missbrauch und sonstiger unbefugter Nutzung. Eine Weitergabe dieser Daten an Dritte erfolgt grundsätzlich nicht, es sei denn, sie ist zur Verfolgung unserer Ansprüche erforderlich oder es besteht eine gesetzliche Verpflichtung hierzu.

+

Die Nutzer können über Vorgänge, die für deren Nutzerkonto relevant sind, wie z.B. technische Änderungen, per E-Mail informiert werden.

+

Registrierung mit Pseudonymen: Nutzer dürfen statt Klarnamen Pseudonyme als Nutzernamen verwenden.

+

Einstellung der Sichtbarkeit von Profilen: Die Nutzer können mittels Einstellungen bestimmen, in welchem Umfang ihre Profile für die Öffentlichkeit oder nur für bestimmte Personengruppen sichtbar, bzw. zugänglich sind.

+

Löschung von Daten nach Kündigung: Wenn Nutzer ihr Nutzerkonto gekündigt haben, werden deren Daten im Hinblick auf das Nutzerkonto, vorbehaltlich einer gesetzlichen Erlaubnis, Pflicht oder Einwilligung der Nutzer, gelöscht.

+

Es obliegt den Nutzern, ihre Daten bei erfolgter Kündigung vor dem Vertragsende zu sichern. Wir sind berechtigt, sämtliche während der Vertragsdauer gespeicherte Daten des Nutzers unwiederbringlich zu löschen.

+
    +
  • Verarbeitete Datenarten: Bestandsdaten (z.B. Namen, Adressen), Kontaktdaten (z.B. E-Mail, Telefonnummern), Inhaltsdaten (z.B. Eingaben in Onlineformularen), Meta-/Kommunikationsdaten (z.B. Geräte-Informationen, IP-Adressen).
  • +
  • Betroffene Personen: Nutzer (z.B. Webseitenbesucher, Nutzer von Onlinediensten).
  • +
  • Zwecke der Verarbeitung: Erbringung vertragliche Leistungen und Kundenservice, Sicherheitsmaßnahmen, Verwaltung und Beantwortung von Anfragen.
  • +
  • Rechtsgrundlagen: Vertragserfüllung und vorvertragliche Anfragen (Art. 6 Abs. 1 S. 1 lit. b. DSGVO), Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f. DSGVO).
  • +
+

Community Funktionen

+

Die von uns bereitgestellten Community Funktionen erlauben es Nutzern miteinander in Konversationen oder sonst miteinander in einen Austausch zu treten. Hierbei bitten wir zu beachten, dass die Nutzung der Communityfunktionen nur unter Beachtung der geltenden Rechtslage, unserer Bedingungen und Richtlinien sowie der Rechte anderer Nutzer und Dritter gestattet ist.

+

Einstellung der Sichtbarkeit von Beiträgen: Die Nutzer können mittels Einstellungen bestimmen, in welchem Umfang die von ihnen erstellten Beiträge und Inhalte für die Öffentlichkeit oder nur für bestimmte Personen oder Gruppen sichtbar, bzw. zugänglich sind.

+

Schutz eigener Daten: Die Nutzer entscheiden selbst, welche Daten sie über sich innerhalb unseres Onlineangebotes preisgeben. Zum Beispiel, wenn Nutzer Angaben zur eigenen Person machen oder an Konversationen teilnehmen. Wir bitten die Nutzer ihre Daten zu schützen und persönliche Daten nur mit Bedacht und nur im erforderlichen Umfang zu veröffentlichen. Insbesondere bitten wir die Nutzer zu beachten, dass sie die Zugangsdaten ganz besonders schützen und sichere Passwörter verwenden müssen (d.h. vor allem möglichst lange und zufällige Zeichenkombinationen).

+
    +
  • Verarbeitete Datenarten: Nutzungsdaten (z.B. besuchte Webseiten, Interesse an Inhalten, Zugriffszeiten), Meta-/Kommunikationsdaten (z.B. Geräte-Informationen, IP-Adressen).
  • +
  • Betroffene Personen: Nutzer (z.B. Webseitenbesucher, Nutzer von Onlinediensten).
  • +
  • Zwecke der Verarbeitung: Erbringung vertragliche Leistungen und Kundenservice, Sicherheitsmaßnahmen.
  • +
  • Rechtsgrundlagen: Vertragserfüllung und vorvertragliche Anfragen (Art. 6 Abs. 1 S. 1 lit. b. DSGVO), Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f. DSGVO).
  • +
+

Single-Sign-On-Anmeldung

+

Als "Single-Sign-On“ oder "Single-Sign-On-Anmeldung bzw. "-Authentifizierung“ werden Verfahren bezeichnet, die es Nutzern erlauben, sich mit Hilfe eines Nutzerkontos bei einem Anbieter von Single-Sign-On-Verfahren (z.B. einem sozialen Netzwerk), auch bei unserem Onlineangebot, anzumelden. Voraussetzung der Single-Sign-On-Authentifizierung ist, dass die Nutzer bei dem jeweiligen Single-Sign-On-Anbieter registriert sind und die erforderlichen Zugangsdaten in dem dafür vorgesehenen Onlineformular eingeben, bzw. schon bei dem Single-Sign-On-Anbieter angemeldet sind und die Single-Sign-On-Anmeldung via Schaltfläche bestätigen.

+

Die Authentifizierung erfolgt direkt bei dem jeweiligen Single-Sign-On-Anbieter. Im Rahmen einer solchen Authentifizierung erhalten wir eine Nutzer-ID mit der Information, dass der Nutzer unter dieser Nutzer-ID beim jeweiligen Single-Sign-On-Anbieter eingeloggt ist und eine für uns für andere Zwecke nicht weiter nutzbare ID (sog "User Handle“). Ob uns zusätzliche Daten übermittelt werden, hängt allein von dem genutzten Single-Sign-On-Verfahren ab, von den gewählten Datenfreigaben im Rahmen der Authentifizierung und zudem davon, welche Daten Nutzer in den Privatsphäre- oder sonstigen Einstellungen des Nutzerkontos beim Single-Sign-On-Anbieter freigegeben haben. Es können je nach Single-Sign-On-Anbieter und der Wahl der Nutzer verschiedene Daten sein, in der Regel sind es die E-Mail-Adresse und der Benutzername. Das im Rahmen des Single-Sign-On-Verfahrens eingegebene Passwort bei dem Single-Sign-On-Anbieter ist für uns weder einsehbar, noch wird es von uns gespeichert.

+

Die Nutzer werden gebeten, zu beachten, dass deren bei uns gespeicherte Angaben automatisch mit ihrem Nutzerkonto beim Single-Sign-On-Anbieter abgeglichen werden können, dies jedoch nicht immer möglich ist oder tatsächlich erfolgt. Ändern sich z.B. die E-Mail-Adressen der Nutzer, müssen sie diese manuell in ihrem Nutzerkonto bei uns ändern.

+

Die Single-Sign-On-Anmeldung können wir, sofern mit den Nutzern vereinbart, im Rahmen der oder vor der Vertragserfüllung einsetzen, soweit die Nutzer darum gebeten wurden, im Rahmen einer Einwilligung verarbeiten und setzen sie ansonsten auf Grundlage der berechtigten Interessen unsererseits und der Interessen der Nutzer an einem effektiven und sicheren Anmeldesystem ein.

+

Sollten Nutzer sich einmal entscheiden, die Verknüpfung ihres Nutzerkontos beim Single-Sign-On-Anbieter nicht mehr für das Single-Sign-On-Verfahren nutzen zu wollen, müssen sie diese Verbindung innerhalb ihres Nutzerkontos beim Single-Sign-On-Anbieter aufheben. Möchten Nutzer deren Daten bei uns löschen, müssen sie ihre Registrierung bei uns kündigen.

+

Facebook Single-Sign-On: Wir sind gemeinsam mit Facebook Irland Ltd. für die Erhebung oder den Erhalt im Rahmen einer Übermittlung (jedoch nicht die weitere Verarbeitung) von "Event-Daten", die Facebook mittels der Facebook-Single-Sign-On-Anmeldeverfahren, die auf unserem Onlineangebot ausgeführt werden, erhebt oder im Rahmen einer Übermittlung zu folgenden Zwecken erhält, gemeinsam verantwortlich: a) Anzeige von Inhalten Werbeinformationen, die den mutmaßlichen Interessen der Nutzer entsprechen; b) Zustellung kommerzieller und transaktionsbezogener Nachrichten (z. B. Ansprache von Nutzern via Facebook-Messenger); c) Verbesserung der Anzeigenauslieferung und Personalisierung von Funktionen und Inhalten (z. B. Verbesserung der Erkennung, welche Inhalte oder Werbeinformationen mutmaßlich den Interessen der Nutzer entsprechen). Wir haben mit Facebook eine spezielle Vereinbarung abgeschlossen ("Zusatz für Verantwortliche", https://www.facebook.com/legal/controller_addendum), in der insbesondere geregelt wird, welche Sicherheitsmaßnahmen Facebook beachten muss (https://www.facebook.com/legal/terms/data_security_terms) und in der Facebook sich bereit erklärt hat die Betroffenenrechte zu erfüllen (d. h. Nutzer können z. B. Auskünfte oder Löschungsanfragen direkt an Facebook richten). Hinweis: Wenn Facebook uns Messwerte, Analysen und Berichte bereitstellt (die aggregiert sind, d. h. keine Angaben zu einzelnen Nutzern erhalten und für uns anonym sind), dann erfolgt diese Verarbeitung nicht im Rahmen der gemeinsamen Verantwortlichkeit, sondern auf Grundlage eines Auftragsverarbeitungsvertrages ("Datenverarbeitungsbedingungen ", https://www.facebook.com/legal/terms/dataprocessing) , der "Datensicherheitsbedingungen" (https://www.facebook.com/legal/terms/data_security_terms) sowie im Hinblick auf die Verarbeitung in den USA auf Grundlage von Standardvertragsklauseln ("Facebook-EU-Datenübermittlungszusatz, https://www.facebook.com/legal/EU_data_transfer_addendum). Die Rechte der Nutzer (insbesondere auf Auskunft, Löschung, Widerspruch und Beschwerde bei zuständiger Aufsichtsbehörde), werden durch die Vereinbarungen mit Facebook nicht eingeschränkt.

+
    +
  • Verarbeitete Datenarten: Bestandsdaten (z.B. Namen, Adressen), Kontaktdaten (z.B. E-Mail, Telefonnummern), Event-Daten (Facebook) ("Event-Daten" sind Daten, die z. B. via Facebook-Pixel (via Apps oder auf anderen Wegen) von uns an Facebook übermittelt werden können und sich auf Personen oder deren Handlungen beziehen; Zu den Daten gehören z. B. Angaben über Besuche auf Websites, Interaktionen mit Inhalten, Funktionen, Installationen von Apps, Käufe von Produkten, etc.; die Event-Daten werden zwecks Bildung von Zielgruppen für Inhalte und Werbeinformationen (Custom Audiences) verarbeitet; Event Daten beinhalten nicht die eigentlichen Inhalte (wie z. B. verfasste Kommentare), keine Login-Informationen und keine Kontaktinformationen (also keine Namen, E-Mail-Adressen und Telefonnummern). Event Daten werden durch Facebook nach maximal zwei Jahren gelöscht, die aus ihnen gebildeten Zielgruppen mit der Löschung unseres Facebook-Kontos).
  • +
  • Betroffene Personen: Nutzer (z.B. Webseitenbesucher, Nutzer von Onlinediensten).
  • +
  • Zwecke der Verarbeitung: Erbringung vertragliche Leistungen und Kundenservice, Anmeldeverfahren.
  • +
  • Rechtsgrundlagen: Einwilligung (Art. 6 Abs. 1 S. 1 lit. a. DSGVO), Vertragserfüllung und vorvertragliche Anfragen (Art. 6 Abs. 1 S. 1 lit. b. DSGVO), Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f. DSGVO).
  • +
+

Eingesetzte Dienste und Diensteanbieter:

+ +

Blogs und Publikationsmedien

+

Wir nutzen Blogs oder vergleichbare Mittel der Onlinekommunikation und Publikation (nachfolgend "Publikationsmedium"). Die Daten der Leser werden für die Zwecke des Publikationsmediums nur insoweit verarbeitet, als es für dessen Darstellung und die Kommunikation zwischen Autoren und Lesern oder aus Gründen der Sicherheit erforderlich ist. Im Übrigen verweisen wir auf die Informationen zur Verarbeitung der Besucher unseres Publikationsmediums im Rahmen dieser Datenschutzhinweise.

+

Kommentare und Beiträge: Wenn Nutzer Kommentare oder sonstige Beiträge hinterlassen, können ihre IP-Adressen auf Grundlage unserer berechtigten Interessen gespeichert werden. Das erfolgt zu unserer Sicherheit, falls jemand in Kommentaren und Beiträgen widerrechtliche Inhalte hinterlässt (Beleidigungen, verbotene politische Propaganda etc.). In diesem Fall können wir selbst für den Kommentar oder Beitrag belangt werden und sind daher an der Identität des Verfassers interessiert.

+

Des Weiteren behalten wir uns vor, auf Grundlage unserer berechtigten Interessen die Angaben der Nutzer zwecks Spamerkennung zu verarbeiten.

+

Auf derselben Rechtsgrundlage behalten wir uns vor, im Fall von Umfragen die IP-Adressen der Nutzer für deren Dauer zu speichern und Cookies zu verwenden, um Mehrfachabstimmungen zu vermeiden.

+

Die im Rahmen der Kommentare und Beiträge mitgeteilten Informationen zur Person, etwaige Kontakt- sowie Webseiteninformationen als auch die inhaltlichen Angaben werden von uns bis zum Widerspruch der Nutzer dauerhaft gespeichert.

+
    +
  • Verarbeitete Datenarten: Bestandsdaten (z.B. Namen, Adressen), Kontaktdaten (z.B. E-Mail, Telefonnummern), Inhaltsdaten (z.B. Eingaben in Onlineformularen), Nutzungsdaten (z.B. besuchte Webseiten, Interesse an Inhalten, Zugriffszeiten), Meta-/Kommunikationsdaten (z.B. Geräte-Informationen, IP-Adressen).
  • +
  • Betroffene Personen: Nutzer (z.B. Webseitenbesucher, Nutzer von Onlinediensten).
  • +
  • Zwecke der Verarbeitung: Erbringung vertragliche Leistungen und Kundenservice, Feedback (z.B. Sammeln von Feedback via Online-Formular), Sicherheitsmaßnahmen, Verwaltung und Beantwortung von Anfragen.
  • +
  • Rechtsgrundlagen: Vertragserfüllung und vorvertragliche Anfragen (Art. 6 Abs. 1 S. 1 lit. b. DSGVO), Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f. DSGVO).
  • +
+

Newsletter und elektronische Benachrichtigungen

+

Wir versenden Newsletter, E-Mails und weitere elektronische Benachrichtigungen (nachfolgend "Newsletter“) nur mit der Einwilligung der Empfänger oder einer gesetzlichen Erlaubnis. Sofern im Rahmen einer Anmeldung zum Newsletter dessen Inhalte konkret umschrieben werden, sind sie für die Einwilligung der Nutzer maßgeblich. Im Übrigen enthalten unsere Newsletter Informationen zu unseren Leistungen und uns.

+

Um sich zu unseren Newslettern anzumelden, reicht es grundsätzlich aus, wenn Sie Ihre E-Mail-Adresse angeben. Wir können Sie jedoch bitten, einen Namen, zwecks persönlicher Ansprache im Newsletter, oder weitere Angaben, sofern diese für die Zwecke des Newsletters erforderlich sind, zu tätigen.

+

Double-Opt-In-Verfahren: Die Anmeldung zu unserem Newsletter erfolgt grundsätzlich in einem sogenannte Double-Opt-In-Verfahren. D.h., Sie erhalten nach der Anmeldung eine E-Mail, in der Sie um die Bestätigung Ihrer Anmeldung gebeten werden. Diese Bestätigung ist notwendig, damit sich niemand mit fremden E-Mail-Adressen anmelden kann. Die Anmeldungen zum Newsletter werden protokolliert, um den Anmeldeprozess entsprechend den rechtlichen Anforderungen nachweisen zu können. Hierzu gehört die Speicherung des Anmelde- und des Bestätigungszeitpunkts als auch der IP-Adresse. Ebenso werden die Änderungen Ihrer bei dem Versanddienstleister gespeicherten Daten protokolliert.

+

Löschung und Einschränkung der Verarbeitung: Wir können die ausgetragenen E-Mail-Adressen bis zu drei Jahren auf Grundlage unserer berechtigten Interessen speichern, bevor wir sie löschen, um eine ehemals gegebene Einwilligung nachweisen zu können. Die Verarbeitung dieser Daten wird auf den Zweck einer möglichen Abwehr von Ansprüchen beschränkt. Ein individueller Löschungsantrag ist jederzeit möglich, sofern zugleich das ehemalige Bestehen einer Einwilligung bestätigt wird. Im Fall von Pflichten zur dauerhaften Beachtung von Widersprüchen behalten wir uns die Speicherung der E-Mail-Adresse alleine zu diesem Zweck in einer Sperrliste (sogenannte "Blocklist") vor.

+

Die Protokollierung des Anmeldeverfahrens erfolgt auf Grundlage unserer berechtigten Interessen zu Zwecken des Nachweises seines ordnungsgemäßen Ablaufs. Soweit wir einen Dienstleister mit dem Versand von E-Mails beauftragen, erfolgt dies auf Grundlage unserer berechtigten Interessen an einem effizienten und sicheren Versandsystem.

+

Hinweise zu Rechtsgrundlagen: Der Versand der Newsletter erfolgt auf Grundlage einer Einwilligung der Empfänger oder, falls eine Einwilligung nicht erforderlich ist, auf Grundlage unserer berechtigten Interessen am Direktmarketing, sofern und soweit diese gesetzlich, z.B. im Fall von Bestandskundenwerbung, erlaubt ist. Soweit wir einen Dienstleister mit dem Versand von E-Mails beauftragen, geschieht dies auf der Grundlage unserer berechtigten Interessen. Das Registrierungsverfahren wird auf der Grundlage unserer berechtigten Interessen aufgezeichnet, um nachzuweisen, dass es in Übereinstimmung mit dem Gesetz durchgeführt wurde.

+

Inhalte: Informationen zu uns, unseren Leistungen, Aktionen und Angeboten.

+

Versand via SMS: Die elektronischen Benachrichtigungen können ebenfalls als SMS-Textnachrichten versenden werden (bzw. werden ausschließlich via SMS versendet, falls die Versandberechtigung, z. B. eine Einwilligung, nur den Versand via SMS umfasst).

+
    +
  • Verarbeitete Datenarten: Bestandsdaten (z.B. Namen, Adressen), Kontaktdaten (z.B. E-Mail, Telefonnummern), Meta-/Kommunikationsdaten (z.B. Geräte-Informationen, IP-Adressen).
  • +
  • Betroffene Personen: Kommunikationspartner.
  • +
  • Zwecke der Verarbeitung: Direktmarketing (z.B. per E-Mail oder postalisch).
  • +
  • Rechtsgrundlagen: Einwilligung (Art. 6 Abs. 1 S. 1 lit. a. DSGVO), Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f. DSGVO).
  • +
  • Widerspruchsmöglichkeit (Opt-Out): Sie können den Empfang unseres Newsletters jederzeit kündigen, d.h. Ihre Einwilligungen widerrufen, bzw. dem weiteren Empfang widersprechen. Einen Link zur Kündigung des Newsletters finden Sie entweder am Ende eines jeden Newsletters oder können sonst eine der oben angegebenen Kontaktmöglichkeiten, vorzugswürdig E-Mail, hierzu nutzen.
  • +
+

Plugins und eingebettete Funktionen sowie Inhalte

+

Wir binden in unser Onlineangebot Funktions- und Inhaltselemente ein, die von den Servern ihrer jeweiligen Anbieter (nachfolgend bezeichnet als "Drittanbieter”) bezogen werden. Dabei kann es sich zum Beispiel um Grafiken, Videos oder Stadtpläne handeln (nachfolgend einheitlich bezeichnet als "Inhalte”).

+

Die Einbindung setzt immer voraus, dass die Drittanbieter dieser Inhalte die IP-Adresse der Nutzer verarbeiten, da sie ohne die IP-Adresse die Inhalte nicht an deren Browser senden könnten. Die IP-Adresse ist damit für die Darstellung dieser Inhalte oder Funktionen erforderlich. Wir bemühen uns, nur solche Inhalte zu verwenden, deren jeweilige Anbieter die IP-Adresse lediglich zur Auslieferung der Inhalte verwenden. Drittanbieter können ferner sogenannte Pixel-Tags (unsichtbare Grafiken, auch als "Web Beacons" bezeichnet) für statistische oder Marketingzwecke verwenden. Durch die "Pixel-Tags" können Informationen, wie der Besucherverkehr auf den Seiten dieser Webseite, ausgewertet werden. Die pseudonymen Informationen können ferner in Cookies auf dem Gerät der Nutzer gespeichert werden und unter anderem technische Informationen zum Browser und zum Betriebssystem, zu verweisenden Webseiten, zur Besuchszeit sowie weitere Angaben zur Nutzung unseres Onlineangebotes enthalten als auch mit solchen Informationen aus anderen Quellen verbunden werden.

+

Hinweise zu Rechtsgrundlagen: Sofern wir die Nutzer um deren Einwilligung in den Einsatz der Drittanbieter bitten, ist die Rechtsgrundlage der Verarbeitung von Daten die Einwilligung. Ansonsten werden die Daten der Nutzer auf Grundlage unserer berechtigten Interessen (d.h. Interesse an effizienten, wirtschaftlichen und empfängerfreundlichen Leistungen) verarbeitet. In diesem Zusammenhang möchten wir Sie auch auf die Informationen zur Verwendung von Cookies in dieser Datenschutzerklärung hinweisen.

+

Facebook-Plugins und -Inhalte: Wir sind gemeinsam mit Facebook Irland Ltd. für die Erhebung oder den Erhalt im Rahmen einer Übermittlung (jedoch nicht die weitere Verarbeitung) von "Event-Daten", die Facebook mittels der Facebook-Social-Plugins (und Einbettungsfunktionen für Inhalte), die auf unserem Onlineangebot ausgeführt werden, erhebt oder im Rahmen einer Übermittlung zu folgenden Zwecken erhält, gemeinsam verantwortlich: a) Anzeige von Inhalten sowie Werbeinformationen, die den mutmaßlichen Interessen der Nutzer entsprechen; b) Zustellung kommerzieller und transaktionsbezogener Nachrichten (z. B. Ansprache von Nutzern via Facebook-Messenger); c) Verbesserung der Anzeigenauslieferung und Personalisierung von Funktionen und Inhalten (z. B. Verbesserung der Erkennung, welche Inhalte oder Werbeinformationen mutmaßlich den Interessen der Nutzer entsprechen). Wir haben mit Facebook eine spezielle Vereinbarung abgeschlossen ("Zusatz für Verantwortliche", https://www.facebook.com/legal/controller_addendum), in der insbesondere geregelt wird, welche Sicherheitsmaßnahmen Facebook beachten muss (https://www.facebook.com/legal/terms/data_security_terms) und in der Facebook sich bereit erklärt hat die Betroffenenrechte zu erfüllen (d. h. Nutzer können z. B. Auskünfte oder Löschungsanfragen direkt an Facebook richten). Hinweis: Wenn Facebook uns Messwerte, Analysen und Berichte bereitstellt (die aggregiert sind, d. h. keine Angaben zu einzelnen Nutzern erhalten und für uns anonym sind), dann erfolgt diese Verarbeitung nicht im Rahmen der gemeinsamen Verantwortlichkeit, sondern auf Grundlage eines Auftragsverarbeitungsvertrages ("Datenverarbeitungsbedingungen ", https://www.facebook.com/legal/terms/dataprocessing) , der "Datensicherheitsbedingungen" (https://www.facebook.com/legal/terms/data_security_terms) sowie im Hinblick auf die Verarbeitung in den USA auf Grundlage von Standardvertragsklauseln ("Facebook-EU-Datenübermittlungszusatz, https://www.facebook.com/legal/EU_data_transfer_addendum). Die Rechte der Nutzer (insbesondere auf Auskunft, Löschung, Widerspruch und Beschwerde bei zuständiger Aufsichtsbehörde), werden durch die Vereinbarungen mit Facebook nicht eingeschränkt.

+
    +
  • Verarbeitete Datenarten: Nutzungsdaten (z.B. besuchte Webseiten, Interesse an Inhalten, Zugriffszeiten), Meta-/Kommunikationsdaten (z.B. Geräte-Informationen, IP-Adressen), Event-Daten (Facebook) ("Event-Daten" sind Daten, die z. B. via Facebook-Pixel (via Apps oder auf anderen Wegen) von uns an Facebook übermittelt werden können und sich auf Personen oder deren Handlungen beziehen; Zu den Daten gehören z. B. Angaben über Besuche auf Websites, Interaktionen mit Inhalten, Funktionen, Installationen von Apps, Käufe von Produkten, etc.; die Event-Daten werden zwecks Bildung von Zielgruppen für Inhalte und Werbeinformationen (Custom Audiences) verarbeitet; Event Daten beinhalten nicht die eigentlichen Inhalte (wie z. B. verfasste Kommentare), keine Login-Informationen und keine Kontaktinformationen (also keine Namen, E-Mail-Adressen und Telefonnummern). Event Daten werden durch Facebook nach maximal zwei Jahren gelöscht, die aus ihnen gebildeten Zielgruppen mit der Löschung unseres Facebook-Kontos).
  • +
  • Betroffene Personen: Nutzer (z.B. Webseitenbesucher, Nutzer von Onlinediensten).
  • +
  • Zwecke der Verarbeitung: Bereitstellung unseres Onlineangebotes und Nutzerfreundlichkeit, Erbringung vertragliche Leistungen und Kundenservice.
  • +
  • Rechtsgrundlagen: Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f. DSGVO), Einwilligung (Art. 6 Abs. 1 S. 1 lit. a. DSGVO), Vertragserfüllung und vorvertragliche Anfragen (Art. 6 Abs. 1 S. 1 lit. b. DSGVO).
  • +
+

Eingesetzte Dienste und Diensteanbieter:

+
    +
  • Facebook-Plugins und -Inhalte: Facebook Social Plugins und Inhalte - Hierzu können z.B. Inhalte wie Bilder, Videos oder Texte und Schaltflächen gehören, mit denen Nutzer Inhalte dieses Onlineangebotes innerhalb von Facebook teilen können. Die Liste und das Aussehen der Facebook Social Plugins können hier eingesehen werden: https://developers.facebook.com/docs/plugins/; Dienstanbieter: Facebook Ireland Ltd., 4 Grand Canal Square, Grand Canal Harbour, Dublin 2, Irland, Mutterunternehmen: Facebook, 1 Hacker Way, Menlo Park, CA 94025, USA; Website: https://www.facebook.com; Datenschutzerklärung: https://www.facebook.com/about/privacy; Widerspruchsmöglichkeit (Opt-Out): Einstellungen für Werbeanzeigen: https://www.facebook.com/settings?tab=ads.
  • +
  • OpenStreetMap: Wir binden die Landkarten des Dienstes "OpenStreetMap" ein, die auf Grundlage der Open Data Commons Open Database Lizenz (ODbL) durch die OpenStreetMap Foundation (OSMF) angeboten werden. Die Daten der Nutzer werden durch OpenStreetMap ausschließlich zu Zwecken der Darstellung der Kartenfunktionen und zur Zwischenspeicherung der gewählten Einstellungen verwendet. Zu diesen Daten können insbesondere IP-Adressen und Standortdaten der Nutzer gehören, die jedoch nicht ohne deren Einwilligung (im Regelfall im Rahmen der Einstellungen ihrer Mobilgeräte vollzogen) erhoben werden. Dienstanbieter: OpenStreetMap Foundation (OSMF); Website: https://www.openstreetmap.de; Datenschutzerklärung: https://wiki.openstreetmap.org/wiki/Privacy_Policy.
  • +
  • YouTube-Videos: Videoinhalte; YouTube wird über die Domain https://www.youtube-nocookie.com im sogenannten "Erweiterten Datenschutzmodus" eingebunden, wodurch keine Cookies zu Nutzeraktivitäten erhoben werden, um die Videowiedergabe zu personalisieren. Dennoch können Angaben zur Interaktion der Nutzer mit dem Video (z.B. Merken der letzten Wiedergabestelle), gespeichert werden; Dienstanbieter: Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland, Mutterunternehmen: Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA; Website: https://www.youtube.com; Datenschutzerklärung: https://policies.google.com/privacy.
  • +
+

Löschung von Daten

+

Die von uns verarbeiteten Daten werden nach Maßgabe der gesetzlichen Vorgaben gelöscht, sobald deren zur Verarbeitung erlaubten Einwilligungen widerrufen werden oder sonstige Erlaubnisse entfallen (z.B., wenn der Zweck der Verarbeitung dieser Daten entfallen ist oder sie für den Zweck nicht erforderlich sind).

+

Sofern die Daten nicht gelöscht werden, weil sie für andere und gesetzlich zulässige Zwecke erforderlich sind, wird deren Verarbeitung auf diese Zwecke beschränkt. D.h., die Daten werden gesperrt und nicht für andere Zwecke verarbeitet. Das gilt z.B. für Daten, die aus handels- oder steuerrechtlichen Gründen aufbewahrt werden müssen oder deren Speicherung zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen oder zum Schutz der Rechte einer anderen natürlichen oder juristischen Person erforderlich ist.

+

Unsere Datenschutzhinweise können ferner weitere Angaben zu der Aufbewahrung und Löschung von Daten beinhalten, die für die jeweiligen Verarbeitungen vorrangig gelten.

+

Änderung und Aktualisierung der Datenschutzerklärung

+

Wir bitten Sie, sich regelmäßig über den Inhalt unserer Datenschutzerklärung zu informieren. Wir passen die Datenschutzerklärung an, sobald die Änderungen der von uns durchgeführten Datenverarbeitungen dies erforderlich machen. Wir informieren Sie, sobald durch die Änderungen eine Mitwirkungshandlung Ihrerseits (z.B. Einwilligung) oder eine sonstige individuelle Benachrichtigung erforderlich wird.

+

Sofern wir in dieser Datenschutzerklärung Adressen und Kontaktinformationen von Unternehmen und Organisationen angeben, bitten wir zu beachten, dass die Adressen sich über die Zeit ändern können und bitten die Angaben vor Kontaktaufnahme zu prüfen.

+

Begriffsdefinitionen

+

In diesem Abschnitt erhalten Sie eine Übersicht über die in dieser Datenschutzerklärung verwendeten Begrifflichkeiten. Viele der Begriffe sind dem Gesetz entnommen und vor allem im Art. 4 DSGVO definiert. Die gesetzlichen Definitionen sind verbindlich. Die nachfolgenden Erläuterungen sollen dagegen vor allem dem Verständnis dienen. Die Begriffe sind alphabetisch sortiert.

+
    +
  • Personenbezogene Daten: "Personenbezogene Daten“ sind alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person (im Folgenden "betroffene Person“) beziehen; als identifizierbar wird eine natürliche Person angesehen, die direkt oder indirekt, insbesondere mittels Zuordnung zu einer Kennung wie einem Namen, zu einer Kennnummer, zu Standortdaten, zu einer Online-Kennung (z.B. Cookie) oder zu einem oder mehreren besonderen Merkmalen identifiziert werden kann, die Ausdruck der physischen, physiologischen, genetischen, psychischen, wirtschaftlichen, kulturellen oder sozialen Identität dieser natürlichen Person sind.
  • +
  • Verantwortlicher: Als "Verantwortlicher“ wird die natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten entscheidet, bezeichnet.
  • +
  • Verarbeitung: "Verarbeitung" ist jeder mit oder ohne Hilfe automatisierter Verfahren ausgeführte Vorgang oder jede solche Vorgangsreihe im Zusammenhang mit personenbezogenen Daten. Der Begriff reicht weit und umfasst praktisch jeden Umgang mit Daten, sei es das Erheben, das Auswerten, das Speichern, das Übermitteln oder das Löschen.
  • +
+

Erstellt mit kostenlosem Datenschutz-Generator.de von Dr. Thomas Schwenke

+ `, + en: '', + } +}; + +export default content; \ No newline at end of file diff --git a/frontend/src/dialogues/chat/RandomChatDialog.vue b/frontend/src/dialogues/chat/RandomChatDialog.vue new file mode 100644 index 0000000..677cfad --- /dev/null +++ b/frontend/src/dialogues/chat/RandomChatDialog.vue @@ -0,0 +1,277 @@ + + + + + diff --git a/frontend/src/dialogues/standard/DataPrivacyDialog.vue b/frontend/src/dialogues/standard/DataPrivacyDialog.vue new file mode 100644 index 0000000..54e3cf5 --- /dev/null +++ b/frontend/src/dialogues/standard/DataPrivacyDialog.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/frontend/src/dialogues/standard/ImprintDialog.vue b/frontend/src/dialogues/standard/ImprintDialog.vue new file mode 100644 index 0000000..b16942a --- /dev/null +++ b/frontend/src/dialogues/standard/ImprintDialog.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/frontend/src/i18n/index.js b/frontend/src/i18n/index.js new file mode 100644 index 0000000..7507cad --- /dev/null +++ b/frontend/src/i18n/index.js @@ -0,0 +1,38 @@ +import { createI18n } from 'vue-i18n'; + +import enGeneral from './locales/en/general.json'; +import enHeader from './locales/en/header.json'; +import enNavigation from './locales/en/navigation.json'; +import enHome from './locales/en/home.json'; +import enChat from './locales/en/chat.json'; + +import deGeneral from './locales/de/general.json'; +import deHeader from './locales/de/header.json'; +import deNavigation from './locales/de/navigation.json'; +import deHome from './locales/de/home.json'; +import deChat from './locales/de/chat.json'; + +const messages = { + en: { + ...enGeneral, + ...enHeader, + ...enNavigation, + ...enHome, + ...enChat, + }, + de: { + ...deGeneral, + ...deHeader, + ...deNavigation, + ...deHome, + ...deChat, + } +}; + +const i18n = createI18n({ + locale: 'de', + fallbackLocale: 'de', + messages +}); + +export default i18n; diff --git a/frontend/src/i18n/locales/de/chat.json b/frontend/src/i18n/locales/de/chat.json new file mode 100644 index 0000000..d0f6df0 --- /dev/null +++ b/frontend/src/i18n/locales/de/chat.json @@ -0,0 +1,30 @@ +{ + "randomchat": { + "title": "Zufallschat", + "age": "Alter", + "gender": { + "title": "Dein Geschlecht", + "male": "Männlich", + "female": "Weiblich" + }, + "start": "Loslegen", + "agerange": "Alter", + "gendersearch": "Geschlechter", + "camonly": "Nur mit Cam", + "showcam": "Eigene Cam anzeigen", + "addfriend": "Zu Freunden hinzufügen", + "close": "Chat beenden", + "autosearch": "Automatisch suchen", + "input": "Ihr Text", + "waitingForMatch": "Warten auf einen Teilnehmer...", + "chatpartner": "Du chattest jetzt mit einer Person im Alter von Jahren.", + "partnergenderm": "männlichen", + "partnergenderf": "weiblichen", + "self": "Du", + "partner": "Partner", + "jumptonext": "Diesen Chat beenden", + "userleftchat": "Der Gesprächstpartner hat den Chat verlassen.", + "startsearch": "Suche nächstes Gespräch", + "selfstopped": "Du hast das Gespräch verlassen." + } +} \ No newline at end of file diff --git a/frontend/src/i18n/locales/de/general.json b/frontend/src/i18n/locales/de/general.json new file mode 100644 index 0000000..711a2b6 --- /dev/null +++ b/frontend/src/i18n/locales/de/general.json @@ -0,0 +1,9 @@ +{ + "welcome": "Willkommen bei YourPart", + "imprint": { + "title": "Impressum" + }, + "dataPrivacy": { + "title": "Datenschutzerklärung" + } +} diff --git a/frontend/src/i18n/locales/de/header.json b/frontend/src/i18n/locales/de/header.json new file mode 100644 index 0000000..e5149be --- /dev/null +++ b/frontend/src/i18n/locales/de/header.json @@ -0,0 +1,5 @@ +{ + "logo": "Logo", + "title": "YourPart", + "advertisement": "Advertisement" +} \ No newline at end of file diff --git a/frontend/src/i18n/locales/de/home.json b/frontend/src/i18n/locales/de/home.json new file mode 100644 index 0000000..01ec0b0 --- /dev/null +++ b/frontend/src/i18n/locales/de/home.json @@ -0,0 +1,16 @@ +{ + "home": { + "nologin": { + "welcome": "Willkommen bei yourPart", + "description": "yourPart ist ein social Network, bei dem Sie Freundschaften schließen und neue Leute kennen lernen können. Sie können hier Ihre Bilder für andere anzeigen und dabei bestimmen, wer welche Bilder sehen kann. Natürlich können Sie auch Nachrichen austauschen und sogar Chatten. Im großen Stil, mit vielen anderen gleichzeitig, und im kleinen Zufallschat. Und nicht zu vergessen, Sie können hier auch Camen.", + "randomchat": "Zufallschat", + "startrandomchat": "Zufallschat starten", + "login": { + "name": "Login-Name", + "namedescription": "Gib hier Deinen Benutzernamen ein", + "password": "Paßwort", + "passworddescription": "Gib hier Dein Paßwort ein" + } + } + } +} \ No newline at end of file diff --git a/frontend/src/i18n/locales/de/navigation.json b/frontend/src/i18n/locales/de/navigation.json new file mode 100644 index 0000000..e7d888e --- /dev/null +++ b/frontend/src/i18n/locales/de/navigation.json @@ -0,0 +1,12 @@ +{ + "home": "Startseite", + "about": "Über uns", + "services": "Dienstleistungen", + "team": "Team", + "company": "Firma", + "consulting": "Beratung", + "development": "Entwicklung", + "mailbox": "Briefkasten", + "logout": "Abmelden" +} + \ No newline at end of file diff --git a/frontend/src/i18n/locales/en/chat.json b/frontend/src/i18n/locales/en/chat.json new file mode 100644 index 0000000..1d83951 --- /dev/null +++ b/frontend/src/i18n/locales/en/chat.json @@ -0,0 +1,21 @@ +{ + "randomchat": { + "title": "Random Chat", + "close": "Close", + "age": "Age", + "gender": { + "title": "Gender", + "female": "Female", + "male": "Male" + }, + "agerange": "Age Range", + "gendersearch": "Gender Search", + "camonly": "Cam Only", + "showcam": "Show Cam", + "addfriend": "Add Friend", + "autosearch": "Auto Search", + "input": "Input", + "start": "Start", + "waitingForMatch": "Waiting for a match..." + } +} \ No newline at end of file diff --git a/frontend/src/i18n/locales/en/general.json b/frontend/src/i18n/locales/en/general.json new file mode 100644 index 0000000..07d57ca --- /dev/null +++ b/frontend/src/i18n/locales/en/general.json @@ -0,0 +1,9 @@ +{ + "welcome": "Welcome to YourPart", + "imprint": { + "title": "Imprint" + }, + "dataPrivacy": { + "title": "Data Privacy Policy" + } +} \ No newline at end of file diff --git a/frontend/src/i18n/locales/en/header.json b/frontend/src/i18n/locales/en/header.json new file mode 100644 index 0000000..e5149be --- /dev/null +++ b/frontend/src/i18n/locales/en/header.json @@ -0,0 +1,5 @@ +{ + "logo": "Logo", + "title": "YourPart", + "advertisement": "Advertisement" +} \ No newline at end of file diff --git a/frontend/src/i18n/locales/en/home.json b/frontend/src/i18n/locales/en/home.json new file mode 100644 index 0000000..f129fe9 --- /dev/null +++ b/frontend/src/i18n/locales/en/home.json @@ -0,0 +1,10 @@ +{ + "home": { + "nologin": { + "welcome": "Welcome at yourPart", + "description": "", + "randomchat": "Random chat", + "startrandomchat": "Start random chat" + } + } +} \ No newline at end of file diff --git a/frontend/src/i18n/locales/en/navigation.json b/frontend/src/i18n/locales/en/navigation.json new file mode 100644 index 0000000..67630d0 --- /dev/null +++ b/frontend/src/i18n/locales/en/navigation.json @@ -0,0 +1,11 @@ +{ + "home": "Home", + "about": "About", + "services": "Services", + "team": "Team", + "company": "Company", + "consulting": "Consulting", + "development": "Development", + "mailbox": "Mailbox", + "logout": "Logout" +} \ No newline at end of file diff --git a/frontend/src/main.js b/frontend/src/main.js new file mode 100644 index 0000000..69b0893 --- /dev/null +++ b/frontend/src/main.js @@ -0,0 +1,16 @@ +import { createApp } from 'vue'; +import App from './App.vue'; +import store from './store'; +import router from './router'; +import './assets/styles.scss'; +import i18n from './i18n'; + +const app = createApp(App); + +app.use(store); +app.use(router); +app.use(i18n); + +store.dispatch('loadLoginState'); + +app.mount('#app'); diff --git a/frontend/src/router/index.js b/frontend/src/router/index.js new file mode 100644 index 0000000..3d9e35c --- /dev/null +++ b/frontend/src/router/index.js @@ -0,0 +1,30 @@ +import { createRouter, createWebHistory } from 'vue-router'; +import HomeView from '../views/HomeView.vue'; + +const routes = [ + { + path: '/', + name: 'Home', + component: HomeView + } +]; + +const router = createRouter({ + history: createWebHistory(process.env.BASE_URL), + routes +}); + +router.beforeEach((to, from, next) => { + if (to.matched.some(record => record.meta.requiresAuth)) { + if (!store.getters.isLoggedIn) { + next('/'); + } else { + next(); + } + } else { + next(); + } +}); + +export default router; + diff --git a/frontend/src/store/index.js b/frontend/src/store/index.js new file mode 100644 index 0000000..65f5ee4 --- /dev/null +++ b/frontend/src/store/index.js @@ -0,0 +1,55 @@ +import { createStore } from 'vuex'; +import dialogs from './modules/dialogs'; + +const store = createStore({ + state: { + isLoggedIn: false, + user: null + }, + mutations: { + login(state, user) { + state.isLoggedIn = true; + state.user = user; + localStorage.setItem('isLoggedIn', 'true'); + localStorage.setItem('user', JSON.stringify(user)); + }, + logout(state) { + state.isLoggedIn = false; + state.user = null; + localStorage.removeItem('isLoggedIn'); + localStorage.removeItem('user'); + }, + loadLoginState(state) { + const isLoggedIn = localStorage.getItem('isLoggedIn') === 'true'; + let userData = {}; + try { + userData = localStorage.getItem('user') ? JSON.parse(localStorage.getItem('user')) : {}; + } catch(e) { + + } + const user = userData; + state.isLoggedIn = isLoggedIn; + state.user = user; + } + }, + actions: { + login({ commit }, user) { + commit('login', user); + }, + logout({ commit }) { + commit('logout'); + }, + loadLoginState({ commit }) { + commit('loadLoginState'); + } + }, + getters: { + isLoggedIn: state => state.isLoggedIn, + user: state => state.user + }, + modules: { + dialogs, + }, +}); + +export default store; diff --git a/frontend/src/store/modules/dialogs.js b/frontend/src/store/modules/dialogs.js new file mode 100644 index 0000000..f035c09 --- /dev/null +++ b/frontend/src/store/modules/dialogs.js @@ -0,0 +1,50 @@ +const state = { + openDialogs: [] +}; + +const getters = { + openDialogs: (state) => state.openDialogs +}; + +let minimizing = false; +const mutations = { + addOpenDialog(state, dialog) { + if (!state.openDialogs.find((d) => d.dialog.name === dialog.dialog.name)) { + state.openDialogs.push(dialog); + } + }, + removeOpenDialog(state, dialogName) { + state.openDialogs = state.openDialogs.filter((dialog) => dialog.dialog.name !== dialogName); + }, + toggleDialogMinimize(state, dialogName) { + if (minimizing) { + return; + } + minimizing = true; + const dialog = state.openDialogs.find((dialog) => dialog.dialog.name === dialogName); + if (dialog) { + dialog.dialog.toggleMinimize(); + } + minimizing = false; + } +}; + +const actions = { + addOpenDialog({ commit }, dialog) { + commit('addOpenDialog', dialog); + }, + removeOpenDialog({ commit }, dialogName) { + commit('removeOpenDialog', dialogName); + }, + toggleDialogMinimize({ commit }, dialogName) { + commit('toggleDialogMinimize', dialogName); + } +}; + +export default { + namespaced: true, + state, + getters, + mutations, + actions +}; diff --git a/frontend/src/views/HomeView.vue b/frontend/src/views/HomeView.vue new file mode 100644 index 0000000..a6d5fc3 --- /dev/null +++ b/frontend/src/views/HomeView.vue @@ -0,0 +1,23 @@ + + + \ No newline at end of file diff --git a/frontend/src/views/home/LoggedInView.vue b/frontend/src/views/home/LoggedInView.vue new file mode 100644 index 0000000..443ca3e --- /dev/null +++ b/frontend/src/views/home/LoggedInView.vue @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/frontend/src/views/home/NoLoginView.vue b/frontend/src/views/home/NoLoginView.vue new file mode 100644 index 0000000..68fe247 --- /dev/null +++ b/frontend/src/views/home/NoLoginView.vue @@ -0,0 +1,100 @@ + + + + + \ No newline at end of file diff --git a/frontend/vue.config.js b/frontend/vue.config.js new file mode 100644 index 0000000..5c7d850 --- /dev/null +++ b/frontend/vue.config.js @@ -0,0 +1,13 @@ +module.exports = { + devServer: { + proxy: { + '/api': { + target: 'http://localhost:3001', + changeOrigin: true + } + }, + client: { + webSocketURL: 'ws://localhost:8080/ws', + }, + } +}; diff --git a/package.json b/package.json new file mode 100644 index 0000000..d809437 --- /dev/null +++ b/package.json @@ -0,0 +1,18 @@ +{ + "name": "yourpart", + "version": "3.0.0-pre-alpha.0.1", + "scripts": { + "start": "npm-run-all --parallel build start:backend", + "build": "cd frontend && npm run build", + "start:backend": "cd backend && node server.js", + "dev": "concurrently \"npm run dev:backend\" \"npm run dev:frontend\"", + "dev:backend": "cd backend && nodemon server.js", + "dev:frontend": "cd frontend && npm run serve" + }, + "devDependencies": { + "concurrently": "^7.0.0", + "npm-run-all": "^4.1.5", + "nodemon": "^2.0.15" + } + } + \ No newline at end of file