Server IP : 15.235.198.142 / Your IP : 216.73.216.145 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/bootstrap-html/js/ |
Upload File : |
{"version":3,"file":"modal.js","sources":["../src/modal.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport { defineJQueryPlugin, isRTL, isVisible, reflow } from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\n\nconst Default = {\n backdrop: true,\n focus: true,\n keyboard: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._isShown = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._isTransitioning = true\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._backdrop.show(() => this._showElement(relatedTarget))\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n this._isTransitioning = true\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n }\n\n dispose() {\n EventHandler.off(window, EVENT_KEY)\n EventHandler.off(this._dialog, EVENT_KEY)\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n\n super.dispose()\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n EventHandler.on(window, EVENT_RESIZE, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog()\n }\n })\n\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n if (this._config.backdrop) {\n this.hide()\n }\n })\n })\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._scrollBar.reset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const initialOverflowY = this._element.style.overflowY\n // return if the following background transition hasn't yet completed\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY\n }, this._dialog)\n }, this._dialog)\n\n this._element.focus()\n }\n\n /**\n * The following methods are used to handle overflowing modals\n */\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = this._scrollBar.getWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n // avoid conflict when clicking modal toggler while another one is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide()\n }\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","ESCAPE_KEY","EVENT_HIDE","EVENT_HIDE_PREVENTED","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_CLICK_DATA_API","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_SHOW","CLASS_NAME_STATIC","OPEN_SELECTOR","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_TOGGLE","Default","backdrop","focus","keyboard","DefaultType","Modal","element","config","_dialog","SelectorEngine","findOne","_element","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_isShown","_isTransitioning","_scrollBar","ScrollBarHelper","_addEventListeners","toggle","relatedTarget","hide","show","showEvent","EventHandler","trigger","defaultPrevented","document","body","classList","add","_adjustDialog","_showElement","hideEvent","deactivate","remove","_queueCallback","_hideModal","_isAnimated","dispose","off","window","handleUpdate","Backdrop","isVisible","Boolean","_config","isAnimated","FocusTrap","trapElement","contains","append","style","display","removeAttribute","setAttribute","scrollTop","modalBody","reflow","transitionComplete","activate","on","event","key","_triggerBackdropTransition","one","event2","target","_resetAdjustments","reset","isModalOverflowing","scrollHeight","documentElement","clientHeight","initialOverflowY","overflowY","scrollbarWidth","getWidth","isBodyOverflowing","property","isRTL","paddingLeft","paddingRight","jQueryInterface","each","data","getOrCreateInstance","TypeError","BaseComponent","getElementFromSelector","includes","tagName","preventDefault","alreadyOpen","getInstance","enableDismissTrigger","defineJQueryPlugin"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBA;EACA;EACA;;EAEA,IAAMA,IAAI,GAAG,OAAO,CAAA;EACpB,IAAMC,QAAQ,GAAG,UAAU,CAAA;EAC3B,IAAMC,SAAS,SAAOD,QAAU,CAAA;EAChC,IAAME,YAAY,GAAG,WAAW,CAAA;EAChC,IAAMC,UAAU,GAAG,QAAQ,CAAA;EAE3B,IAAMC,UAAU,YAAUH,SAAW,CAAA;EACrC,IAAMI,oBAAoB,qBAAmBJ,SAAW,CAAA;EACxD,IAAMK,YAAY,cAAYL,SAAW,CAAA;EACzC,IAAMM,UAAU,YAAUN,SAAW,CAAA;EACrC,IAAMO,WAAW,aAAWP,SAAW,CAAA;EACvC,IAAMQ,YAAY,cAAYR,SAAW,CAAA;EACzC,IAAMS,mBAAmB,qBAAmBT,SAAW,CAAA;EACvD,IAAMU,uBAAuB,yBAAuBV,SAAW,CAAA;EAC/D,IAAMW,qBAAqB,uBAAqBX,SAAW,CAAA;EAC3D,IAAMY,oBAAoB,GAAA,OAAA,GAAWZ,SAAS,GAAGC,YAAc,CAAA;EAE/D,IAAMY,eAAe,GAAG,YAAY,CAAA;EACpC,IAAMC,eAAe,GAAG,MAAM,CAAA;EAC9B,IAAMC,eAAe,GAAG,MAAM,CAAA;EAC9B,IAAMC,iBAAiB,GAAG,cAAc,CAAA;EAExC,IAAMC,aAAa,GAAG,aAAa,CAAA;EACnC,IAAMC,eAAe,GAAG,eAAe,CAAA;EACvC,IAAMC,mBAAmB,GAAG,aAAa,CAAA;EACzC,IAAMC,oBAAoB,GAAG,0BAA0B,CAAA;EAEvD,IAAMC,OAAO,GAAG;EACdC,EAAAA,QAAQ,EAAE,IAAI;EACdC,EAAAA,KAAK,EAAE,IAAI;EACXC,EAAAA,QAAQ,EAAE,IAAA;EACZ,CAAC,CAAA;EAED,IAAMC,WAAW,GAAG;EAClBH,EAAAA,QAAQ,EAAE,kBAAkB;EAC5BC,EAAAA,KAAK,EAAE,SAAS;EAChBC,EAAAA,QAAQ,EAAE,SAAA;EACZ,CAAC,CAAA;;EAED;EACA;EACA;AAFA,MAIME,KAAK,gBAAA,UAAA,cAAA,EAAA;EAAA,EAAA,cAAA,CAAA,KAAA,EAAA,cAAA,CAAA,CAAA;IACT,SAAYC,KAAAA,CAAAA,OAAO,EAAEC,MAAM,EAAE;EAAA,IAAA,IAAA,KAAA,CAAA;MAC3B,KAAMD,GAAAA,cAAAA,CAAAA,IAAAA,CAAAA,IAAAA,EAAAA,OAAO,EAAEC,MAAM,CAAC,IAAA,IAAA,CAAA;MAEtB,KAAKC,CAAAA,OAAO,GAAGC,cAAc,CAACC,OAAO,CAACb,eAAe,EAAE,KAAKc,CAAAA,QAAQ,CAAC,CAAA;EACrE,IAAA,KAAA,CAAKC,SAAS,GAAG,KAAKC,CAAAA,mBAAmB,EAAE,CAAA;EAC3C,IAAA,KAAA,CAAKC,UAAU,GAAG,KAAKC,CAAAA,oBAAoB,EAAE,CAAA;MAC7C,KAAKC,CAAAA,QAAQ,GAAG,KAAK,CAAA;MACrB,KAAKC,CAAAA,gBAAgB,GAAG,KAAK,CAAA;EAC7B,IAAA,KAAA,CAAKC,UAAU,GAAG,IAAIC,eAAe,EAAE,CAAA;EAEvC,IAAA,KAAA,CAAKC,kBAAkB,EAAE,CAAA;EAAA,IAAA,OAAA,KAAA,CAAA;EAC3B,GAAA;;EAEA;EAAA,EAAA,IAAA,MAAA,GAAA,KAAA,CAAA,SAAA,CAAA;EAaA;EAAA,EAAA,MAAA,CACAC,MAAM,GAAN,SAAOC,MAAAA,CAAAA,aAAa,EAAE;EACpB,IAAA,OAAO,IAAI,CAACN,QAAQ,GAAG,IAAI,CAACO,IAAI,EAAE,GAAG,IAAI,CAACC,IAAI,CAACF,aAAa,CAAC,CAAA;KAC9D,CAAA;EAAA,EAAA,MAAA,CAEDE,IAAI,GAAJ,SAAKF,IAAAA,CAAAA,aAAa,EAAE;EAAA,IAAA,IAAA,MAAA,GAAA,IAAA,CAAA;EAClB,IAAA,IAAI,IAAI,CAACN,QAAQ,IAAI,IAAI,CAACC,gBAAgB,EAAE;EAC1C,MAAA,OAAA;EACF,KAAA;MAEA,IAAMQ,SAAS,GAAGC,YAAY,CAACC,OAAO,CAAC,IAAI,CAAChB,QAAQ,EAAE1B,UAAU,EAAE;EAChEqC,MAAAA,aAAa,EAAbA,aAAAA;EACF,KAAC,CAAC,CAAA;MAEF,IAAIG,SAAS,CAACG,gBAAgB,EAAE;EAC9B,MAAA,OAAA;EACF,KAAA;MAEA,IAAI,CAACZ,QAAQ,GAAG,IAAI,CAAA;MACpB,IAAI,CAACC,gBAAgB,GAAG,IAAI,CAAA;EAE5B,IAAA,IAAI,CAACC,UAAU,CAACK,IAAI,EAAE,CAAA;MAEtBM,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACC,GAAG,CAACxC,eAAe,CAAC,CAAA;MAE5C,IAAI,CAACyC,aAAa,EAAE,CAAA;EAEpB,IAAA,IAAI,CAACrB,SAAS,CAACY,IAAI,CAAC,YAAA;EAAA,MAAA,OAAM,MAAI,CAACU,YAAY,CAACZ,aAAa,CAAC,CAAA;OAAC,CAAA,CAAA;KAC5D,CAAA;IAAA,MAEDC,CAAAA,IAAI,GAAJ,SAAO,IAAA,GAAA;EAAA,IAAA,IAAA,MAAA,GAAA,IAAA,CAAA;MACL,IAAI,CAAC,IAAI,CAACP,QAAQ,IAAI,IAAI,CAACC,gBAAgB,EAAE;EAC3C,MAAA,OAAA;EACF,KAAA;MAEA,IAAMkB,SAAS,GAAGT,YAAY,CAACC,OAAO,CAAC,IAAI,CAAChB,QAAQ,EAAE7B,UAAU,CAAC,CAAA;MAEjE,IAAIqD,SAAS,CAACP,gBAAgB,EAAE;EAC9B,MAAA,OAAA;EACF,KAAA;MAEA,IAAI,CAACZ,QAAQ,GAAG,KAAK,CAAA;MACrB,IAAI,CAACC,gBAAgB,GAAG,IAAI,CAAA;EAC5B,IAAA,IAAI,CAACH,UAAU,CAACsB,UAAU,EAAE,CAAA;MAE5B,IAAI,CAACzB,QAAQ,CAACoB,SAAS,CAACM,MAAM,CAAC3C,eAAe,CAAC,CAAA;MAE/C,IAAI,CAAC4C,cAAc,CAAC,YAAA;QAAA,OAAM,MAAI,CAACC,UAAU,EAAE,CAAA;OAAE,EAAA,IAAI,CAAC5B,QAAQ,EAAE,IAAI,CAAC6B,WAAW,EAAE,CAAC,CAAA;KAChF,CAAA;IAAA,MAEDC,CAAAA,OAAO,GAAP,SAAU,OAAA,GAAA;EACRf,IAAAA,YAAY,CAACgB,GAAG,CAACC,MAAM,EAAEhE,SAAS,CAAC,CAAA;MACnC+C,YAAY,CAACgB,GAAG,CAAC,IAAI,CAAClC,OAAO,EAAE7B,SAAS,CAAC,CAAA;EAEzC,IAAA,IAAI,CAACiC,SAAS,CAAC6B,OAAO,EAAE,CAAA;EACxB,IAAA,IAAI,CAAC3B,UAAU,CAACsB,UAAU,EAAE,CAAA;EAE5B,IAAA,cAAA,CAAA,SAAA,CAAMK,OAAO,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;KACd,CAAA;IAAA,MAEDG,CAAAA,YAAY,GAAZ,SAAe,YAAA,GAAA;MACb,IAAI,CAACX,aAAa,EAAE,CAAA;EACtB,GAAA;;EAEA;EAAA,GAAA;IAAA,MACApB,CAAAA,mBAAmB,GAAnB,SAAsB,mBAAA,GAAA;MACpB,OAAO,IAAIgC,QAAQ,CAAC;QAClBC,SAAS,EAAEC,OAAO,CAAC,IAAI,CAACC,OAAO,CAAC/C,QAAQ,CAAC;EAAE;QAC3CgD,UAAU,EAAE,IAAI,CAACT,WAAW,EAAA;EAC9B,KAAC,CAAC,CAAA;KACH,CAAA;IAAA,MAEDzB,CAAAA,oBAAoB,GAApB,SAAuB,oBAAA,GAAA;MACrB,OAAO,IAAImC,SAAS,CAAC;QACnBC,WAAW,EAAE,IAAI,CAACxC,QAAAA;EACpB,KAAC,CAAC,CAAA;KACH,CAAA;EAAA,EAAA,MAAA,CAEDuB,YAAY,GAAZ,SAAaZ,YAAAA,CAAAA,aAAa,EAAE;EAAA,IAAA,IAAA,MAAA,GAAA,IAAA,CAAA;EAC1B;MACA,IAAI,CAACO,QAAQ,CAACC,IAAI,CAACsB,QAAQ,CAAC,IAAI,CAACzC,QAAQ,CAAC,EAAE;QAC1CkB,QAAQ,CAACC,IAAI,CAACuB,MAAM,CAAC,IAAI,CAAC1C,QAAQ,CAAC,CAAA;EACrC,KAAA;EAEA,IAAA,IAAI,CAACA,QAAQ,CAAC2C,KAAK,CAACC,OAAO,GAAG,OAAO,CAAA;EACrC,IAAA,IAAI,CAAC5C,QAAQ,CAAC6C,eAAe,CAAC,aAAa,CAAC,CAAA;MAC5C,IAAI,CAAC7C,QAAQ,CAAC8C,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;MAC9C,IAAI,CAAC9C,QAAQ,CAAC8C,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;EAC5C,IAAA,IAAI,CAAC9C,QAAQ,CAAC+C,SAAS,GAAG,CAAC,CAAA;MAE3B,IAAMC,SAAS,GAAGlD,cAAc,CAACC,OAAO,CAACZ,mBAAmB,EAAE,IAAI,CAACU,OAAO,CAAC,CAAA;EAC3E,IAAA,IAAImD,SAAS,EAAE;QACbA,SAAS,CAACD,SAAS,GAAG,CAAC,CAAA;EACzB,KAAA;EAEAE,IAAAA,eAAM,CAAC,IAAI,CAACjD,QAAQ,CAAC,CAAA;MAErB,IAAI,CAACA,QAAQ,CAACoB,SAAS,CAACC,GAAG,CAACtC,eAAe,CAAC,CAAA;EAE5C,IAAA,IAAMmE,kBAAkB,GAAG,SAArBA,kBAAkB,GAAS;EAC/B,MAAA,IAAI,MAAI,CAACb,OAAO,CAAC9C,KAAK,EAAE;EACtB,QAAA,MAAI,CAACY,UAAU,CAACgD,QAAQ,EAAE,CAAA;EAC5B,OAAA;QAEA,MAAI,CAAC7C,gBAAgB,GAAG,KAAK,CAAA;QAC7BS,YAAY,CAACC,OAAO,CAAC,MAAI,CAAChB,QAAQ,EAAEzB,WAAW,EAAE;EAC/CoC,QAAAA,aAAa,EAAbA,aAAAA;EACF,OAAC,CAAC,CAAA;OACH,CAAA;EAED,IAAA,IAAI,CAACgB,cAAc,CAACuB,kBAAkB,EAAE,IAAI,CAACrD,OAAO,EAAE,IAAI,CAACgC,WAAW,EAAE,CAAC,CAAA;KAC1E,CAAA;IAAA,MAEDpB,CAAAA,kBAAkB,GAAlB,SAAqB,kBAAA,GAAA;EAAA,IAAA,IAAA,MAAA,GAAA,IAAA,CAAA;MACnBM,YAAY,CAACqC,EAAE,CAAC,IAAI,CAACpD,QAAQ,EAAErB,qBAAqB,EAAE,UAAA0E,KAAK,EAAI;EAC7D,MAAA,IAAIA,KAAK,CAACC,GAAG,KAAKpF,UAAU,EAAE;EAC5B,QAAA,OAAA;EACF,OAAA;EAEA,MAAA,IAAI,MAAI,CAACmE,OAAO,CAAC7C,QAAQ,EAAE;UACzB,MAAI,CAACoB,IAAI,EAAE,CAAA;EACX,QAAA,OAAA;EACF,OAAA;QAEA,MAAI,CAAC2C,0BAA0B,EAAE,CAAA;EACnC,KAAC,CAAC,CAAA;EAEFxC,IAAAA,YAAY,CAACqC,EAAE,CAACpB,MAAM,EAAExD,YAAY,EAAE,YAAM;QAC1C,IAAI,MAAI,CAAC6B,QAAQ,IAAI,CAAC,MAAI,CAACC,gBAAgB,EAAE;UAC3C,MAAI,CAACgB,aAAa,EAAE,CAAA;EACtB,OAAA;EACF,KAAC,CAAC,CAAA;MAEFP,YAAY,CAACqC,EAAE,CAAC,IAAI,CAACpD,QAAQ,EAAEtB,uBAAuB,EAAE,UAAA2E,KAAK,EAAI;EAC/D;QACAtC,YAAY,CAACyC,GAAG,CAAC,MAAI,CAACxD,QAAQ,EAAEvB,mBAAmB,EAAE,UAAAgF,MAAM,EAAI;EAC7D,QAAA,IAAI,MAAI,CAACzD,QAAQ,KAAKqD,KAAK,CAACK,MAAM,IAAI,MAAI,CAAC1D,QAAQ,KAAKyD,MAAM,CAACC,MAAM,EAAE;EACrE,UAAA,OAAA;EACF,SAAA;EAEA,QAAA,IAAI,MAAI,CAACrB,OAAO,CAAC/C,QAAQ,KAAK,QAAQ,EAAE;YACtC,MAAI,CAACiE,0BAA0B,EAAE,CAAA;EACjC,UAAA,OAAA;EACF,SAAA;EAEA,QAAA,IAAI,MAAI,CAAClB,OAAO,CAAC/C,QAAQ,EAAE;YACzB,MAAI,CAACsB,IAAI,EAAE,CAAA;EACb,SAAA;EACF,OAAC,CAAC,CAAA;EACJ,KAAC,CAAC,CAAA;KACH,CAAA;IAAA,MAEDgB,CAAAA,UAAU,GAAV,SAAa,UAAA,GAAA;EAAA,IAAA,IAAA,MAAA,GAAA,IAAA,CAAA;EACX,IAAA,IAAI,CAAC5B,QAAQ,CAAC2C,KAAK,CAACC,OAAO,GAAG,MAAM,CAAA;MACpC,IAAI,CAAC5C,QAAQ,CAAC8C,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;EAC/C,IAAA,IAAI,CAAC9C,QAAQ,CAAC6C,eAAe,CAAC,YAAY,CAAC,CAAA;EAC3C,IAAA,IAAI,CAAC7C,QAAQ,CAAC6C,eAAe,CAAC,MAAM,CAAC,CAAA;MACrC,IAAI,CAACvC,gBAAgB,GAAG,KAAK,CAAA;EAE7B,IAAA,IAAI,CAACL,SAAS,CAACW,IAAI,CAAC,YAAM;QACxBM,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACM,MAAM,CAAC7C,eAAe,CAAC,CAAA;QAC/C,MAAI,CAAC8E,iBAAiB,EAAE,CAAA;EACxB,MAAA,MAAI,CAACpD,UAAU,CAACqD,KAAK,EAAE,CAAA;QACvB7C,YAAY,CAACC,OAAO,CAAC,MAAI,CAAChB,QAAQ,EAAE3B,YAAY,CAAC,CAAA;EACnD,KAAC,CAAC,CAAA;KACH,CAAA;IAAA,MAEDwD,CAAAA,WAAW,GAAX,SAAc,WAAA,GAAA;MACZ,OAAO,IAAI,CAAC7B,QAAQ,CAACoB,SAAS,CAACqB,QAAQ,CAAC3D,eAAe,CAAC,CAAA;KACzD,CAAA;IAAA,MAEDyE,CAAAA,0BAA0B,GAA1B,SAA6B,0BAAA,GAAA;EAAA,IAAA,IAAA,MAAA,GAAA,IAAA,CAAA;MAC3B,IAAM/B,SAAS,GAAGT,YAAY,CAACC,OAAO,CAAC,IAAI,CAAChB,QAAQ,EAAE5B,oBAAoB,CAAC,CAAA;MAC3E,IAAIoD,SAAS,CAACP,gBAAgB,EAAE;EAC9B,MAAA,OAAA;EACF,KAAA;EAEA,IAAA,IAAM4C,kBAAkB,GAAG,IAAI,CAAC7D,QAAQ,CAAC8D,YAAY,GAAG5C,QAAQ,CAAC6C,eAAe,CAACC,YAAY,CAAA;MAC7F,IAAMC,gBAAgB,GAAG,IAAI,CAACjE,QAAQ,CAAC2C,KAAK,CAACuB,SAAS,CAAA;EACtD;EACA,IAAA,IAAID,gBAAgB,KAAK,QAAQ,IAAI,IAAI,CAACjE,QAAQ,CAACoB,SAAS,CAACqB,QAAQ,CAACzD,iBAAiB,CAAC,EAAE;EACxF,MAAA,OAAA;EACF,KAAA;MAEA,IAAI,CAAC6E,kBAAkB,EAAE;EACvB,MAAA,IAAI,CAAC7D,QAAQ,CAAC2C,KAAK,CAACuB,SAAS,GAAG,QAAQ,CAAA;EAC1C,KAAA;MAEA,IAAI,CAAClE,QAAQ,CAACoB,SAAS,CAACC,GAAG,CAACrC,iBAAiB,CAAC,CAAA;MAC9C,IAAI,CAAC2C,cAAc,CAAC,YAAM;QACxB,MAAI,CAAC3B,QAAQ,CAACoB,SAAS,CAACM,MAAM,CAAC1C,iBAAiB,CAAC,CAAA;QACjD,MAAI,CAAC2C,cAAc,CAAC,YAAM;EACxB,QAAA,MAAI,CAAC3B,QAAQ,CAAC2C,KAAK,CAACuB,SAAS,GAAGD,gBAAgB,CAAA;EAClD,OAAC,EAAE,MAAI,CAACpE,OAAO,CAAC,CAAA;EAClB,KAAC,EAAE,IAAI,CAACA,OAAO,CAAC,CAAA;EAEhB,IAAA,IAAI,CAACG,QAAQ,CAACT,KAAK,EAAE,CAAA;EACvB,GAAA;;EAEA;EACF;EACA,MAFE;IAAA,MAIA+B,CAAAA,aAAa,GAAb,SAAgB,aAAA,GAAA;EACd,IAAA,IAAMuC,kBAAkB,GAAG,IAAI,CAAC7D,QAAQ,CAAC8D,YAAY,GAAG5C,QAAQ,CAAC6C,eAAe,CAACC,YAAY,CAAA;EAC7F,IAAA,IAAMG,cAAc,GAAG,IAAI,CAAC5D,UAAU,CAAC6D,QAAQ,EAAE,CAAA;EACjD,IAAA,IAAMC,iBAAiB,GAAGF,cAAc,GAAG,CAAC,CAAA;EAE5C,IAAA,IAAIE,iBAAiB,IAAI,CAACR,kBAAkB,EAAE;EAC5C,MAAA,IAAMS,QAAQ,GAAGC,cAAK,EAAE,GAAG,aAAa,GAAG,cAAc,CAAA;QACzD,IAAI,CAACvE,QAAQ,CAAC2C,KAAK,CAAC2B,QAAQ,CAAC,GAAMH,cAAc,GAAI,IAAA,CAAA;EACvD,KAAA;EAEA,IAAA,IAAI,CAACE,iBAAiB,IAAIR,kBAAkB,EAAE;EAC5C,MAAA,IAAMS,SAAQ,GAAGC,cAAK,EAAE,GAAG,cAAc,GAAG,aAAa,CAAA;QACzD,IAAI,CAACvE,QAAQ,CAAC2C,KAAK,CAAC2B,SAAQ,CAAC,GAAMH,cAAc,GAAI,IAAA,CAAA;EACvD,KAAA;KACD,CAAA;IAAA,MAEDR,CAAAA,iBAAiB,GAAjB,SAAoB,iBAAA,GAAA;EAClB,IAAA,IAAI,CAAC3D,QAAQ,CAAC2C,KAAK,CAAC6B,WAAW,GAAG,EAAE,CAAA;EACpC,IAAA,IAAI,CAACxE,QAAQ,CAAC2C,KAAK,CAAC8B,YAAY,GAAG,EAAE,CAAA;EACvC,GAAA;;EAEA;EAAA,GAAA;EAAA,EAAA,KAAA,CACOC,eAAe,GAAtB,SAAA,eAAA,CAAuB9E,MAAM,EAAEe,aAAa,EAAE;EAC5C,IAAA,OAAO,IAAI,CAACgE,IAAI,CAAC,YAAY;QAC3B,IAAMC,IAAI,GAAGlF,KAAK,CAACmF,mBAAmB,CAAC,IAAI,EAAEjF,MAAM,CAAC,CAAA;EAEpD,MAAA,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;EAC9B,QAAA,OAAA;EACF,OAAA;EAEA,MAAA,IAAI,OAAOgF,IAAI,CAAChF,MAAM,CAAC,KAAK,WAAW,EAAE;EACvC,QAAA,MAAM,IAAIkF,SAAS,CAAqBlF,oBAAAA,GAAAA,MAAM,GAAI,IAAA,CAAA,CAAA;EACpD,OAAA;EAEAgF,MAAAA,IAAI,CAAChF,MAAM,CAAC,CAACe,aAAa,CAAC,CAAA;EAC7B,KAAC,CAAC,CAAA;KACH,CAAA;EAAA,EAAA,YAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA;EAAA,IAAA,GAAA,EAAA,SAAA;EAAA,IAAA,GAAA,EA3PD,SAAqB,GAAA,GAAA;EACnB,MAAA,OAAOtB,OAAO,CAAA;EAChB,KAAA;EAAC,GAAA,EAAA;EAAA,IAAA,GAAA,EAAA,aAAA;EAAA,IAAA,GAAA,EAED,SAAyB,GAAA,GAAA;EACvB,MAAA,OAAOI,WAAW,CAAA;EACpB,KAAA;EAAC,GAAA,EAAA;EAAA,IAAA,GAAA,EAAA,MAAA;EAAA,IAAA,GAAA,EAED,SAAkB,GAAA,GAAA;EAChB,MAAA,OAAO3B,IAAI,CAAA;EACb,KAAA;EAAC,GAAA,CAAA,CAAA,CAAA;EAAA,EAAA,OAAA,KAAA,CAAA;EAAA,CAAA,CAzBiBiH,aAAa,EAAA;EA6QjC;EACA;EACA;EAEAhE,YAAY,CAACqC,EAAE,CAAClC,QAAQ,EAAEtC,oBAAoB,EAAEQ,oBAAoB,EAAE,UAAUiE,KAAK,EAAE;EAAA,EAAA,IAAA,MAAA,GAAA,IAAA,CAAA;EACrF,EAAA,IAAMK,MAAM,GAAG5D,cAAc,CAACkF,sBAAsB,CAAC,IAAI,CAAC,CAAA;EAE1D,EAAA,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAACC,QAAQ,CAAC,IAAI,CAACC,OAAO,CAAC,EAAE;MACxC7B,KAAK,CAAC8B,cAAc,EAAE,CAAA;EACxB,GAAA;IAEApE,YAAY,CAACyC,GAAG,CAACE,MAAM,EAAEpF,UAAU,EAAE,UAAAwC,SAAS,EAAI;MAChD,IAAIA,SAAS,CAACG,gBAAgB,EAAE;EAC9B;EACA,MAAA,OAAA;EACF,KAAA;EAEAF,IAAAA,YAAY,CAACyC,GAAG,CAACE,MAAM,EAAErF,YAAY,EAAE,YAAM;EAC3C,MAAA,IAAI8D,kBAAS,CAAC,MAAI,CAAC,EAAE;UACnB,MAAI,CAAC5C,KAAK,EAAE,CAAA;EACd,OAAA;EACF,KAAC,CAAC,CAAA;EACJ,GAAC,CAAC,CAAA;;EAEF;EACA,EAAA,IAAM6F,WAAW,GAAGtF,cAAc,CAACC,OAAO,CAACd,aAAa,CAAC,CAAA;EACzD,EAAA,IAAImG,WAAW,EAAE;EACf1F,IAAAA,KAAK,CAAC2F,WAAW,CAACD,WAAW,CAAC,CAACxE,IAAI,EAAE,CAAA;EACvC,GAAA;EAEA,EAAA,IAAMgE,IAAI,GAAGlF,KAAK,CAACmF,mBAAmB,CAACnB,MAAM,CAAC,CAAA;EAE9CkB,EAAAA,IAAI,CAAClE,MAAM,CAAC,IAAI,CAAC,CAAA;EACnB,CAAC,CAAC,CAAA;AAEF4E,4CAAoB,CAAC5F,KAAK,CAAC,CAAA;;EAE3B;EACA;EACA;;AAEA6F,6BAAkB,CAAC7F,KAAK,CAAC;;;;;;;;"}