{"version":3,"file":"tooltip.min.js","sources":["https:\/\/uciliste.zastitanaradu.hr\/theme\/boost\/amd\/src\/bootstrap\/tooltip.js"],"sourcesContent":["\/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): tooltip.js\n * Licensed under MIT (https:\/\/github.com\/twbs\/bootstrap\/blob\/main\/LICENSE)\n * --------------------------------------------------------------------------\n *\/\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from '.\/tools\/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'core\/popper'\nimport Util from '.\/util'\n\n\/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n *\/\n\nconst NAME = 'tooltip'\nconst VERSION = '4.6.0'\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 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 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 HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\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\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\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\n\/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\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\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\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\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\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\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 * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\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":["NAME","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","BSCLS_PREFIX_REGEX","RegExp","DISALLOWED_ATTRIBUTES","DefaultType","animation","template","title","trigger","delay","html","selector","placement","offset","container","fallbackPlacement","boundary","customClass","sanitize","sanitizeFn","whiteList","popperConfig","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default","DefaultWhitelist","Event","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","element","config","Popper","TypeError","_isEnabled","_timeout","_hoverState","_activeTrigger","_popper","this","_getConfig","tip","_setListeners","each","$element","data","_config","_typeof","test","event","dataKey","constructor","DATA_KEY","context","currentTarget","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","hasClass","clearTimeout","removeData","off","closest","_hideModalHandler","remove","destroy","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","_this","_fixTransition","prevHoverState","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","emulateTransitionEnd","callback","hideEvent","_this2","parentNode","removeChild","_cleanTipClass","removeAttribute","removeClass","scheduleUpdate","Boolean","getTitle","setElementContent","querySelectorAll","content","nodeType","jquery","text","parent","is","empty","append","getAttribute","modifiers","_getOffset","flip","behavior","arrow","preventOverflow","boundariesElement","onCreate","originalPlacement","_this3","_handlePopperPlacementChange","onUpdate","offsets","_this4","isElement","find","toUpperCase","split","forEach","_this5","toggle","eventIn","eventOut","hide","_fixTitle","titleType","type","show","setTimeout","dataAttributes","Object","keys","dataAttr","indexOf","toString","typeCheckConfig","key","$tip","tabClass","attr","match","length","join","popperData","instance","popper","initConfigAnimation","_jQueryInterface","Constructor","noConflict"],"mappings":"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\/B,UACnCuC,KAAKR,OAAO\/B,UAAUsF,KAAK\/C,KAAME,IAAKF,KAAKT,SAC3CS,KAAKR,OAAO\/B,UAERuF,WAAahD,KAAKiD,eAAexF,gBAClCyF,mBAAmBF,gBAElBrF,UAAYqC,KAAKmD,oCACrBjD,KAAKI,KAAKN,KAAKY,YAAYC,SAAUb,MAElCpD,gBAAE0F,SAAStC,KAAKT,QAAQgD,cAAcC,gBAAiBxC,KAAKE,0BAC7DA,KAAKkD,SAASzF,+BAGhBqC,KAAKT,SAASlC,QAAQ2C,KAAKY,YAAYjC,MAAMK,eAE1Ce,QAAU,IAAIN,gBAAOO,KAAKT,QAASW,IAAKF,KAAKqD,iBAAiBL,iCAEjE9C,KAAK4C,SA9LW,4BA+LhB5C,KAAK4C,SAAS9C,KAAKR,OAAO1B,aAMxB,iBAAkBwF,SAASd,qCAC3Bc,SAASC,MAAMC,WAAWC,GAAG,YAAa,KAAM7G,gBAAE8G,UAGhDC,SAAW,WACXC,MAAKpE,OAAOtC,WACd0G,MAAKC,qBAGDC,eAAiBF,MAAK\/D,YAC5B+D,MAAK\/D,YAAc,yBAEjB+D,MAAKrE,SAASlC,QAAQuG,MAAKhD,YAAYjC,MAAMI,OAjO\/B,QAmOZ+E,gBACFF,MAAKxC,OAAO,KAAMwC,YAIlB,mBAAE5D,KAAKE,KAAKoB,SAzNE,QAyNyB,KACnCyC,mBAAqB5B,cAAK6B,iCAAiChE,KAAKE,yBAEpEF,KAAKE,KACJ+D,IAAI9B,cAAK+B,eAAgBP,UACzBQ,qBAAqBJ,yBAExBJ,gCAKN,SAAKS,0BACGlE,IAAMF,KAAKqB,gBACXgD,UAAYzH,gBAAE+B,MAAMqB,KAAKY,YAAYjC,MAAMC,MAC3C+E,SAAW,WAxPI,SAyPfW,OAAKzE,aAAoCK,IAAIqE,YAC\/CrE,IAAIqE,WAAWC,YAAYtE,KAG7BoE,OAAKG,iBACLH,OAAK\/E,QAAQmF,gBAAgB,wCAC3BJ,OAAK\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\/B0J,QA\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"}