{"version":3,"file":"tooltip.min.js","sources":["https:\/\/falms.fa.gov.sa\/theme\/boost\/amd\/src\/bootstrap\/tooltip.js"],"sourcesContent":["\/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.2): tooltip.js\n * Licensed under MIT (https:\/\/github.com\/twbs\/bootstrap\/blob\/main\/LICENSE)\n * --------------------------------------------------------------------------\n *\/\n\nimport { DefaultWhitelist, sanitizeHtml } from '.\/tools\/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'core\/popper'\nimport Util from '.\/util'\n\n\/**\n * Constants\n *\/\n\nconst NAME = 'tooltip'\nconst VERSION = '4.6.2'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_ARROW = '.arrow'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '
' +\n '
<\/div>' +\n '
<\/div><\/div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n customClass: '',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n customClass: '(string|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n\/**\n * Class definition\n *\/\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https:\/\/popper.js.org)')\n }\n\n \/\/ Private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n \/\/ Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n \/\/ Getters\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n \/\/ Public\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n $(tip).addClass(CLASS_NAME_SHOW)\n $(tip).addClass(this.config.customClass)\n\n \/\/ If this is a touch-enabled device we add extra\n \/\/ empty mouseover listeners to the body's immediate children;\n \/\/ only needed because of broken event delegation on iOS\n \/\/ https:\/\/www.quirksmode.org\/blog\/archives\/2014\/02\/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_SHOW)\n\n \/\/ If this is a touch-enabled device we remove the extra\n \/\/ empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n \/\/ Protected\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n \/\/ Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n \/\/ Private\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: SELECTOR_ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element)\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(eventIn, this.config.selector, event => this._enter(event))\n .on(eventOut, this.config.selector, event => this._leave(event))\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler)\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n \/\/ Static\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && \/dispose|hide\/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n\/**\n * jQuery\n *\/\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n"],"names":["_interopRequireDefault","obj","__esModule","default","_jquery","_popper","_util","NAME","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","BSCLS_PREFIX_REGEX","RegExp","DISALLOWED_ATTRIBUTES","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default","animation","template","trigger","title","delay","html","selector","placement","offset","container","fallbackPlacement","boundary","customClass","sanitize","sanitizeFn","whiteList","DefaultWhitelist","popperConfig","DefaultType","Event","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","constructor","element","config","Popper","TypeError","this","_isEnabled","_timeout","_hoverState","_activeTrigger","_getConfig","tip","_setListeners","VERSION","DATA_KEY","enable","disable","toggleEnabled","toggle","event","dataKey","context","currentTarget","data","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","hasClass","dispose","clearTimeout","removeData","off","closest","_hideModalHandler","remove","destroy","show","css","Error","showEvent","isWithContent","shadowRoot","Util","findShadowRoot","isInTheDom","contains","ownerDocument","documentElement","isDefaultPrevented","tipId","getUID","setAttribute","setContent","addClass","call","attachment","_getAttachment","addAttachmentClass","_getContainer","appendTo","_getPopperConfig","document","body","children","on","noop","complete","_fixTransition","prevHoverState","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","emulateTransitionEnd","hide","callback","hideEvent","parentNode","removeChild","_cleanTipClass","removeAttribute","removeClass","update","scheduleUpdate","Boolean","getTitle","setElementContent","querySelectorAll","$element","content","nodeType","jquery","sanitizeHtml","text","parent","is","empty","append","getAttribute","modifiers","_getOffset","flip","behavior","arrow","preventOverflow","boundariesElement","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","offsets","isElement","find","toUpperCase","split","forEach","eventIn","eventOut","_fixTitle","titleType","type","setTimeout","dataAttributes","Object","keys","dataAttr","indexOf","toString","typeCheckConfig","key","$tip","tabClass","attr","match","length","join","popperData","instance","popper","initConfigAnimation","_jQueryInterface","each","_config","test","Constructor","noConflict","_default","_exports"],"mappings":"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\/C,KAAKJ,QAAQqD,aAAa,mBAAoBF,OAE9C\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\/Dd,KAAK+B,kBAAoB,KACnB\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\/H,KAAKH,OAAOkI,OAChDlI,OAAOkI,KAAO\/H,KAAKH,OAAOkI,MAKhC,OAAOlI,OAGTgF,cAAAA,GACE,MAAMmD,MAAO,EAAAhL,iBAAEgD,KAAKwB,iBACdyG,SAAWD,KAAKE,KAAK,SAASC,MAAMjL,oBACzB,OAAb+K,UAAqBA,SAASG,QAChCJ,KAAKjD,YAAYkD,SAASI,KAAK,KAInC3B,4BAAAA,CAA6B4B,YAC3BtI,KAAKM,IAAMgI,WAAWC,SAASC,OAC\/BxI,KAAK6E,iBACL7E,KAAKuD,mBAAmBvD,KAAKsD,eAAegF,WAAWnK,YAGzD8F,cAAAA,GACE,MAAM3D,IAAMN,KAAKwB,gBACXiH,oBAAsBzI,KAAKH,OAAOjC,UAEA,OAApC0C,IAAI0F,aAAa,kBAIrB,EAAAhJ,iBAAEsD,KAAKyE,YArrBa,QAsrBpB\/E,KAAKH,OAAOjC,WAAY,EACxBoC,KAAKwE,OACLxE,KAAKkC,OACLlC,KAAKH,OAAOjC,UAAY6K,qBAI1B,uBAAOC,CAAiB7I,QACtB,OAAOG,KAAK2I,MAAK,WACf,MAAMrD,UAAW,EAAAtI,iBAAEgD,MACnB,IAAIkB,KAAOoE,SAASpE,KAvsBT,cAwsBX,MAAM0H,QAA4B,iBAAX\/I,QAAuBA,OAE9C,IAAKqB,OAAQ,eAAe2H,KAAKhJ,WAI5BqB,OACHA,KAAO,IAAIxB,QAAQM,KAAM4I,SACzBtD,SAASpE,KAhtBA,aAgtBeA,OAGJ,iBAAXrB,QAAqB,CAC9B,QAA4B,IAAjBqB,KAAKrB,QACd,MAAM,IAAIE,UAAW,oBAAmBF,WAG1CqB,KAAKrB,eAUb7C,gBAAEC,GAAGJ,MAAQ6C,QAAQgJ,iBACrB1L,gBAAEC,GAAGJ,MAAMiM,YAAcpJ,QACzB1C,gBAAEC,GAAGJ,MAAMkM,WAAa,KACtB\/L,gBAAEC,GAAGJ,MAAQE,mBACN2C,QAAQgJ,kBAChB,IAAAM,SAEctJ,QAAO,OAAAuJ,SAAAxM,QAAAuM,SAAAC,SAAAxM,OAAA"}