452d963a6248bd9b53bef94aff4f22fad7a0032075398dfc41c4ca15bef2deb7.json 34 KB

1
  1. {"ast":null,"code":"import _asyncToGenerator from \"F:/workspace/202226701027/huinongbao-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\n/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';\nimport { a as findClosestIonContent, g as getScrollElement } from './index8.js';\nimport { r as raf } from './helpers.js';\nimport { a as hapticSelectionStart, b as hapticSelectionChanged, h as hapticSelectionEnd } from './haptic.js';\nimport { b as getIonMode } from './ionic-global.js';\nconst reorderGroupCss = \".reorder-list-active>*{display:block;-webkit-transition:-webkit-transform 300ms;transition:-webkit-transform 300ms;transition:transform 300ms;transition:transform 300ms, -webkit-transform 300ms;will-change:transform}.reorder-enabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-enabled ion-reorder{display:block;cursor:-webkit-grab;cursor:grab;pointer-events:all;-ms-touch-action:none;touch-action:none}.reorder-selected,.reorder-selected ion-reorder{cursor:-webkit-grabbing;cursor:grabbing}.reorder-selected{position:relative;-webkit-transition:none !important;transition:none !important;-webkit-box-shadow:0 0 10px rgba(0, 0, 0, 0.4);box-shadow:0 0 10px rgba(0, 0, 0, 0.4);opacity:0.8;z-index:100}.reorder-visible ion-reorder .reorder-icon{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}\";\nconst IonReorderGroupStyle0 = reorderGroupCss;\nconst ReorderGroup = /*@__PURE__*/proxyCustomElement(class ReorderGroup extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.ionItemReorder = createEvent(this, \"ionItemReorder\", 7);\n this.lastToIndex = -1;\n this.cachedHeights = [];\n this.scrollElTop = 0;\n this.scrollElBottom = 0;\n this.scrollElInitial = 0;\n this.containerTop = 0;\n this.containerBottom = 0;\n this.state = 0 /* ReorderGroupState.Idle */;\n this.disabled = true;\n }\n disabledChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n }\n connectedCallback() {\n var _this = this;\n return _asyncToGenerator(function* () {\n const contentEl = findClosestIonContent(_this.el);\n if (contentEl) {\n _this.scrollEl = yield getScrollElement(contentEl);\n }\n _this.gesture = (yield import('./index3.js')).createGesture({\n el: _this.el,\n gestureName: 'reorder',\n gesturePriority: 110,\n threshold: 0,\n direction: 'y',\n passive: false,\n canStart: detail => _this.canStart(detail),\n onStart: ev => _this.onStart(ev),\n onMove: ev => _this.onMove(ev),\n onEnd: () => _this.onEnd()\n });\n _this.disabledChanged();\n })();\n }\n disconnectedCallback() {\n this.onEnd();\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n }\n /**\n * Completes the reorder operation. Must be called by the `ionItemReorder` event.\n *\n * If a list of items is passed, the list will be reordered and returned in the\n * proper order.\n *\n * If no parameters are passed or if `true` is passed in, the reorder will complete\n * and the item will remain in the position it was dragged to. If `false` is passed,\n * the reorder will complete and the item will bounce back to its original position.\n *\n * @param listOrReorder A list of items to be sorted and returned in the new order or a\n * boolean of whether or not the reorder should reposition the item.\n */\n complete(listOrReorder) {\n return Promise.resolve(this.completeReorder(listOrReorder));\n }\n canStart(ev) {\n if (this.selectedItemEl || this.state !== 0 /* ReorderGroupState.Idle */) {\n return false;\n }\n const target = ev.event.target;\n const reorderEl = target.closest('ion-reorder');\n if (!reorderEl) {\n return false;\n }\n const item = findReorderItem(reorderEl, this.el);\n if (!item) {\n return false;\n }\n ev.data = item;\n return true;\n }\n onStart(ev) {\n ev.event.preventDefault();\n const item = this.selectedItemEl = ev.data;\n const heights = this.cachedHeights;\n heights.length = 0;\n const el = this.el;\n const children = el.children;\n if (!children || children.length === 0) {\n return;\n }\n let sum = 0;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n sum += child.offsetHeight;\n heights.push(sum);\n child.$ionIndex = i;\n }\n const box = el.getBoundingClientRect();\n this.containerTop = box.top;\n this.containerBottom = box.bottom;\n if (this.scrollEl) {\n const scrollBox = this.scrollEl.getBoundingClientRect();\n this.scrollElInitial = this.scrollEl.scrollTop;\n this.scrollElTop = scrollBox.top + AUTO_SCROLL_MARGIN;\n this.scrollElBottom = scrollBox.bottom - AUTO_SCROLL_MARGIN;\n } else {\n this.scrollElInitial = 0;\n this.scrollElTop = 0;\n this.scrollElBottom = 0;\n }\n this.lastToIndex = indexForItem(item);\n this.selectedItemHeight = item.offsetHeight;\n this.state = 1 /* ReorderGroupState.Active */;\n item.classList.add(ITEM_REORDER_SELECTED);\n hapticSelectionStart();\n }\n onMove(ev) {\n const selectedItem = this.selectedItemEl;\n if (!selectedItem) {\n return;\n }\n // Scroll if we reach the scroll margins\n const scroll = this.autoscroll(ev.currentY);\n // // Get coordinate\n const top = this.containerTop - scroll;\n const bottom = this.containerBottom - scroll;\n const currentY = Math.max(top, Math.min(ev.currentY, bottom));\n const deltaY = scroll + currentY - ev.startY;\n const normalizedY = currentY - top;\n const toIndex = this.itemIndexForTop(normalizedY);\n if (toIndex !== this.lastToIndex) {\n const fromIndex = indexForItem(selectedItem);\n this.lastToIndex = toIndex;\n hapticSelectionChanged();\n this.reorderMove(fromIndex, toIndex);\n }\n // Update selected item position\n selectedItem.style.transform = `translateY(${deltaY}px)`;\n }\n onEnd() {\n const selectedItemEl = this.selectedItemEl;\n this.state = 2 /* ReorderGroupState.Complete */;\n if (!selectedItemEl) {\n this.state = 0 /* ReorderGroupState.Idle */;\n return;\n }\n const toIndex = this.lastToIndex;\n const fromIndex = indexForItem(selectedItemEl);\n if (toIndex === fromIndex) {\n this.completeReorder();\n } else {\n this.ionItemReorder.emit({\n from: fromIndex,\n to: toIndex,\n complete: this.completeReorder.bind(this)\n });\n }\n hapticSelectionEnd();\n }\n completeReorder(listOrReorder) {\n const selectedItemEl = this.selectedItemEl;\n if (selectedItemEl && this.state === 2 /* ReorderGroupState.Complete */) {\n const children = this.el.children;\n const len = children.length;\n const toIndex = this.lastToIndex;\n const fromIndex = indexForItem(selectedItemEl);\n /**\n * insertBefore and setting the transform\n * needs to happen in the same frame otherwise\n * there will be a duplicate transition. This primarily\n * impacts Firefox where insertBefore and transform operations\n * are happening in two separate frames.\n */\n raf(() => {\n if (toIndex !== fromIndex && (listOrReorder === undefined || listOrReorder === true)) {\n const ref = fromIndex < toIndex ? children[toIndex + 1] : children[toIndex];\n this.el.insertBefore(selectedItemEl, ref);\n }\n for (let i = 0; i < len; i++) {\n children[i].style['transform'] = '';\n }\n });\n if (Array.isArray(listOrReorder)) {\n listOrReorder = reorderArray(listOrReorder, fromIndex, toIndex);\n }\n selectedItemEl.style.transition = '';\n selectedItemEl.classList.remove(ITEM_REORDER_SELECTED);\n this.selectedItemEl = undefined;\n this.state = 0 /* ReorderGroupState.Idle */;\n }\n return listOrReorder;\n }\n itemIndexForTop(deltaY) {\n const heights = this.cachedHeights;\n for (let i = 0; i < heights.length; i++) {\n if (heights[i] > deltaY) {\n return i;\n }\n }\n return heights.length - 1;\n }\n /********* DOM WRITE ********* */\n reorderMove(fromIndex, toIndex) {\n const itemHeight = this.selectedItemHeight;\n const children = this.el.children;\n for (let i = 0; i < children.length; i++) {\n const style = children[i].style;\n let value = '';\n if (i > fromIndex && i <= toIndex) {\n value = `translateY(${-itemHeight}px)`;\n } else if (i < fromIndex && i >= toIndex) {\n value = `translateY(${itemHeight}px)`;\n }\n style['transform'] = value;\n }\n }\n autoscroll(posY) {\n if (!this.scrollEl) {\n return 0;\n }\n let amount = 0;\n if (posY < this.scrollElTop) {\n amount = -SCROLL_JUMP;\n } else if (posY > this.scrollElBottom) {\n amount = SCROLL_JUMP;\n }\n if (amount !== 0) {\n this.scrollEl.scrollBy(0, amount);\n }\n return this.scrollEl.scrollTop - this.scrollElInitial;\n }\n render() {\n const mode = getIonMode(this);\n return h(Host, {\n key: 'a38c7fbceb677201330a602273d5b55abb32da19',\n class: {\n [mode]: true,\n 'reorder-enabled': !this.disabled,\n 'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */\n }\n });\n }\n get el() {\n return this;\n }\n static get watchers() {\n return {\n \"disabled\": [\"disabledChanged\"]\n };\n }\n static get style() {\n return IonReorderGroupStyle0;\n }\n}, [0, \"ion-reorder-group\", {\n \"disabled\": [4],\n \"state\": [32],\n \"complete\": [64]\n}, undefined, {\n \"disabled\": [\"disabledChanged\"]\n}]);\nconst indexForItem = element => {\n return element['$ionIndex'];\n};\nconst findReorderItem = (node, container) => {\n let parent;\n while (node) {\n parent = node.parentElement;\n if (parent === container) {\n return node;\n }\n node = parent;\n }\n return undefined;\n};\nconst AUTO_SCROLL_MARGIN = 60;\nconst SCROLL_JUMP = 10;\nconst ITEM_REORDER_SELECTED = 'reorder-selected';\nconst reorderArray = (array, from, to) => {\n const element = array[from];\n array.splice(from, 1);\n array.splice(to, 0, element);\n return array.slice();\n};\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"ion-reorder-group\"];\n components.forEach(tagName => {\n switch (tagName) {\n case \"ion-reorder-group\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, ReorderGroup);\n }\n break;\n }\n });\n}\nconst IonReorderGroup = ReorderGroup;\nconst defineCustomElement = defineCustomElement$1;\nexport { IonReorderGroup, defineCustomElement };","map":{"version":3,"names":["proxyCustomElement","HTMLElement","createEvent","h","Host","a","findClosestIonContent","g","getScrollElement","r","raf","hapticSelectionStart","b","hapticSelectionChanged","hapticSelectionEnd","getIonMode","reorderGroupCss","IonReorderGroupStyle0","ReorderGroup","constructor","__registerHost","ionItemReorder","lastToIndex","cachedHeights","scrollElTop","scrollElBottom","scrollElInitial","containerTop","containerBottom","state","disabled","disabledChanged","gesture","enable","connectedCallback","_this","_asyncToGenerator","contentEl","el","scrollEl","createGesture","gestureName","gesturePriority","threshold","direction","passive","canStart","detail","onStart","ev","onMove","onEnd","disconnectedCallback","destroy","undefined","complete","listOrReorder","Promise","resolve","completeReorder","selectedItemEl","target","event","reorderEl","closest","item","findReorderItem","data","preventDefault","heights","length","children","sum","i","child","offsetHeight","push","$ionIndex","box","getBoundingClientRect","top","bottom","scrollBox","scrollTop","AUTO_SCROLL_MARGIN","indexForItem","selectedItemHeight","classList","add","ITEM_REORDER_SELECTED","selectedItem","scroll","autoscroll","currentY","Math","max","min","deltaY","startY","normalizedY","toIndex","itemIndexForTop","fromIndex","reorderMove","style","transform","emit","from","to","bind","len","ref","insertBefore","Array","isArray","reorderArray","transition","remove","itemHeight","value","posY","amount","SCROLL_JUMP","scrollBy","render","mode","key","class","watchers","element","node","container","parent","parentElement","array","splice","slice","defineCustomElement$1","customElements","components","forEach","tagName","get","define","IonReorderGroup","defineCustomElement"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@ionic/core/components/ion-reorder-group.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';\nimport { a as findClosestIonContent, g as getScrollElement } from './index8.js';\nimport { r as raf } from './helpers.js';\nimport { a as hapticSelectionStart, b as hapticSelectionChanged, h as hapticSelectionEnd } from './haptic.js';\nimport { b as getIonMode } from './ionic-global.js';\n\nconst reorderGroupCss = \".reorder-list-active>*{display:block;-webkit-transition:-webkit-transform 300ms;transition:-webkit-transform 300ms;transition:transform 300ms;transition:transform 300ms, -webkit-transform 300ms;will-change:transform}.reorder-enabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-enabled ion-reorder{display:block;cursor:-webkit-grab;cursor:grab;pointer-events:all;-ms-touch-action:none;touch-action:none}.reorder-selected,.reorder-selected ion-reorder{cursor:-webkit-grabbing;cursor:grabbing}.reorder-selected{position:relative;-webkit-transition:none !important;transition:none !important;-webkit-box-shadow:0 0 10px rgba(0, 0, 0, 0.4);box-shadow:0 0 10px rgba(0, 0, 0, 0.4);opacity:0.8;z-index:100}.reorder-visible ion-reorder .reorder-icon{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}\";\nconst IonReorderGroupStyle0 = reorderGroupCss;\n\nconst ReorderGroup = /*@__PURE__*/ proxyCustomElement(class ReorderGroup extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.ionItemReorder = createEvent(this, \"ionItemReorder\", 7);\n this.lastToIndex = -1;\n this.cachedHeights = [];\n this.scrollElTop = 0;\n this.scrollElBottom = 0;\n this.scrollElInitial = 0;\n this.containerTop = 0;\n this.containerBottom = 0;\n this.state = 0 /* ReorderGroupState.Idle */;\n this.disabled = true;\n }\n disabledChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n }\n async connectedCallback() {\n const contentEl = findClosestIonContent(this.el);\n if (contentEl) {\n this.scrollEl = await getScrollElement(contentEl);\n }\n this.gesture = (await import('./index3.js')).createGesture({\n el: this.el,\n gestureName: 'reorder',\n gesturePriority: 110,\n threshold: 0,\n direction: 'y',\n passive: false,\n canStart: (detail) => this.canStart(detail),\n onStart: (ev) => this.onStart(ev),\n onMove: (ev) => this.onMove(ev),\n onEnd: () => this.onEnd(),\n });\n this.disabledChanged();\n }\n disconnectedCallback() {\n this.onEnd();\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n }\n /**\n * Completes the reorder operation. Must be called by the `ionItemReorder` event.\n *\n * If a list of items is passed, the list will be reordered and returned in the\n * proper order.\n *\n * If no parameters are passed or if `true` is passed in, the reorder will complete\n * and the item will remain in the position it was dragged to. If `false` is passed,\n * the reorder will complete and the item will bounce back to its original position.\n *\n * @param listOrReorder A list of items to be sorted and returned in the new order or a\n * boolean of whether or not the reorder should reposition the item.\n */\n complete(listOrReorder) {\n return Promise.resolve(this.completeReorder(listOrReorder));\n }\n canStart(ev) {\n if (this.selectedItemEl || this.state !== 0 /* ReorderGroupState.Idle */) {\n return false;\n }\n const target = ev.event.target;\n const reorderEl = target.closest('ion-reorder');\n if (!reorderEl) {\n return false;\n }\n const item = findReorderItem(reorderEl, this.el);\n if (!item) {\n return false;\n }\n ev.data = item;\n return true;\n }\n onStart(ev) {\n ev.event.preventDefault();\n const item = (this.selectedItemEl = ev.data);\n const heights = this.cachedHeights;\n heights.length = 0;\n const el = this.el;\n const children = el.children;\n if (!children || children.length === 0) {\n return;\n }\n let sum = 0;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n sum += child.offsetHeight;\n heights.push(sum);\n child.$ionIndex = i;\n }\n const box = el.getBoundingClientRect();\n this.containerTop = box.top;\n this.containerBottom = box.bottom;\n if (this.scrollEl) {\n const scrollBox = this.scrollEl.getBoundingClientRect();\n this.scrollElInitial = this.scrollEl.scrollTop;\n this.scrollElTop = scrollBox.top + AUTO_SCROLL_MARGIN;\n this.scrollElBottom = scrollBox.bottom - AUTO_SCROLL_MARGIN;\n }\n else {\n this.scrollElInitial = 0;\n this.scrollElTop = 0;\n this.scrollElBottom = 0;\n }\n this.lastToIndex = indexForItem(item);\n this.selectedItemHeight = item.offsetHeight;\n this.state = 1 /* ReorderGroupState.Active */;\n item.classList.add(ITEM_REORDER_SELECTED);\n hapticSelectionStart();\n }\n onMove(ev) {\n const selectedItem = this.selectedItemEl;\n if (!selectedItem) {\n return;\n }\n // Scroll if we reach the scroll margins\n const scroll = this.autoscroll(ev.currentY);\n // // Get coordinate\n const top = this.containerTop - scroll;\n const bottom = this.containerBottom - scroll;\n const currentY = Math.max(top, Math.min(ev.currentY, bottom));\n const deltaY = scroll + currentY - ev.startY;\n const normalizedY = currentY - top;\n const toIndex = this.itemIndexForTop(normalizedY);\n if (toIndex !== this.lastToIndex) {\n const fromIndex = indexForItem(selectedItem);\n this.lastToIndex = toIndex;\n hapticSelectionChanged();\n this.reorderMove(fromIndex, toIndex);\n }\n // Update selected item position\n selectedItem.style.transform = `translateY(${deltaY}px)`;\n }\n onEnd() {\n const selectedItemEl = this.selectedItemEl;\n this.state = 2 /* ReorderGroupState.Complete */;\n if (!selectedItemEl) {\n this.state = 0 /* ReorderGroupState.Idle */;\n return;\n }\n const toIndex = this.lastToIndex;\n const fromIndex = indexForItem(selectedItemEl);\n if (toIndex === fromIndex) {\n this.completeReorder();\n }\n else {\n this.ionItemReorder.emit({\n from: fromIndex,\n to: toIndex,\n complete: this.completeReorder.bind(this),\n });\n }\n hapticSelectionEnd();\n }\n completeReorder(listOrReorder) {\n const selectedItemEl = this.selectedItemEl;\n if (selectedItemEl && this.state === 2 /* ReorderGroupState.Complete */) {\n const children = this.el.children;\n const len = children.length;\n const toIndex = this.lastToIndex;\n const fromIndex = indexForItem(selectedItemEl);\n /**\n * insertBefore and setting the transform\n * needs to happen in the same frame otherwise\n * there will be a duplicate transition. This primarily\n * impacts Firefox where insertBefore and transform operations\n * are happening in two separate frames.\n */\n raf(() => {\n if (toIndex !== fromIndex && (listOrReorder === undefined || listOrReorder === true)) {\n const ref = fromIndex < toIndex ? children[toIndex + 1] : children[toIndex];\n this.el.insertBefore(selectedItemEl, ref);\n }\n for (let i = 0; i < len; i++) {\n children[i].style['transform'] = '';\n }\n });\n if (Array.isArray(listOrReorder)) {\n listOrReorder = reorderArray(listOrReorder, fromIndex, toIndex);\n }\n selectedItemEl.style.transition = '';\n selectedItemEl.classList.remove(ITEM_REORDER_SELECTED);\n this.selectedItemEl = undefined;\n this.state = 0 /* ReorderGroupState.Idle */;\n }\n return listOrReorder;\n }\n itemIndexForTop(deltaY) {\n const heights = this.cachedHeights;\n for (let i = 0; i < heights.length; i++) {\n if (heights[i] > deltaY) {\n return i;\n }\n }\n return heights.length - 1;\n }\n /********* DOM WRITE ********* */\n reorderMove(fromIndex, toIndex) {\n const itemHeight = this.selectedItemHeight;\n const children = this.el.children;\n for (let i = 0; i < children.length; i++) {\n const style = children[i].style;\n let value = '';\n if (i > fromIndex && i <= toIndex) {\n value = `translateY(${-itemHeight}px)`;\n }\n else if (i < fromIndex && i >= toIndex) {\n value = `translateY(${itemHeight}px)`;\n }\n style['transform'] = value;\n }\n }\n autoscroll(posY) {\n if (!this.scrollEl) {\n return 0;\n }\n let amount = 0;\n if (posY < this.scrollElTop) {\n amount = -SCROLL_JUMP;\n }\n else if (posY > this.scrollElBottom) {\n amount = SCROLL_JUMP;\n }\n if (amount !== 0) {\n this.scrollEl.scrollBy(0, amount);\n }\n return this.scrollEl.scrollTop - this.scrollElInitial;\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { key: 'a38c7fbceb677201330a602273d5b55abb32da19', class: {\n [mode]: true,\n 'reorder-enabled': !this.disabled,\n 'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,\n } }));\n }\n get el() { return this; }\n static get watchers() { return {\n \"disabled\": [\"disabledChanged\"]\n }; }\n static get style() { return IonReorderGroupStyle0; }\n}, [0, \"ion-reorder-group\", {\n \"disabled\": [4],\n \"state\": [32],\n \"complete\": [64]\n }, undefined, {\n \"disabled\": [\"disabledChanged\"]\n }]);\nconst indexForItem = (element) => {\n return element['$ionIndex'];\n};\nconst findReorderItem = (node, container) => {\n let parent;\n while (node) {\n parent = node.parentElement;\n if (parent === container) {\n return node;\n }\n node = parent;\n }\n return undefined;\n};\nconst AUTO_SCROLL_MARGIN = 60;\nconst SCROLL_JUMP = 10;\nconst ITEM_REORDER_SELECTED = 'reorder-selected';\nconst reorderArray = (array, from, to) => {\n const element = array[from];\n array.splice(from, 1);\n array.splice(to, 0, element);\n return array.slice();\n};\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"ion-reorder-group\"];\n components.forEach(tagName => { switch (tagName) {\n case \"ion-reorder-group\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, ReorderGroup);\n }\n break;\n } });\n}\n\nconst IonReorderGroup = ReorderGroup;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { IonReorderGroup, defineCustomElement };\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,kBAAkB,EAAEC,WAAW,EAAEC,WAAW,EAAEC,CAAC,EAAEC,IAAI,QAAQ,+BAA+B;AACrG,SAASC,CAAC,IAAIC,qBAAqB,EAAEC,CAAC,IAAIC,gBAAgB,QAAQ,aAAa;AAC/E,SAASC,CAAC,IAAIC,GAAG,QAAQ,cAAc;AACvC,SAASL,CAAC,IAAIM,oBAAoB,EAAEC,CAAC,IAAIC,sBAAsB,EAAEV,CAAC,IAAIW,kBAAkB,QAAQ,aAAa;AAC7G,SAASF,CAAC,IAAIG,UAAU,QAAQ,mBAAmB;AAEnD,MAAMC,eAAe,GAAG,m2BAAm2B;AAC33B,MAAMC,qBAAqB,GAAGD,eAAe;AAE7C,MAAME,YAAY,GAAG,aAAclB,kBAAkB,CAAC,MAAMkB,YAAY,SAASjB,WAAW,CAAC;EACzFkB,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,cAAc,CAAC,CAAC;IACrB,IAAI,CAACC,cAAc,GAAGnB,WAAW,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC5D,IAAI,CAACoB,WAAW,GAAG,CAAC,CAAC;IACrB,IAAI,CAACC,aAAa,GAAG,EAAE;IACvB,IAAI,CAACC,WAAW,GAAG,CAAC;IACpB,IAAI,CAACC,cAAc,GAAG,CAAC;IACvB,IAAI,CAACC,eAAe,GAAG,CAAC;IACxB,IAAI,CAACC,YAAY,GAAG,CAAC;IACrB,IAAI,CAACC,eAAe,GAAG,CAAC;IACxB,IAAI,CAACC,KAAK,GAAG,CAAC,CAAC;IACf,IAAI,CAACC,QAAQ,GAAG,IAAI;EACxB;EACAC,eAAeA,CAAA,EAAG;IACd,IAAI,IAAI,CAACC,OAAO,EAAE;MACd,IAAI,CAACA,OAAO,CAACC,MAAM,CAAC,CAAC,IAAI,CAACH,QAAQ,CAAC;IACvC;EACJ;EACMI,iBAAiBA,CAAA,EAAG;IAAA,IAAAC,KAAA;IAAA,OAAAC,iBAAA;MACtB,MAAMC,SAAS,GAAG/B,qBAAqB,CAAC6B,KAAI,CAACG,EAAE,CAAC;MAChD,IAAID,SAAS,EAAE;QACXF,KAAI,CAACI,QAAQ,SAAS/B,gBAAgB,CAAC6B,SAAS,CAAC;MACrD;MACAF,KAAI,CAACH,OAAO,GAAG,OAAO,MAAM,CAAC,aAAa,CAAC,EAAEQ,aAAa,CAAC;QACvDF,EAAE,EAAEH,KAAI,CAACG,EAAE;QACXG,WAAW,EAAE,SAAS;QACtBC,eAAe,EAAE,GAAG;QACpBC,SAAS,EAAE,CAAC;QACZC,SAAS,EAAE,GAAG;QACdC,OAAO,EAAE,KAAK;QACdC,QAAQ,EAAGC,MAAM,IAAKZ,KAAI,CAACW,QAAQ,CAACC,MAAM,CAAC;QAC3CC,OAAO,EAAGC,EAAE,IAAKd,KAAI,CAACa,OAAO,CAACC,EAAE,CAAC;QACjCC,MAAM,EAAGD,EAAE,IAAKd,KAAI,CAACe,MAAM,CAACD,EAAE,CAAC;QAC/BE,KAAK,EAAEA,CAAA,KAAMhB,KAAI,CAACgB,KAAK,CAAC;MAC5B,CAAC,CAAC;MACFhB,KAAI,CAACJ,eAAe,CAAC,CAAC;IAAC;EAC3B;EACAqB,oBAAoBA,CAAA,EAAG;IACnB,IAAI,CAACD,KAAK,CAAC,CAAC;IACZ,IAAI,IAAI,CAACnB,OAAO,EAAE;MACd,IAAI,CAACA,OAAO,CAACqB,OAAO,CAAC,CAAC;MACtB,IAAI,CAACrB,OAAO,GAAGsB,SAAS;IAC5B;EACJ;EACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACIC,QAAQA,CAACC,aAAa,EAAE;IACpB,OAAOC,OAAO,CAACC,OAAO,CAAC,IAAI,CAACC,eAAe,CAACH,aAAa,CAAC,CAAC;EAC/D;EACAV,QAAQA,CAACG,EAAE,EAAE;IACT,IAAI,IAAI,CAACW,cAAc,IAAI,IAAI,CAAC/B,KAAK,KAAK,CAAC,CAAC,8BAA8B;MACtE,OAAO,KAAK;IAChB;IACA,MAAMgC,MAAM,GAAGZ,EAAE,CAACa,KAAK,CAACD,MAAM;IAC9B,MAAME,SAAS,GAAGF,MAAM,CAACG,OAAO,CAAC,aAAa,CAAC;IAC/C,IAAI,CAACD,SAAS,EAAE;MACZ,OAAO,KAAK;IAChB;IACA,MAAME,IAAI,GAAGC,eAAe,CAACH,SAAS,EAAE,IAAI,CAACzB,EAAE,CAAC;IAChD,IAAI,CAAC2B,IAAI,EAAE;MACP,OAAO,KAAK;IAChB;IACAhB,EAAE,CAACkB,IAAI,GAAGF,IAAI;IACd,OAAO,IAAI;EACf;EACAjB,OAAOA,CAACC,EAAE,EAAE;IACRA,EAAE,CAACa,KAAK,CAACM,cAAc,CAAC,CAAC;IACzB,MAAMH,IAAI,GAAI,IAAI,CAACL,cAAc,GAAGX,EAAE,CAACkB,IAAK;IAC5C,MAAME,OAAO,GAAG,IAAI,CAAC9C,aAAa;IAClC8C,OAAO,CAACC,MAAM,GAAG,CAAC;IAClB,MAAMhC,EAAE,GAAG,IAAI,CAACA,EAAE;IAClB,MAAMiC,QAAQ,GAAGjC,EAAE,CAACiC,QAAQ;IAC5B,IAAI,CAACA,QAAQ,IAAIA,QAAQ,CAACD,MAAM,KAAK,CAAC,EAAE;MACpC;IACJ;IACA,IAAIE,GAAG,GAAG,CAAC;IACX,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,QAAQ,CAACD,MAAM,EAAEG,CAAC,EAAE,EAAE;MACtC,MAAMC,KAAK,GAAGH,QAAQ,CAACE,CAAC,CAAC;MACzBD,GAAG,IAAIE,KAAK,CAACC,YAAY;MACzBN,OAAO,CAACO,IAAI,CAACJ,GAAG,CAAC;MACjBE,KAAK,CAACG,SAAS,GAAGJ,CAAC;IACvB;IACA,MAAMK,GAAG,GAAGxC,EAAE,CAACyC,qBAAqB,CAAC,CAAC;IACtC,IAAI,CAACpD,YAAY,GAAGmD,GAAG,CAACE,GAAG;IAC3B,IAAI,CAACpD,eAAe,GAAGkD,GAAG,CAACG,MAAM;IACjC,IAAI,IAAI,CAAC1C,QAAQ,EAAE;MACf,MAAM2C,SAAS,GAAG,IAAI,CAAC3C,QAAQ,CAACwC,qBAAqB,CAAC,CAAC;MACvD,IAAI,CAACrD,eAAe,GAAG,IAAI,CAACa,QAAQ,CAAC4C,SAAS;MAC9C,IAAI,CAAC3D,WAAW,GAAG0D,SAAS,CAACF,GAAG,GAAGI,kBAAkB;MACrD,IAAI,CAAC3D,cAAc,GAAGyD,SAAS,CAACD,MAAM,GAAGG,kBAAkB;IAC/D,CAAC,MACI;MACD,IAAI,CAAC1D,eAAe,GAAG,CAAC;MACxB,IAAI,CAACF,WAAW,GAAG,CAAC;MACpB,IAAI,CAACC,cAAc,GAAG,CAAC;IAC3B;IACA,IAAI,CAACH,WAAW,GAAG+D,YAAY,CAACpB,IAAI,CAAC;IACrC,IAAI,CAACqB,kBAAkB,GAAGrB,IAAI,CAACU,YAAY;IAC3C,IAAI,CAAC9C,KAAK,GAAG,CAAC,CAAC;IACfoC,IAAI,CAACsB,SAAS,CAACC,GAAG,CAACC,qBAAqB,CAAC;IACzC9E,oBAAoB,CAAC,CAAC;EAC1B;EACAuC,MAAMA,CAACD,EAAE,EAAE;IACP,MAAMyC,YAAY,GAAG,IAAI,CAAC9B,cAAc;IACxC,IAAI,CAAC8B,YAAY,EAAE;MACf;IACJ;IACA;IACA,MAAMC,MAAM,GAAG,IAAI,CAACC,UAAU,CAAC3C,EAAE,CAAC4C,QAAQ,CAAC;IAC3C;IACA,MAAMb,GAAG,GAAG,IAAI,CAACrD,YAAY,GAAGgE,MAAM;IACtC,MAAMV,MAAM,GAAG,IAAI,CAACrD,eAAe,GAAG+D,MAAM;IAC5C,MAAME,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAACf,GAAG,EAAEc,IAAI,CAACE,GAAG,CAAC/C,EAAE,CAAC4C,QAAQ,EAAEZ,MAAM,CAAC,CAAC;IAC7D,MAAMgB,MAAM,GAAGN,MAAM,GAAGE,QAAQ,GAAG5C,EAAE,CAACiD,MAAM;IAC5C,MAAMC,WAAW,GAAGN,QAAQ,GAAGb,GAAG;IAClC,MAAMoB,OAAO,GAAG,IAAI,CAACC,eAAe,CAACF,WAAW,CAAC;IACjD,IAAIC,OAAO,KAAK,IAAI,CAAC9E,WAAW,EAAE;MAC9B,MAAMgF,SAAS,GAAGjB,YAAY,CAACK,YAAY,CAAC;MAC5C,IAAI,CAACpE,WAAW,GAAG8E,OAAO;MAC1BvF,sBAAsB,CAAC,CAAC;MACxB,IAAI,CAAC0F,WAAW,CAACD,SAAS,EAAEF,OAAO,CAAC;IACxC;IACA;IACAV,YAAY,CAACc,KAAK,CAACC,SAAS,GAAG,cAAcR,MAAM,KAAK;EAC5D;EACA9C,KAAKA,CAAA,EAAG;IACJ,MAAMS,cAAc,GAAG,IAAI,CAACA,cAAc;IAC1C,IAAI,CAAC/B,KAAK,GAAG,CAAC,CAAC;IACf,IAAI,CAAC+B,cAAc,EAAE;MACjB,IAAI,CAAC/B,KAAK,GAAG,CAAC,CAAC;MACf;IACJ;IACA,MAAMuE,OAAO,GAAG,IAAI,CAAC9E,WAAW;IAChC,MAAMgF,SAAS,GAAGjB,YAAY,CAACzB,cAAc,CAAC;IAC9C,IAAIwC,OAAO,KAAKE,SAAS,EAAE;MACvB,IAAI,CAAC3C,eAAe,CAAC,CAAC;IAC1B,CAAC,MACI;MACD,IAAI,CAACtC,cAAc,CAACqF,IAAI,CAAC;QACrBC,IAAI,EAAEL,SAAS;QACfM,EAAE,EAAER,OAAO;QACX7C,QAAQ,EAAE,IAAI,CAACI,eAAe,CAACkD,IAAI,CAAC,IAAI;MAC5C,CAAC,CAAC;IACN;IACA/F,kBAAkB,CAAC,CAAC;EACxB;EACA6C,eAAeA,CAACH,aAAa,EAAE;IAC3B,MAAMI,cAAc,GAAG,IAAI,CAACA,cAAc;IAC1C,IAAIA,cAAc,IAAI,IAAI,CAAC/B,KAAK,KAAK,CAAC,CAAC,kCAAkC;MACrE,MAAM0C,QAAQ,GAAG,IAAI,CAACjC,EAAE,CAACiC,QAAQ;MACjC,MAAMuC,GAAG,GAAGvC,QAAQ,CAACD,MAAM;MAC3B,MAAM8B,OAAO,GAAG,IAAI,CAAC9E,WAAW;MAChC,MAAMgF,SAAS,GAAGjB,YAAY,CAACzB,cAAc,CAAC;MAC9C;AACZ;AACA;AACA;AACA;AACA;AACA;MACYlD,GAAG,CAAC,MAAM;QACN,IAAI0F,OAAO,KAAKE,SAAS,KAAK9C,aAAa,KAAKF,SAAS,IAAIE,aAAa,KAAK,IAAI,CAAC,EAAE;UAClF,MAAMuD,GAAG,GAAGT,SAAS,GAAGF,OAAO,GAAG7B,QAAQ,CAAC6B,OAAO,GAAG,CAAC,CAAC,GAAG7B,QAAQ,CAAC6B,OAAO,CAAC;UAC3E,IAAI,CAAC9D,EAAE,CAAC0E,YAAY,CAACpD,cAAc,EAAEmD,GAAG,CAAC;QAC7C;QACA,KAAK,IAAItC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqC,GAAG,EAAErC,CAAC,EAAE,EAAE;UAC1BF,QAAQ,CAACE,CAAC,CAAC,CAAC+B,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACvC;MACJ,CAAC,CAAC;MACF,IAAIS,KAAK,CAACC,OAAO,CAAC1D,aAAa,CAAC,EAAE;QAC9BA,aAAa,GAAG2D,YAAY,CAAC3D,aAAa,EAAE8C,SAAS,EAAEF,OAAO,CAAC;MACnE;MACAxC,cAAc,CAAC4C,KAAK,CAACY,UAAU,GAAG,EAAE;MACpCxD,cAAc,CAAC2B,SAAS,CAAC8B,MAAM,CAAC5B,qBAAqB,CAAC;MACtD,IAAI,CAAC7B,cAAc,GAAGN,SAAS;MAC/B,IAAI,CAACzB,KAAK,GAAG,CAAC,CAAC;IACnB;IACA,OAAO2B,aAAa;EACxB;EACA6C,eAAeA,CAACJ,MAAM,EAAE;IACpB,MAAM5B,OAAO,GAAG,IAAI,CAAC9C,aAAa;IAClC,KAAK,IAAIkD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,OAAO,CAACC,MAAM,EAAEG,CAAC,EAAE,EAAE;MACrC,IAAIJ,OAAO,CAACI,CAAC,CAAC,GAAGwB,MAAM,EAAE;QACrB,OAAOxB,CAAC;MACZ;IACJ;IACA,OAAOJ,OAAO,CAACC,MAAM,GAAG,CAAC;EAC7B;EACA;EACAiC,WAAWA,CAACD,SAAS,EAAEF,OAAO,EAAE;IAC5B,MAAMkB,UAAU,GAAG,IAAI,CAAChC,kBAAkB;IAC1C,MAAMf,QAAQ,GAAG,IAAI,CAACjC,EAAE,CAACiC,QAAQ;IACjC,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,QAAQ,CAACD,MAAM,EAAEG,CAAC,EAAE,EAAE;MACtC,MAAM+B,KAAK,GAAGjC,QAAQ,CAACE,CAAC,CAAC,CAAC+B,KAAK;MAC/B,IAAIe,KAAK,GAAG,EAAE;MACd,IAAI9C,CAAC,GAAG6B,SAAS,IAAI7B,CAAC,IAAI2B,OAAO,EAAE;QAC/BmB,KAAK,GAAG,cAAc,CAACD,UAAU,KAAK;MAC1C,CAAC,MACI,IAAI7C,CAAC,GAAG6B,SAAS,IAAI7B,CAAC,IAAI2B,OAAO,EAAE;QACpCmB,KAAK,GAAG,cAAcD,UAAU,KAAK;MACzC;MACAd,KAAK,CAAC,WAAW,CAAC,GAAGe,KAAK;IAC9B;EACJ;EACA3B,UAAUA,CAAC4B,IAAI,EAAE;IACb,IAAI,CAAC,IAAI,CAACjF,QAAQ,EAAE;MAChB,OAAO,CAAC;IACZ;IACA,IAAIkF,MAAM,GAAG,CAAC;IACd,IAAID,IAAI,GAAG,IAAI,CAAChG,WAAW,EAAE;MACzBiG,MAAM,GAAG,CAACC,WAAW;IACzB,CAAC,MACI,IAAIF,IAAI,GAAG,IAAI,CAAC/F,cAAc,EAAE;MACjCgG,MAAM,GAAGC,WAAW;IACxB;IACA,IAAID,MAAM,KAAK,CAAC,EAAE;MACd,IAAI,CAAClF,QAAQ,CAACoF,QAAQ,CAAC,CAAC,EAAEF,MAAM,CAAC;IACrC;IACA,OAAO,IAAI,CAAClF,QAAQ,CAAC4C,SAAS,GAAG,IAAI,CAACzD,eAAe;EACzD;EACAkG,MAAMA,CAAA,EAAG;IACL,MAAMC,IAAI,GAAG9G,UAAU,CAAC,IAAI,CAAC;IAC7B,OAAQZ,CAAC,CAACC,IAAI,EAAE;MAAE0H,GAAG,EAAE,0CAA0C;MAAEC,KAAK,EAAE;QAClE,CAACF,IAAI,GAAG,IAAI;QACZ,iBAAiB,EAAE,CAAC,IAAI,CAAC/F,QAAQ;QACjC,qBAAqB,EAAE,IAAI,CAACD,KAAK,KAAK,CAAC,CAAC;MAC5C;IAAE,CAAC,CAAC;EACZ;EACA,IAAIS,EAAEA,CAAA,EAAG;IAAE,OAAO,IAAI;EAAE;EACxB,WAAW0F,QAAQA,CAAA,EAAG;IAAE,OAAO;MAC3B,UAAU,EAAE,CAAC,iBAAiB;IAClC,CAAC;EAAE;EACH,WAAWxB,KAAKA,CAAA,EAAG;IAAE,OAAOvF,qBAAqB;EAAE;AACvD,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,EAAE;EACpB,UAAU,EAAE,CAAC,CAAC,CAAC;EACf,OAAO,EAAE,CAAC,EAAE,CAAC;EACb,UAAU,EAAE,CAAC,EAAE;AACnB,CAAC,EAAEqC,SAAS,EAAE;EACV,UAAU,EAAE,CAAC,iBAAiB;AAClC,CAAC,CAAC,CAAC;AACP,MAAM+B,YAAY,GAAI4C,OAAO,IAAK;EAC9B,OAAOA,OAAO,CAAC,WAAW,CAAC;AAC/B,CAAC;AACD,MAAM/D,eAAe,GAAGA,CAACgE,IAAI,EAAEC,SAAS,KAAK;EACzC,IAAIC,MAAM;EACV,OAAOF,IAAI,EAAE;IACTE,MAAM,GAAGF,IAAI,CAACG,aAAa;IAC3B,IAAID,MAAM,KAAKD,SAAS,EAAE;MACtB,OAAOD,IAAI;IACf;IACAA,IAAI,GAAGE,MAAM;EACjB;EACA,OAAO9E,SAAS;AACpB,CAAC;AACD,MAAM8B,kBAAkB,GAAG,EAAE;AAC7B,MAAMsC,WAAW,GAAG,EAAE;AACtB,MAAMjC,qBAAqB,GAAG,kBAAkB;AAChD,MAAM0B,YAAY,GAAGA,CAACmB,KAAK,EAAE3B,IAAI,EAAEC,EAAE,KAAK;EACtC,MAAMqB,OAAO,GAAGK,KAAK,CAAC3B,IAAI,CAAC;EAC3B2B,KAAK,CAACC,MAAM,CAAC5B,IAAI,EAAE,CAAC,CAAC;EACrB2B,KAAK,CAACC,MAAM,CAAC3B,EAAE,EAAE,CAAC,EAAEqB,OAAO,CAAC;EAC5B,OAAOK,KAAK,CAACE,KAAK,CAAC,CAAC;AACxB,CAAC;AACD,SAASC,qBAAqBA,CAAA,EAAG;EAC7B,IAAI,OAAOC,cAAc,KAAK,WAAW,EAAE;IACvC;EACJ;EACA,MAAMC,UAAU,GAAG,CAAC,mBAAmB,CAAC;EACxCA,UAAU,CAACC,OAAO,CAACC,OAAO,IAAI;IAAE,QAAQA,OAAO;MAC3C,KAAK,mBAAmB;QACpB,IAAI,CAACH,cAAc,CAACI,GAAG,CAACD,OAAO,CAAC,EAAE;UAC9BH,cAAc,CAACK,MAAM,CAACF,OAAO,EAAE3H,YAAY,CAAC;QAChD;QACA;IACR;EAAE,CAAC,CAAC;AACR;AAEA,MAAM8H,eAAe,GAAG9H,YAAY;AACpC,MAAM+H,mBAAmB,GAAGR,qBAAqB;AAEjD,SAASO,eAAe,EAAEC,mBAAmB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}